Cross-platform support is required (Windows, macOS, Linux). Architecture, directory routing, and template ownership live in docs/ARCHITECTURE.md. Adding support for a new Coding Agent host starts with docs/adapters/contributing-new-coding-agent.md.
- Write a plan or spec for new agents, hooks, or major features under
docs/specs/<yyyy-mm-dd>-<spec-name>.md, using the spec's creation date. - For non-trivial behavior changes to
skills/,hooks/,scripts/,templates/, adapters, report formats, or review workflows, use.agents/skills/change-traceability-review/SKILL.mdin Spec Preparation mode before implementation. - Prefer
docs/specs/<yyyy-mm-dd>-<story-id>-<slug>.mdwhen there is a Story or issue id; otherwise usedocs/specs/<yyyy-mm-dd>-<slug>.mdfor justified maintenance, docs-only, test-only, dependency, or infra work. - Keep specs reviewable: include intent, acceptance scenarios with stable AC ids, non-goals, plan/tasks, and test/review evidence.
Mark unknowns with
[NEEDS CLARIFICATION: ...]. - Keep
docs/specs/*.mdtitles human-readable. Do not put Story ids, status, or review state in titles, and do not use YAML front matter by default. - Put traceability metadata in the body:
Spec ID, optionalStory, andStatusin a short## Traceabilitysection.
- Do not proactively edit
CHANGELOG.md, release notes, version files, roadmap/status documents, or other task-external project metadata. Change them only when the user explicitly requests it or a pre-existing issue, spec, or acceptance criterion requires it; user-visible behavior alone is not authorization.
- The supported host set is deliberately bounded. Do not add a new host adapter without an explicit maintainer decision or a pre-existing issue/spec; a host being technically installable is not by itself justification to add one.
README.mdandREADME.zh-CN.mdInstallation sections are reserved for the most common hosts with inline setup steps. Do not add a full per-host install section for an additional or adapter-support host. Document its setup and boundaries in the installation guide (docs/docs/installation.mdx) and the Host Adapter Matrix (docs/docs/hosts/adapter-matrix.md and docs/adapters/README.md), and reference it from the README "More adapters" list instead.- Keep support-level claims honest: a host's placement in the README is a display choice, not its verification level. Do not downgrade a host's matrix positioning (for example, from Verified Quickstart to adapter support) only to shorten the README.
- Design scripts and code for AI-friendly automated use, and validate automation with an AI agent when relevant,
e.g. Qoder via
qodercli -por Codex viacodex -p. - For visual changes, verify with Playwright against the preview URL, inspect console/page errors, and save a screenshot for layout review.
- Run
npm run preview, then smoke-testhttp://localhost:58575/healthand/canvas-module.jsto ensure TSX transforms and SDK runtime load.
- All relative
.mdreferences acrossskills/,references/,templates/,models/,docs/, andcase-studies/must resolve;test/doc-link-graph.test.mjsenforces this innpm test. - After adding, moving, or renaming markdown docs, run
node --test test/doc-link-graph.test.mjsbefore committing, and regenerate the routing graph withnode scripts/doc-link-graph/cli.mjs skills/better-harness(it rewritesdocs/better-harness-doc-links.mmd, which the test checks for staleness). - Every reference doc shipped under
skills/better-harness/references/must stay reachable fromSKILL.mdrouting, otherwise agents can never load it.
- Name branches
<type>/<short-kebab-case-description>, using the same intent-based types as Conventional Commits:feat,fix,test,docs,refactor, orchore. - Choose the type from the purpose of the change, not only the files it touches. For example, a test-only change that fixes
a CI failure uses
fix/<description>. - Do not add tool- or agent-specific prefixes such as
codex/oragent/unless a maintainer explicitly requests one. - Keep the description concise and portable across filesystems and shells; use lowercase ASCII words separated by hyphens.
- Always add co-author information. If closing an issue in commit text, verify against
mainfirst:gh issue view <issue-id>. - Only ONE co-author line is allowed. If multiple agents contributed, aggregate into ONE entry
Format example: Co-authored-by: <AgentName> (<You-Model>) <Email>
Valid examples (choose EXACTLY ONE):
Co-authored-by: GitHub Copilot Agent (GPT 5.5) [email protected] Co-authored-by: Codex (GPT 5.6 Sol) [email protected] Co-authored-by: QoderAI (Qwen 3.8 Max) [email protected]
- Use Conventional Commits:
<type>(<scope>): <summary>, blank line, then a prose body when non-trivial. - Prefer
feat,fix,test,docs,refactor,chore; scopes should name affected areas such ashooks,canvas,templates,agents, ordeps. - Keep summaries imperative, lower-case after the type, and under 72 characters when practical.
Do not use vague subjects like
update,changes, orfix stuff. - Agent-authored non-trivial commits need a normal prose body explaining what changed, why, and how it was validated.
- For spec-backed commits, naturally mention the Story/spec/test evidence in the body. Use
Story:,Spec:,Test:,Risk:,AI:, orRefs:trailers only when a reviewer, host tool, or external workflow explicitly requires them.
- Use
.agents/skills/change-traceability-review/SKILL.mdas the Story/Spec/Test/Risk evidence-chain review guide, not a code-style guide. - Before review, merge, or commit of a non-trivial change, run a Review Readiness Check over the staged or local diff: Story evidence, matching Spec, tests, risk, AI marker, changed modules, generated files, and staged/unstaged split.
- Use Review Retrospective for process tuning across recent history: commit messages, Story/Spec/Test/Risk coverage, oversized commits, repeated rework, automation commits, and missing review evidence.
- Do not infer Story ids, AI involvement, tracker status, CI status, or spec content from branch names, prose style, timestamps, or topic similarity. Count only visible local evidence or explicitly opened external evidence.