AgentStack
MCP unreviewed MIT Self-run

Rusty Commit

mcp-hongkongkiwi-rusty-commit · by hongkongkiwi

AI-powered commit message generator in Rust. Supports 16+ AI providers (Claude, OpenAI, Ollama, etc.), conventional commits, GitMoji, OAuth, and MCP server for editors.

No reviews yet
0 installs
1 views
0.0% view→install

Install

$ agentstack add mcp-hongkongkiwi-rusty-commit

Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.

Security review

⚠ Flagged

1 finding(s); flagged for manual review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures
  • high Pipes remote content directly into a shell (remote code execution).

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Rusty Commit? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

🦀 Rusty Commit (rco)

AI-powered commit message generator written in Rust

Generate conventional commits, GitMoji messages, and PR descriptions using 100+ AI providers

[](https://github.com/hongkongkiwi/rusty-commit/actions/workflows/ci.yml) [](https://crates.io/crates/rusty-commit) [](https://docs.rs/rusty-commit) [](https://opensource.org/licenses/MIT)

🚀 Fast · 🔒 Secure · 🏠 Local-first · 🔌 Editor integrations via MCP

[Installation](#-installation) · [Quick Start](#-quick-start) · [Features](#-features) · [Providers](#-providers) · [Configuration](#-configuration)


✨ Why Rusty Commit?

⚡ Blazing Fast

Native Rust binary with instant startup time. No Node.js bloat, no waiting.

🤖 100+ AI Providers

Works with OpenAI, Claude, Groq, Cerebras, DeepSeek, GitHub Copilot, Ollama, and 90+ more.

🔐 Secure by Default

Optional keychain storage keeps your API keys safe. OAuth support for major providers.

🎨 Flexible Formats

Conventional commits, GitMoji, or custom templates. Multi-language support.

🔄 Multi-Account Support

Seamlessly switch between work and personal accounts, different providers, or models.

📖 Smart Context Awareness

Reads AGENTS.md, CLAUDE.md, GEMINI.md, commitlint configs, and Cargo.toml to generate context-aware commits.

🔌 Editor Integration

MCP server for Cursor, VS Code, Claude Code, and other AI-powered editors.


📦 Installation

One-liner (recommended)

curl -fsSL https://raw.githubusercontent.com/hongkongkiwi/rusty-commit/main/install.sh | bash

🔐 Security-conscious? Verify first

# Download and inspect
curl -fsSL https://raw.githubusercontent.com/hongkongkiwi/rusty-commit/main/install.sh -o install.sh
# Verify with SHA256 checksums, Cosign, GPG, or GitHub attestations
# See: docs/INSTALL-SCRIPT-VERIFICATION.md

Verify release binaries with GPG:

# Download release files
wget https://github.com/hongkongkiwi/rusty-commit/releases/download/v1.0.0/rusty-commit-v1.0.0-x86_64-unknown-linux-musl.tar.gz
wget https://github.com/hongkongkiwi/rusty-commit/releases/download/v1.0.0/rusty-commit-v1.0.0-x86_64-unknown-linux-musl.tar.gz.asc
wget https://github.com/hongkongkiwi/rusty-commit/releases/download/v1.0.0/SHA256SUMS.txt
wget https://github.com/hongkongkiwi/rusty-commit/releases/download/v1.0.0/SHA256SUMS.txt.asc

# Verify GPG signature
gpg --verify SHA256SUMS.txt.asc

# Verify checksums
sha256sum -c SHA256SUMS.txt

Or verify individual files directly:

gpg --verify rusty-commit-v1.0.0-x86_64-unknown-linux-musl.tar.gz.asc

GPG Public Key: 0x0EC2DFF577818B86 (full: 0EC2DFF577818B86BA38DA3F164E3F90E425B2AD)

📦 Package Managers

| Platform | Command | Repo | |----------|---------|------| | Homebrew | brew tap hongkongkiwi/rusty-commit && brew install rusty-commit | homebrew-rusty-commit | | Cargo | cargo install rusty-commit --features secure-storage | - | | Debian/Ubuntu | wget .../rusty-commit_amd64.deb && sudo dpkg -i rusty-commit_amd64.deb | - | | Fedora/RHEL | sudo dnf install https://.../rusty-commit.x86_64.rpm | - | | Alpine | wget .../rusty-commit-x86_64.apk && sudo apk add --allow-untrusted rusty-commit-x86_64.apk | - | | Arch Linux (AUR) | yay -S rusty-commit or paru -S rusty-commit | Community | | Nix/NixOS | nix-env -iA nixpkgs.rusty-commit or via flake | nixpkgs-overlays | | Windows (Scoop) | scoop bucket add rusty-commit && scoop install rusty-commit | scoop-rusty-commit | | Windows (Winget) | winget install hongkongkiwi.rusty-commit | Community (via winget-pkgs) | | Windows (Chocolatey) | choco install rusty-commit | Community | | Windows (Binary) | Download from releases | - |


🚀 Quick Start

Interactive Setup

rco setup              # Quick interactive wizard (recommended)
rco setup --advanced   # Full configuration
rco setup --defaults   # Non-interactive with sensible defaults

Quick Setup asks for:

  1. AI Provider - Choose from 30+ providers (100+ total supported)
  2. API Key - Securely stored in your system's keychain
  3. Commit Format - Conventional commits, GitMoji, or simple

Generate Your First Commit

git add .
rco                    # Interactive mode with review

⚡ Common Options

rco --dry-run          # Preview without committing
rco --edit             # Open in $EDITOR before committing
rco --clipboard        # Copy to clipboard instead
rco --generate 3       # Generate 3 variations
rco --fgm              # Full GitMoji specification
rco -y                 # Auto-commit without confirmation
rco -c "context"       # Add extra context

🔄 Multi-Account Workflow

# Add multiple provider accounts
rco config add-provider                    # Interactive wizard
rco config add-provider --provider openai --alias work-openai

# Switch between them
rco config use-account work-openai
git add . && rco

rco config use-account personal-anthropic
git add . && rco

🎯 Features

| Feature | Command | |---------|---------| | Interactive mode | rco | | Auto-commit | rco -y | | Dry-run preview | rco --dry-run | | Edit in $EDITOR | rco --edit | | Copy to clipboard | rco --clipboard | | Generate variations | rco -g 3 | | Add context | rco -c "Fix OAuth" | | Full GitMoji | rco --fgm | | Show prompt | rco --show-prompt | | Debug logging | RUST_LOG=debug rco |


🤖 Providers

Rusty Commit supports 100+ AI providers. Configure interactively with rco setup or manually:

🔑 OAuth (No API Key)

| Provider | Command | |----------|---------| | Claude (Anthropic) | rco auth login | | GitHub Copilot | rco auth login --provider github-copilot |

🔐 API Key Providers

🌟 Popular Providers

| Provider | Setup | |----------|-------| | OpenAI | rco config set RCO_AI_PROVIDER=openai RCO_API_KEY=sk-... RCO_MODEL=gpt-4o-mini | | Anthropic | rco config set RCO_AI_PROVIDER=anthropic RCO_API_KEY=sk-ant-... RCO_MODEL=claude-3-5-haiku-20241022 | | Google Gemini | rco config set RCO_AI_PROVIDER=gemini RCO_API_KEY=... RCO_MODEL=gemini-2.5-flash | | xAI/Grok | rco config set RCO_AI_PROVIDER=xai RCO_API_KEY=... RCO_MODEL=grok-2 | | DeepSeek | rco config set RCO_AI_PROVIDER=deepseek RCO_API_KEY=sk-... RCO_MODEL=deepseek-chat |

⚡ Ultra-Fast Inference

| Provider | Setup | |----------|-------| | Groq | rco config set RCO_AI_PROVIDER=groq RCO_API_KEY=gsk_... RCO_MODEL=llama-3.3-70b-versatile | | Cerebras | rco config set RCO_AI_PROVIDER=cerebras RCO_API_KEY=... RCO_MODEL=llama-3.3-70b | | SambaNova | rco config set RCO_AI_PROVIDER=sambanova RCO_API_KEY=... RCO_MODEL=Meta-Llama-3.3-70B-Instruct | | Nebius | rco config set RCO_AI_PROVIDER=nebius RCO_API_KEY=... |

🌐 Multi-Model Aggregators

| Provider | Setup | |----------|-------| | OpenRouter | rco config set RCO_AI_PROVIDER=openrouter RCO_API_KEY=sk-or-... | | Together AI | rco config set RCO_AI_PROVIDER=together RCO_API_KEY=... | | Fireworks | rco config set RCO_AI_PROVIDER=fireworks RCO_API_KEY=... | | Replicate | rco config set RCO_AI_PROVIDER=replicate RCO_API_KEY=... | | DeepInfra | rco config set RCO_AI_PROVIDER=deepinfra RCO_API_KEY=... | | Novita | rco config set RCO_AI_PROVIDER=novita RCO_API_KEY=... |

🏢 Enterprise Providers

| Provider | Setup | |----------|-------| | Azure OpenAI | rco config set RCO_AI_PROVIDER=azure RCO_API_KEY=... RCO_API_URL=https://.openai.azure.com | | AWS Bedrock | rco config set RCO_AI_PROVIDER=bedrock | | Google Vertex AI | rco config set RCO_AI_PROVIDER=vertex | | Mistral | rco config set RCO_AI_PROVIDER=mistral RCO_API_KEY=... RCO_MODEL=mistral-small-latest | | Cohere | rco config set RCO_AI_PROVIDER=cohere RCO_API_KEY=... RCO_MODEL=command-r | | AI21 Labs | rco config set RCO_AI_PROVIDER=ai21 RCO_API_KEY=... RCO_MODEL=jamba-1.5-mini | | Perplexity | rco config set RCO_AI_PROVIDER=perplexity RCO_API_KEY=... |

🏠 Local/Self-Hosted

| Provider | Setup | |----------|-------| | Ollama | rco config set RCO_AI_PROVIDER=ollama RCO_MODEL=llama3.2 RCO_API_URL=http://localhost:11434 | | LM Studio | rco config set RCO_AI_PROVIDER=lmstudio RCO_API_URL=http://localhost:1234/v1 | | llama.cpp | rco config set RCO_AI_PROVIDER=llamacpp RCO_API_URL=http://localhost:8080/v1 |

🌏 China-based Providers

| Provider | Setup | |----------|-------| | Moonshot/Kimi | rco config set RCO_AI_PROVIDER=moonshot RCO_API_KEY=... | | SiliconFlow | rco config set RCO_AI_PROVIDER=siliconflow RCO_API_KEY=... | | Zhipu AI | rco config set RCO_AI_PROVIDER=zhipu RCO_API_KEY=... | | MiniMax | rco config set RCO_AI_PROVIDER=minimax RCO_API_KEY=... | | Alibaba Qwen | rco config set RCO_AI_PROVIDER=dashscope RCO_API_KEY=... |

📋 All 100+ Supported Providers

GPU Cloud & Inference: Cerebras, SambaNova, Nebius, Lambda, Hyperbolic, Kluster, Together, Fireworks, Replicate, Novita, Predibase, TensorOps, Baseten, Chutes, IO.Net, Scaleway, OVHcloud, Friendli, ModelScope

Enterprise & Specialized: Cohere, AI21 Labs, Upstage/Solar, Jina AI, Abacus AI, Bailing, Poe

AI Gateways & Proxies: Helicone, Cloudflare Workers AI, Vercel AI Gateway, Requesty

China-based: Moonshot, SiliconFlow, Zhipu, MiniMax, Baichuan, 01.AI, Dashscope/Alibaba

Local/Self-hosted: Ollama, LM Studio, llama.cpp, KoboldCpp, Text Generation WebUI, Tabby

Additional Providers: Venice, Cortecs, Synthetic, NanoGPT, ZenMux, V0, Morph, Corcel, CyberNative, Edgen, GigaChat, Hydra, Lingyi, Monica, Pollinations, ShuttleAI, Teknium, TheB, TryLeap, Targon, 302.AI, SAP AI Core

🔒 Secure Storage

When built with --features secure-storage:

  • macOS: Keychain
  • Linux: Secret Service (GNOME Keyring, KWallet, KeePassXC)
  • Windows: Credential Manager

Falls back to config file if keychain is unavailable.


⚙️ Configuration

Interactive Configuration

rco setup              # Quick setup (essential settings)
rco setup --advanced   # Advanced setup (all settings)
rco setup --tui        # Force TUI mode (interactive terminal UI)
rco setup --no-tui     # Force dialoguer prompts (no TUI)

The setup wizard automatically detects whether to use TUI mode based on your terminal. Use --tui or --no-tui to override.

TUI Features:

  • Arrow key navigation through menus
  • Real-time preview of commit message formats
  • Visual confirmation of selections
  • Color-coded provider categories

Configuration Priority

Per-repo config > Global config > Environment variables > Defaults

Manual Config Commands

rco config status                          # Check secure storage status
rco config set RCO_AI_PROVIDER=anthropic   # Set provider
rco config set RCO_MODEL=claude-3-5-haiku  # Set model
rco config get RCO_AI_PROVIDER             # Get current value
rco config describe                        # Show all options
rco config reset --all                     # Reset to defaults

🔧 Common Configuration Options

| Key | Description | Default | |-----|-------------|---------| | Provider Settings | | RCO_AI_PROVIDER | AI backend | anthropic | | RCO_MODEL | Model name | Provider-specific | | RCO_API_KEY | API key | - | | RCO_API_URL | Custom endpoint | - | | Commit Format | | RCO_COMMIT_TYPE | Commit format (conventional, gitmoji) | conventional | | RCO_EMOJI | Include emojis | false | | RCO_LANGUAGE | Output language | en | | RCO_DESCRIPTION | Add description | false | | RCO_DESCRIPTION_CAPITALIZE | Capitalize description | true | | RCO_DESCRIPTION_ADD_PERIOD | Add period to description | false | | RCO_DESCRIPTION_MAX_LENGTH | Max description length | 100 | | Context & Learning | | RCO_READ_CONTEXT | Read .rco/context.txt | true | | RCO_READ_AGENT_FILES | Read AGENTS.md, CLAUDE.md, GEMINI.md | true | | RCO_READ_COMMITLINT | Read commit style configs | true | | RCO_READ_PROJECT_CONFIG | Read Cargo.toml, package.json | true | | RCO_LEARN_FROM_HISTORY | Learn from git history | false | | RCO_HISTORY_COMMITS_COUNT | Commits to analyze | 50 | | Output Control | | RCO_MAX_TOKENS | Max response tokens | 1024 | | RCO_TEMPERATURE | Response creativity | 0.7 | | RCO_ENABLE_COMMIT_BODY | Add commit body | false | | RCO_GENERATE_COUNT | Variations to generate | 1 | | RCO_ONE_LINE_COMMIT | Single line message | false | | Integration | | RCO_CLIPBOARD_ON_TIMEOUT | Copy to clipboard on timeout | true | | RCO_ACTION_ENABLED | Enable action mode | false |


🎣 Git Hooks

Install/Uninstall

rco hook set    # Install prepare-commit-msg hook
rco hook unset  # Remove hook

Once installed, git commit (without -m) automatically generates commit messages!

⚙️ Advanced Hooks

# Pre-generation hook
rco config set RCO_PRE_GEN_HOOK="just lint; just test -q"

# Pre-commit hook
rco config set RCO_PRE_COMMIT_HOOK="./scripts/tweak_commit.sh"

# Post-commit hook
rco config set RCO_POST_COMMIT_HOOK="git push"

# Hook behavior
rco config set RCO_HOOK_STRICT=false       # Allow hook failures
rco config set RCO_HOOK_TIMEOUT_MS=60000   # Timeout in ms

Skip Hooks (Per-Run):

rco --no-pre-hooks      # Skip pre-gen + pre-commit hooks
rco --no-post-hooks     # Skip post-commit hooks

🧠 Advanced Features

📝 Commit Body Generation

Enable detailed commit messages with body explaining the "why":

rco config set RCO_ENABLE_COMMIT_BODY=true

Output:

feat(auth): implement OAuth2 PKCE flow

- Add secure token storage with automatic refresh
- Support GitHub, GitLab, and generic OAuth2 providers
- Handle token expiration gracefully

🧠 Style Learning from History

Automatically learn and match your team's commit style:

rco config set RCO_LEARN_FROM_HISTORY=true
rco config set RCO_HISTORY_COMMITS_COUNT=100  # Analyze last 100 commits

Analyzes your git history to detect:

  • Common commit types and scopes
  • Average description length
  • Capitalization preferences
  • Gitmoji usage patterns
  • Period usage in descriptions
  • Subject vs body formatting

Configure how many commits to analyze:

rco config set RCO_HISTORY_COMMITS_COUNT=100  # More commits = better patterns
rco config set RCO_HISTORY_COMMITS_COUNT=20   # Faster, less accurate

😄 GitMoji Support

25+ emojis from gitmoji.dev:

| Emoji | Meaning | Use Case | |-------|---------|----------| | ✨ | :sparkles: | New feature | | 🐛 | :bug: | Bug fix | | 📝 | :memo: | Documentation | | 🎨 | :art: | Code structure/format | | ♻️ | :recycle: | Refactoring | | ⚡ | :zap: | Performance | | ✅ | :white_check_mark: | Tests | | 🔒 | :lock: | Security fix | | ⬆️ | :arrow_up: | Upgrade dependencies | | 🔥 | :fire: | Remove code/files | | 🚀 | :rocket: | Deployment | | 💥 | :boom: | Breaking changes |

📂 Repository Context Awareness

Rusty Commit automatically detects project context to generate better commit messages. Control which sources are read via configuration:

# Enable/disable context reading
rco config set RCO_READ_CONTEXT=true           # Read .rco/context.txt
rco config set RCO_READ_AGENT_FILES=true       # Read AGENTS.md, CLAUDE.md, GEMINI.md
rco config set RCO_READ_PROJECT_CONFIG=true    # Read Cargo.toml, package.json
rco config set RCO_READ_COMMITLINT=true        # Read commit style configs

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.