Package Exports
- @cirrusinvicta/ai-commit-toolkit
- @cirrusinvicta/ai-commit-toolkit/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@cirrusinvicta/ai-commit-toolkit) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
๐ค AI Commit Toolkit
One-command setup for AI-powered conventional commits with OpenAI integration, automated versioning, and seamless deployment workflows.
โก Quick Start
# Navigate to your project
cd your-project
# Install locally (recommended for customization)
npm install --save-dev @cirrusinvicta/ai-commit-toolkit
# Setup AI commit toolkit
npx ai-commit-toolkit setup
# Set your OpenAI API key
export OPENAI_API_KEY="your-api-key-here"
# Start using AI-powered commits
git add .
git commit # AI generates your commit message automatically!๐ฏ What You Get
- โ Intelligent AI commit message generation using OpenAI GPT-4o-mini with comprehensive change analysis
- โ
Smart file filtering automatically excludes
node_modules/,package-lock.json, and other noise - โ Multi-file change handling generates cohesive messages for complex commits with multiple files
- โ Conventional commit format enforcement with commitlint integration
- โ Consistent scope mapping system with predefined scopes for features, technical areas, and cross-cutting concerns
- โ Husky hooks integration for seamless git workflow automation
- โ Centralized configuration system for easy customization and team consistency
- โ Accurate length validation correctly validates subject line length (not total message)
- โ Semantic versioning support with automated releases
- โ Robust fallback mechanisms when AI is unavailable
- โ Comprehensive testing suite with 35+ validation tests
๐ฆ Installation
Project-Specific Installation (Recommended)
# Navigate to your project directory
cd your-project
# Install as a dev dependency
npm install --save-dev @cirrusinvicta/ai-commit-toolkit
# Setup the toolkit in your project
npx ai-commit-toolkit setupWhy Local Installation?
- โ Project-specific configuration - Each project can have customized AI prompts and settings
- โ Version consistency - Team members use the same toolkit version
- โ
Better customization - Edit
config/ai-prompts.confto tailor AI behavior for your project - โ No global conflicts - Avoid version conflicts between different projects
Global Installation (Alternative)
npm install -g @cirrusinvicta/ai-commit-toolkit
ai-commit-toolkit setup --type generic # or ansible, vue, reactNote on Project Types: Currently, all project types (
generic,ansible,vue,react) use identical configurations and templates. The--typeparameter is provided for future extensibility when project-specific customizations are added. For now, using any type will result in the same setup.
๏ฟฝ Updating
Quick Update (Recommended)
# Update package and preserve your customizations
npm update @cirrusinvicta/ai-commit-toolkit
npx ai-commit-toolkit setupโ
Safe: Preserves all your custom prompts and configurations
โ
Automatic: Adds new features without manual intervention
Reset to Latest (with backup)
# Reset everything to latest defaults with backup
npx ai-commit-toolkit setup --force --backupโ ๏ธ Note: Creates backup files, overwrites configurations
๐ Detailed Instructions: See Update Workflow Guide for comprehensive update scenarios and troubleshooting.
๏ฟฝ๐ ๏ธ Usage
Automated Usage (Recommended)
# Make your changes
git add .
# Commit with AI (hook automatically generates message)
git commit
# โจ Editor opens with AI-generated conventional commit messageManual AI Generation
# Generate and commit in one step
npx ai-commit
# Interactive helper with guidance
npx ai-commit-helper
# Test your setup
npx ai-commit-test๐ท๏ธ Scope Mapping & Consistency
The toolkit includes a comprehensive scope mapping system to ensure consistent commit messages across your team:
Quick Scope Reference
# View all available scopes
npx ai-commit-toolkit scopes
# View specific categories
npx ai-commit-toolkit scopes --category features
# Interactive scope helper
npm run ai-commit-scopesExample Scope Usage
# Feature areas with hierarchical scopes
feat(mail.allow-block-lists): add search functionality to Allow/Block Lists page
feat(dns.policies): implement custom filtering rules
feat(reports.email-traffic): add real-time monitoring dashboard
# Cross-cutting concerns
chore(a11y): add aria labels to form inputs on settings page
feat(mobile): improve touch navigation for dashboard
perf(api): optimize database queries for better response times
# Technical improvements
fix(ui): resolve button alignment issues in mail interface
docs(api): update authentication endpoint documentation
test(auth): add integration tests for multi-factor authenticationPredefined Scope Categories
- ๐ฏ Feature Areas:
mail,dns,reports,settings,auth,billing,dashboard,admin - โ๏ธ Technical Areas:
api,ui,db,perf,security,infra,docs,tests - ๐ Cross-cutting:
a11y,i18n,mobile,seo,analytics,monitoring
๐ Detailed Guide: See docs/SCOPE_MAPPING.md for comprehensive scope mapping documentation.
๐งช Testing
# Comprehensive validation (35+ tests total)
npm test
# Individual test suites
npm run test:config # Configuration system (23 tests)
npx ai-commit-test # Basic validation (12 tests)
# Test with actual commit generation
npx ai-commit-test --create-test-fileโ๏ธ Configuration
The AI Commit Toolkit uses a centralized configuration system for easy customization.
Project Types
The toolkit supports different project types via the --type parameter:
generic(default) - Universal configuration suitable for any projectansible- For Ansible playbooks and rolesvue- For Vue.js applicationsreact- For React applications
Current Status: All project types currently use identical configurations. The framework exists for future expansion when project-specific templates and prompts are added.
๐ Recent Improvements
Enhanced AI Commit Generation
- Comprehensive Change Analysis: No more truncated diffs - AI now sees full context of your changes
- Smart Multi-File Handling: Generates cohesive messages for complex commits with many files
- Intelligent File Filtering: Automatically excludes noise files like
node_modules/andpackage-lock.json - Accurate Length Validation: Correctly validates only the subject line length (72 chars) instead of total message
- Better Commit Categorization: Improved logic for choosing appropriate conventional commit types and scopes
Example: Before vs After
Before (limited context):
chore(husky): add commit-msg and prepare-commit-msg hooks
โ ๏ธ Warning: Message exceeds 100 characters (false positive)After (full context):
chore(setup): initialize AI commit toolkit
- Add Husky hooks for commit message validation
- Configure commitlint for conventional commits
- Create environment and configuration files
- Install project dependencies and scriptsAI Prompts Configuration
After setup, all AI prompts and settings are stored in config/ai-prompts.conf:
# Main AI commit generation prompt
AI_COMMIT_PROMPT="Generate a conventional commit message..."
# OpenAI API Configuration
OPENAI_MODEL="gpt-4o-mini"
OPENAI_MAX_TOKENS=100
OPENAI_TEMPERATURE=0.3
# File exclusion patterns (automatically filtered from AI context)
AI_COMMIT_EXCLUDE="node_modules/ package-lock.json .env"
# Git ignore patterns (what should never be committed)
# Note: package-lock.json is NOT excluded - it should be committed for reproducible builds
GITIGNORE_EXCLUDE="node_modules .env"
# Commit message validation
MAX_COMMIT_LENGTH=100
WARN_COMMIT_LENGTH=72Customizing Prompts
To customize the AI prompts for your project:
- After setup: Edit
config/ai-prompts.confin your project root - Modify prompts: Update
AI_COMMIT_PROMPTto match your project's style and requirements - Adjust exclusions: Add patterns to
AI_COMMIT_EXCLUDEto filter out files you don't want in AI context - Fine-tune settings: Change OpenAI model, token limits, or validation rules
- Test changes: Run
npx ai-commit-testto validate your configuration
Example Customizations:
# For a React project
AI_COMMIT_EXCLUDE="node_modules/ package-lock.json .env build/ dist/"
# For more detailed messages
OPENAI_MAX_TOKENS=150
OPENAI_TEMPERATURE=0.4
# For stricter length limits
MAX_COMMIT_LENGTH=72
WARN_COMMIT_LENGTH=60๐ก๏ธ Configuration Protection & Updates
The AI Commit Toolkit automatically protects your custom configurations during package updates:
Safe Updates (Default)
# Update the package
npm update @cirrusinvicta/ai-commit-toolkit
# Run setup - preserves your customizations
npx ai-commit-toolkit setupWhat happens:
- โ Your custom prompts and settings are preserved
- โ New configuration options are automatically added
- โ Scripts are updated to the latest version
- โ No user intervention required
Force Update with Backup
# Reset to defaults with backup
npx ai-commit-toolkit setup --force --backupWhat happens:
- ๐ Creates timestamped backup files (
.backup.timestamp) - ๐ Overwrites all configurations with latest templates
- ๐พ Allows manual recovery from backups if needed
Available Options
| Option | Description |
|---|---|
--force |
Overwrite existing configuration files |
--backup |
Create backups before overwriting |
--no-skip-existing |
Process all files (don't skip existing) |
Update Workflow Example
# Step 1: Update package
npm update @cirrusinvicta/ai-commit-toolkit
# Step 2: Safe update (preserves customizations)
npx ai-commit-toolkit setup
# If you want to reset everything:
npx ai-commit-toolkit setup --force --backup
# Check what changed
git diff config/ai-prompts.confFor detailed update workflows and troubleshooting, see docs/UPDATE_WORKFLOW.md.
Environment Variables
Required:
OPENAI_API_KEY: Your OpenAI API key
Optional:
OPENAI_MODEL: Override the default model (default: gpt-4o-mini)OPENAI_MAX_TOKENS: Override token limit (default: 100)
๐ Support
- ๐ Documentation
- ๐ค Contributing Guide
- ๐ Issue Tracker
๐ค Contributing
We welcome contributions! Please see our Contributing Guide for details on:
- Development setup and workflow
- Coding standards and best practices
- Testing requirements and procedures
- Release process and versioning
- How to submit bug reports and feature requests
๐ License
MIT License - see LICENSE file for details.
Made with โค๏ธ by Cirrus Invicta
Transform your commit workflow with intelligent AI that understands your full codebase context and generates meaningful, accurate commit messages for even the most complex changes.