Recipes
Notes for the next release
npx gitscribe # since the latest tag
npx gitscribe v1.0.0..HEAD --version v1.1.0
Prepend to CHANGELOG.md
{ npx gitscribe v1.0.0..HEAD --version v1.1.0; echo; cat CHANGELOG.md; } > CHANGELOG.new && mv CHANGELOG.new CHANGELOG.md
GitHub release notes in CI (template mode, no LLM)
# on: release: { types: [created] }
- run: npx gitscribe "${{ github.event.release.tag_name }}~1..${{ github.event.release.tag_name }}" \
--version "${{ github.event.release.tag_name }}" > NOTES.md
- run: gh release edit "${{ github.event.release.tag_name }}" --notes-file NOTES.md
env: { GH_TOKEN: "${{ github.token }}" }
Polish locally with Ollama
ollama pull llama3.2
npx gitscribe v1.0.0..HEAD --model llama3.2 > CHANGELOG-next.md
Programmatic use
import { collectCommits, generateReleaseNotes, OllamaClient } from 'gitscribe';
const commits = collectCommits('v1.0.0..HEAD');
const notes = await generateReleaseNotes(commits, { version: 'v1.1.0', llm: new OllamaClient('llama3.2') });