How to Build Palmier Pro from Source: Complete Guide for macOS Developers

Build Palmier Pro by cloning the repository, ensuring you have macOS 26 (Tahoe) and Xcode 16+ on Apple Silicon, then run swift build to compile the Swift 6.2 package and ./scripts/dev.sh to launch with live log streaming.

Palmier Pro is an AI-native macOS video editor written in Swift 6.2 using a hybrid SwiftUI and AppKit architecture. This guide explains exactly how to build Palmier Pro from source using Swift Package Manager (SPM), targeting macOS 26 on Apple Silicon hardware.

Prerequisites for Building Palmier Pro

The project requires specific macOS and toolchain versions due to its use of modern Swift features and latest Apple APIs.

macOS 26 (Tahoe) on Apple Silicon

Palmier Pro exclusively targets Apple Silicon Macs running macOS 26 (Tahoe) or later. The Package.swift manifest declares platforms: [.macOS(.v26)], and the codebase uses UI APIs only available on this release.

Xcode 16+ or Swift 6.2 Toolchain

You need Xcode 16 or the standalone Swift 6.2 toolchain to handle the swift-tools-version:6.2 declared in the package manifest. Verify your installation with:

swift --version

The output should report Swift 6.2.

Command-Line Tools

Ensure you have the macOS Command Line Tools installed to access swift, xcodebuild, and git. These are required for dependency resolution and compilation.

Step-by-Step Build Process

1. Clone the Repository

Fetch the source code and the Package.swift manifest from the palmier-io organization:

git clone https://github.com/palmier-io/palmier-pro.git
cd palmier-pro

The repository follows standard SPM structure with Sources/PalmierPro/ containing the main executable code and Tests/PalmierProTests/ housing the unit test suite.

2. Resolve Swift Package Dependencies

The Package.swift declares several external dependencies including DSWaveformImage, Sparkle, Sentry, Lottie, Convex, and swift-transformers. Resolve these automatically:

swift package resolve

This downloads the required packages from GitHub, caching them locally for subsequent builds.

3. Compile the Executable

Build the PalmierPro executable target with debug configuration:

swift build

For a production-optimized build, specify the release configuration:

swift build -c release

The compiler produces the binary at .build/debug/PalmierPro or .build/release/PalmierPro respectively, bundling all resources (fonts, images, and MCP bindings) defined in the target's resources: declaration.

4. Run the Application

Launch the app directly from the build directory:

swift run

Or open the built app bundle:

open .build/debug/PalmierPro.app

Development Workflow with Live Reloading

Using the dev.sh Script

The repository includes scripts/dev.sh, the recommended workflow for iterative development. This script performs a fast debug build, creates the app bundle, launches it, and streams OSLog output to your terminal:

./scripts/dev.sh

To launch without log streaming:

./scripts/dev.sh --no-stream

Under the hood, dev.sh calls scripts/bundle.sh debug --fast to generate .build/PalmierPro.app, then executes log stream --predicate 'subsystem == "io.palmier.pro"' to display real-time diagnostic messages from the io.palmier.pro subsystem.

Running the Test Suite

Validate your build by executing the comprehensive test suite covering timeline logic, transcription, and rendering:

swift test

A successful run executes 292+ tests with output similar to:


Test Suite 'All tests' passed at 2026-06-22 12:45:00.000.
	 Executed 292 tests, with 0 failures (0 unexpected) in 7.32 seconds

Architecture Highlights

Understanding the codebase structure helps when modifying or debugging the build.

Design System in AppTheme.swift

All visual constants—colors, spacing, fonts, radii, shadows, and animation timings—are centralized in Sources/PalmierPro/UI/AppTheme.swift. UI components reference these static constants rather than hard-coding values, ensuring consistent theming across the SwiftUI and AppKit interfaces.

Timeline Rendering Engine

The core editing surface lives in Sources/PalmierPro/Timeline/TimelineView.swift. This NSView hosts a TimelineCanvasView that handles high-performance CoreGraphics drawing, scroll/zoom logic, and drag-and-drop operations. Input handling is delegated to TimelineInputController, which manages mouse events, playhead positioning, and clip snapping.

AI Agent Integration via MCP

The Model Context Protocol (MCP) integration enables external AI agents (Claude, Cursor, Codex) to control the editor. Sources/PalmierPro/Agent/AgentService.swift orchestrates a local HTTP MCP server, while ToolExecutor extensions translate natural language commands into timeline edits. This architecture allows programmatic video editing through AI interfaces.

Key Source Files Reference

File Purpose
Package.swift Declares the executable target, macOS 26 platform requirement, and external dependencies
Sources/PalmierPro/UI/AppTheme.swift Centralized design system constants for styling
Sources/PalmierPro/Timeline/TimelineView.swift Core timeline canvas and rendering logic
Sources/PalmierPro/Agent/AgentService.swift MCP server coordination and AI agent management
Sources/PalmierPro/Export/ExportService.swift Project export logic for XML and custom formats
scripts/dev.sh Development helper for fast builds and log streaming
Tests/PalmierProTests/Timeline/ClipMathTests.swift Unit tests for timeline geometry calculations

Summary

  • Palmier Pro requires macOS 26 (Tahoe) on Apple Silicon and Xcode 16+ to build successfully
  • Clone the repository and run swift build to compile the Swift 6.2 package with automatic dependency resolution
  • Use ./scripts/dev.sh for the optimal development workflow with fast builds and live OSLog streaming
  • Execute swift test to run the full test suite covering timeline, rendering, and transcription logic
  • Key architectural components include AppTheme.swift for UI constants, TimelineView.swift for the editing canvas, and AgentService.swift for AI integration

Frequently Asked Questions

What are the minimum system requirements for building Palmier Pro?

You need a Mac with Apple Silicon (M1, M2, M3, or later) running macOS 26 (Tahoe) and Xcode 16 or newer. The Package.swift explicitly targets macOS(.v26), and the codebase uses Swift 6.2 language features unavailable in earlier toolchains. Intel-based Macs are not supported due to Apple Silicon-specific optimizations in the rendering pipeline.

How do I run Palmier Pro after building it from source?

After running swift build, launch the app using swift run for immediate execution, or open the generated bundle with open .build/debug/PalmierPro.app. For development, use ./scripts/dev.sh instead, which builds the app, launches it, and streams diagnostic logs from the io.palmier.pro subsystem to your terminal window.

Can I build Palmier Pro without Xcode?

Yes, you can build using the standalone Swift 6.2 toolchain if you prefer not to install the full Xcode IDE. Ensure you have the Command Line Tools installed so that swift and xcodebuild are available in your PATH. However, Xcode 16 provides the easiest setup as it bundles the correct Swift version and macOS SDK automatically.

How do I debug Palmier Pro during development?

Use the ./scripts/dev.sh script to launch the app with OSLog streaming enabled. This displays real-time diagnostic messages including track loading, clip rendering status, and MCP server communications. You can also set breakpoints in Xcode by opening the Package.swift as a project, or use swift run with LLDB debugging attached for command-line debugging.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →