Skip to main content

AI-assisted git diff intelligence and engineering change summary platform for Django and Python projects.

Project description

AIAssist : gitaiflow

Maintained by DjangoPlay Icon DjangoPlay

https://djangoplay.org

Python License AI Git

AI-Assisted Git Intelligence & Engineering Analysis Platform

gitaiflow 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

gitaiflow 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:

https://ollama.com

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 gitaiflow

Verify installation:

gitaiflow --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

gitaiflow \
    --path mailer/

Generates:

change-summary/
├── cache/
├── diff/
├── json/
├── markdown/
└── metadata/

Analyze Single File

gitaiflow \
    --path users/views/ui/logout.py

Generate Detailed Engineering Summary

gitaiflow \
    --path users/views/ui/logout.py \
    --full

Generate Aggregate Summary Only

gitaiflow \
    --path mailer/ \
    --aggregate

Re-Generate Summary From Existing Diff

gitaiflow \
    --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

gitaiflow \
    --path mailer/

Generates:

change-summary/
├── cache/
├── diff/
├── json/
├── markdown/
└── metadata/

Custom Artifact Output Directory

gitaiflow \
    --path mailer/ \
    -o artifacts/

Generates:

artifacts/
├── cache/
├── diff/
├── json/
├── markdown/
└── metadata/

Use Specific Git Remote

gitaiflow \
    --path mailer/ \
    --remote github

Use Specific Base Branch

gitaiflow \
    --path mailer/ \
    --base-branch develop

Override Both Remote And Branch

gitaiflow \
    --path mailer/ \
    --remote upstream \
    --base-branch master

Use Specific Model

gitaiflow \
    --path . \
    --model qwen2.5-coder \
    --size 7b

Skip Additional Paths

gitaiflow \
    --path . \
    --skip migrations legacy tests

Skip Multiple Directories

gitaiflow \
    --path . \
    --skip \
        aiassist/config/ \
        tests/ \
        docs/

Generate Aggregate Summary Only

gitaiflow \
    --path . \
    --aggregate

Artifact Generation

By default, gitaiflow 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 gitaiflow 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

gitaiflow 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:

gitaiflow \
    --path mailer/ \
    --remote github \
    --base-branch develop

If remote or branch does not exist, execution halts safely with validation errors.


Security & Sensitive Data Handling

gitaiflow automatically redacts common sensitive credential patterns from generated diffs.

Current protected patterns include:

  • SECRET_KEY
  • API_KEY
  • PRIVATE_KEY
  • ACCESS_KEY
  • CLIENT_SECRET
  • secret_key
  • api_key
  • private_key
  • access_key
  • client_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

gitaiflow 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:

gitaiflow \
    --path . \
    --compact

Full Engineering Summary

Designed for:

  • architecture reviews
  • senior engineering analysis
  • implementation audits
  • detailed engineering reporting

Example:

gitaiflow \
    --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

gitaiflow \
    --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

contact@djangoplay.org

Actively maintained (updated May 16, 2026)


🌟 Contributing

Pull requests welcome. Follow DRY principles to ensure code quality and maintainability.

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

gitaiflow-0.1.2.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

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

gitaiflow-0.1.2-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

Details for the file gitaiflow-0.1.2.tar.gz.

File metadata

  • Download URL: gitaiflow-0.1.2.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for gitaiflow-0.1.2.tar.gz
Algorithm Hash digest
SHA256 1f42fdf73c644488f779a06335082d03212a47d1b2b4d8c4e6827d318c90c66e
MD5 b775aad8b793b33d92c4638fb2ed78f7
BLAKE2b-256 19b40d96c9666106f03a71bcb96b75e277ba04b9d92587909cc15f26d6c286c7

See more details on using hashes here.

File details

Details for the file gitaiflow-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: gitaiflow-0.1.2-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.15

File hashes

Hashes for gitaiflow-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a48f89731a2834cd9292550639725e30f0c63f96d584aebb6e909bf8ecdee5a7
MD5 88edefb05cbf002963ca3beae152d5cf
BLAKE2b-256 dd49e7278a2b92f570e09952c4e729dbc2996b37f0b19c97c3e4f2ba7df43137

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