gitmyhub

agetor

TypeScript ★ 25 updated 3h ago

The harness orchestrator — a local-first kanban for running Claude Code, Codex, and other CLI coding agents in parallel, each in its own git worktree.

Local-first desktop kanban that spawns Claude Code or Codex CLI agents in isolated git worktrees, streams their output into cards, and tracks each run from a SQLite store.

ElectrobunBunReactTypeScriptSQLitetmuxsetup: hardcomplexity 4/5

Agetor is a local-first kanban board for orchestrating command-line coding agents. Each card on the board represents a task: a prompt, a working directory, and a choice of agent such as Claude Code or OpenAI Codex. Starting the card spawns the agent as a child process in an isolated git worktree, streams its output back into the UI, and moves the card through columns as the run progresses.

Everything runs on the user's own machine. There is no cloud relay and no remote sandbox. Agents execute with the user's shell privileges in the user's own repositories, the same way they would if launched by hand. Agetor adds the scheduling, isolation, and UI layer on top.

Each task gets its own git worktree under ~/.agetor/worktrees/, on a branch named agetor/-, with the base commit pinned at create time. Two agents can work on the same repository at the same time without colliding. Claude tasks run inside a per-task tmux session so the conversation stays alive across follow-up messages, while Codex tasks are dispatched one-shot via codex exec. Approval prompts and clarifying questions from the agents are surfaced as structured cards in the run panel rather than as raw text in a terminal.

The app is built with Electrobun, which means a Bun main process drives the window while a native webview renders a React UI. The webview talks to the main process over an HTTP and Server-Sent Events API bound to 127.0.0.1, gated by a per-launch random bearer token so a stray site cannot drive the orchestrator. All task, run, event, and preference data lives in a local SQLite database at ~/.agetor/agetor.sqlite.

Requirements are Bun 1.1 or later, tmux, git, and at least one agent CLI on the path, with macOS as the primary supported platform. After cloning, the README's flow is bun install, bun run build, then bun run dev, or bun run dev:hmr for hot-reload UI work. New tasks are created from a left-rail button by picking a folder, an agent, a model, and a prompt.

Where it fits