Automated release notes generator for Git repositories.
Project description
HelixCommit
HelixCommit turns Git history into polished, publish-ready release notes. It understands Conventional Commits, enriches entries with GitHub pull requests, and can summarize changes with OpenAI-compatible LLMs.
Features
- Automated change log -> Build structured release notes from commits and tags.
- AI summarization -> Optional OpenAI/OpenRouter support with caching to minimize costs.
- AI Commit Generation -> Generate commit messages from staged changes with a free AI model.
- Conventional Commits friendly -> Detects types, scopes, and breaking changes automatically.
- GitHub enrichment -> Resolves pull requests and links commits for richer context.
- Multiple outputs -> Render Markdown, HTML, or plain text.
- Fast + resilient -> Uses GitPython when available with CLI fallback.
Zero-config Quickstart
pip install helixcommit
# Generate release notes with no external services
# - works offline
# - skips GitHub API calls
helixcommit generate --unreleased --no-prs --format markdown > RELEASE_NOTES.md
# Or for a specific tag range
helixcommit generate --since-tag v1.2.0 --until-tag v1.3.0 --format html --out dist/release.html
# Generate a commit message from staged changes (uses free AI model)
helixcommit generate-commit
From source (development)
git clone https://github.com/bjornefisk/helixcommit.git
cd helixcommit
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
# Smoke test
helixcommit --help
pytest -q
Common options
--repo PATH– Point to a different repository (defaults to the current directory).--since / --until– Limit the commit range to specific refs or SHAs.--no-prs– Skip GitHub API lookups.--no-include-scopes– Hide commit scopes in output.
Optional environment variables
OPENAI_API_KEY– Required only when using--use-llmwith the OpenAI provider.OPENROUTER_API_KEY– Required only when using--use-llm --llm-provider openrouter.GITHUB_TOKEN– Optional; improves GitHub API rate limits when fetching PR data. Not required when using--no-prs.
Development
git clone https://github.com/bjornefisk/gitreleasegen.git
cd gitreleasegen
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
# Lint and format
ruff check .
ruff format .
# Run tests with coverage
pytest --cov=gitreleasegen
Contributing
Contributions are welcome! Please open an issue to discuss major changes first. Make sure pre-commit hooks pass before submitting a pull request.
License
Distributed under the MIT License. See LICENSE for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file helixcommit-0.1.0.tar.gz.
File metadata
- Download URL: helixcommit-0.1.0.tar.gz
- Upload date:
- Size: 39.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c117a2b66a2d1289d9e181259117c71f37978c96083c671f585ef9509d373b4
|
|
| MD5 |
5931e12ea8d00bda93b4332a4d79b010
|
|
| BLAKE2b-256 |
5b4581c5a1d54b119bd93230656a807a903e0fa1cbea52f7f7f09916e4f95d69
|
File details
Details for the file helixcommit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: helixcommit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 37.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
209b88afdb8e8a434b4dbfd10c8c1a3b222b3306065b6b366d224aa1da6f9166
|
|
| MD5 |
2140308288cadde0121469ff080bbca9
|
|
| BLAKE2b-256 |
5fcbba2f6aaa601cb89983cc231b263b3be739621c85c2ba83bb40d5e8527f3e
|