OpenSSF Scorecard OpenSSF Best Practices Go Report Card GitHub release (latest SemVer)
refine-vibe-ezgif com-video-to-gif-converter
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.
brew install vibecheck
curl -fsSL https://install.raashed.xyz | bashiwr https://install.raashed.xyz/install.ps1 -useb | iex
Important : Make sure to run the command as an
administratorusing Powershell.
vibecheck commit
Note : Make sure you stage your files, right before you check that it passes the vibecheck ;)
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
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"
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
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.
Obtaining API Credentials : A Contributor’s Guide to Access the Free-tier
gemini.mp4
perplexity.mp4
https://pkg.go.dev/github.com/rshdhere/vibecheck
https://app.codecov.io/gh/rshdhere/vibecheck
https://goreportcard.com/report/github.com/rshdhere/vibecheck