StackMap
Subscribe

beads vs foremerge

Distributed graph issue tracker for coding agents on Dolt: dependency-aware beads replace markdown plans — bd ready/claim/close, cell-level merge, push/pull across machines and agents. CLI + MCP. — versus — Coordination protocol for parallel coding agents above Git: agents declare intent in a shared SQLite store, and a deterministic detector flags plan collisions before code is written.

The curated verdict

Both coordinate parallel agents through a shared local store of claims; beads tracks dependency-aware tasks agents claim and close, Foremerge tracks intended changes to code symbols and flags semantic conflicts.

beadsforemerge
Stars27k518
Forks1.9k21
LanguageGoRust
LicenseMITApache-2.0
Last activitytoday3 days ago
Topicscoding, memorycoding, orchestration
Curated connections33

beads — the curator's take

Steve Yegge's answer to agents drowning in markdown TODOs: task state as a versioned database with real merge semantics, so parallel agents claim and release work without trampling each other — the dependency graph decides what's 'ready'. When NOT: solo short-horizon sessions — bd init plus a Dolt store is infrastructure, and if tasks finish in one sitting a todo list wins. Note it remembers WORK, not knowledge — recall memory is a different shelf.

foremerge — the curator's take

Worktrees stopped agents clobbering files, not undoing each other: one agent replaces PaymentService while another extends it, Git merges both cleanly, and the feature is stranded. Foremerge has agents declare what they are about to change (symbols and operations) before editing, and a deterministic detector, no LLM judge, raises advisories when plans collide. It never locks, so a crashed agent cannot stall the fleet, and it works through CLI, JSON API, MCP and an installed skill. Honest status: a 0.5 pre-1.0 MVP, one maintainer, one machine only, no published benchmarks yet, and it only works if every agent actually declares intent. Worth trying once you routinely run several agents on one repo.