| name | github-diff-changelog-publisher |
| version | 1.0.0 |
| description | Gera e publica CHANGELOG.md a partir de git log entre dois refs (tags, branches, commits). Use quando precisar de notas de release estruturadas antes de publicar uma release no GitHub. Nao use para publicar a release em si — use github-release-publication-flow para isso. |
GitHub Diff Changelog Publisher
Procedimentos
Etapa 1: Identificar o intervalo de diff
- Confirmar que o contrato de carga base definido em
AGENTS.md foi cumprido.
- Determinar o ref de inicio (tag anterior ou commit base) e o ref de fim (HEAD ou nova tag).
- Executar
git log <base>..<head> --oneline --no-merges para listar commits.
- Filtrar commits por prefixo Conventional Commits (
feat, fix, perf, breaking).
Etapa 2: Categorizar e formatar
- Agrupar commits por categoria:
### Added (feat), ### Fixed (fix), ### Changed (perf, refactor), ### Breaking Changes.
- Remover commits de chore, ci, docs de baixo impacto que nao afetam usuarios.
- Incluir referencias a PRs e issues quando disponíveis (
(#123)).
- Formatar em Markdown seguindo Keep a Changelog.
Etapa 3: Atualizar CHANGELOG.md
- Inserir a nova versao no topo do arquivo, mantendo versoes anteriores.
- Formato de header:
## [x.y.z] - YYYY-MM-DD.
- Confirmar com o usuario antes de sobrescrever.
Etapa 4: Registrar resultado
- Mostrar o bloco de changelog gerado.
- Sugerir proximo passo: criar tag Git ou usar
github-release-publication-flow.
Tratamento de Erros
- Se nao houver commits no intervalo, reportar e encerrar sem modificar CHANGELOG.md.
- Se o historico de commits nao seguir Conventional Commits, categorizar como
### Changed e alertar.
- Nao inferir numeros de versao automaticamente sem confirmacao do usuario.