A multi-agent coding workspace for macOS β with on-device voice. Fully local.
Run a whole team of coding agents in parallel β Claude Code, Codex, Gemini CLI, Cursor β each in its own git worktree. Agents can even spawn their own workspaces and launch other agents. Plus push-to-talk dictation and a talking ginger cat that speaks (in a neural voice) when an agent finishes. Nothing ever leaves your Mac.
Run multiple coding-agent CLIs side by side, each isolated:
A tab per agentβ Claude Code, Codex, Gemini CLI, Cursor β real interactive terminals (SwiftTerm PTYs) running in-app.** Git worktrees**β every workspace is a worktree on its own branch under~/.gingerpaw/worktrees
, so agents work in parallel with zero collisions.Live diff panelβ Files / Changes / Review with+/β
counts, one-clickCommit, and** Create PR**(viagh
).Ports + branch statusβ detected dev-server ports and ahead/behind, right in the status bar.- Agents launch with auto-approve flags β safe, because each is sandboxed to its own worktree.
GingerPaw runs an MCP server, so an agent running inside a workspace can drive the cockpit:
create new workspaces, launch other agents with a task, and read their diffs back. Ask one
agent for something and a whole team shows up in your sidebar, working in parallel β all visible
and steerable. A .mcp.json
is auto-wired into every worktree (Claude Code) and ~/.codex/config.toml
(Codex).
Push-to-talk dictationβ hold** Fn or Right Option**, speak, release; transcribed on-device withWhisperKitand pasted into any app.Talking-cat notificationsβ when a coding agent finishes, a ginger cat pops up and speaks a summary in a natural** Kokoro (82M) neural TTS**voice (or macOSsay
). Walk away and still know when it's done.
All on-device. No cloud, no account.
- macOS 14+ (Apple Silicon)
- Xcode 16+ with the Metal Toolchain (
xcodebuild -downloadComponent MetalToolchain
) β required to compile MLX's GPU shaders. XcodeGen(brew install xcodegen
)- The agent CLIs you want to use (
claude
,codex
,gemini
,cursor-agent
) on yourPATH
. gh
(optional) for Create PR. Kokoro TTS (optional) for the neural voice.
xcodegen generate # project.yml -> GingerPaw.xcodeproj
xcodebuild -project GingerPaw.xcodeproj -scheme GingerPaw \
-configuration Debug -derivedDataPath ./dd build
MLX requires Xcode's build system to compile the Metal kernels β a plain
swift build
will not produce the metallib. Usexcodebuild
(or open the project in Xcode).
The build is self-contained: a build phase also compiles and bundles gingerpaw-cli
(the voice + MCP helper) into the .app
, so a fresh clone builds a complete, runnable app β
no extra steps. First launch downloads the WhisperKit model once; grant the three permissions
below. Install the agent CLIs you want (claude
, codex
, gemini
, cursor-agent
) to use the Agent Workspace.
Run swift test
inside Packages/FlowKit
for the unit tests.
GingerPaw needs three macOS grants (surfaced in the in-app Permissions tab):
| Grant | Why |
|---|---|
| Microphone | Record your voice for transcription |
| Input Monitoring | Detect the push-to-talk hotkey globally |
| Accessibility | Paste text into the focused app |
A thin SwiftUI app shell (App/
) over FlowKit (Packages/FlowKit
), a SwiftPM package of focused libraries:
AgentWorkspace
β the multi-agent window: SwiftTerm terminals, git worktrees, the diff panel, ports/PR, and theMCP bridge(MCPBridgeServer
) that lets agents drive the app over a loopback socket.AgentMCP
β shared Codable types for the MCP bridge (kept dependency-light so thegingerpaw-cli
MCP binary stays small).AgentNotifications
β the<say>
transcript parser + speech service shared by the app and thegingerpaw-cli
hook binary.Dictation
β theDictationCoordinator
state machine Β·Audio
Β·Transcription
(WhisperKit) Β·TextInsertion
.TextProcessing
β MLX/Qwen formatter (experimental) Β·Hotkeys
(globalCGEventTap
) Β·Permissions
(TCC) Β·Overlay
Β·Settings
.AppCore
β composition + UI: the Agent Workspace, Dictate / Voice / Permissions / Settings, and the talking cat.
gingerpaw-cli
is the bundled helper binary: notify
(the Claude Code voice hook) and mcp
(the MCP server agents connect to).
MIT