Contribuindo
Setup
git clone https://git.rarolabs.com.br/devops/raro-reviewer.git
cd raro-reviewer
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
Branches
main— código estável, pronto para deployfeature/<nome>— novas funcionalidadesfix/<nome>— correções de bug
Fluxo de trabalho
- Crie uma branch a partir de
main - Implemente com testes
- Roda
pytest -ve verifique que tudo passa - Abra um MR para revisão
Convenções de commit
feat: add NVIDIA NIM LLM client
fix: handle empty diff in parser
docs: update deployment guide
test: add tests for position mapper
refactor: extract prompt building to helper
Estrutura de pastas
Ao adicionar novo código, siga a arquitetura Ports & Adapters:
| Tipo | Local | Regra |
|---|---|---|
| Lógica de negócio | src/core/ | Sem imports de frameworks |
| Interfaces | src/ports/ | Apenas Protocol classes |
| Implementações | src/adapters/ | Uma pasta por serviço |
| Rotas HTTP | src/webhook/ | FastAPI routers |
| Testes | tests/unit/ ou tests/integration/ | Um arquivo por módulo |
Code Review
Antes de subir seu MR, verifique:
- Todos os testes passam (
pytest -v) - Não há imports circulares
- Core não importa frameworks
- Testes cobrem os cenários principais
- Commit messages seguem Conventional Commits