Product Introduction
VibeGit is an AI-powered Git assistant that automatically groups semantically related code changes and generates structured commits. The tool analyzes code diffs using large language models to understand the context and purpose of modifications. It operates as a command-line interface that integrates with existing Git workflows through the
vibegit commit
command.The core value lies in eliminating manual commit organization while maintaining atomic commit principles. It reduces cognitive load during code reviews by producing logically grouped changes with meaningful messages. The system preserves developer workflow efficiency by avoiding context switching to manual Git housekeeping tasks.
Main Features
Semantic Hunk Analysis uses LLMs to examine code diffs beyond file boundaries, identifying functional relationships between changes across multiple files. The algorithm considers code structure, variable usage patterns, and modification purposes to cluster related hunks. This process incorporates repository-specific rules defined in
.vibegitrules
configuration files.AI-Generated Commit Messages produce conventional-changelog compliant messages with scope identification and semantic versioning awareness. The message generator references branch names, recent commit history patterns, and project-specific conventions. Users can edit proposals in their default text editor before finalization.
Multi-Mode Operation offers YOLO (automatic commit application), Interactive (step-by-step review), and Summary (dry-run preview) workflows. The system supports multiple AI backends including Google Gemini 2.5 Flash/Pro and OpenAI GPT-4o through configurable model endpoints. Safety checks prevent committing sensitive data through pattern matching in diffs.
Problems Solved
Addresses the time-intensive process of manually organizing numerous uncommitted changes into logical units. Developers typically spend 15-30 minutes manually grouping changes through
git add -p
for complex features, which VibeGit automates in seconds.Targets software engineers working on feature branches with accumulated changes across multiple subsystems. Particularly benefits full-stack developers handling intertwined frontend/backend modifications and solo maintainers managing large codebases.
Effective in post-prototyping phases when converting experimental code into production-ready commits. Ideal for teams enforcing strict commit message conventions and atomic change requirements in CI/CD pipelines.
Unique Advantages
Unlike traditional Git helpers that rely on file proximity or change timing, VibeGit employs deep semantic analysis of code structures. The system understands code semantics rather than just syntactic changes, enabling more accurate grouping of cross-file modifications.
Custom rule engine through
.vibegitrules
allows project-specific commit policies and scope definitions. The configuration supports regular expression patterns for change exclusion and commit message templates. Model-agnostic architecture permits integration with any LLM provider supporting JSON schema outputs.Competitive edge comes from hybrid AI-local processing that maintains code privacy while using cloud-based models. The tool preserves full Git compatibility without requiring repository modifications, operating as an external pre-commit advisor. Unique change exclusion logic prevents incomplete work from being committed through AST-based validation.
Frequently Asked Questions (FAQ)
How does VibeGit handle API keys and code privacy? The tool requires user-provided API keys for cloud LLM services but never stores or transmits complete code files. Only relevant code hunks and metadata are sent to AI providers through secure channels, with configurable data retention policies.
What models are supported besides Gemini? The system integrates with any LangChain-compatible model including OpenAI GPT-4o, Anthropic Claude 3, and local Ollama instances. Model selection is configured through
vibegit config set model.name
using provider:model-name syntax.Can VibeGit exclude work-in-progress changes? The exclusion system uses AST analysis and custom rules to detect incomplete implementations. When
allow_excluding_changes
is enabled, it filters out changes containing syntax errors, TODO comments, and patterns defined in.vibegitrules
. Users can override exclusions during interactive mode.