Kagura
Kagura is a local devflow app for a single developer's workstation. It
pulls issues from your trackers — GitHub, Azure DevOps, Beads, or plain
Markdown files — triages each one into a small set of parallelisable
sub-tasks using the claude CLI, then runs those tasks as real, attachable
claude sessions inside isolated git worktrees.
When every task lands, Kagura merges the work-item branch up and opens a
pull request via gh.
Single-user, local-only, no auth. Built for the workflow of one developer juggling many concurrent agents.
What you can do with it
- Aggregate issues from multiple sources in one UI without context- switching between trackers.
- Triage with Claude — turn a vague issue into 1–3 ordered tasks small enough for an agent to land in one sitting.
- Run agents in parallel — each task gets its own git worktree and its
own
claudePTY session, capped by a configurable concurrency limit. - Attach, type, and steer — every PTY streams to an in-browser xterm.js tab over SignalR, so you can drop in to redirect an agent or unblock it.
- Carry to PR automatically with Ralph Loop — one click that starts, merges, and PRs each task in order, with retries.
How it fits together
┌──────────────────────────┐ ┌──────────────────────────────────┐
│ React + xterm.js (5173) │ <─SR──> │ ASP.NET Core API (5253) │
│ Sources / WorkItems UI │ <─REST─>│ + SignalR /hubs/agent │
└──────────────────────────┘ │ + EF Core (SQLite) │
│ + claude CLI (triage) │
│ + Porta.Pty (claude PTYs) │
│ + git CLI (worktrees, PRs) │
└──────────────────────────────────┘
│
▼
~/.devflow/kagura.db
~/.devflow/keys/
~/.devflow/worktrees/<wi>/<task>/
~/.devflow/transcripts/
The whole stack is orchestrated by .NET Aspire —
one dotnet run starts the API, the Vite frontend, and a dashboard with
logs, traces, and health for both.
Where to go next
- Setup — install prerequisites and boot Kagura on a fresh machine.
- Usage — the four flows you'll touch most often: filtering,
triage, the
Closedstatus, and Ralph Loop. - GitHub repo — full source, the
REST API reference, and the on-disk layout under
~/.devflow/.