~/home~/about~/projects~/ventures~/contact
[← back to projects]

</hive>

────────────────────────────────────────
[SOLO BUILD][CLI · MCP · WEB][IN DEVELOPMENT]
typescriptpnpmturborepomcpclaude codesupabasepostgresqlzodssenext.jsvitest

</the problem>

────────────────────────────────────────

Teams running AI coding agents have no shared context across developers and machines. One agent declares an interface; another, on a different laptop, builds against a stale assumption of the same interface. The mismatch only surfaces at merge time, after both agents have committed to incompatible shapes. The gap the built-in agent-team features leave open is the cross-machine, uncommitted-contract case.

</my approach>

────────────────────────────────────────

Give the agents a shared brain without changing how developers work. Forked a battle-tested MIT room-server CLI for transport, then reshaped the payload from chat into three structured primitives · intent, contracts, and collision alerts · mirrored to a hosted Supabase sync layer. Developers keep using native Claude Code; their agents publish and read context silently underneath.

</key features>

────────────────────────────────────────

Three core primitives

share_intent, declare_contract, and get_team_context. Everything else is a surface over these three. The core surface does not grow without cause.

Cross-machine contract sync

Interface contracts that only exist in one developer's working tree are shared across separate machines in real time, before anything is committed.

Dependency-aware collision alerts

A version diff on contracts pushes an alert only to the agents that actually depend on what changed · amber as punctuation, not noise.

Never blocks the agent

Offline or unreachable, the MCP layer degrades silently. It is an augmentation, never a dependency the agent can trip over.

Privacy by construction

Stores only the intent, contracts, and events an agent explicitly publishes · never source code. The Supabase service key never enters a client bundle; CI fails if it does.

Production-grade monorepo

pnpm + Turborepo, strict TypeScript, typed zod events, RLS verified against real Postgres, and a lint/typecheck/test/build CI gate. Built in public, sprint by sprint.

</what i learned>

────────────────────────────────────────
>

Forking the transport and spending effort on the novel payload beats rebuilding a room server from scratch · the boring parts were already solved well under an MIT license.

>

A three-primitive core is a feature, not a limitation. Holding the surface small keeps the product legible and the durable wedge protected.

>

Routing every user-facing name through a single brand constant makes a launch-day rename a one-line change instead of a refactor.

[← back to projects]