- **Markdown state (
STATUS.md,TASKS.md) and a JSON run ledger (.agent/runs/*.json) - **backed by a Makefile CI interface (
make ci).
This standard gives agents a reliable way to work in a codebase without chaos.
-
A single, human readable source of truth for what is happening
(STATUS.md,TASKS.md) -
A machine readable audit trail of what actually happened
(.agent/runs/*.json,.agent/index.json) -
A consistent tooling API so agents run the same checks every time
(Makefile targets likemake ci) -
A contract that makes work repeatable across repos and teams
(AGENTS.md)
- Agents make changes but nobody can quickly tell what changed, why, and whether it passed checks
- Work cannot be reliably resumed, reviewed, or automated because state and logs are scattered
With this in place, any agent, human, or CI system can pick up the repo, see current intent in one screen, and verify or replay work through structured run records and context.
This repo is a drop-in template for running coding agents (Codex-style or any agent) in a consistent, auditable way.
Human readable state (Markdown)
STATUS.md, one-page snapshot of what is happening nowTASKS.md, backlog, doing, done, with stable task IDsWORKLOG.md, optional daily notes
Automation first audit trail (JSON)
.agent/runs/*.json, one file per agent run.agent/index.json, rollup index for dashboards and tooling
Agent contract
AGENTS.mddefines rules for agents, definition of done, and how to update filesMakefileacts as the repo's tooling API for agents (fmt,lint,test,ci)
- Copy these files into an existing repo (or start from this template).
- Edit
AGENTS.mdto match your stack (Python, Node, Go, etc.). - Customize the
Makefilecommands if needed. - When an agent completes a task:
- update
TASKS.mdandSTATUS.md - write a run record in
.agent/runs/ - run
make ci(or document why it could not be run)
- update
AGENTS.md, agent operating rules and definition of doneSPEC.md, the actual spec for Markdown files and JSON run recordsSTATUS.md, current snapshotTASKS.md, tasks and completion tracking.agent/, machine readable run ledger plus templatesscripts/, helper scripts for maintaining.agent/index.json
- Pick a task in
TASKS.md(example:T-001) - Make changes
- Run
make ci - Record the run:
- create
.agent/runs/<timestamp>_T-001.json - reference that file in the task entry
- create
- Mark the task done in
TASKS.md - Update
STATUS.md(Last update and Now)
MIT, see LICENSE.
This template is designed to work well with OpenAI's Codex style workflows, but it is framework-agnostic.
- AGENTS.md is used as the primary agent instructions contract, aligned with Codex guidance that Codex reads
AGENTS.mdbefore doing work. - Makefile targets act as a stable interface for agents (preferred over ad hoc commands).
- Optional: If you use Codex CLI or Codex IDE, you can connect tools and context via MCP (Model Context Protocol).
Official style pieces
AGENTS.mdas the agent instruction file- MCP as a tool connection protocol (optional)
Local, practical additions in this repo
STATUS.mdandTASKS.mdas human readable state.agent/runs/*.jsonas a project-local run ledger for your own automation and dashboards
If you also use the OpenAI Agents SDK, its built-in tracing can complement the .agent/ run ledger for debugging and observability.