git-iris 1.1.0

AI-powered Git workflow assistant for smart commits, code reviews, changelogs, and release notes
Documentation
.TH GIT-IRIS 1 "August 2024" "git-iris 0.1.0" "User Commands"
.SH NAME
git-iris \- AI-powered Git workflow assistant
.SH SYNOPSIS
.B git-iris
[\fIGLOBAL OPTIONS\fR]
\fICOMMAND \fR[\fICOMMAND OPTIONS\fR]
.SH DESCRIPTION
.B git-iris
is a comprehensive AI-powered Git workflow assistant that enhances your development process. It offers intelligent support for crafting meaningful commit messages, generating changelogs, creating release notes, and providing code reviews. By leveraging advanced AI models, Git-Iris boosts your productivity and improves the quality of your project documentation.
.SH GLOBAL OPTIONS
.TP
.BR \-l ", " \-\-log
Log debug messages to a file
.TP
.BR \-\-log-file
Specify a custom log file path
.TP
.BR \-q ", " \-\-quiet
Suppress non-essential output (spinners, waiting messages, etc.)
.TP
.BR \-v ", " \-\-version
Display the version
.TP
.BR \-r ", " \-\-repo
Repository URL to use instead of local repository
.SH COMMANDS
.TP
.B gen
Generate a commit message using AI
.TP
.B review
Review staged changes and provide feedback
.TP
.B changelog
Generate a changelog between two Git references
.TP
.B release-notes
Generate comprehensive release notes
.TP
.B config
Configure the AI-assisted Git workflow assistant
.TP
.B project-config
Create or update a project-specific configuration file
.TP
.B list-presets
List available instruction presets
.TP
.B serve
Start an MCP server to provide Git-Iris functionality to AI tools
.SH "GEN COMMAND OPTIONS"
.TP
.BR \-a ", " \-\-auto-commit
Automatically commit with the generated message
.TP
.BR \-i ", " \-\-instructions =\fIINSTR\fR
Custom instructions for this commit
.TP
.BR \-\-provider =\fIPROVIDER\fR
Override default LLM provider
.TP
.BR \-\-preset =\fIPRESET\fR
Use a specific instruction preset
.TP
.BR \-\-no-gitmoji
Disable Gitmoji for this commit
.TP
.BR \-p ", " \-\-print
Print the generated message to stdout and exit
.TP
.BR \-\-no-verify
Skip verification steps (pre/post commit hooks)
.SH "REVIEW COMMAND OPTIONS"
.TP
.BR \-i ", " \-\-instructions =\fIINSTR\fR
Custom instructions for this review
.TP
.BR \-\-provider =\fIPROVIDER\fR
Override default LLM provider
.TP
.BR \-\-preset =\fIPRESET\fR
Use a specific instruction preset
.TP
.BR \-p ", " \-\-print
Print the generated review to stdout and exit
.TP
.BR \-\-include-unstaged
Include unstaged changes in the review
.TP
.BR \-\-commit =\fICOMMIT_ID\fR
Review a specific commit by ID (hash, branch, or reference)
.SH "CHANGELOG COMMAND OPTIONS"
.TP
.BR \-\-from =\fIREF\fR
Starting Git reference (commit hash, tag, or branch name)
.TP
.BR \-\-to =\fIREF\fR
Ending Git reference (defaults to HEAD if not specified)
.TP
.BR \-i ", " \-\-instructions =\fIINSTR\fR
Custom instructions for changelog generation
.TP
.BR \-\-preset =\fIPRESET\fR
Select an instruction preset for changelog generation
.TP
.BR \-\-detail-level =\fILEVEL\fR
Set the detail level (minimal, standard, detailed)
.TP
.BR \-\-gitmoji =\fIBOOL\fR
Enable or disable Gitmoji in the changelog
.TP
.BR \-\-update
Update the changelog file with the new changes
.TP
.BR \-\-file =\fIFILE\fR
Path to the changelog file (defaults to CHANGELOG.md)
.TP
.BR \-\-version-name =\fIVERSION\fR
Explicit version name to use in the changelog instead of getting it from Git
.SH "RELEASE-NOTES COMMAND OPTIONS"
.TP
.BR \-\-from =\fIREF\fR
Starting Git reference (commit hash, tag, or branch name)
.TP
.BR \-\-to =\fIREF\fR
Ending Git reference (defaults to HEAD if not specified)
.TP
.BR \-i ", " \-\-instructions =\fIINSTR\fR
Custom instructions for release notes generation
.TP
.BR \-\-preset =\fIPRESET\fR
Select an instruction preset for release notes generation
.TP
.BR \-\-detail-level =\fILEVEL\fR
Set the detail level (minimal, standard, detailed)
.TP
.BR \-\-gitmoji =\fIBOOL\fR
Enable or disable Gitmoji in the release notes
.TP
.BR \-\-version-name =\fIVERSION\fR
Explicit version name to use in the release notes instead of getting it from Git
.SH "CONFIG COMMAND OPTIONS"
.TP
.BR \-\-provider =\fIPROVIDER\fR
Set default LLM provider
.TP
.BR \-\-api-key =\fIKEY\fR
Set API key for the specified provider
.TP
.BR \-\-model =\fIMODEL\fR
Set model for the specified provider
.TP
.BR \-\-token-limit =\fILIMIT\fR
Set token limit for the specified provider
.TP
.BR \-\-param =\fIKEY\fR=\fIVALUE\fR
Set additional parameters for the specified provider
.TP
.BR \-\-gitmoji =\fIBOOL\fR
Enable or disable Gitmoji
.TP
.BR \-i ", " \-\-instructions =\fIINSTR\fR
Set instructions for the commit message generation
.TP
.BR \-\-preset =\fIPRESET\fR
Set default instruction preset
.SH "PROJECT-CONFIG COMMAND OPTIONS"
.TP
.BR \-\-provider =\fIPROVIDER\fR
Set default LLM provider for this project
.TP
.BR \-\-model =\fIMODEL\fR
Set model for the specified provider
.TP
.BR \-\-token-limit =\fILIMIT\fR
Set token limit for the specified provider
.TP
.BR \-\-param =\fIKEY\fR=\fIVALUE\fR
Set additional parameters for the specified provider
.TP
.BR \-p ", " \-\-print
Print the current project configuration
.TP
.BR \-\-gitmoji =\fIBOOL\fR
Enable or disable Gitmoji for this project
.TP
.BR \-i ", " \-\-instructions =\fIINSTR\fR
Set instructions for message generation and reviews
.TP
.BR \-\-preset =\fIPRESET\fR
Set default instruction preset for this project
.SH "SERVE COMMAND OPTIONS"
.TP
.BR \-\-dev
Enable development mode with more verbose logging
.TP
.BR \-t ", " \-\-transport =\fITYPE\fR
Transport type to use (stdio, sse)
.TP
.BR \-p ", " \-\-port =\fIPORT\fR
Port to use for network transports
.TP
.BR \-\-listen-address =\fIADDRESS\fR
Listen address for network transports (e.g., '127.0.0.1', '0.0.0.0')
.SH "SUPPORTED LLM PROVIDERS"
Git-Iris supports multiple LLM providers:
.TP
.B anthropic
Claude AI models by Anthropic (API key required)
.TP
.B deepseek
DeepSeek AI models (API key required)
.TP
.B google
Gemini AI models by Google (API key required)
.TP
.B groq
Models hosted on Groq (API key required)
.TP
.B ollama
Local models via Ollama (no API key required)
.TP
.B openai
GPT models by OpenAI (API key required)
.TP
.B phind
Phind AI models (API key required)
.TP
.B xai
Grok models by xAI (API key required)
.SH EXAMPLES
Generate a commit message:
.PP
.nf
.RS
git-iris gen
.RE
.fi
.PP
Generate a commit message with custom instructions:
.PP
.nf
.RS
git-iris gen -i "Focus on performance improvements"
.RE
.fi
.PP
Generate a commit message using a specific preset:
.PP
.nf
.RS
git-iris gen --preset conventional
.RE
.fi
.PP
Get an AI code review:
.PP
.nf
.RS
git-iris review
.RE
.fi
.PP
Generate a changelog between two versions:
.PP
.nf
.RS
git-iris changelog --from v1.0.0 --to v1.1.0
.RE
.fi
.PP
Generate release notes:
.PP
.nf
.RS
git-iris release-notes --from v1.0.0 --to v1.1.0 --preset conventional
.RE
.fi
.PP
Configure the OpenAI provider:
.PP
.nf
.RS
git-iris config --provider openai --api-key YOUR_API_KEY
.RE
.fi
.PP
Create or update project-specific configuration:
.PP
.nf
.RS
git-iris project-config --provider anthropic --preset security
.RE
.fi
.PP
Start an MCP server for AI tool integration:
.PP
.nf
.RS
git-iris serve --transport sse --port 3077
.RE
.fi
.PP
Set a default preset:
.PP
.nf
.RS
git-iris config --preset conventional
.RE
.fi
.PP
List all available presets:
.PP
.nf
.RS
git-iris list-presets
.RE
.fi
.SH FILES
.TP
.I ~/.config/git-iris/config.toml
Global configuration file for Git-Iris
.TP
.I .irisconfig
Project-specific configuration file (stored in repository root)
.SH ENVIRONMENT
.TP
.B EDITOR
The editor to use when editing commit messages. If not set, defaults to vim.
.SH BUGS
Report bugs to: https://github.com/hyperb1iss/git-iris/issues
.SH AUTHOR
Written by Stefanie Jane and the Git-Iris contributors.
.SH COPYRIGHT
Copyright © 2024 Git-Iris Contributors. License Apache-2.0: Apache License, Version 2.0 <https://www.apache.org/licenses/LICENSE-2.0>
.SH SEE ALSO
git(1), git-commit(1)
.PP
Full documentation and usage examples: <https://github.com/hyperb1iss/git-iris>