Swarmit

Persistent task coordination for AI coding agents.
AI coding agents try to maintain context through markdown plans and limited subagent memory — but those are fragile, siloed, and invisible to other agents. Swarmit replaces that with a shared, persistent task board every agent reads and writes through the same CLI. One source of truth across sessions and agents.
Break a project into epics and tasks, set up dependency graphs, then let multiple agents pick up work in parallel — each one aware of what the others are doing. Come back tomorrow and the plan is still there, with full history of who did what.
Why Swarmit
Long-term planning. Agents create epics with tasks, dependencies, and priorities that survive across sessions. Pick up where you left off — or let a fresh agent continue the work.
Multi-agent collaboration. Multiple agents claim tasks before starting, leave progress comments, and mark work done — all through the same CLI. No duplicate work, no stepping on each other.
Full visibility. A live terminal dashboard shows what's happening right now: who's working on what, what's blocked, what's done. Every mutation is recorded in an append-only event log with complete history.
Agent-native. JSON output on every command. Pipe-friendly. Comes with a Claude Code skill that teaches agents the workflow automatically.
Agent A Agent B Agent C
│ │ │
│ swarmit CLI │ swarmit CLI │ swarmit CLI
└────────┬────────┘ │
▼ │
shared task state ◄────────────┘
│
▼
swarmit TUI
(live-refreshing dashboard
you watch while agents run)
Install
Pre-built binaries
Download the latest release from GitHub Releases:
- Linux x86_64:
swarmit-linux-x86_64.tar.gz - macOS ARM64:
swarmit-macos-arm64.tar.gz
# Example: macOS ARM64
From source
Requires Rust 1.80+.
Quick start
# Initialize a project
# Plan the work
# Agents claim before starting, comment as they go, done when finished
All mutation commands require --agent <ID> (or SWARMIT_AGENT env var). Output is pretty-printed on a TTY and JSON when piped — useful for scripting and agent-to-agent communication.
Claude Code plugin
The plugin teaches Claude Code agents to use swarmit instead of the built-in todo tools. Once installed, agents automatically:
- Check for existing tasks before creating new ones
- Create epics with dependency graphs for multi-step work
- Claim tasks before starting (prevents duplicate work)
- Leave progress comments visible in the TUI in real time
- Mark tasks done when finished — or blocked with an explanation
- Dispatch parallel subagents in waves based on the dependency graph
Install:
/plugin marketplace add zeapo/swarmit
/plugin install swarmit
Or copy the skill file manually into your .claude/skills/ directory — see plugin/skills/swarmit/.
CLI
Command groups
| Command | Description |
|---|---|
swarmit init |
Initialize a project in the current directory |
swarmit epic |
Create, list, show, update, delete epics |
swarmit task |
Create, list, show, update, claim, done, delete tasks |
swarmit link |
Add / remove / list typed relationships |
swarmit comment |
Add comments to any task |
swarmit insight |
Attach code insights to tasks |
swarmit log |
Inspect the history of all changes |
swarmit compact |
Prune and snapshot history |
swarmit project |
Show or update project metadata |
swarmit sync |
Regenerate markdown files from state |
Common examples
# List all open tasks
# Tasks for a specific epic, as JSON
# Show task detail with relationships and comments
# Link tasks
# Add a progress comment
# Review recent activity
Full reference: plugin/skills/swarmit/cli-reference.md
Markdown materialization
Swarmit can export its state as markdown files — one file per epic and task. This is a downstream, one-way export: swarmit writes markdown from its event log, never the reverse. Editing the markdown files has no effect on swarmit state.
By default, auto-materialization is off. Enable it in your project config:
# or update an existing project:
You can also run swarmit sync at any time to generate (or regenerate) all markdown:
TUI
Run swarmit with no arguments in a TTY to open the live dashboard:
The TUI watches for file changes and refreshes automatically as agents update state. Two-pane layout with collapsible epic groups, three detail tabs (description, comments, insights), and inline editing via $EDITOR.
Catppuccin theme with automatic light/dark detection:
SWARMIT_THEME=latte SWARMIT_THEME=mocha SWARMIT_THEME=frappe
SWARMIT_THEME=macchiato
Key bindings
| Key | Action |
|---|---|
j/k or ↑/↓ |
Navigate list / scroll detail |
Enter |
Open detail pane |
Space |
Collapse / expand epic group |
Tab |
Cycle detail tabs |
h/l or ←/→ |
Cycle detail tabs |
Shift+H/J/K/L |
Switch pane focus |
n |
New task |
e |
Edit description in $EDITOR |
a |
Add comment in $EDITOR |
S |
Change task status |
E |
Change task epic |
f |
Filter |
s |
Sort |
r |
Refresh |
| |
Toggle split direction |
= / - |
Resize detail pane |
? |
Help |
q / Esc |
Quit / back |
What's in the box
- Epics and tasks with priority, assignee, and status
- Typed relationships between items (
blocks,blocked_by,parent,child,relates_to,duplicates) - Comments and code insights on any task
- Full history with
swarmit log - JSON output on every command — pipe-friendly for agents and scripts
- TUI with sort, filter, live refresh, inline editing, and resizable split panes
- Catppuccin theme with auto dark/light detection
- Claude Code skill file that wires everything together
- CI/CD with GitHub Actions — pre-built binaries for Linux and macOS
Project layout
src/
main.rs # Binary entry point (mode detection)
lib.rs # Public API, re-exports
models/ # Domain types: Task, Epic, ItemId, Status, etc.
events/ # Event sourcing: Operation, append, locking
state/ # Materializer, snapshot, index, markdown sync
cli/ # CLI commands (clap)
tui/ # Terminal UI (ratatui + crossterm)
plugin/
skills/
swarmit/ # Claude Code skill files
.swarmit/
operations.log # Append-only event log (source of truth)
project.toml # Project config
state/ # Optional materialized markdown (downstream output)
Development
Tests use tempfile for isolated directories — no global state.
License
MIT