Vibecheck
vibecheck is a lightweight, cross-platform command line AI-tool that automatically generates meaningful and consistent Git Commit Messages by analyzing your code changes — ship faster with vibecheck
Install / Use
/learn @rshdhere/VibecheckQuality Score
Category
Development & EngineeringSupported Platforms
README
A Cross-Platform Command-Line AI-tool for automating git commit messages by outsourcing them to LLMs. Supports multiple providers including OpenAI, Gemini, Anthropic, Groq, Grok, Kimi K2, Qwen, DeepSeek, Perplexity's Sonar, and Ollama.
Installation
macOS (brew)
brew install vibecheck
macOS/linux
curl -fsSL https://install.raashed.xyz | bash
windows
iwr https://install.raashed.xyz/install.ps1 -useb | iex
Important : Make sure to run the command as an
administratorusing Powershell.
The Ultimate One Liner
vibecheck commit
Note : Make sure you stage your files, right before you check that it passes the vibecheck ;)
Demonstration
More Features
vibecheck dashboard
Dashboard : It keeps the tab of the commits you generated and money you saved with vibecheck
vibecheck keys
Keys : It keeps your keys globally accessable to vibecheck, so that you always dont have to introduce a environmental variable
vibecheck models
Models : You can switch the models for better latency and accuracy all along
flowchart TD
%% Nodes Styling
classDef user fill:#f9f,stroke:#333,stroke-width:2px,color:black;
classDef system fill:#e1f5fe,stroke:#0277bd,stroke-width:2px,color:black;
classDef external fill:#fff9c4,stroke:#fbc02d,stroke-width:2px,color:black;
classDef error fill:#ffcdd2,stroke:#c62828,stroke-width:2px,color:black;
Start([User Action]) --> InstallCheck{Is vibecheck installed?}
class Start user
%% Installation Branch
InstallCheck -- No --> OS{Select OS}
OS -- macOS/Linux --> Curl[Run curl command]
OS -- Windows --> PS[Run PowerShell as Admin]
OS -- macOS Brew --> Brew[Run brew install]
Curl & PS & Brew --> Config[Setup API Keys]
Config --> EnvVars[Export vars OR .env file]
Config --> KeysCmd[vibecheck keys]
KeysCmd --> KeysFile[Store in ~/.vibecheck_keys.json]
%% Main Execution
InstallCheck -- Yes --> Command{Run Command}
EnvVars -.-> Command
KeysFile -.-> Command
%% Branch: UPGRADE
Command -- "vibecheck upgrade" --> PermCheck{Protected Dir?}
PermCheck -- Yes --> Sudo[Auto-run with Sudo] --> UpdateBin[Download & Replace Binary]
PermCheck -- No --> UpdateBin
UpdateBin --> End([Done])
%% Branch: DASHBOARD/MODELS/KEYS
Command -- "vibecheck dashboard" --> ShowDash[Read Logs] --> DisplayStats[Show Commits & $$ Saved] --> End
Command -- "vibecheck models" --> ShowMods[List Supported Models] --> SwitchMod[Switch Model Preference] --> End
Command -- "vibecheck keys" --> KeysUI[Interactive Keys Manager] --> KeysList[List Providers with Status] --> KeysEdit[Add/Edit/Delete Keys] --> KeysSave[Save to ~/.vibecheck_keys.json] --> End
%% Branch: COMMIT (Core Feature)
Command -- "vibecheck commit" --> GitCheck{Files Staged?}
%% Git Check Logic
GitCheck -- No --> ErrStage[Error: Stage files first!]:::error
ErrStage --> End
GitCheck -- Yes --> KeyCheck{API Key Found?}
%% Key Lookup Priority
KeyCheck --> CheckEnv{Check .env file}
CheckEnv -- Found --> KeyFound[Use Key]
CheckEnv -- Not Found --> CheckExport{Check export vars}
CheckExport -- Found --> KeyFound
CheckExport -- Not Found --> CheckKeysFile{Check vibecheck keys}
CheckKeysFile -- Found --> KeyFound
CheckKeysFile -- Not Found --> ErrKey[Error: Missing API Key]:::error
ErrKey --> Config
KeyFound --> ProviderSelect{Provider Flag?}
%% Provider Logic
ProviderSelect -- Default --> DefModel[Default Model]
ProviderSelect -- "--provider X" --> SelectModel[Select Specific Provider]
subgraph AI_Providers [External AI Cloud / Local]
direction LR
OpenAI
Gemini
Anthropic
Groq
XAI_Grok
Kimi
Qwen
DeepSeek
Perplexity
Ollama_Local
end
class AI_Providers external
%% Context Injection
SelectModel & DefModel --> PromptCheck{Custom Prompt?}
PromptCheck -- Yes --> InjectContext[Inject User Context]
PromptCheck -- No --> GenPayload[Prepare Diff Payload]
InjectContext & GenPayload --> AI_Providers
%% Output
AI_Providers --> Response[Receive Generated Message]
Response --> Display[Output to Terminal]
Display --> SaveLog[Update Dashboard Stats]
SaveLog --> End
Environment Variables
Set up your API keys as environment variables:
Skip: If you already have one of the API keys in your .env already, then it picks it up AUTOMATICALLY.
export OPENAI_API_KEY="your-openai-api-key"
export GEMINI_API_KEY="your-gemini-api-key"
export ANTHROPIC_API_KEY="your-anthropic-api-key"
export GROQ_API_KEY="your-groq-api-key"
export XAI_API_KEY="your-xai-api-key"
export MOONSHOT_API_KEY="your-moonshot-api-key"
export QWEN_API_KEY="your-qwen-api-key"
export DEEPSEEK_API_KEY="your-deepseek-api-key"
export PERPLEXITY_API_KEY="your-perplexity-api-key"
export OLLAMA_HOST="http://localhost:11434"
Usage For Productivity (Mini Docs)
vibecheck commit
vibecheck commit --provider openai # GPT-4o-mini
vibecheck commit --provider gemini # Gemini 2.5 Flash
vibecheck commit --provider anthropic # Claude 3.5 Haiku
vibecheck commit --provider groq # Llama 3.3 70B
vibecheck commit --provider grok # Grok Beta
vibecheck commit --provider kimi # Kimi K2 (Moonshot-v1-auto)
vibecheck commit --provider qwen # Qwen Turbo
vibecheck commit --provider deepseek # DeepSeek Chat
vibecheck commit --provider perplexity # Perplexity Sonar (sonar)
vibecheck commit --provider ollama # gpt-oss:20b (local)
vibecheck commit --prompt "make sure to use 02 emoji's in my commit message"
vibecheck commit --provider gemini --prompt "fixed bug in parser"
vibecheck --version
vibecheck --help
Upgrading
Keep vibecheck up to date with a single command:
vibecheck upgrade
Note : If vibecheck is installed in a protected directory like
/usr/local/bin, the upgrade command will automatically re-run itself with sudo to complete the installation.
Configuration
Obtaining API Credentials : A Contributor’s Guide to Access the Free-tier
https://pkg.go.dev/github.com/rshdhere/vibecheck
https://app.codecov.io/gh/rshdhere/vibecheck
https://goreportcard.com/report/github.com/rshdhere/vibecheck
