Este projeto fornece uma extensão para Azure DevOps que automatiza a validação de Pull Requests utilizando inteligência artificial (OpenAI/Azure OpenAI), com o objetivo de melhorar a qualidade do código e eliminar más práticas. A extensão identifica problemas comuns, aplica boas práticas e ajuda a manter um alto padrão de código durante todo o ciclo de desenvolvimento.
A extensão executa uma análise completa do código alterado em um pull request, identifica potenciais problemas e fornece sugestões de melhoria diretamente nos comentários do pull request. Utilizando modelos avançados de IA, a extensão consegue identificar uma ampla variedade de problemas de código, incluindo:
- Bugs potenciais e lógica incorreta
- Vulnerabilidades de segurança
- Problemas de performance
- Code smells e dívida técnica
- Desvios de padrões e boas práticas
src/
validador-pr-task/ # Extensão do Azure DevOps
buildandreleasetask/ # Task para pipeline
adapters/ # Implementações de interfaces
config/ # Configuração da aplicação
controllers/ # Controladores
entities/ # Entidades de negócio
interfaces/ # Contratos da aplicação
usecases/ # Casos de uso da aplicação
images/ # Recursos visuais
vss-extension.json # Definição da extensão
- TaskController: Coordena o fluxo geral da task
- AnalyzeCodeUseCase: Gerencia a lógica de análise de código
- ReportPullRequestIssuesUseCase: Gerencia a criação de comentários no PR
- OpenAICodeAnalyzer: Conecta-se à API OpenAI/Azure OpenAI para análise
- AzureDevOpsRepository: Interage com as APIs do Azure DevOps
Consulte o arquivo README da extensão para instruções detalhadas sobre instalação, configuração e uso.
Consulte o arquivo como-testar-a-extensao.md para instruções sobre como testar a extensão localmente e no Azure DevOps.
Contribuições são bem-vindas! Por favor, siga estas etapas para contribuir:
- Faça um fork do repositório
- Crie um branch para sua feature (
git checkout -b feature/sua-feature
) - Faça commit de suas mudanças (
git commit -am 'Adiciona nova funcionalidade'
) - Faça push para o branch (
git push origin feature/sua-feature
) - Crie um Pull Request
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.