v0.1.0
[0.1.0] — 2026-07-01
First working draft of the Repospec Protocol: an open, tool-agnostic standard that
makes a repository self-describing to AI coding agents. Humans author a .repospec/
directory; a build tool compiles it into the root AGENTS.md that agents already read.
Added
- Protocol specification (v0.1).
docs/spec-v0.1.mddefines the.repospec/
directory —project.yaml,constitution.md,workflow.md,agents/,rules/,
decisions/,history/,templates/— and the invariant that humans edit
.repospec/whileAGENTS.mdis generated. Accompanied bydocs/manifesto.md. - Roles model. Named responsibilities (
.repospec/agents/) with owned scope,
bounded authority, and defined hand-offs — a contract per role, replacing
"act like a senior engineer." - Durable memory model. Versioned decisions (
.repospec/decisions/, append-only
ADRs) and narrative history (.repospec/history/) that outlive any single
conversation or model. - Reference build tool.
tools/repospec_build.pycompiles.repospec/into
AGENTS.md(repospec build) and, with--check, verifies the committed
AGENTS.mdis current without writing. Dependency-light — PyYAML only. - CI drift-guard.
.github/workflows/repospec.ymlrunsrepospec build --check
on every push and pull request, failing whenAGENTS.mddrifts from.repospec/. - Worked example.
examples/acme-billing/— a complete.repospec/and its
generatedAGENTS.md.
Changed
- Renamed the project
forge→repospecto avoid colliding with Foundry's
Solidity CLI, whose first command is literallyforge init. The rename covers the
protocol name, the CLI verb, the reference build tool, the.repospec/convention
directory, and all user-facing strings and prose.
Known limitations (open problems)
- Enforcement — partially addressed.
AGENTS.mdis advisory; an agent can ignore
it. v0.1.0 ships a CI check that the compiledAGENTS.mdis current, which closes
the staleness gap. Optional gate hooks that enforce the workflow at commit/merge
time remain future work. - Drift detection — still open. When code and
.repospec/diverge (as opposed to
AGENTS.mddrifting from.repospec/), there is no mechanism yet to detect the
divergence or decide which side wins before it misleads an agent.