Get started

Install the Mac app

Check the requirements, build SI Fabrik, and confirm everything is ready with the system check.

SI Fabrik is a native SwiftUI app for macOS 26 or later. Download it from sifabrik.com, then check the tools it uses on the Mission Control screen. You can also build it from source.

Requirements#

ToolNeeded forRequired
macOS 26 or laterThe app (SwiftUI, Liquid Glass)Yes
Xcode 27 or later and XcodeGenBuilding from sourceOnly to build it yourself
GitCloning task workspaces, saving branchesYes
Claude Code (claude)The default agent runner on your MacYes
Docker DesktopRunning agents in Docker sandboxes (recommended)Optional
Codex CLI (codex)runner.kind: codexOptional
GitHub CLI (gh)Opening pull requests on GitHub, the GitHub tracker fallback tokenOptional

Install Claude Code with npm if you don't have it:

Shell
npm i -g @anthropic-ai/claude-code

Download the app#

  1. Download

    Get the latest version from sifabrik.com/download. It's signed with Developer ID by Think Define Create LLC and notarized by Apple. The download page lists the file's SHA-256 if you want to check it with shasum -a 256.

  2. Install

    Unzip it, drag SI Fabrik to your Applications folder and open it. macOS opens notarized apps without a warning.

  3. Check the system

    Open Mission Control. The System check card lists each tool with its version, or how to install it:

    • Claude Code: claude --version.
    • Docker (optional): engine version and CPUs, or why it isn't running.
    • Git: install the Xcode Command Line Tools if it's missing.
    • Codex CLI (optional): only for runner.kind: codex.
    • GitHub CLI (optional): for the GitHub tracker and pull requests.

    Press the refresh button on the card after installing something.

To update, download the new version and replace the app in Applications. Projects, settings and Keychain items stay where they are. SI Fabrik doesn't update itself.

Build from source#

  1. Generate the Xcode project

    From the SI Fabrik source folder, generate Harness.xcodeproj from project.yml:

    Shell
    xcodegen generate
  2. Build and run

    Open the project and press ⌘R, or build headless:

    Shell
    open Harness.xcodeproj        # ⌘R to run, ⌘U for the test suite
    # or
    xcodebuild -scheme Harness -derivedDataPath build/DD build test

    The app bundle is SI Fabrik.app. It's built with the hardened runtime, so other processes running as you can't inject code into it or attach a debugger to a release build.

Then open Mission Control and check the system as described above.

Set up Docker isolation#

Agents run with bypassPermissions by default, which is a high-trust setting. Run them in Docker so only the task's workspace is exposed.

  1. Start Docker Desktop

    The Sandboxes screen shows the engine as running once Docker is up.

  2. Build the agent image

    On Sandboxes, press Build on the Agent Image card. It builds harness-agent:latest (Node 22, Claude Code, Codex CLI, git, gh, ripgrep, Python) with live logs. Build the browser image too if your projects use browser testing.

  3. Add a credential for containers

    Containers can't use your Mac's Claude login. Open Settings → Credentials and paste either an Anthropic API key (sk-ant-api…) or a long-lived token from claude setup-token (sk-ant-oat…). You can also route agents through a model gateway instead.

Note

When agents run on the host (no sandbox) and you haven't set a credential, Claude Code uses your existing login on this Mac.

Optional: a signed release build#

To give the app to other Macs, scripts/release.sh builds a release signed with Developer ID, notarizes it with Apple, staples the ticket and checks it with Gatekeeper. You need, once:

  • a Developer ID Application certificate in your login keychain (Xcode → Settings → Accounts → Manage Certificates);
  • notary credentials stored under a profile name:
Shell
xcrun notarytool store-credentials sifabrik-notary --apple-id <you> --team-id <team>

Then run:

Shell
scripts/release.sh                 # build, sign, notarize, staple → build/release/SI Fabrik.app and .zip
scripts/release.sh --no-notarize   # build and sign only, to check signing first

NOTARY_PROFILE names the profile (default sifabrik-notary) and TEAM_ID the signing team.

Optional: build the server#

harnessd, the Remote-mode server, builds with SwiftPM on Linux or macOS (Swift 6.2 or later):

Shell
swift build -c release --product harnessd

See Install on Linux.

See also#