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.1.tar.gz (23.1 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.1-py3-none-any.whl (25.5 kB view details)

Uploaded Python 3

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

Hashes for gitaiflow-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3a5f66c5a0449adc4323ffbfaaf6a2755b56812a364984db1fc96af13767cc40
MD5 3efa70f3eed04ba3db27c28eac8379a0
BLAKE2b-256 518c5c59b0f2e77bcf4b74038b3be61c038b21fc0771ec8e2c63306e9fa6fb0d

See more details on using hashes here.

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

Hashes for gitaiflow-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b5a22f45d5ea366f0f4d2d114eb45be0ab7a5111aaf8d796067ef0c79522840b
MD5 9c7f7b0fe3faabf9ea934d5983be6e5b
BLAKE2b-256 a9f085f67ee2ab89973d60f0a4a74b2da989adb8ad92a23396e09dd9aa0b258b

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