← workbench

AGENTS.md is the source of truth

Cross-tool — Claude Code, Codex, and VS Code all read AGENTS.md, so a convention lives there once instead of being duplicated into per-tool config. Per-project domain glossary and context go in each repo's CONTEXT.md.

Commits

Conventional Commits (feat / fix / chore / refactor / docs / …), enforced with commitlint. Commit as the configured git user only — no AI co-author trailers, no pushing unless asked.

Branches

feature/<name>, bugfix/<name>, improvement/<name>. Short, kebab-cased. Enforced by a husky pre-push hook.

PR review priorities

Reuse before building · correctness · right altitude · convention fit · tests · style last. Stack-specific ordering lives in each pr-review skill (Go leads with correctness, DevOps with safety).

Phased delivery

Multi-session work is sliced into vertical tracer-bullet phases — a non-goals list, a checkable definition of done, and a git-tag / merged-PR boundary at every phase.

Deslopify before commit

Any session that touched code runs the subtractive deslopify pass before the commit — it only removes (restating comments, impossible-case guards, one-impl abstractions), never adds.

Rejected ideas are kept

Decisions to not do something live in .out-of-scope/ as short files, so nothing already ruled out gets re-proposed.

Domain glossary per project

Each repo keeps a CONTEXT.md with a ubiquitous-language glossary — use the shared term, don't invent synonyms.

AGENTS.md is cross-tool

Claude Code, Codex, and VS Code all read AGENTS.md — the convention lives there once, not duplicated into per-tool config.