AGENTS.md
TestManager - guia de colaboracao para IA
Objetivo do sistema
Manter e evoluir o TestManager, uma aplicacao web em .NET 8 voltada para gestao interna de bugs, dashboard operacional, integracao com Azure DevOps On-Premises e execucao isolada de testes sob demanda.
Estado atual implementado
- dashboard principal em
/dashboard - listagem de bugs (Azure DevOps) em
/bugs→/bugs/ado - bugs persistidos no SQL Server continuam alimentando o dashboard; API REST
/api/bugse telas CRUD de bugs locais foram removidas - integracao Azure DevOps em
/integracoes/azuredevops - modulo de testes isolado em
/testing - SQL Server com EF Core e migrations versionadas
- scripts locais para execucao e testes em
scripts/
Regras obrigatorias
- Usar Portugues do Brasil em textos de interface, mensagens e documentacao funcional.
- Preservar a separacao entre
Domain,Application,InfrastructureeWeb. - Nao colocar acesso a banco, HTTP externo ou regras de negocio diretamente em views ou controllers.
- Toda alteracao de endpoint, tela, regra, script ou configuracao deve atualizar a documentacao correspondente.
- O modulo de testes deve continuar isolado e removivel sem quebrar o restante da aplicacao.
- A integracao com Azure DevOps deve continuar centralizada e desacoplada da UI.
Estrutura principal
src/TestManager.Websrc/TestManager.Applicationsrc/TestManager.Domainsrc/TestManager.Infrastructuretests/TestManager.UnitTeststests/TestManager.IntegrationTeststests/TestManager.E2Edocsscripts
Convenios arquiteturais
Domaincontem entidades, enums, filtros e invariantesApplicationcontem DTOs, contratos e servicos de aplicacaoInfrastructurecontemDbContext, configuracoes Fluent API, migrations, repositorios e integracoes externasWebcontem composicao, controllers, endpoints, view models, views e assets- o bootstrap da aplicacao fica centralizado em
TestManagerBootstrapExtensions - rotulos repetidos de bugs devem reaproveitar
RotulosBug - formatacoes visuais recorrentes da Web devem reaproveitar
FormatadorApresentacaoBug
Modulo de bugs
Buge o agregado raiz- comentarios, anexos e historico sao subordinados ao bug
- filtros, paginacao e ordenacao passam pela camada de aplicacao
- a UI atual permite criar, editar, detalhar, comentar, anexar metadados e vincular Azure DevOps
Modulo de testes
- ativado por
Features:ModuloTestesHabilitado - rotas dedicadas
GET /testing,GET /testing/state,GET /testing/last-resultePOST /testing/run - DI centralizado em
AddModuloTestes - execucao real encapsulada em
ExecutorProcessoModuloTestes - script dedicado em
scripts/testing/run-suite.ps1 - scripts centrais
scripts/run-local.ps1,scripts/run-local.cmd,scripts/test-all.ps1escripts/test-all.cmd
Integracao Azure DevOps
- a interface publica atual e
IAzureDevOpsService - o cliente HTTP centralizado e
AzureDevOpsHttpClient - a autenticacao atual aceita
UsuarioeSenhaouTokenAcesso - a configuracao de runtime atual vem de
appsettings - a entidade
IntegracaoAzureDevOpsConfigexiste no dominio e na persistencia, mas ainda nao ha tela ou fluxo de runtime usando esse repositorio
Banco de dados
TestManagerDbContextfica emsrc/TestManager.Infrastructure/Persistence- migrations atuais
InicialCreate,ExpandirDominioBugseCorrigirDefaultsClassificacaoBug - o projeto esta preparado para SQL Server
Quando alterar a documentacao
- ao criar ou remover endpoint
- ao alterar payload ou filtro de API
- ao mudar fluxo de tela
- ao mexer em scripts de execucao ou testes
- ao mudar configuracao de banco, feature flag ou Azure DevOps
- ao alterar a forma de desligar ou remover o modulo de testes
Checklist minimo por entrega
- revisar impacto visual
- revisar impacto na API
- revisar impacto no banco
- revisar impacto em testes
- revisar impacto em documentacao
Arquivos de documentacao obrigatorios
README.mddocs/ARCHITECTURE.mddocs/API.mddocs/TESTING.mddocs/DEPLOY.mddocs/CHANGELOG.mddocs/DECISIONS.md
Execucao local e correcoes
- Antes de aplicar correcoes que exijam recompilar a Web, encerre o processo
dotnetem execucao para o TestManager (evita bloqueio de DLL e falhas MSB3026). No PowerShell: filtrarWin32_Processcomdotnet.exeeCommandLinecontendoTestManager, depoisStop-Process. - Apos a correcao e
dotnet build, execute de novo com./scripts/run-local.ps1(ou-SemRestore -SemBuild -SemCssBuildse ja compilou e nao mudou CSS). - Ao terminar uma entrega que altere codigo, views, estilos ou scripts de execucao da aplicacao, o agente deve sempre subir o TestManager com
./scripts/run-local.ps1(em segundo plano quando fizer sentido), para validar que compila e inicia; se ja existir instancia em execucao na mesma porta, encerrar antes ou usar-SemBuildconforme o caso.
Comandos uteis
./scripts/run-local.ps1 -AplicarMigracoes
./scripts/test-all.ps1
dotnet build TestManager.sln --no-restore -m:1
dotnet test TestManager.sln --no-build -m:1
Os scripts run-local.ps1 e test-all.ps1 executam npm run css:build via scripts/build-web-css.ps1 salvo com -SemCssBuild.