Skip to main content

AI-powered Git copilot — talk to Git in plain English

Project description

Ace — AI-Powered Git Copilot

Ace is an intelligent terminal tool that understands what you want to do with Git and does it for you. Talk to Git in plain English — Ace figures out the right git commands, explains what it's doing, and executes safely.


🚀 Installation

Install in editable mode globally/user-wide:

python -m pip install --user -e D:\Ace

Note: Make sure your Python scripts path (e.g., AppData\Roaming\Python\Python3xx\Scripts) is added to your Windows PATH environment variable.


⚙️ Configuration

Configure your AI provider (NVIDIA NIM or local Ollama) by running:

ace setup

This will save your preferences to ~/.ace/config.toml.


🛠️ Usage & Commands

🧠 Natural Language Input

Run anything you want to do directly:

ace "stage all changes"
ace "undo my last commit but keep changes"
ace "create feature branch named login"

📋 Command Reference

Command Shorthand Description
ace add <files> ace stage Stage files (git add) for commit.
ace commit Generate a smart Conventional Commit message and commit.
ace review AI code review of staged/unstaged changes.
ace resolve AI-assisted interactive merge conflict resolution.
ace changelog Generate markdown release notes since the last tag.
ace stats Enhanced visual repo overview, extension counts, and lines altered.
ace explain <cmd> Explain Git commands or concepts in plain English.
ace undo Context-aware smart undo (analyzes Git state to safely revert last action).
ace pr Generate a markdown Pull Request description comparing branches.
ace search <query> Semantic search across repository commits.
ace ignore <query> Generate and append rules to .gitignore.
ace dash Launch the interactive terminal dashboard TUI.
ace config View the active configuration settings.

📁 Codebase Directory & File Functions

Here is the list of files in the project and what each one does:

📍 Core CLI & Setup

  • pyproject.toml: Configures the project, entry points (ace = ace.cli:app), dependencies (typer, rich, gitpython, langchain), and build systems.
  • ace/cli.py: The entrypoint of the Typer application. Defines all CLI commands, parses command line flags, and routes calls.

⚙️ Core Modules (ace/core/)

  • ace/core/config.py: Manages reading, writing, and parsing the user's TOML settings file (config.toml).
  • ace/core/git_ops.py: Wraps the GitPython library to perform programmatic Git commands (e.g. status, diff, log, commit, push).
  • ace/core/safety.py: Classifies Git commands into safety levels (Safe, Moderate, Destructive) and guards against destructive operations.
  • ace/core/context.py: Collects repository-wide details (branch, diffs, untracked files) to provide context for AI requests.

🧠 AI Engine (ace/ai/)

  • ace/ai/llm_factory.py: Instantiates ChatNVIDIA (cloud) or ChatOllama (local) depending on configuration settings.
  • ace/ai/intent_parser.py: Translates the user's natural language input into Git commands.
  • ace/ai/commit_generator.py: Analyzes staged diffs and generates Conventional Commit messages.
  • ace/ai/code_reviewer.py: Analyzes unstaged or staged diffs to locate bugs, style flaws, security issues, and rate code.
  • ace/ai/conflict_resolver.py: Parses file-level merge conflicts and suggests correct merges.
  • ace/ai/changelog_generator.py: Collates commit messages and formats release logs.
  • ace/ai/history_analyzer.py: Runs semantic searches across log files and computes repository overview metrics.
  • ace/ai/pr_drafter.py: Drafts Pull Request titles and bodies comparing branch changes.
  • ace/ai/gitignore_generator.py: Generates .gitignore syntax templates.
  • ace/ai/prompts/: Houses all prompt templates for the LLMs (intent, commit, review, conflict, explain, undo, pr, search, ignore).

🎨 User Interface (ace/ui/)

  • ace/ui/display.py: Directs Rich panel printouts, warning/error panels, and load spinners.
  • ace/ui/themes.py: Houses colors, styling, and markdown rules.
  • ace/ui/prompts.py: Handles keyboard selection options (e.g., commit/review prompts).
  • ace/ui/dashboard.py: Implements the interactive terminal dashboard (TUI) showing branch states and command routing menus.

🔧 Utilities (ace/utils/)

  • ace/utils/json_utils.py: Extracts and parses clean JSON structures from Markdown code blocks.
  • ace/utils/diff_parser.py: Splits unified diff files into per-file chunks.
  • ace/utils/conflict_parser.py: Parses git conflict blocks inside file lines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ace_git_copilot-0.1.0.tar.gz (48.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ace_git_copilot-0.1.0-py3-none-any.whl (56.3 kB view details)

Uploaded Python 3

File details

Details for the file ace_git_copilot-0.1.0.tar.gz.

File metadata

  • Download URL: ace_git_copilot-0.1.0.tar.gz
  • Upload date:
  • Size: 48.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for ace_git_copilot-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e68b09d62003c214736ac728910e72ba6f324f1cf2e4987eeb925998f55ddfce
MD5 6df3d4bd4428b24093a50b03a9811341
BLAKE2b-256 70e63e29cd708642a35b8e28d910cc62a91ce712974ff5d6cc0f3668af84bde6

See more details on using hashes here.

File details

Details for the file ace_git_copilot-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ace_git_copilot-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 31a70b9e61bed36aeaa1733b6282d99ca9a3ad33eb5e45f28b81234b67118499
MD5 8373863196cc7bdd23a0029b0339a535
BLAKE2b-256 0543df38da221eb1ccec2cbc97c46433ef04deb341407541dfbb7bc662b38218

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page