omni-dev
An intelligent Git commit message toolkit with AI-powered contextual intelligence. Transform messy commit histories into professional, conventional commit formats with project-aware suggestions.
✨ Key Features
- 🤖 AI-Powered Intelligence: Claude AI analyzes your code changes to suggest meaningful commit messages and PR descriptions
- 🧠 Contextual Awareness: Understands your project structure, conventions, and work patterns
- 🔍 Comprehensive Analysis: Deep analysis of commits, branches, and file changes
- ✏️ Smart Amendments: Safely improve single or multiple commit messages
- 🚀 PR Creation: Generate professional pull requests with AI-powered descriptions
- 📦 Automatic Batching: Handles large commit ranges intelligently
- 🎯 Conventional Commits: Automatic detection and formatting
- 🛡️ Safety First: Working directory validation and error recovery
- ⚡ Fast & Reliable: Built with Rust for memory safety and performance
🚀 Quick Start
Installation
# Install from crates.io
# Install with Nix
# Install with Nix flakes (development)
# Enable binary cache for faster builds (optional)
# Set up Claude API key (required for AI features)
Nix Binary Cache (Optional)
For faster Nix builds, you can use the binary cache:
# Install cachix if you don't have it
# Enable the omni-dev binary cache
# Now Nix installations will use pre-built binaries instead of compiling from source
🎬 See It In Action
Watch omni-dev transform messy commits into professional ones with AI-powered analysis
30-Second Demo
Transform your commit messages and create professional PRs with AI intelligence:
# Analyze and improve commit messages in your current branch
# Before: "fix stuff", "wip", "update files"
# After: "feat(auth): implement OAuth2 authentication system"
# "docs(api): add comprehensive endpoint documentation"
# "fix(ui): resolve mobile responsive layout issues"
# Create a professional PR with AI-generated description
# 🎉 Generates comprehensive PR with detailed description, testing info, and more
📋 Core Commands
🤖 AI-Powered Commit Improvement (twiddle)
The star feature - intelligently improve your commit messages with real-time model information display:
# Improve commits with contextual intelligence
# Process large commit ranges with parallel processing
# Save suggestions to file for review
# Auto-apply improvements without confirmation
🔍 Analysis Commands
# Analyze commits in detail (YAML output)
# Analyze current branch vs main
# Get comprehensive help
🚀 AI-Powered PR Creation
Create professional pull requests with AI-generated descriptions:
# Generate and create PR with AI-powered description
# Create PR with specific base branch
# Save PR details to file without creating
# Auto-create without confirmation
📝 Atlassian Integration
Read, write, and manage JIRA issues and Confluence pages from the command line:
# Authenticate with Atlassian Cloud
# Check authentication status
# Fetch a JIRA issue as markdown
# Fetch as raw ADF JSON
# Push markdown changes back to JIRA
# Interactive edit: fetch, edit in $EDITOR, push
# Search issues with JQL
# Create an issue
# Transition an issue
# Confluence: read, search, create pages
# Convert markdown to ADF JSON (offline)
✏️ Manual Amendment
# Apply specific amendments from YAML file
🔌 MCP Server
omni-dev ships an optional Model Context Protocol server so AI assistants (Claude Desktop, Claude Code, the MCP Inspector, custom agents) can call omni-dev over stdio instead of shelling out to the CLI.
Tools currently exposed:
git_view_commits— YAML commit analysis (mirrorsomni-dev git commit message view)
Resources exposed via URI templates:
| URI template | Returns |
|---|---|
git://repo/commits/{range} |
YAML commit analysis |
jira://issue/{key} |
JIRA issue as JFM |
jira://issue/{key}.adf |
JIRA issue body as ADF |
confluence://page/{id} |
Confluence page as JFM |
confluence://page/{id}.adf |
Confluence page body as ADF |
Install
This adds a second binary, omni-dev-mcp, alongside the regular omni-dev
CLI. The default cargo install omni-dev build is unchanged — no MCP
dependencies are pulled in unless the mcp feature is enabled.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json on
macOS (or %APPDATA%\Claude\claude_desktop_config.json on Windows):
Claude Code
Per-project — create .mcp.json at the repo root:
Or register globally with the Claude Code CLI:
Smoke-test with the MCP Inspector
The Inspector opens a browser UI where you can list tools and resources,
call git_view_commits, and fetch git://repo/commits/HEAD against the
current working directory.
Troubleshooting
- Logs go to stderr. MCP uses stdin/stdout for protocol framing, so tracing output is routed to stderr — tail your client's MCP log pane or run the binary in a terminal to see it.
- Verbose tracing:
RUST_LOG=debug omni-dev-mcpturns on debug-level logs. Module-scoped filters work too, e.g.RUST_LOG=omni_dev::mcp=trace. - Permission errors: the assistant runs
omni-dev-mcpwith its own working directory. Tools that open a git repository use that directory unless an explicitrepo_pathparameter (or a resource URI placing you elsewhere) overrides it. If tool calls fail with "failed to open git repository", confirm the assistant launched the server from inside the repo you expected.
⚙️ Configuration Commands
# Show supported AI models and their specifications
# View model information with token limits and capabilities
|
🧠 Contextual Intelligence
omni-dev understands your project context to provide better suggestions:
Project Configuration
Create .omni-dev/ directory in your repo root:
Scope Definitions (.omni-dev/scopes.yaml)
scopes:
- name: "auth"
description: "Authentication and authorization systems"
examples:
file_patterns:
- name: "api"
description: "REST API endpoints and handlers"
examples:
file_patterns:
Commit Guidelines (.omni-dev/commit-guidelines.md)
- --
- --
🎯 Advanced Features
Intelligent Context Detection
omni-dev automatically detects:
- Project Conventions: From
.omni-dev/,CONTRIBUTING.md - Work Patterns: Feature development, bug fixes, documentation, refactoring
- Branch Context: Extracts work type from branch names
(
feature/auth-system) - File Architecture: Understands UI, API, core logic, configuration changes
- Change Significance: Adjusts detail level based on impact
Automatic Batching
Large commit ranges are automatically split into manageable batches:
# Processes 50 commits in batches of 4 (default)
# Custom concurrency for very large ranges
Command Options
| Option | Description | Example |
|---|---|---|
--use-context |
Enable contextual intelligence | --use-context |
--concurrency N |
Number of parallel commit processors (default: 4) | --concurrency 3 |
--no-coherence |
Skip cross-commit coherence refinement pass | --no-coherence |
--context-dir PATH |
Custom context directory | --context-dir ./config |
--auto-apply |
Apply without confirmation | --auto-apply |
--save-only FILE |
Save to file without applying | --save-only fixes.yaml |
--edit |
Edit amendments in external editor | --edit |
📖 Real-World Examples
Before & After
Before: Messy commit history
e4b2c1a fix stuff
a8d9f3e wip
c7e1b4f update files
9f2a6d8 more changes
After: Professional commit messages
e4b2c1a feat(auth): implement JWT token validation system
a8d9f3e docs(api): add comprehensive OpenAPI documentation
c7e1b4f fix(ui): resolve mobile responsive layout issues
9f2a6d8 refactor(core): optimize database query performance
Workflow Integration
# 1. Work on your feature branch
# 2. Make commits (don't worry about perfect messages)
# 3. Before merging, improve all commit messages
# 4. Create professional PR with AI-generated description
# ✅ Professional commit history + comprehensive PR description ready for review
Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
Development Setup
-
Clone the repository:
-
Install Rust (if you haven't already):
| -
Build the project:
-
Run the build script (includes tests, linting, and formatting):
Or run individual steps:
📚 Documentation
- User Guide - Comprehensive usage guide with examples
- Configuration Guide - Set up contextual intelligence
- API Documentation - Rust API reference
- Troubleshooting - Common issues and solutions
- Examples - Real-world usage examples
- Release Process - For contributors
🔧 Requirements
- Rust: 1.70+ (for installation from source)
- Claude API Key: Required for AI-powered features
- Get your key from Anthropic Console
- Set:
export CLAUDE_API_KEY="your-key"
- AI Model Selection: Optional configuration for specific Claude models
- View available models:
omni-dev config models show - Configure via
~/.omni-dev/settings.jsonorANTHROPIC_MODELenvironment variable - Supports standard identifiers and Bedrock-style formats
- View available models:
- Atlassian Credentials (for JIRA/Confluence features): Instance URL, email, and
API token
- Configure with:
omni-dev atlassian auth login
- Configure with:
- Git: Any modern version
🐛 Debugging
For troubleshooting and detailed logging, use the RUST_LOG environment variable:
# Enable debug logging for omni-dev components
RUST_LOG=omni_dev=debug
# Debug specific modules (e.g., context discovery)
RUST_LOG=omni_dev::claude::context::discovery=debug
# Show only errors and warnings
RUST_LOG=warn
See Troubleshooting Guide for detailed debugging information.
Changelog
See CHANGELOG.md for a list of changes in each version.
License
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.
Support
- 📋 Issues
- 💬 Discussions
Acknowledgments
- Thanks to all contributors who help make this project better!
- Built with ❤️ using Rust