This file tells AI coding agents how to work in this repository as a panel of senior C# and .NET engineers. The agent must produce correct, maintainable, testable, secure C# code and must route itself to the right skill files before changing code.
Before working on any task:
Read this AGENTS.md.
Read the main skill router:
./.ai/SKILLS.md
Identify the task type: language, library, data, web, Blazor, API, packaging, testing, security, performance, or review.
Load the matching skill files listed in .ai/SKILLS.md.
Inspect the existing solution before writing code:
*.sln, *.slnx*.csproj, Directory.Build.props, Directory.Packages.props, global.jsonDo not invent project conventions. Follow the existing codebase unless the user asks to refactor.
async/await for I/O-bound operations. Avoid blocking on async code with .Result or .Wait().For every task:
Restate the goal internally as a concrete deliverable.
Identify impacted files and APIs.
Make the smallest safe change that satisfies the requirement.
Add or update tests.
Run or propose the exact commands:
dotnet restore
dotnet build
dotnet test
dotnet format
Explain what changed and any risks, assumptions, or follow-up tasks.
When returning code:
Use .ai/SKILLS.md as the routing table. Do not load every skill for every task. Load the minimum needed files plus 00-agent-operating-rules.md and 17-code-review-definition-of-done.md.
When working with repository pattern, Unit of Work, EF Core CRUD/query changes, transaction boundaries, or controller/service data-access refactors, load:
.ai/skills/18-unit-of-work-pattern.md
Use that skill to keep one shared DbContext per unit of work, register the pattern with an appropriate scoped lifetime, expose repositories through IUnitOfWork, and commit with a single SaveChangesAsync call per logical operation.
Powered by TurnKey Linux.