AI-powered Git copilot — talk to Git in plain English
Project description
Ace — AI-Powered Git Copilot
Author: Jachin Samuel jachinsamuel007@gmail.com
█████╗ ██████╗ ███████╗
██╔══██╗ ██╔════╝ ██╔════╝
███████║ ██║ █████╗
██╔══██║ ██║ ██╔══╝
██║ ██║ ╚██████╗ ███████╗
╚═╝ ╚═╝ ╚═════╝ ╚══════╝
Ace is an intelligent command-line tool that brings AI assistance directly to your Git workflow. Talk to Git in plain English — Ace translates your intents into Git commands, explains what it is doing, and runs them safely. It also features a fully interactive terminal user interface (TUI) dashboard to help manage your repositories with ease.
Features
- Natural Language Git Commands: Translate commands like "undo my last commit but keep changes" or "create a branch login-page" into clean, standard Git actions.
- AI-Powered Commits: Analyzes staged diffs and generates Conventional Commit messages automatically.
- Automated Code Review: Rates code quality and points out bugs, security flaws, or styling issues inside staged or unstaged diffs.
- Merge Conflict Resolution: Interactively walks you through conflict blocks and suggests correct merges.
- Rich Repo Stats and Changelogs: Instantly computes repository statistics (commits, additions, deletions, file counts) and generates markdown release notes since the last tag.
- Semantic Commit Search & Checkout: Search commits by natural language queries and interactively inspect diffs, checkout commits, or create branches.
- Interactive TUI Dashboard: Run
ace dashto launch a terminal interface showing current status, branch info, workspace repository listings, and interactive menus. - Repository Health Diagnostics: Run
ace doctorto run repository health checks (detached heads, locks, large files) and generate step-by-step AI recovery advice. - Smart Git Hooks: Run
ace hook installto register pre-commit code review checks and prepare-commit-msg message drafting. - AI Auto-Squashing & Rebasing: Run
ace squashto automatically analyze branch commits and run automated interactive rebases. - Safety Features: Classifies actions into safe, moderate, or destructive levels, and requests confirmation before running destructive operations.
Installation
For Python command-line applications like Ace, it is highly recommended to install using pipx. pipx automatically installs the application in an isolated environment and manages your system PATH so the executable works globally without conflict.
Option A: Install via pipx (Recommended)
-
Install pipx and configure your system PATH (only needs to be done once):
pip install pipx pipx ensurepath
(Note: If
pipx ensurepathmodified your path, close your current terminal window and open a new one to apply). -
Install Ace:
pipx install ace-git-copilot
-
Run it directly:
ace dash
Option B: Install via standard pip (Alternative)
You can also install Ace globally using standard pip:
pip install ace-git-copilot
Note: If you run into a command not found error, you can bypass your system PATH and run the tool directly through Python module execution:
python -m ace dash
Configuration and Setup
Run the built-in configuration wizard to select your AI model provider:
ace setup
Ace saves your configuration file to ~/.ace/config.toml. It supports the following AI model providers:
1. NVIDIA NIM API (Cloud)
Uses cloud-hosted high-performance models.
- You will need an NVIDIA developer API key. Get one for free at NVIDIA build.
- Default model:
meta/llama-3.3-70b-instruct
2. Ollama (Local Models)
For a 100% private, offline, and free experience.
- Ensure Ollama is installed and running on your system.
- Default model:
qwen2.5-coder:7b - If the selected model is not downloaded yet, Ace will automatically pull it for you during setup.
3. OpenAI
Uses OpenAI GPT models.
- You will need an OpenAI API key.
- Default model:
gpt-4o-mini
4. Anthropic
Uses Anthropic Claude models.
- You will need an Anthropic API key.
- Default model:
claude-3-5-sonnet-latest
5. Custom OpenAI-Compatible
Allows using any custom endpoint that supports the OpenAI API schema (e.g. Groq, OpenRouter, Together AI).
- You will need the provider's API key and custom API base URL (e.g.
https://api.groq.com/openai/v1). - Default model:
custom-model
Usage
Natural Language Mode
Run natural language requests directly in quotes:
ace "stage everything and commit with a message about authentication"
ace "undo my last commit but keep the files"
ace "switch to a new branch called design-updates"
Command-Line Toolchain
Ace has dedicated subcommands for specific tasks. Here is the complete command list:
| Command | Shorthand | Description |
|---|---|---|
ace setup |
— | Launch the initial setup wizard to configure AI models. |
ace stage [files] |
ace add |
Stage specific files or all untracked changes. |
ace commit |
— | Generate Conventional Commit messages from diffs and commit. |
ace review |
— | Run code review on staged, unstaged, or branch changes. |
ace resolve |
— | Step-by-step interactive merge conflict resolver. |
ace explain <query> |
— | Explain complex Git commands or repository errors. |
ace doctor |
— | Run repository diagnostics and generate step-by-step AI recovery recipes. |
ace hook <action> |
— | Install or uninstall pre-commit and prepare-commit-msg Git hooks. |
ace stats |
— | Rich visualization of repo statistics, extension breakdowns, and history. |
ace changelog |
— | Compile release changelogs since the last tag. |
ace pr |
— | Draft a Markdown pull request title and description. |
ace search <query> |
— | Semantically search commit history with interactive checkout options. |
ace squash |
— | Automatically analyze commit history and run AI-guided interactive rebases. |
ace ignore <rule> |
— | Generate and append standard templates to .gitignore. |
ace undo |
— | Safely revert the last action after checking repository status. |
ace workspace |
ace ws |
Monitor status of multiple repositories and navigate between them. |
ace dash |
— | Launch the interactive repository management console (TUI). |
ace config |
— | Print out active configuration settings. |
ace help |
— | Show user guide and help information on how to use Ace. |
Interactive Terminal Dashboard (TUI)
Launch the repository dashboard by running:
ace dash
The dashboard features:
- A start-up logo.
- Active branch info, tracking status, and repository charts.
- Interactive shortcuts for one-key commits, reviews, undos, and configuration management.
License
Distributed under the MIT License. See LICENSE for more details.
Changelog
v0.3.8 — Emoji Stripping from Git History (2026-07-14)
- Implemented automatic Unicode emoji stripping for all Git commit messages retrieved via
GitOps.get_log. - Ensured history query summaries, rebase lists, and dashboard commit tables are completely clean and emoji-free.
v0.3.7 — UI Status Icons Modernization (2026-07-14)
- Replaced clunky double-character ASCII status indicators (
>>,**,!!,EE) with clean, modern Unicode status icons (›,✔,⚠,✘). - Updated confirm prompts, severity warnings, and code review listings to use the new icons for a clean, consistent terminal interface.
v0.3.6 — Merge/Rebase Conflict Planning Fix (2026-07-12)
- Enhanced repository context builder to check for active unmerged files in the index, distinguishing between resolved and unresolved conflict states.
- Updated AI intent guidelines to prevent the planner from incorrectly suggesting
git merge --abortwhen conflicts are already resolved and ready to be finalized.
v0.3.5 — Empty Diff Handling (2026-07-11)
- Improved warning panel message and title when committing empty files or mode changes to prevent confusing users when files are already staged.
v0.3.4 — Workspace Management (2026-07-11)
- Added new
workspacecommand (aliasws) to scan, monitor, and navigate multiple repositories. - Shows active branch, staged/unstaged/untracked file counts, and local upstream sync offsets in a Rich Table.
- Supports interactive actions to open the TUI dashboard, spawn a nested shell, or run copy-paste commands inside any chosen repository.
v0.3.3 — Stability & Resilience (2026-07-04)
- Implemented streaming progress and download percentages for Ollama model pulls to prevent thread hangs.
- Added atomic file saves and rollback backups for merge conflict resolutions and config modifications to prevent data corruption.
- Fixed merge/rebase detection in git worktrees and submodules by resolving the authoritative
git_dirdynamically. - Added
shlexcommand splitting to safely parse and execute quoted arguments in Git commands. - Created python module entry point (
python -m ace) for nested execution support.
v0.3.2 — Windows Compatibility & E2E Fixes (2026-07-01)
- Resolved Windows-specific UTF-8 encoding issues in E2E tests and log parsers.
- Fixed subprocess natural language command execution paths to execute nested ace commands through Python interpreter contexts.
- Refactored CLI error panel formatting to match expected exception names.
v0.3.1 — Patch (2026-06-30)
- Fixed invisible key labels (
[c],[r], etc.) in the dashboard and search menus caused by Rich markup tag conflicts. - Fixed
[Y/n]confirmation prompt rendering invisibly.
v0.3.0 — UI Polish (2026-06-30)
- Rewrote all UI output modules (
display.py,prompts.py,dashboard.py,themes.py) for a polished, professional look. - Removed all unprofessional emojis; replaced with clean ASCII status symbols (
>>,**,!!,EE). - Dashboard panels now use consistent
ROUNDEDborders, colour-coded file lists (+staged,~unstaged,?untracked), and a styled commit history table. - Execution plan table uses
SIMPLE_HEADstyle with colour-highlightedgitandacecommand prefixes. - Commit message panel shows character count badge coloured green/amber/red relative to the 72-char limit.
- AI code review score rendered as a styled badge based on score range.
- Added
[tool.ruff]configuration to exclude.agents/scratch folder from lint checks.
v0.2.9 — Metadata & Build Fix (2026-06-30)
- Fixed broken
pyproject.tomlTOML syntax (invalid inlineurlstable). - Added full
authorsand[project.urls]metadata visible on PyPI.
v0.2.6 — Startup Optimisation (2026-06-21)
- Implemented lazy-loading for all heavy LangChain imports — CLI startup under 200 ms.
- Added
ace switchcommand for switching between sibling repositories from the dashboard.
v0.2.3 — Feature Expansion (2026-06-09)
- Added
ace doctor,ace hook, andace squashcommands. - Comprehensive E2E test suite added under
tests/e2e/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ace_git_copilot-0.3.8.tar.gz.
File metadata
- Download URL: ace_git_copilot-0.3.8.tar.gz
- Upload date:
- Size: 114.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
265eb2c74caab41404132471cdbbac9c9237151b4a64090885a2be3e9cff8ba6
|
|
| MD5 |
9dffb2ecc7366a7bae1b1f8d159d664c
|
|
| BLAKE2b-256 |
c1de6ac7a657b3e0b6261a2167e007fc0e6227be2d2da310df0ecaa75ace7d26
|
File details
Details for the file ace_git_copilot-0.3.8-py3-none-any.whl.
File metadata
- Download URL: ace_git_copilot-0.3.8-py3-none-any.whl
- Upload date:
- Size: 78.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8a124785b225b74f281379a5be73db942f0da7d7ed652f67e505ef8dd3cf11c
|
|
| MD5 |
2571e8a2510b1ea5b067c4fbe3b523fb
|
|
| BLAKE2b-256 |
fd5409ac42a942167194b56c31916704aa9432ae757fc6589e9859e89cac78f1
|