Objetivo
Executar mudancas em regras Roslyn do projeto CSF.Analyzers com seguranca, baixo ruido e consistencia com os tres pacotes v2.
Quando usar
Use esta skill quando a tarefa envolver:
- criacao ou alteracao de regra
REL###,ARC###ouTST###; - ajuste de analyzer,
DiagnosticDescriptor, heuristica ou opcoes via.editorconfig; - ajuste em
RuleIdentifiers; - testes de analyzer;
- documentacao em
docs/rules; - exemplos em
samples/CSF.Analyzers.*.Sample; - atualizacao de
AnalyzerReleases.Unshipped.md.
Antes de alterar
- Identifique o pacote afetado: Reliability, Architecture ou Testing.
- Leia os arquivos relacionados:
AGENTS.mdREADME.md.editorconfigDirectory.Packages.propsglobal.jsonsrc/CSF.Analyzers.<Pacote>/RuleIdentifiers.cssrc/CSF.Analyzers.<Pacote>/Rules/tests/CSF.Analyzers.<Pacote>.Tests/Rules/tests/CSF.Analyzers.TestSupport/Verifier.csdocs/rules/<grupo>/samples/CSF.Analyzers.<Pacote>.Sample/src/CSF.Analyzers.<Pacote>/AnalyzerReleases.Unshipped.md
Regras de implementacao
- Faca a menor mudanca possivel.
- Preserve a separacao entre analyzer, testes, documentacao, samples e release metadata.
- Nao adicione
Version=emPackageReference. - Nao adicione dependencias novas sem necessidade clara.
- Preserve os projetos de pacote em
netstandard2.0. - Use IDs definidos no
RuleIdentifiers.csdo pacote correto. - Mantenha titulo, mensagem, categoria, severidade e help link consistentes.
- Use
DiagnosticDescriptorcomRuleHelpLinks.ForRule(...). - Use
EnableConcurrentExecution(). - Configure codigo gerado explicitamente com
ConfigureGeneratedCodeAnalysis(...). - Use
CancellationTokenem chamadas semanticas. - Evite heuristicas amplas que aumentem falsos positivos.
Checklist para nova regra
- Escolher proximo ID no prefixo do pacote correto.
- Adicionar constante no
RuleIdentifiers.csdo pacote. - Criar analyzer em
src/CSF.Analyzers.<Pacote>/Rules/. - Definir
DiagnosticDescriptor. - Adicionar testes em
tests/CSF.Analyzers.<Pacote>.Tests/Rules/. - Adicionar documentacao em
docs/rules/<grupo>/<ID>.md. - Adicionar exemplos validos e invalidos no sample do pacote quando ajudar.
- Atualizar
AnalyzerReleases.Unshipped.mddo pacote. - Atualizar tabela de regras no
README.md. - Validar restore, build e testes.
Validacao
dotnet restore ./CSF.Analyzers.slnx
dotnet build ./CSF.Analyzers.slnx --configuration Release --no-restore
dotnet test ./CSF.Analyzers.slnx --configuration Release -m:1