Repository operating rules for humans and coding agents.
These rules apply to the full repo unless a deeper AGENTS.md overrides them.
- Make one atomic git commit per logical change.
- Do not combine unrelated changes in the same commit.
- Use clear, imperative commit messages with scope.
- Log every logical update in
docs/log.ndjson. - Append exactly one NDJSON object per logical change.
- Use UTC ISO-8601 timestamps.
- Minimum fields:
ts,actor,type,summary,files,checks,commit.
- Every plan document must include a progress table.
- Each progress row must include: item, status, lint, tests, commit, updated time, notes.
- Allowed statuses:
todo,in_progress,blocked,done. - A row can be
doneonly when lint passes, tests pass, and the work is committed. - Never mark a feature/step complete when any completion gate is missing or failing.
- Keep
README.mdcurrent with purpose, architecture, setup status, and usage path. - Keep
CHANGELOG.mdcurrent with user-visible changes (latest at top). - Keep
docs/roadmap.mdcurrent with timeline for the active plan plus future plans. - Keep
docs/plan.mdcurrent with implementation details and progress updates.
- Implementation matches accepted scope.
- Lint passes.
- Tests pass.
- Progress tables are updated.
docs/log.ndjsonis updated.- Changes are committed atomically.
- Prefer small, reversible changes.
- Do not rewrite git history unless explicitly requested.
- Escalate blockers immediately; do not fake completion.