explaingit

alamops/agetor

13TypeScriptAudience · developerComplexity · 4/5ActiveSetup · hard

TLDR

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.

Mindmap

mindmap
  root((agetor))
    Inputs
      Prompt text
      Working directory
      Agent choice
      Model name
    Outputs
      Agent run logs
      Git worktrees
      SQLite history
      Task cards
    Use Cases
      Run parallel coding agents
      Track agent tasks visually
      Isolate agent branches
    Tech Stack
      Electrobun
      Bun
      React
      TypeScript
      SQLite
      tmux

Things people build with this

USE CASE 1

Run several Claude Code and Codex tasks in parallel against the same repo without branch conflicts

USE CASE 2

Track agent runs on a kanban board with streaming logs instead of juggling terminal tabs

USE CASE 3

Keep long Claude conversations alive across follow-up prompts via per-task tmux sessions

USE CASE 4

Capture agent approval prompts as structured cards rather than raw terminal output

Tech stack

ElectrobunBunReactTypeScriptSQLitetmux

Getting it running

Difficulty · hard Time to first run · 1h+

Needs Bun 1.1+, tmux, git, an agent CLI on PATH, and currently targets macOS only.

In plain English

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/<short-id>-<slug>, 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.

Copy-paste prompts

Prompt 1
Walk me through cloning agetor and running bun install, bun run build, bun run dev on macOS
Prompt 2
Explain how agetor isolates each task in ~/.agetor/worktrees and what the branch naming pattern is
Prompt 3
Show me where the bearer token gating the local HTTP API is generated and validated
Prompt 4
Extend agetor with a third agent type by following the Claude and Codex dispatch paths
Prompt 5
Inspect the SQLite schema at ~/.agetor/agetor.sqlite and list the task and run tables
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.