AI-assisted git diff intelligence and engineering change summary platform for Django and Python projects.
Project description
AIAssist : gitaiflow
Maintained by
AI-Assisted Git Intelligence & Engineering Analysis Platform
aiassist is a local-first AI-assisted engineering intelligence platform for:
- Git diff analysis
- engineering change summaries
- pull request summaries
- architectural analysis
- Django-aware change detection
- hierarchical diff summarization
The platform combines:
- deterministic Python analysis
- Git intelligence
- local LLM synthesis
- architecture-aware summarization
to generate high-quality engineering summaries from Git changes.
Philosophy
aiassist follows several core principles:
- local-first execution
- privacy-preserving workflows
- deterministic preprocessing
- AI-assisted synthesis
- architecture-aware engineering analysis
- no cloud dependency required
The system intentionally avoids:
- agent framework complexity
- vector databases
- autonomous orchestration
- unnecessary infrastructure
Features
Current Features
- recursive Git diff analysis
- single-file diff analysis
- file-level diff generation
- folder-level aggregate summaries
- compact GitHub-style summaries
- detailed engineering summaries
- aggregate-only summary generation
- Django-aware workflows
- local Ollama integration
- per-file markdown summaries
- aggregate engineering summaries
- GitHub/GitLab remote support
- configurable artifact output directory
- configurable git remote selection
- configurable base branch selection
- configurable model family selection
- configurable model size selection
- configurable path skipping
- local-first execution
- sensitive token filtering
- deterministic preprocessing
- prompt caching for faster execution
- interrupt-safe execution handling
- tracked and untracked file diff support
Prerequisites
1. Install Ollama
Official website:
Verify installation:
ollama --version
2. Pull Recommended Model
ollama pull llama3.2:3b
Alternative recommended models:
ollama pull qwen2.5-coder:7b
ollama pull mistral:7b
3. Start Ollama
ollama serve
Installation
Option 1 — Install from PyPI
pip install aiassist
Verify installation:
aiassist --help
Option 2 — Install from Source
git clone https://gitlab.com/codefleet-labs/aiassist.git
cd aiassist
pip install -e .
For Mac Users
pip install -e ".[dev]"
Quick Start
Analyze Entire Folder
aiassist \
--path mailer/
Generates:
change-summary/
├── cache/
├── diff/
├── json/
├── markdown/
└── metadata/
Analyze Single File
aiassist \
--path users/views/ui/logout.py
Generate Detailed Engineering Summary
aiassist \
--path users/views/ui/logout.py \
--full
Generate Aggregate Summary Only
aiassist \
--path mailer/ \
--aggregate
Re-Generate Summary From Existing Diff
aiassist \
--target logout
Supported CLI Arguments
| Argument | Description |
|---|---|
--path |
File or folder path to analyze |
--target |
Re-generate summary from existing diff |
--aggregate |
Generate aggregate summary only |
--full |
Generate detailed engineering summary |
--remote |
Override git remote name |
--base-branch |
Override git base branch |
--model |
Override model family |
--size |
Override model size |
-o, --output-dir |
Override artifact output root directory |
--skip |
Additional files/directories to skip |
CLI Examples
Default Artifact Output
aiassist \
--path mailer/
Generates:
change-summary/
├── cache/
├── diff/
├── json/
├── markdown/
└── metadata/
Custom Artifact Output Directory
aiassist \
--path mailer/ \
-o artifacts/
Generates:
artifacts/
├── cache/
├── diff/
├── json/
├── markdown/
└── metadata/
Use Specific Git Remote
aiassist \
--path mailer/ \
--remote github
Use Specific Base Branch
aiassist \
--path mailer/ \
--base-branch develop
Override Both Remote And Branch
aiassist \
--path mailer/ \
--remote upstream \
--base-branch master
Use Specific Model
aiassist \
--path . \
--model qwen2.5-coder \
--size 7b
Skip Additional Paths
aiassist \
--path . \
--skip migrations legacy tests
Skip Multiple Directories
aiassist \
--path . \
--skip \
aiassist/config/ \
tests/ \
docs/
Generate Aggregate Summary Only
aiassist \
--path . \
--aggregate
Artifact Generation
By default, aiassist generates artifacts inside:
./change-summary/
relative to the current execution directory.
Generated structure:
change-summary/
└── 2026/
└── 2026-05-16/
└── v0.1.0/
├── cache/
├── diff/
├── json/
├── markdown/
└── metadata/
Artifact directories are grouped by:
- generation year
- generation date
- {app_version}
This allows:
- release-day traceability
- historical summary preservation
- multiple generation runs per day
- isolated summaries across aiassist versions
Directories are automatically:
- created if missing
- reused if existing
- regenerated safely during execution
The system clears only generated runtime artifacts:
diff/markdown/
while preserving:
cache/json/metadata/
This prevents stale summaries while preserving reusable metadata.
Custom output root may be specified using:
-o artifacts/
Git Comparison Strategy
aiassist compares changes against:
<remote>/<base-branch>
Examples:
origin/main
github/main
upstream/develop
gitlab/main
Default values:
remote = origin
base-branch = main
Both may be overridden dynamically:
aiassist \
--path mailer/ \
--remote github \
--base-branch develop
If remote or branch does not exist, execution halts safely with validation errors.
Security & Sensitive Data Handling
aiassist automatically redacts common sensitive credential patterns from generated diffs.
Current protected patterns include:
SECRET_KEYAPI_KEYPRIVATE_KEYACCESS_KEYCLIENT_SECRETsecret_keyapi_keyprivate_keyaccess_keyclient_secret
Sensitive lines are replaced with:
[REDACTED SENSITIVE CONTENT]
The filtering system intentionally avoids false positives for:
- imports
- comments
- variable names like
token_count - helper functions
Generated Artifact Structure
change-summary/
├── cache/
├── diff/
├── json/
├── markdown/
└── metadata/
Generated artifacts include:
| Directory | Purpose |
|---|---|
diff/ |
Generated Git diffs |
markdown/ |
AI-generated markdown summaries |
cache/ |
Cached runtime artifacts |
json/ |
Structured machine-readable outputs |
metadata/ |
Internal execution metadata |
Prompt System
aiassist ships with multiple prompt templates:
- compact summaries
- full engineering summaries
- aggregate summaries
- aggregate engineering summaries
Prompt templates are preloaded into memory during startup for:
- fail-fast validation
- reduced filesystem overhead
- stable long-running execution
Supported Summary Modes
Compact Summary
Designed for:
- PR descriptions
- quick reviews
- GitHub/GitLab summaries
- concise engineering updates
Example:
aiassist \
--path . \
--compact
Full Engineering Summary
Designed for:
- architecture reviews
- senior engineering analysis
- implementation audits
- detailed engineering reporting
Example:
aiassist \
--path . \
--full
Recommended Models
| Model | Usage |
|---|---|
| llama3.2:3b | lightweight default |
| llama3.1:8b | higher-quality summaries |
| qwen2.5-coder:7b | strong code reasoning |
| mistral:7b | fast summarization |
| deepseek-coder:6.7b | code-aware analysis |
Example Large Repository Analysis
aiassist \
--path . \
--target aiassist/ \
--o summary/dir/ \
--remote gitlab \
--model qwen2.5-coder \
--size 7b \
--skip aiassist/config/
Development Setup
Clone repository:
git clone https://gitlab.com/codefleet-labs/aiassist.git
cd aiassist
Install development environment:
pip install -e .[dev]
Run linting:
ruff check .
Run tests:
pytest
PyPI Publishing
Build package:
python -m build
Upload to TestPyPI:
twine upload --repository testpypi dist/*
Upload to PyPI:
twine upload dist/*
Planned AI Provider Support
Future releases will support:
| Provider | Status |
|---|---|
| Ollama | Current Default |
| OpenAI GPT-5 | Planned |
| Claude | Planned |
| Gemini | Planned |
| DeepSeek API | Planned |
| OpenRouter | Planned |
| Azure OpenAI | Planned |
Ollama will remain the default local-first provider.
Versioning
This project follows Semantic Versioning.
0.x → active development
1.x → stable production releases
Current Version
v.0.1.0
License
MIT License.
See LICENSE.
Planned Release Features
See TODO.
👤 Maintainer
DjangoPlay
Actively maintained (updated May 16, 2026)
🌟 Contributing
Pull requests welcome. Follow DRY principles to ensure code quality and maintainability.
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 gitaiflow-0.1.1.tar.gz.
File metadata
- Download URL: gitaiflow-0.1.1.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3a5f66c5a0449adc4323ffbfaaf6a2755b56812a364984db1fc96af13767cc40
|
|
| MD5 |
3efa70f3eed04ba3db27c28eac8379a0
|
|
| BLAKE2b-256 |
518c5c59b0f2e77bcf4b74038b3be61c038b21fc0771ec8e2c63306e9fa6fb0d
|
File details
Details for the file gitaiflow-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gitaiflow-0.1.1-py3-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b5a22f45d5ea366f0f4d2d114eb45be0ab7a5111aaf8d796067ef0c79522840b
|
|
| MD5 |
9c7f7b0fe3faabf9ea934d5983be6e5b
|
|
| BLAKE2b-256 |
a9f085f67ee2ab89973d60f0a4a74b2da989adb8ad92a23396e09dd9aa0b258b
|