ExecDiff Git AI
AI Impact Assessment for git changes - understand what your AI copilot changed before you commit it.
Intro
ExecDiff Git AI is a Python CLI tool that helps developers understand the scope and implications of code changes made by AI coding assistants (like GitHub Copilot, Cursor, or Replit AI). It analyzes git diffs and extracts modified symbols (functions, classes, variables).
100% Local - No Cloud Required
- ✅ No code is uploaded
- ✅ No cloud calls required
- ✅ No telemetry
- ✅ Works offline with optional local LLM (Ollama)
- ✅ All analysis happens on your machine
Features & Privacy
- Local-first: Runs entirely on your machine with no cloud calls or telemetry
- Fast Assessment: Quick symbol detection and impact analysis (always available)
- Optional AI Mode: Deep business-facing analysis using local Ollama (opt-in)
- CLI-first: Simple commands
execdiff-git assessandexecdiff-git ai-assess - Zero Dependencies: Non-AI mode works with just Python and Git
- Privacy-focused: No data sent to external servers
Installation
Prerequisites (Required)
- Python 3.8+
- Git
Install Package
pip install execdiff-git-ai
Optional: Ollama for AI Mode
For AI-powered analysis, optionally install:
| Component | Size | Purpose |
|---|---|---|
| Ollama | ~50MB | Local AI runtime |
| tinyllama model | ~637MB | AI analysis model |
Total: ~700MB (one-time, optional)
Install Ollama:
macOS:
brew install ollama
macOS/Linux:
curl -fsSL https://ollama.ai/install.sh | sh
Or download from: https://ollama.ai/
Initial Setup
-
Make your code change (or let your AI copilot make changes)
-
Stage your changes with git
git add . # For new files, you may need: git add -N .
-
You're ready to use ExecDiff Git AI!
Quick Assessment (No AI)
Fast, local symbol detection - no setup required.
Usage
execdiff-git assess
Example Output
==============================
📊 File Change Assessment
==============================
File +Lines -Lines
------------------------------------------------
test_feature.py 14 0
--------------------------------
================================================================================
📋 Impact Summary
================================================================================
Symbol Change Type Impact
--------------------------------------------------------
[NEW] authenticate_user function added LOW
[NEW] create_session function added LOW
[NEW] validate_token function added LOW
✅ Assessment complete!
AI-Powered Assessment
Deep analysis with business-facing summaries using local Ollama (requires optional Ollama installation).
Usage
execdiff-git ai-assess
The tool will:
- Check if Ollama is installed
- Ask permission before downloading AI model (~637MB)
- Start Ollama server automatically
- Analyze each change individually
- Get overall business impact summary
- Stop Ollama server when done
Example Output
==============================
📊 File Change Assessment
==============================
File +Lines -Lines
------------------------------------------------
test_feature.py 14 0
--------------------------------
================================================================================
📋 Impact Summary
================================================================================
Symbol Change Type Impact
--------------------------------------------------------
[NEW] authenticate_user function added LOW
[NEW] create_session function added LOW
[NEW] validate_token function added LOW
================================================================================
🤖 AI Impact Assessment
================================================================================
🚀 Starting Ollama server...
⏳ Waiting for Ollama server to start...
✅ Ollama server is ready!
🧠 Analyzing 3 changes:
• [NEW] authenticate_user... ✓
Handles user login and credential verification.
• [NEW] create_session... ✓
Establishes user sessions after authentication.
• [NEW] validate_token... ✓
Verifies tokens are valid and not expired.
• Overall impact... ✓
Overall:
• System now provides complete authentication workflow with secure token validation.
Changes:
• [NEW] authenticate_user: Handles user login and credential verification.
• [NEW] create_session: Establishes user sessions after authentication.
• [NEW] validate_token: Verifies tokens are valid and not expired.
🛑 Ollama server stopped
✅ Assessment complete!
Symbol Change Types
Each symbol is labeled with its change type:
- [NEW] - Newly added function or class
- [MODIFIED] - Existing function or class that was changed
- [DELETED] - Function or class that was removed
How It Works
- Reads git diff - Gets all staged changes
- Extracts symbols - Finds functions, classes, and variables
- Detects changes - Identifies NEW, MODIFIED, or DELETED code
- Analyzes impact - AI provides business-facing summaries (AI mode only)
Development
git clone https://github.com/anupmoncy/execdiff-git-ai.git
cd execdiff-git-ai
pip install -e .
execdiff-git assess
Library Usage
from execdiff_git_ai.agent import run_agent, run_agent_with_ai
# Non-AI mode
run_agent()
# AI mode
run_agent_with_ai()
License
Apache-2.0
Author
Anup Moncy (n93181165@gmail.com)
Contributing
Contributions welcome! Please open an issue or submit a pull request.
Note: Early-stage project. API and behavior subject to change.
Metadata
Release files for execdiff-git-ai 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| execdiff_git_ai-1.0.3.tar.gz | 12.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| execdiff_git_ai-1.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.1 kB
Release files / execdiff_git_ai-1.0.3.tar.gz
| Download URL | execdiff_git_ai-1.0.3.tar.gz |
|---|---|
| Size | 12.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d2bb1476613b5718a73ab6e098fbfd26037720e42de8b07733e4845b0b44177b
|
|
BLAKE2b-256 checksum How to use checksums |
831747b08b912ba8c8abad3c52a0d8f97c61832ca8ce4e8273ca17714c6478da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Release files / execdiff_git_ai-1.0.3-py3-none-any.whl
| Download URL | execdiff_git_ai-1.0.3-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b7b4021a706cc2df32d928cd08a6e890b7ecf2bc3e87ce485242d7f3c6832f2
|
|
BLAKE2b-256 checksum How to use checksums |
b39e2a57070638eb831ac969ff83651c33a763f4f9ce08b3d09ab77a2a0ba36d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.6
|
Security for execdiff-git-ai 1.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.