Skip to main content

Automated release notes generator for Git repositories.

Project description

HelixCommit

CI Python Version License: MIT Code style: Ruff

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.2.1 --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-llm with 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.

Community & Support

Join the HelixCommit community on Discord: https://discord.gg/UewHHrxNRE

  • Welcome: #rules, #announcements (release notes), #roadmap
  • Community: #general, #showcase, #introductions
  • Support: #help-installation, #help-usage, #help-errors, #faq (read-only)
  • Development: #dev-general, #issues, #pull-requests, #architecture, #ai-summarization
  • Testing: #alpha-builds, #bug-reports, #perf-testing
  • Documentation: #docs-feedback, #examples, #tutorials

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

helixcommit-1.2.4.tar.gz (93.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

helixcommit-1.2.4-py3-none-any.whl (84.1 kB view details)

Uploaded Python 3

File details

Details for the file helixcommit-1.2.4.tar.gz.

File metadata

  • Download URL: helixcommit-1.2.4.tar.gz
  • Upload date:
  • Size: 93.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for helixcommit-1.2.4.tar.gz
Algorithm Hash digest
SHA256 27a6f10032ac59b6d4a705a442dbdc3e414cf1f9e39232c81149d923a7cd52e9
MD5 274212365e111f1f669a3053c6c0618d
BLAKE2b-256 75c3052b14438f2615ef66e191742552aa7a83eeff5d4d9190f1f3b8d07a4dd0

See more details on using hashes here.

File details

Details for the file helixcommit-1.2.4-py3-none-any.whl.

File metadata

  • Download URL: helixcommit-1.2.4-py3-none-any.whl
  • Upload date:
  • Size: 84.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for helixcommit-1.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 42d83ff2fa028c05f41f8a06de29c278c98c0a6aea2eda870c371c2fe46d696f
MD5 8aa4c74792472bbe0bd1f19ac516364a
BLAKE2b-256 cd2809969878577c727b6357177c3c0bb01a55280c99e2068244d8f3298a6f27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page