An AI-powered CLI tool to supercharge your Git workflows with intelligent commit messages
- π€ AI-Powered Commit Messages - Generate professional, conventional commit messages using OpenAI GPT
- π Smart Branch Naming - Generate intelligent branch names based on your code changes β¨ NEW
- β‘ Lightning Fast - Analyze staged changes and generate commit messages in seconds
- π― Conventional Commits - Follows industry-standard commit message format automatically
- π¨ Beautiful UI - Interactive prompts with colored output and loading spinners
- π‘οΈ Error Handling - Comprehensive error handling with helpful suggestions
- π Smart Analysis - Analyzes your code changes to create contextually relevant messages
- π§ Multi-Type Branches - Support for feature, fix, hotfix, refactor, and docs branches
- Node.js 14.0.0 or higher
- Git repository
- OpenAI API key
npm install -g git-axiom
# Clone the repository
git clone https://.com/Abdiev003/git-axiom.git
cd git-axiom
# Install dependencies
npm install
# Make executable
chmod +x index.js
# Link for global usage (optional)
npm link
- Visit OpenAI Platform
- Create a new API key
- Copy your API key
# Add to your shell profile (.bashrc, .zshrc, etc.)
export OPENAI_API_KEY="your-openai-api-key-here"
# Or set for current session
export OPENAI_API_KEY="sk-..."
git-axiom init
- Stage your changes
git add .
# or
git add specific-file.js
- Generate AI commit message
git-axiom commit
- Review and confirm The tool will:
- Analyze your staged changes
- Generate a professional commit message
- Show you the message for approval
- Commit automatically if you approve
- Make your changes (don't stage yet)
# Edit your files
vim src/auth.js
- Generate AI branch name
git-axiom branch
# or specify branch type
git-axiom branch --type feature
- Review and create The tool will:
- Analyze your current changes
- Generate a descriptive branch name
- Show you the suggested name
- Create and switch to the branch if approved
$ git add src/auth.js
$ git-axiom commit
β Analyzing staged files...
β Generating commit message with AI...
β
Commit message generated!
π Generated commit message:
"feat(auth): add user authentication middleware"
? Do you want to proceed with this commit message? (Y/n)
β Committing changes...
β
Commit successful!
β¨ Successfully committed with message: "feat(auth): add user authentication middleware"
$ # After making changes to authentication system
$ git-axiom branch --type feature
β Analyzing your changes...
β Generating branch name with AI...
β
Branch name generated!
π Generated branch name:
feature/add-user-authentication
Type: feature
? Do you want to create this branch and switch to it? (Y/n)
β Creating new branch...
β
Branch created successfully!
β¨ Successfully created and switched to branch: "feature/add-user-authentication"
π‘ You can now make your changes and use "git-axiom commit" when ready!
Generate AI-powered commit messages for staged changes.
git-axiom commit
What it does:
- Analyzes your staged Git changes
- Sends the diff to OpenAI for analysis
- Generates a conventional commit message
- Asks for your confirmation
- Commits the changes if approved
Initialize Git Axiom and check setup.
git-axiom init
Show help information and available commands.
git-axiom --help
# or
git-axiom -h
Axiom automatically generates commit messages following the Conventional Commits specification:
<type>(<scope>): <subject>
feat
: New featuresfix
: Bug fixesdocs
: Documentation changesstyle
: Code style changes (formatting, etc.)refactor
: Code refactoringtest
: Adding or updating testschore
: Maintenance tasks
feat(auth): add OAuth2 authentication
fix(api): resolve user data validation error
docs(readme): update installation instructions
refactor(utils): simplify helper functions
Variable | Description | Default |
---|---|---|
OPENAI_API_KEY | Your OpenAI API key (required) | - |
AI_MODEL | OpenAI model to use | gpt-3.5-turbo |
AI_BASE_URL | Custom API endpoint | https://api.openai.com/v1 |
export OPENAI_API_KEY="sk-..."
"No staged changes found"
# Solution: Stage your changes first
git add .
"OpenAI API key not found"
# Solution: Set your API key
export OPENAI_API_KEY="your-key-here"
"Not a git repository"
# Solution: Make sure you're in a Git repository
git init
"Rate limit exceeded"
# Solution: Wait a moment and try again
# Or upgrade your OpenAI plan
"The changes are too large to analyze"
# Solution: Commit smaller chunks of changes
git add specific-file.js
git-axiom commit
# Or stage specific lines/hunks
git add -p
git-axiom commit
"Maximum context length exceeded"
# Solution: The tool automatically handles large diffs
# But you can also commit changes in smaller parts
git add src/
git-axiom commit
git add tests/
git-axiom commit
"No changes found to analyze" (for branch command)
# Solution: Make some changes to your files first
vim src/example.js
git-axiom branch
"Branch already exists"
# Solution: Use a different branch type or delete existing branch
git branch -D feature/existing-branch
git-axiom branch --type fix
axiom/
βββ index.js # Main CLI entry point
βββ utils/
β βββ git.js # Git operations
β βββ ai.js # OpenAI API integration
β βββ ui.js # User interface helpers
βββ package.json
βββ README.md
- Commander.js - CLI framework
- Axios - HTTP client for API calls
- Inquirer - Interactive prompts
- Ora - Loading spinners
- Chalk - Terminal colors
Feature | Git Axiom | Traditional Commits | Other AI Tools |
---|---|---|---|
AI-Generated Messages | β | β | β |
Smart Branch Naming | β β¨ NEW | β | β |
Conventional Commits | β | β | |
Interactive CLI | β | β | |
Multi-Type Branches | β | β | β |
Error Handling | β | β | |
Free to Use | β | β | β |
Offline Mode | β | β | β |
- Speed: Generates commit messages & branch names in < 3 seconds
- Accuracy: 95%+ relevant commit messages and branch names
- API Usage: Optimized for minimal token consumption
- Memory: < 50MB RAM usage
- Branch Creation: Instant branch creation and switching
For detailed changes, see CHANGELOG.md.
- π Smart Branch Naming - AI-powered branch name generation
- π€ Added
git-axiom branch
command with multiple branch types - π― Support for feature, fix, hotfix, refactor, and docs branches
- π¨ Enhanced UI with beautiful interactive prompts
- π§ Comprehensive test suite and improved documentation
- π Fixed error handling for network timeouts
- π Improved commit message generation accuracy
- π¨ Enhanced UI with better spinner animations
- π Initial release
- β¨ AI-powered commit message generation
- π― Conventional commits support
- π¨ Interactive CLI interface
We welcome contributions! Please read our Contributing Guide for details.
git clone https://.com/Abdiev003/git-axiom.git
cd git-axiom
npm install
npm test
npm run lint
This project is licensed under the ISC License - see the LICENSE file for details.
- OpenAI for providing the GPT API
- Conventional Commits for the commit format specification
- The open-source community for the amazing tools and libraries
- π Report Issues
- π¬ Discussions
- π§ Email: [email protected]
Made with β€οΈ by Ali Abdiyev(https://.com/Abdiev003)