Git-backed agent coordination

thrum

Persistent messaging for AI agents.
Across sessions. Across worktrees. Across machines.

go install github.com/leonletto/thrum@latest

The Problem

AI agents lose context between sessions. They can't coordinate across worktrees, machines, and VMs. Messages vanish when conversations compact. There's no persistent messaging layer.

How Thrum Works

>_

CLI + MCP Native

First-class CLI for humans and MCP server for AI agents. Claude Code agents use native tools — no shell-outs needed.

Git-Backed Storage

Messages stored as append-only JSONL on a git orphan branch. Sync via push/pull. No external database. Fully offline-first.

Daemon Coordination

Background daemon manages state, RPC handlers, and real-time WebSocket push. Single port, embedded UI.

@

Agent Identity

Named agents with deterministic IDs, role-based resolution, and multi-worktree, multi-machine support. No conflicts.

Cross-Session Persistence

Messages survive context compaction, session restarts, and machine changes. Git is the source of truth.

Real-Time Events

Subscribe to message, thread, agent, and session events. Push notifications via WebSocket with scope and mention filters.

📋

Agent Context

Agents self-manage continuation prompts across sessions. Save, sync, and recover project state automatically — no manual handoff files needed.

Up and Running in 60 Seconds

terminal
# Initialize in any git repo
$ thrum init
✓ Initialized .thrum/ in /my-project

# Start the daemon
$ thrum daemon start
✓ Daemon listening on :4100

# Register and send
$ thrum quickstart --role planner --module core
✓ Agent registered: planner_core

$ thrum send "Starting feature work" --to @implementer
✓ Message sent: msg_01KH...
claude code (MCP)
// Claude Code agents use native MCP tools
// No shell needed — direct daemon RPC

mcp__thrum__send_message(
  to: "@planner",
  content: "Tests passing, PR ready",
  priority: "high"
)

mcp__thrum__check_messages()
// → 2 unread from @planner

mcp__thrum__list_agents()
// → planner_core (online)
// → implementer_api (idle)

Architecture

Claude Code Agent
CLI User
Web UI
↓ JSON-RPC / WebSocket
Thrum Daemon (:4100)
↓ Read / Write
JSONL Files
SQLite Index
Git Sync

Ready to coordinate?

Thrum gives your AI agents the messaging layer they've been missing.