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

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:

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

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

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.0.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.0-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gitaiflow-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 b109471f64021b9c8f823d774e64074168443a3f1f6d5d17e31ef9efa88e810c
MD5 bb34c2fb78e04b9d33e5b88564c5b586
BLAKE2b-256 b2250389c4f79f6a1d8c767599d150c7cc56a53affdf2bf971b1eb2bc76664d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gitaiflow-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 efb03d41190298c608c5cdca7b6ce2f6bc28bfedf260581100b2bbf6ebdbd365
MD5 ea5bbdfcae53e9b5643cc6dc66f8696b
BLAKE2b-256 e72a72ea74d3bdddd5b9d4bd496220351ca15864943267b8fedce7a9961bed52

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