CLI Command Reference
Complete reference for all Git-Iris commands and flags.
Global Flags
Available on all commands:
| Flag | Short | Description |
|---|---|---|
--log | -l | Log debug messages to file |
--log-file <PATH> | Custom log file path (default: git-iris-debug.log) | |
--quiet | -q | Suppress non-essential output |
--version | -v | Display version information |
--repo <URL> | -r | Use remote repository instead of local |
--debug | Enable debug mode with color-coded agent execution | |
--theme <NAME> | Override theme for this session | |
--help | -h | Show help information |
Commands
gen - Generate Commit Messages
git-iris gen [OPTIONS]Generate AI-powered commit messages for staged changes.
Options:
| Flag | Short | Description |
|---|---|---|
--auto-commit | -a | Automatically commit with generated message |
--no-gitmoji | Disable gitmoji for this commit | |
--print | -p | Print message to stdout and exit |
--no-verify | Skip pre/post commit hooks | |
--provider <NAME> | Override default provider | |
--instructions <TEXT> | -i | Custom instructions |
--preset <NAME> | Instruction preset name | |
--gitmoji | Enable gitmoji for this invocation |
Examples:
# Interactive mode (launches Studio)
git-iris gen
# Print only
git-iris gen --print
# Auto-commit
git-iris gen --auto-commit
# Use specific provider
git-iris gen --provider google --print
# Custom instructions
git-iris gen -i "Focus on security implications" --printstudio - Launch Iris Studio
git-iris studio [OPTIONS]Launch unified TUI for all operations.
Options:
| Flag | Description |
|---|---|
--mode <MODE> | Initial mode: explore, commit, review, pr, changelog, release-notes |
--from <REF> | Starting ref for comparison |
--to <REF> | Ending ref for comparison |
Examples:
# Auto-detect mode
git-iris studio
# Start in commit mode
git-iris studio --mode commit
# Start in PR mode with refs
git-iris studio --mode pr --from main --to feature-branch
# Start in release notes mode
git-iris studio --mode release-notesreview - Code Review
git-iris review [OPTIONS]Generate multi-dimensional code reviews with AI.
Options:
| Flag | Short | Description |
|---|---|---|
--print | -p | Print review to stdout |
--raw | Output raw markdown without formatting | |
--include-unstaged | Include unstaged changes | |
--commit <HASH> | Review specific commit | |
--from <REF> | Starting branch for comparison | |
--to <REF> | Target branch for comparison (alone, compares from main) |
Examples:
# Review staged changes
git-iris review
# Review specific commit
git-iris review --commit abc1234
# Review branch comparison
git-iris review --from main --to feature-branch
# Review everything from main to a target ref
git-iris review --to feature-branch
# Include unstaged changes
git-iris review --include-unstaged --printpr - Pull Request Descriptions
git-iris pr [OPTIONS]Generate pull request descriptions.
Options:
| Flag | Short | Description |
|---|---|---|
--print | -p | Print to stdout |
--raw | Output raw markdown | |
--copy | -c | Copy raw markdown to clipboard |
--from <REF> | Starting ref (default: main) | |
--to <REF> | Target ref (default: HEAD) |
Examples:
# PR from main to current branch
git-iris pr
# PR from specific branch
git-iris pr --from develop --to feature-branch
# Single commit PR
git-iris pr --from abc1234
# Copy markdown to clipboard
git-iris pr --copy
# Print only
git-iris pr --printchangelog - Generate Changelog
git-iris changelog --from <REF> [OPTIONS]Generate changelog between Git references.
Options:
| Flag | Required | Description |
|---|---|---|
--from <REF> | Yes | Starting Git reference |
--to <REF> | No | Ending reference (default: HEAD) |
--raw | No | Output raw markdown |
--update | No | Update CHANGELOG.md file |
--file <PATH> | No | Changelog file path (default: CHANGELOG.md) |
--version-name <NAME> | No | Explicit version name |
Examples:
# Changelog from tag to HEAD
git-iris changelog --from v1.0.0
# Changelog between tags
git-iris changelog --from v1.0.0 --to v2.0.0
# Update CHANGELOG.md
git-iris changelog --from v1.0.0 --update
# Custom version name
git-iris changelog --from v1.0.0 --version-name "v2.0.0"release-notes - Generate Release Notes
git-iris release-notes --from <REF> [OPTIONS]Generate detailed release notes.
Options:
| Flag | Required | Description |
|---|---|---|
--from <REF> | Yes | Starting Git reference |
--to <REF> | No | Ending reference (default: HEAD) |
--raw | No | Output raw markdown |
--update | No | Update the release notes file |
--file <PATH> | No | Release notes file path |
--version-name <NAME> | No | Explicit version name |
Examples:
# Release notes from tag
git-iris release-notes --from v1.0.0
# Between tags
git-iris release-notes --from v1.0.0 --to v2.0.0
# Update RELEASE_NOTES.md
git-iris release-notes --from v1.0.0 --update
# Custom version
git-iris release-notes --from v1.0.0 --version-name "2.0.0-beta"config - Configuration Management
git-iris config [OPTIONS]Configure global Git-Iris settings.
Options:
| Flag | Description |
|---|---|
--instructions <TEXT> | Set default instructions |
--preset <NAME> | Set default preset |
--gitmoji | Enable gitmoji |
--no-gitmoji | Disable gitmoji |
--provider <NAME> | Set default provider |
--api-key <KEY> | Set API key |
--model <NAME> | Set primary model |
--fast-model <NAME> | Set fast model |
--token-limit <NUM> | Set token limit |
--param <KEY=VALUE> | Set additional parameters |
--subagent-timeout <SECONDS> | Set parallel subagent timeout |
Examples:
# Set provider and API key
git-iris config --provider openai --api-key sk-...
# Configure models
git-iris config --provider anthropic \
--model claude-opus-4-6 \
--fast-model claude-haiku-4-5-20251001
# Set token limit
git-iris config --provider openai --token-limit 8000
# Additional parameters
git-iris config --provider openai \
--param reasoning='{"effort":"medium"}' \
--param text='{"verbosity":"low"}'project-config - Project Configuration
git-iris project-config [OPTIONS]Manage project-specific .irisconfig file.
Options:
| Flag | Short | Description |
|---|---|---|
--provider <NAME> | Set project provider | |
--instructions <TEXT> | Set project instructions | |
--preset <NAME> | Set project preset | |
--gitmoji | Enable gitmoji | |
--no-gitmoji | Disable gitmoji | |
--model <NAME> | Set project model | |
--fast-model <NAME> | Set project fast model | |
--token-limit <NUM> | Set project token limit | |
--param <KEY=VALUE> | Set project parameters | |
--subagent-timeout <SECONDS> | Set parallel subagent timeout | |
--print | -p | Print current project config |
Examples:
# Create project config
git-iris project-config --provider google
# Set project model
git-iris project-config --model gemini-3-pro-preview
# View project config
git-iris project-config --printlist-presets - List Instruction Presets
git-iris list-presetsDisplay all available instruction presets.
No options.
themes - List Themes
git-iris themesDisplay all available themes.
No options.
completions - Generate Shell Completions
git-iris completions <SHELL>Generate shell completion scripts.
Arguments:
| Argument | Description |
|---|---|
bash | Generate Bash completions |
zsh | Generate Zsh completions |
fish | Generate Fish completions |
elvish | Generate Elvish completions |
powershell | Generate PowerShell completions |
Examples:
git-iris completions zsh >> ~/.zshrc
git-iris completions fish > ~/.config/fish/completions/git-iris.fishhook - Manage Git Hooks
git-iris hook <install|uninstall> [OPTIONS]Install or uninstall the prepare-commit-msg hook.
Subcommands:
| Subcommand | Description |
|---|---|
install | Install the prepare-commit-msg hook |
uninstall | Remove the prepare-commit-msg hook |
Options for install:
| Flag | Description |
|---|---|
--force | Overwrite an existing non-git-iris hook |
Examples:
git-iris hook install
git-iris hook install --force
git-iris hook uninstallCommon Workflows
First-Time Setup
# Install
brew install hyperb1iss/tap/git-iris
# Configure
git-iris config --provider openai --api-key YOUR_OPENAI_API_KEY
git-iris config --provider anthropic --api-key YOUR_ANTHROPIC_API_KEY
git-iris config --provider google --api-key YOUR_GOOGLE_API_KEYDaily Usage
# Stage changes
git add .
# Generate commit (interactive)
git-iris gen
# Or auto-commit
git-iris gen --auto-commitCode Review Workflow
# Review staged changes
git add .
git-iris review
# Or review a PR branch
git-iris review --from main --to feature-branch --printRelease Workflow
# Generate changelog
git-iris changelog --from v1.0.0 --update
# Generate release notes
git-iris release-notes --from v1.0.0 > RELEASE_NOTES.md
# Create PR description
git-iris pr --from main > pr_description.mdDebug and Troubleshooting
Enable Debug Logging
# Basic logging
git-iris gen --log
# Custom log file
git-iris gen --log --log-file my-debug.log
# Color-coded agent debug
git-iris gen --debugTest Configuration
# Test with print (no commit)
git-iris gen --print
# Test specific provider
git-iris gen --provider openai --print
# Verify API key works
git-iris review --printRemote Repository Testing
# Test against remote repo
git-iris gen --repo https://github.com/user/repo --printExit Codes
| Code | Meaning |
|---|---|
0 | Success |
1 | General error |
2 | Configuration error |
3 | Git error (not in repo, no staged changes) |
4 | API error (authentication, rate limit) |
Environment Variables
See Environment Variables for details.
| Variable | Purpose |
|---|---|
OPENAI_API_KEY | OpenAI authentication |
ANTHROPIC_API_KEY | Anthropic authentication |
GOOGLE_API_KEY | Google authentication |
RUST_LOG | Logging and debug output |
Shell Aliases
Recommended aliases for common operations:
# ~/.bashrc or ~/.zshrc
# Quick commit
alias gic='git-iris gen --auto-commit'
# Print commit message
alias gim='git-iris gen --print'
# Code review
alias gir='git-iris review --print'
# Launch studio
alias gis='git-iris studio'