Files
pi-config/extensions/rpiv-pi/skills/annotate-inline/examples/root-dotnet-clean-arch.md

39 lines
1.5 KiB
Markdown

# CLAUDE.md
ASP.NET Core 8 Web API with Clean Architecture (CQRS + MediatR).
## Project map
- `src/Api/` - ASP.NET Core controllers, middleware, DI setup
- `src/Application/` - MediatR handlers, validators, DTOs
- `src/Domain/` - Entities, value objects, domain events
- `src/Infrastructure/` - EF Core, external services, file storage
- `tests/` - Unit and integration tests
## Commands
| Command | What it does |
|---|---|
| `dotnet build` | Build solution |
| `dotnet test` | Run all tests |
| `dotnet run --project src/Api` | Start API locally |
| `dotnet ef migrations add <Name> -p src/Infrastructure` | Create EF migration |
| `dotnet ef database update -p src/Infrastructure` | Apply migrations |
<important if="you are adding a new API endpoint">
- Add controller in `Api/Controllers/` inheriting `BaseApiController`
- Add command/query + handler + validator in `Application/Features/`
- See `Application/Features/Orders/Commands/CreateOrder/` for the pattern
</important>
<important if="you are adding or modifying EF Core migrations or database schema">
- Entities configured via `IEntityTypeConfiguration<T>` in `Infrastructure/Persistence/Configurations/`
- Always create a migration after schema changes — never modify existing migrations
</important>
<important if="you are writing or modifying tests">
- Unit tests: xUnit + NSubstitute, one test class per handler
- Integration tests: `WebApplicationFactory<Program>` with test database
- See `tests/Application.IntegrationTests/TestBase.cs` for setup
</important>