Padroes arquiteturais e estrutura de projeto .NET C# / ASP.NET Core: Clean Architecture com camadas numeradas, Repository Pattern com Entity Framework Core, CQRS nativo (sem MediatR) com Commands, Queries, Handlers e Dispatcher, tratamento global de erros (IExceptionHandler, ProblemDetails), Custom Exceptions e Result Pattern, FluentValidation em handlers, estrutura de pastas e dependencias entre projetos. Usar quando: criar novo microservico; criar modulo/feature; implementar endpoints e fluxo CQRS; definir contratos (DTOs/requests/responses); definir ou revisar estrutura de camadas; organizar pastas e projetos; configurar referencias entre projetos.
Padroes transversais de qualidade de codigo .NET C# / ASP.NET Core: convencoes de nomenclatura (PascalCase, camelCase, kebab-case), principios SOLID e Clean Code, estrutura de metodos e classes, async/await e CancellationToken, Dependency Injection, Exception Handling, estilo de codigo. Skill transversal que deve ser aplicada apos geracao de codigo. Usar quando: gerar codigo C#; revisar naming conventions; validar clean code; aplicar regras de qualidade; revisar estilo e formatacao; configurar DI.
Dependencias e configuracoes padrao para projetos .NET C# / ASP.NET Core: pacotes NuGet base, Entity Framework Core com PostgreSQL (padrao oficial) e Oracle (alternativa suportada), Mapster para mapeamento, FluentValidation, CQRS nativo, Polly para resiliencia, RabbitMQ com Rmq.CloudEvents, configuration patterns (appsettings, options, DI), Unit of Work, migrations, interceptors, criacao de bibliotecas profissionais NuGet. Usar quando: criar projeto .NET; adicionar infra (DB, cache, messaging); configurar EF Core; alterar baseline de libs; criar ou publicar class library NuGet.
Indice das skills .NET C# / ASP.NET Core: mapa de navegacao entre os 7 modulos de skills consolidados (architecture, code-quality, dependency-config, observability, performance, testing, production-readiness). Usar quando: decidir qual skill consultar; entender a organizacao das skills; mapear uma tarefa especifica ao modulo correto.
Observabilidade completa para .NET C# / ASP.NET Core: Health Checks com AspNetCore.Diagnostics.HealthChecks (liveness/readiness/startup probes para Kubernetes), health checks customizados para regras de negocio, logging estruturado com OpenTelemetry integrado a tracing, scopes de log para correlacao, metricas e telemetria, CancellationToken aplicado corretamente, configuracao por ambiente. Usar quando: implementar health checks; configurar probes Kubernetes; integrar logging com tracing; auditar observabilidade; adicionar metricas; configurar monitoramento.
Performance e otimizacao .NET C# / ASP.NET Core: consultas Entity Framework Core otimizadas (AsNoTracking, AsSplitQuery, Compiled Queries, projecoes, ExecuteUpdateAsync/ExecuteDeleteAsync), estrategias de caching (IMemoryCache local, IDistributedCache/Redis distribuido), HttpClient otimizado com IHttpClientFactory e Polly (retry, circuit breaker), paginacao eficiente, streaming com IAsyncEnumerable. Usar quando: otimizar queries EF Core; implementar caching; configurar HttpClient; code review de performance; pull request review; investigar lentidao.
Checklist de prontidao para producao .NET C# / ASP.NET Core: configuracao de logging/tracing com OpenTelemetry (OTLP padrao oficial), formato de logs estruturados JSON, sanitizacao de dados sensiveis (CPF, email, telefone), niveis de log por ambiente, correlacao via TraceId, exportacao OTLP, checklist consolidado de deploy. Usar quando: preparar servico para producao; configurar OpenTelemetry; revisar logs; sanitizar dados; validar deploy; garantir observabilidade completa.
Estrategias de teste .NET C# / ASP.NET Core: testes unitarios com xUnit + AwesomeAssertions + Moq (padrao AAA), testes de integracao com WebApplicationFactory + Testcontainers (PostgreSQL padrao oficial), testes E2E com Playwright, Dev Containers para ambiente isolado, naming convention (MethodName_Condition_ExpectedBehavior), fixtures reutilizaveis, cobertura > 80% para logica de negocio. Usar quando: criar testes; revisar testes; garantir cobertura; configurar Testcontainers; setup de ambiente de teste.