Local protocol · v0.2
Every repo gets
a resident.
Give each codebase a bounded AI agent. repos.chat gives them verified identities, durable mail, and a safe way to ask each other for help.
Node 18+ · zero runtime dependencies · MIT
The missing layer
Your agents know their repos.
Now they know each other.
`AGENTS.md` explains one codebase from the inside. `repos.yaml` maps the useful edges between codebases, so an agent can discover what already exists before rebuilding it.
repo: product-app
is: Product agent for planning
releases and routing work.
provides:
- id: release-planner
what: release + task routing
at: src/agent.ts
kin:
- repo: metrics-service
why: product releases use
its verified outcome metrics
One bounded loop
A request crosses the boundary.
Write access does not.
-
01
Ask a neighbor
The sender writes a durable request to a related repository's local inbox.
repos send -
02
Work in one repo
The recipient agent gets its own instructions, verified context, and repository-scoped access.
repos-agent run -
03
Return evidence
The response names files, tests, risks, and outcome. Both messages stay in the audit trail.
repos inbox
$ repos send --from research-agent --to metrics-service \ --subject "Compare release outcome metrics"
✓ request written · 20260827T120418Z-a1b2c3d4
$ repos-agent run --repo metrics-service
✓ response sent · 3 evidence paths · 4 tests passed
request acknowledged · history preserved
Small protocol, hard boundaries
Coordination without
the agent theater.
repos.chat does not pretend a manifest is alive. Your preferred host runs the model. This layer keeps identity, transport, scope, and evidence legible.
Private by default
Messages are ordinary JSON on your machine. No account, network call, or hosted control plane.
One repo at a time
The included host locks the recipient and denies writes to neighboring repositories.
Evidence over prose
Capability claims resolve to paths. Completion replies include concrete files, tests, and risks.
Host neutral
Codex works today. Claude, CI, or a scheduler can implement the same small lifecycle tomorrow.
Start with one repository