| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
GitFlow Toolkit is a CLI tool written in Go for standardizing git commit messages following the Conventional Commits 1.0.0 specification. It provides an interactive TUI for creating commits, branches, and managing git operations.
demo.webmbrew install mritd/gitflow-toolkit/gitflow-toolkitDownload the latest binary from the Release page and run the install command:
# Download the latest release (replace PLATFORM with: linux-amd64, darwin-arm64, etc.)
curl -fsSL https://github.com/mritd/gitflow-toolkit/releases/latest/download/gitflow-toolkit-PLATFORM -o gitflow-toolkit
chmod +x gitflow-toolkit
# Install (creates symlinks for git subcommands)
sudo ./gitflow-toolkit installgo install github.com/mritd/gitflow-toolkit/v3@latestNote: When installing via go install, you need to manually run gitflow-toolkit install to create git subcommand symlinks.
After installation, you can use the following git subcommands:
git ciThis opens an interactive TUI to create a commit message with:
git psPush the current branch to origin with a progress indicator.
git feat my-feature # Creates feat/my-feature
git fix bug-123 # Creates fix/bug-123
git docs readme # Creates docs/readme| Command | Description |
|---|---|
| git ci | Interactive commit message creation |
| git ps | Push current branch to remote |
| git feat NAME | Create branch feat/NAME |
| git fix NAME | Create branch fix/NAME |
| git hotfix NAME | Create branch hotfix/NAME |
| git docs NAME | Create branch docs/NAME |
| git style NAME | Create branch style/NAME |
| git refactor NAME | Create branch refactor/NAME |
| git chore NAME | Create branch chore/NAME |
| git perf NAME | Create branch perf/NAME |
| git test NAME | Create branch test/NAME |
| git build NAME | Create branch build/NAME |
The tool follows the Conventional Commits 1.0.0 specification:
<type>[optional scope]: <description> [optional body] [optional footer(s)]
Supported types: feat, fix, docs, style, refactor, test, chore, perf, hotfix, build
All settings are configured via ~/.gitconfig under the [gitflow] section.
[gitflow]
# LLM API key (required for cloud providers)
llm-api-key = sk-or-v1-xxxxx
# LLM settings
llm-api-host = https://openrouter.ai
llm-api-path = /api/v1/chat/completions
llm-model = mistralai/devstral-2512:free
llm-temperature = 0.3
llm-diff-context = 5
llm-max-diff-lines = 500
llm-request-timeout = 2m
llm-max-retries = 0
llm-output-lang = en
llm-max-concurrency = 3
llm-api-debug = false
# Custom prompts (optional, language-specific)
llm-file-analysis-prompt = "Summarize this diff briefly."
llm-commit-prompt-en = "Your custom English commit prompt."
llm-commit-prompt-zh = "Your custom Chinese commit prompt."
llm-commit-prompt-bilingual = "Your custom bilingual commit prompt."
# Lucky commit prefix (hex characters, max 12)
lucky-commit-prefix = abc
# SSH strict host key checking (default: false)
ssh-strict-host-key = false
# Auto-detect commit type from branch name (default: false)
branch-auto-detect = true
# Require optional fields (default: false)
require-scope = false
require-body = false
require-footer = false| Key | Description | Default |
|---|---|---|
| llm-api-key | API key for cloud LLM providers | - |
| llm-api-host | LLM API endpoint | see below |
| llm-api-path | API path (auto-detected for known providers) | see below |
| llm-model | LLM model name | see below |
| llm-temperature | Model temperature | 0.3 |
| llm-diff-context | Diff context lines | 5 |
| llm-request-timeout | Request timeout (Go duration, e.g., 2m, 30s) | 2m |
| llm-max-retries | Max retry count on failure | 0 |
| llm-output-lang | Output language (en, zh, bilingual) | en |
| llm-max-concurrency | Max parallel file analysis | 3 |
| llm-max-diff-lines | Max diff lines to analyze | 500 |
| llm-api-debug | Enable debug logging to temp file | false |
| llm-file-analysis-prompt | Custom file analysis prompt | - |
| llm-commit-prompt-en | Custom English commit prompt | - |
| llm-commit-prompt-zh | Custom Chinese commit prompt | - |
| llm-commit-prompt-bilingual | Custom bilingual commit prompt | - |
| lucky-commit-prefix | Lucky commit hex prefix (max 12 chars) | - |
| ssh-strict-host-key | SSH strict host key checking | false |
| branch-auto-detect | Auto-detect commit type from branch name | false |
| require-scope | Require scope field | false |
| require-body | Require body field | false |
| require-footer | Require footer field | false |
Generate commit messages automatically using LLM:
Provider Selection:
| Provider | When | Default Path | Default Model |
|---|---|---|---|
| OpenRouter | API key set, no custom host | /api/v1/chat/completions | mistralai/devstral-2512:free |
| Groq | Host contains groq.com | /openai/v1/chat/completions | - |
| Ollama | No API key | /api/chat | deepseek-coder-v2:16b |
| OpenAI-compatible | Other hosts (openai.com, deepseek.com, mistral.ai, etc.) | /v1/chat/completions | - |
Custom API Path:
If your provider uses a non-standard path, set it explicitly:
git config --global gitflow.llm-api-path "/custom/v1/chat/completions"Quick Start with OpenRouter (recommended):
git config --global gitflow.llm-api-key "sk-or-v1-xxxxx"
git ci # Press 'a' or Tab to Auto GenerateQuick Start with Local Ollama:
ollama pull deepseek-coder-v2:16b
git ciLanguage Options:
Generate commit hashes with a specific prefix using lucky_commit:
# Install lucky_commit first
cargo install lucky_commit
# Set the desired prefix (hex characters, max 12)
git config --global gitflow.lucky-commit-prefix abc
# Commit as usual - hash will start with "abc"
git ciAutomatically pre-select the commit type based on your current branch name:
# Enable the feature
git config --global gitflow.branch-auto-detect true
# Now when you're on a branch like "feat/login" or "feature-new-ui"
git ci # Cursor will auto-select "feat" typeSupported branch prefixes:
| Branch Prefix | Commit Type |
|---|---|
| feat, feature | feat |
| fix, bugfix, bug | fix |
| docs, doc, document | docs |
| style | style |
| refactor, refact | refactor |
| test, testing | test |
| chore | chore |
| perf, performance | perf |
| hotfix | hotfix |
| build | build |
Supports separators: /, -, _ (e.g., feat/login, fix-bug-123, docs_readme)
brew uninstall gitflow-toolkit
brew untap mritd/gitflow-toolkitsudo gitflow-toolkit uninstallMIT
| Back | FazBrowse Home | New Git URL |