Skip to content

v1.0.0

Choose a tag to compare

@ArtyomK58 ArtyomK58 released this 09 Sep 06:40
f2f4b86

A backend service template for projects an AI agent writes and maintains. FastAPI, PostgreSQL, hexagonal layering, one worked vertical meant to be copied.

What makes it different is not the code — it is that the guardrails are measured. A mutation matrix breaks twenty-four things one at a time and checks that something goes red for each: a reversed ORDER BY, a foreign key without ondelete, a tautological SQL round trip, an import cycle, a second Alembic head, an unwired router, a stale generated wrapper, a skill naming a make target that does not exist. All twenty-four are caught on this commit.

In this release

tests 1082, coverage 87.63%
blocking validators 11
CI jobs 8
trap matrix 24 of 24 caught
kernel project/ 4 488 executable lines
tooling scripts + ai_context + ai_query 10 302 executable lines

One contract, two agents. docs/agent_rules.md renders to AGENTS.md, which Codex reads directly and Claude Code reads through a CLAUDE.md that imports it. One document, 1 259 words, no second copy to keep in step — ADR-011.

Ten dated decisions in docs/adr/, including ADR-010, which states plainly what the gates cannot see.

Two skills under .agents/skills/, shared by both agents through a symlink: initialize-project and add-vertical, the latter carrying the eleven files and three wiring edits a new vertical costs.

A pre-edit hook that refuses a write to a generated file at the moment the write is attempted, for both agents, because a rule in prose does not stop one.

Known limits

  • The gates run none of your queries. A SQL defect is caught only if a test pins its clause as literal text, and a migration is verified only against a real database — make test-e2e. ADR-010 says this in full.
  • No authentication, no frontend, no business pipeline. The kernel ships one vertical to copy and nothing that guesses at your domain.
  • No upgrade path. A project created from this template owns its copy; there is no mechanism to pull later template changes in.
  • The mutation matrix is a development harness, not yet a committed artefact — reproducing the twenty-four is manual for now.

Getting started

make init-project      # writes .env, idempotent
make quality-gates     # the full gate

Then read AGENTS.md, or point your agent at it and copy the reference_task vertical with .agents/skills/add-vertical.