Skip to content

πŸš€ AI-powered CLI for generating perfect Conventional Commits. Supports OpenAI, Gemini, Claude & Groq. Interactive, intelligent, and developer-friendly.

License

Notifications You must be signed in to change notification settings

vineyrawat/auto-commit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Gemini_Generated_Image_3qozyd3qozyd3qoz 2 (1)

πŸš€ Auto Commit

A powerful interactive CLI tool for generating Conventional Commit messages with AI assistance. Built with Deno and TypeScript.

Features

πŸ€– AI-Powered Commit Generation

  • Multiple AI Providers: OpenAI, Google Gemini, Anthropic Claude, and Groq
  • Intelligent Analysis: AI analyzes your git diff and suggests appropriate commit messages
  • Customizable Models: Choose from various models for each provider
  • Smart Fallback: Falls back to manual mode if AI generation fails

πŸ’‘ Interactive Experience

  • File Staging: Interactive file selection with visual indicators
  • Conventional Commits: Full support for all commit types
  • Rich Prompts: Beautiful CLI interface with color-coded messages
  • Edit & Regenerate: Edit AI suggestions or regenerate new ones
  • Scope Suggestions: Common scopes + custom scope support

βš™οΈ Configuration

  • Persistent Settings: Stores API keys and preferences locally
  • Easy Setup: Simple configuration wizard
  • Provider Switching: Easily switch between AI providers
  • Secure Storage: API keys stored in ~/.config/auto-commit/config.json

πŸ“¦ Installation

Prerequisites

  • Deno 1.30 or higher

Option 1 β€” Run Directly with Deno

deno run --allow-run --allow-net --allow-write --allow-env --allow-read https://raw.githubusercontent.com/vineyrawat/auto-commit/refs/heads/main/main.ts

Option 2 β€” Install Globally

deno install --allow-run --allow-net --allow-write --allow-env --allow-read --global -n auto-commit https://raw.githubusercontent.com/vineyrawat/auto-commit/refs/heads/main/main.ts

Now you can run:

auto-commit

🎯 Usage

Quick Start

# Generate commit with AI (if configured)
auto-commit

# Force AI generation
auto-commit --ai

# Skip file staging selection
auto-commit -s

# Dry run (preview without committing)
auto-commit -d

# Skip git hooks
auto-commit -n

Configuration

# Open configuration wizard
auto-commit config

Configuration options:

  1. Select AI Provider - Choose between OpenAI, Gemini, Anthropic, or Groq
  2. Set API Key - Configure your API key for the selected provider
  3. Set AI Model - Choose specific model for your provider
  4. View Current Config - Display current settings
  5. Clear Config - Reset all configuration

AI Providers

OpenAI

Google Gemini

Anthropic Claude

Groq

Workflow

1. File Staging (Interactive)

auto-commit
  • View all changed files (staged, modified, untracked)
  • Select/deselect files with spacebar
  • Staged files are pre-selected
  • Skip with --skip-staging flag

2. AI Generation (Optional)

If configured, you'll be prompted:

  • Use AI: Analyzes git diff and generates commit message
  • Preview: View generated message with type, scope, description, and body
  • Actions:
    • βœ“ Use this commit message
    • ✏️ Edit the commit message (description, type, scope, body, breaking change)
    • πŸ”„ Regenerate with AI
    • ✍️ Create manually

3. Manual Mode (Fallback)

Step-by-step prompts for:

  • Type: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert
  • Scope: Choose from common scopes or enter custom
  • Description: Short summary (imperative mood)
  • Body: Optional detailed explanation
  • Breaking Change: Flag and describe if breaking
  • Footers: Add references, issue numbers, reviewers, etc.

4. Preview & Confirm

  • Review formatted commit message
  • Confirm or cancel
  • Commit with optional --no-verify flag

🎨 Commit Types

Type Description Example
feat New feature feat(auth): add OAuth2 login
fix Bug fix fix(api): resolve null pointer error
docs Documentation docs: update installation guide
style Code formatting style: fix indentation
refactor Code restructure refactor(core): simplify validation logic
perf Performance improvement perf(db): optimize query execution
test Add/update tests test(api): add integration tests
build Build system changes build(deps): upgrade to deno 2.0
ci CI/CD changes ci: add GitHub Actions workflow
chore Maintenance tasks chore: update .gitignore
revert Revert previous commit revert: rollback auth changes

πŸ”§ Common Scopes

Pre-configured scopes for faster workflow:

  • api - API related changes
  • auth - Authentication/Authorization
  • ui - User interface changes
  • db - Database changes
  • config - Configuration changes
  • deps - Dependencies update
  • core - Core functionality
  • utils - Utility functions
  • Plus more...

πŸ“– Examples

AI-Generated Commit

$ auto-commit --ai

πŸ€– Generating commit message with AI...

πŸ€– AI Generated Commit Message (Google Gemini):
────────────────────────────────────────────────────────────
feat(auth): implement OAuth2 authentication flow

Add OAuth2 provider integration with Google and GitHub.
Includes token refresh mechanism and session management.
────────────────────────────────────────────────────────────

βœ“ Use this commit message

Manual Commit with Breaking Change

$ auto-commit

Select the type of change: feat
Select a scope: api
Enter a short description: migrate to v2 endpoints
Add a detailed body? Yes
Enter the commit body: 
  Migrate all REST endpoints to v2 schema.
  Deprecate v1 endpoints (EOL: 2025-12-31).

Is this a BREAKING CHANGE? Yes
Describe the breaking change: 
  V1 API endpoints are no longer supported.
  Clients must update to v2 endpoints.

πŸ“ Final commit message:
────────────────────────────────────────────────────────────
feat(api)!: migrate to v2 endpoints

Migrate all REST endpoints to v2 schema.
Deprecate v1 endpoints (EOL: 2025-12-31).

BREAKING CHANGE: V1 API endpoints are no longer supported.
Clients must update to v2 endpoints.
────────────────────────────────────────────────────────────

βœ“ Commit successful!

πŸ› οΈ Technical Details

Built With

  • Runtime: Deno 2.0+
  • CLI Framework: Cliffy for interactive prompts
  • Git Operations: Native Deno Command API
  • AI Integration: Direct API calls to OpenAI, Gemini, Anthropic, and Groq

Features

  • βœ… Zero dependencies (except Cliffy)
  • βœ… Secure local config storage
  • βœ… Graceful error handling
  • βœ… Color-coded terminal output
  • βœ… Git hook support with --no-verify
  • βœ… Dry-run mode for testing
  • βœ… File staging with visual feedback
  • βœ… AI-powered commit generation with fallback
  • βœ… Multi-provider AI support

Permissions Required

  • --allow-run: Execute git commands
  • --allow-read: Read git repository and config
  • --allow-write: Write commits and config
  • --allow-env: Access environment variables
  • --allow-net: Make API calls to AI providers

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes using this tool! (auto-commit)
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

MIT License Β© 2025 Viney Rawat


Made with ❀️ by @vineyrawat, for developers

Need help? Found a bug? Open an issue

About

πŸš€ AI-powered CLI for generating perfect Conventional Commits. Supports OpenAI, Gemini, Claude & Groq. Interactive, intelligent, and developer-friendly.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published