Skip to main content

Quick reference


Commands

generate

Generate release notes from Git commit history.

generate-commit

Generate a commit message from staged changes using AI.
This command analyzes your staged changes (git diff --staged), generates a commit message using an AI model, and enters an interactive loop where you can review, refine, or commit the message.
Interactive commands:
  • c (commit): Commits the changes with the generated message
  • r (reply): Chat with the AI to refine the message
  • q (quit): Abort the operation
Options:
string
default:"openrouter"
The AI provider to use (openai or openrouter).
string
default:"meta-llama/llama-3.1-8b-instruct:free"
The OpenRouter model ID. Defaults to a free model.
string
default:"gpt-4o-mini"
The OpenAI model ID.
boolean
default:"false"
Skip the confirmation prompt (not recommended for interactive use).
boolean
default:"true"
Show or hide the staged diff preview before generating.

preview

Preview changelog in a beautifully formatted terminal panel.
Shows a live preview of what your changelog will look like without generating any files. Displays commits in a styled table and a formatted changelog panel. Options:
string
Preview commits after this tag.
string
Preview commits up to this tag.
boolean
default:"false"
Show HEAD vs latest tag.
integer
Limit the number of commits to preview.
boolean
default:"false"
Exclude merge commits from the preview.

browse

Browse commits interactively with detailed views.
Navigate through commits with keyboard controls, view details, and explore your commit history in a rich terminal interface.
Navigation commands:
  • n (next): Go to next commit
  • p (prev): Go to previous commit
  • d (diff): Show diff for current commit
  • q (quit): Exit browser
Options:
string
Browse commits after this tag.
string
Browse commits up to this tag.
boolean
default:"false"
Show HEAD vs latest tag.
integer
default:"50"
Maximum commits to load.
boolean
default:"false"
Exclude merge commits.
boolean
default:"false"
Show commit bodies in the detail view.
Search commits by keyword, author, or type.
Quickly find commits matching your search criteria with highlighted results and detailed information. Arguments:
string
required
Search query (searches subject, author, body). Supports regex patterns.
Options:
string
Filter by author name or email (regex pattern).
string
Filter by commit type (feat, fix, docs, etc.).
string
Search commits after this tag.
string
Search commits up to this tag.
integer
default:"50"
Maximum results to show.
boolean
default:"false"
Enable case-sensitive search.

Global Options

string
Color theme for terminal output.Options: dark, light, auto
Use auto to automatically detect your terminal’s color scheme.

Repository & Range Options

path
default:"current directory"
Path to the Git repository to analyze.
string
Start generating notes from commits after this tag.
Use with --until-tag to generate notes for a specific version range.
string
Generate notes up to and including this tag.
string
Start from this Git ref, commit SHA, or date expression.
string
default:"HEAD"
Generate notes up to this Git ref or commit SHA.
boolean
default:"false"
Generate notes for commits between the latest tag and HEAD.
This is equivalent to using --since-tag <latest-tag> --until HEAD
string
Filter commits to only include those after this date. Supports ISO 8601 dates and relative expressions.
Supported formats:
  • ISO 8601: 2024-01-15, 2024-01-15T10:30:00
  • Relative: 2 weeks ago, 3 days ago, 1 month ago
  • Keywords: yesterday, today
Date filtering can be combined with ref-based filtering (--since, --until) for precise control over which commits to include.
string
Filter commits to only include those before this date. Supports the same date formats as --since-date.
When using both --since-date and --until-date, commits within the specified date range (exclusive of since, inclusive of until) are included.

Output Options

string
default:"markdown"
Output format for the generated release notes.Options: markdown, html, text, json, yaml
path
Write output to the specified file instead of stdout.
The directory will be created automatically if it doesn’t exist.

Filtering Options

boolean
default:"true"
Show or hide commit scopes in the output.
With scopes:
Without scopes:
boolean
default:"false"
Skip GitHub API lookups for pull request information.
Use this flag when working offline or to speed up generation when PR metadata isn’t needed.
boolean
default:"false"
Exclude merge commits from the generated release notes.
Merge commits often duplicate information from their constituent commits, so excluding them can make release notes cleaner.
integer
Limit the number of commits to process.
Useful for testing or when you only want recent changes.
boolean
default:"false"
Exit with status code 1 when no commits are found.
Useful in CI/CD pipelines to detect when there are no changes to release.

Advanced Filtering

string[]
Only include commits of the specified types. Accepts space-separated values.
Supported types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert
For non-conventional commits, the type is inferred using heuristics based on commit message content.
string[]
Exclude commits with the specified scopes. Accepts space-separated values.
Commits without a scope are never excluded by this filter.
string
Filter commits by author name or email using a regex pattern.
The regex is matched case-insensitively against both the author name and email.

AI & LLM Options

boolean
default:"false"
Enable AI-powered summarization for release notes.
Requires OPENAI_API_KEY or OPENROUTER_API_KEY environment variable depending on the provider.
string
default:"openai"
AI provider to use for summarization.Options: openai, openrouter
string
default:"gpt-4o-mini"
OpenAI model to use for summarization.
string
OpenAI API key (can also be set via OPENAI_API_KEY environment variable).
Using the environment variable is more secure than passing the key as a command-line argument.
string
default:"meta-llama/llama-3.1-8b-instruct:free"
OpenRouter model to use for summarization.
The default OpenRouter model is x-ai/grok-4.1-fast:free. See openrouter.ai/docs for the latest available models.
string
OpenRouter API key (can also be set via OPENROUTER_API_KEY environment variable).
string
Domain scope for the AI system prompt to constrain tone and terminology.
Examples: "software release notes", "conservation", "healthcare", "finance"
string
Add expert roles for multi-expert prompting (can be specified multiple times).
Default roles: Product Manager, Tech Lead, QA Engineer
string
default:"simple"
RAG (Retrieval Augmented Generation) backend to use.Options: simple, chroma
The chroma backend requires installing ChromaDB: pip install chromadb
path
Path to cache file for AI-generated summaries.
Default: .helixcommit-cache/summaries.json
Caching reduces API costs by reusing previously generated summaries for unchanged commits.

Git Platform Options

GitHub

string
GitHub personal access token for API requests.
Set the GITHUB_TOKEN environment variable instead of passing it as an argument for better security.
Required permissions:
  • Public repositories: No special permissions needed
  • Private repositories: repo scope
Create a token at github.com/settings/tokens

GitLab

string
GitLab personal access token for API requests.
Set the GITLAB_TOKEN environment variable instead of passing it as an argument for better security.
Required permissions:
  • read_api scope for API access
  • read_repository scope for private projects
Create a token at gitlab.com/-/user_settings/personal_access_tokens

Bitbucket

string
Bitbucket App Password for API requests.
Set the BITBUCKET_TOKEN environment variable instead of passing it as an argument for better security.
Required permissions:
  • Repositories: Read
  • Pull requests: Read
Create an App Password at bitbucket.org/account/settings/app-passwords

Environment Variables

string
GitHub personal access token for API authentication.
Improves rate limits and enables access to private repositories.
string
OpenAI API key for AI summarization.
Required when using --use-llm with the OpenAI provider.
string
OpenRouter API key for AI summarization.
Required when using --use-llm --llm-provider openrouter.
string
GitLab personal access token for API authentication.
Enables access to private GitLab projects and improves rate limits.
string
Bitbucket App Password for API authentication.
Enables access to private Bitbucket repositories and improves rate limits.

GitHub Client Configuration


Common Usage Patterns


Exit Codes


Getting help

Display help information for the CLI:

Next steps

Configuration guide

Learn about configuration options and customization

AI features

Explore AI-powered summarization capabilities

Examples

See real-world usage examples and patterns

Python API

Use HelixCommit programmatically in Python