0005
June 14, 2026 · View on GitHub
Status: Accepted
Context
Several AI coding agents read repository-level instructions. Most of them
(Codex, Cursor, Copilot, Gemini CLI, Aider) read AGENTS.md natively; Claude
Code reads CLAUDE.md. Keeping two instruction files per fork drifts them out of
sync.
Decision
Each fork has one AGENTS.md with the build/test/lint commands, the Lua 5.1
constraints, the FFI parenthesisation rule, the toolchain pins, and a pointer to
the ADRs. CLAUDE.md is a one-line @AGENTS.md import, not a symlink (symlinks
break on Windows and on some CI checkouts). AGENTS.md stays short and
command-first; the full rationale lives in these ADRs and in CONTRIBUTING.md.
Consequences
- One file to edit; every agent reads the same content.
AGENTS.mdlinks to the package-setCONTRIBUTING.mdfor the release process and the ADRs, so neither is duplicated across forks.- Agents are pointed at the ADRs: read them before a cross-cutting decision, add one after making such a decision (see the ADR index README).