Ferramenta local em Python para gerar descricoes de Pull Requests e Release Notes a partir de um repositorio Git, usando LLM local (Ollama) para sumarizacao inteligente.
- Python 3.10+
- Docker (para o Ollama)
- Git instalado e acessivel no PATH
1. Instalar a ferramenta
Abra o PowerShell como administrador e execute:
pip install .2. Subir o Ollama
docker compose up -d3. Executar
pullnotes /caminho/para/repo --config config.default.json --generate bothPara um intervalo especifico de commits:
pullnotes /caminho/para/repo --config config.default.json --range v1.0..v1.1 --generate bothAbra o PowerShell como administrador e execute:
pip install -e .Os arquivos sao gerados em {output_dir}/{nome_repo}/:
{output_dir}/{repo}/
├── prs/
│ └── pr_{titulo}.md
├── releases/
│ └── release_{versao}.md
└── utils/
├── commit.json
├── conventions.md
└── domain_profile_{repo}.json
Use config.default.json como base e passe com --config:
pullnotes . --config config.default.json --range main..HEADO codigo esta organizado em camadas sob src/pullnotes/:
cli.py: parsing da CLIconfig.py: carga e validacao de configuracoesdomain/: entidades, servicos e schemasadapters/: git, filesystem, llm e perfil de dominioworkflows/: orquestracao principal (sync.py)prompts/: templates de prompt para o LLMtemplates/: templates markdown de saida (pr.md, release.md)
O Docker e usado apenas para subir o Ollama:
docker compose up -dSe preferir rodar o Ollama diretamente na maquina, sem Docker:
1. Instalar o Ollama
Baixe e instale em ollama.com/download.
2. Baixar o modelo
ollama pull qwen3.5:9bO modelo padrao usado pelo PullNotes e o
qwen3.5:9b. O download pode levar alguns minutos dependendo da sua conexao (~4 GB).
3. Iniciar o servidor Ollama
ollama serveO servidor ficara disponivel em http://localhost:11434.
4. Executar o PullNotes normalmente
pullnotes /caminho/para/repo --config config.default.json --generate bothDocumentacao completa em docs/.