- Keep this file policy-only: workflow rules, memory rules, and skill-use guidance.
- Keep it stable and under 100 lines.
- Do not put project facts, experiment details, repo corrections, or session history here.
- Do not list transient MCP or skill inventory here; record only stable rules for when to use available capabilities.
- Put repo-specific guidance in
MEMORY.md. - Edit this file only when operating rules or memory/skill guidance change.
MEMORY.mdmust keep exactly three top-level sections:## Memo,## Recent, and## History.## Memois for durable repo facts and workflow caveats worth rereading every run; keep it under 100 lines.## Recentis latest-first and keeps only the most recent 10 session bullets.## Historyis latest-first, keeps older compressed bullets, and should stay at 20 items or fewer.- Do not duplicate
MEMORY.mdlayout policy insideMEMORY.md; keep structure rules only inAGENTS.md. - When
Recentwould exceed 10 items, rotate older items intoHistoryand compress them instead of lettingRecentgrow. - When
Historywould exceed 20 items, compress it back down instead of letting it grow indefinitely. - If content is process or policy guidance rather than repo memory, put it in
AGENTS.md, notMEMORY.md. - If repo state conflicts with docs or memory, trust the repo and fix
MEMORY.md. - Update
MEMORY.mdas soon as you confirm a durable fact, outcome, or repo-specific workflow caveat; do not wait for a commit. - Before finishing any non-trivial task, run a memory checkpoint: update
MEMORY.mdor explicitly conclude no durable repo memory changed. - Before any requested commit, save relevant updates to
MEMORY.md.
For any non-trivial task:
- Read
MEMORY.md. - If recent context matters, skim recent commits and discussion-bearing commit messages.
- Reality-check the repo with fast commands before trusting docs or memory.
- Read only task-relevant files after the reality check.
- Record durable repo-specific findings in
MEMORY.mdduring the work, not only at the end. - Before the final response, do the memory checkpoint.
- Use any explicitly named skill.
- Use any clearly matching skill.
- If a workflow is recurring, specialized, or clearly high-leverage and no installed skill fits, try
$find-skillsbefore inventing a new workflow.
- Match the language, tone, and structure already used in the target file unless the user asks for a change.
- Prefer small, surgical edits over broad rewrites when updating existing files.
- When changing package management, build tooling, or release/docs workflows, update related CI and workflow files in the same change.
- Always use
pnpmfor JavaScript package management and script execution in this repo. - Use
dotnetas the default build, test, and formatting tool for the main codebase. - After code changes, run
dotnet format --verify-no-changesanddotnet testwhen feasible. - If you change
docs/content or VitePress config, run the docs build fromdocs/withpnpm. - Before any requested commit, save relevant updates to
MEMORY.md. - For any requested commit, write a detailed commit body with the session goal, tasks, key rationale, findings, and results.