This repo uses a tool-agnostic, agent-first documentation strategy:
- Component knowledge lives with the component (
Src/**/AGENTS.md). - A small set of scoped instruction files in
.github/instructions/provides prescriptive, enforceable constraints. .github/AGENTS.mdis the short “front door” that links to the right places.- Agent definitions in
.github/agents/and role chatmodes in.github/chatmodes/describe behavior/persona, not system architecture.
- Component architecture & entry points:
Src/<Component>/AGENTS.md - Repo-wide workflow (how to build/test, safety constraints):
.github/AGENTS.md - Non-negotiable rules (security, terminal restrictions, installer rules, etc.):
.github/instructions/*.instructions.md
- Do not copy component descriptions into
.github/instructions/. - Do not restate rules in multiple places. Prefer linking.
- If a rule must be enforced by agents for a subtree, add a scoped
.instructions.md; otherwise document it in the relevantAGENTS.md.
Use for:
- One-page onboarding for agents: build/test commands, repo constraints, and links.
- Pointers to the curated instruction set and the component docs.
Use for:
- Prescriptive constraints that must be applied during editing/review.
- Cross-cutting rules that prevent expensive mistakes (security, terminal command restrictions, installer rules, managed/native boundary rules).
Curated keep set (intentionally small):
build.instructions.mddebugging.instructions.mdinstaller.instructions.mdmanaged.instructions.mdnavigation.instructions.mdnative.instructions.mdpowershell.instructions.mdrepo.instructions.mdsecurity.instructions.mdterminal.instructions.mdtesting.instructions.md
Use for:
- Where to start (entry points, key projects, typical workflows).
- Dependencies and cross-component links.
- Tests (where they live, how to run them).
Baseline expectations for a component agent doc:
- Where to start (projects, primary entry points)
- Dependencies (other components/layers)
- Tests (test projects and the recommended
./test.ps1invocation)
Use for:
- Role definitions, boundaries, and tool preferences.
- Do not put component architecture here; link to the component
AGENTS.md.
- AGENTS.md: Supported as a simple, vendor-neutral instruction format by multiple tools (for example, Cursor’s project rules). Use plain Markdown with clear headings and concise rules.
- MCP (Model Context Protocol): Use MCP for tool/data integration rather than vendor-specific plugins; MCP provides a standardized, versioned protocol for AI tool connectivity.
Add a new .github/instructions/<name>.instructions.md only when:
- The guidance is prescriptive (MUST/DO NOT), and
- It applies broadly or to a subtree, and
- It would be harmful if Copilot ignored it.
Otherwise, update the appropriate Src/**/AGENTS.md.