What is Enagrams?
Enagrams is a coordination layer for AI coding agents. When multiple developers use parallel coding agents — Cursor, Claude Code, Codex, Windsurf — those agents make independent decisions that diverge: different libraries chosen, conflicting file edits, duplicate implementations. Enagrams gives every agent complete context about what every other agent is doing, so they naturally converge on the same architecture and never step on each other’s work.The Problem
Without coordination, parallel agents create chaos:- Developer A’s agent picks
zodfor validation - Developer B’s agent picks
joifor the same purpose - Both rewrite the same route files simultaneously
- You discover the conflict at merge time — hours of rework
The Solution
Enagrams maintains a shared knowledge graph of every architectural decision, a per-workspace symbol graph of every function and class, and a live coordination substrate of active work. Agents reserve files and symbols before editing. A gate blocks “I’m done” handoffs that break tests. Meeting transcripts automatically generate scoped work packages so every agent knows exactly what to build.How It Works
Connect
Run
enagrams init. Browser auth creates or joins a workspace and writes the MCP + hook config for every IDE on the machine.Coordinate
File and symbol reservations prevent simultaneous edits. Workstreams map 1:1 to
ena/<slug> branches so the team shares one working branch per feature.Align
Decisions and conventions are shared across agents.
must-tier conventions block edits. The test gate blocks “ready” signals that would break dependents.Key Features
- 24 MCP tools across six surfaces — coordination (
sync,decide,search,learn,ask,publish), workstreams (workstream_start/join/leave/end/complete/list), tasks (delegate_task,task_claim/update/list), conventions (convention_propose/list,decisions_stale,decision_reaffirm), the test gate (confirm_ready,sync_commit,sync_retract), and negotiation (negotiate_open/respond/list) - Automatic file + symbol locking — IDE hooks reserve files on write and can narrow down to specific functions/classes (
granularity='symbol') - Workstreams — short-lived feature branches
ena/<slug>that agents jump onto together; any branch matching that pattern puts the session in coordinated mode - Symbol graph — per-workspace pgvector index of every top-level function, class, interface, and enum, kept fresh on every agent write
- Test gate (
confirm_ready) — computes the affected-test set from the symbol graph, records pass/fail with flake tracking, writes async_logreceipt the watcher uses to fan out commits - Living decisions + conventions — decisions auto-link to symbols and go stale when those symbols change;
must-tier conventions are hard gates on PreToolUse - Negotiation protocol — when two agents both want a symbol, they run a bounded-turn state machine (
propose → yield / hold / split / defer → resolved | escalated | expired) - Meeting ingestion — paste a transcript or record live via Whisper; decisions, action items, and file-scoped work packages are auto-extracted
- Real-time dashboard — Supabase Realtime fans
agent_sessions,file_reservations,decisions,workstreams,tasks, andsync_logchanges to the web UI andenagrams watchsubscribers
Quick Start
2-minute quickstart
Install, connect, and start coding with coordinated agents.
How it works
Deep dive into the coordination model.