Files
git-ai-doc-generator/README.md
7000pctAUTO e8413af701
Some checks failed
CI / test (push) Has been cancelled
Initial upload: Git AI Documentation Generator v0.1.0
2026-02-01 19:30:59 +00:00

3.9 KiB

Git AI Documentation Generator

A privacy-focused CLI tool that analyzes git diffs and generates intelligent commit messages, changelogs, and API documentation using local AI models via Ollama.

Features

  • Commit Message Generation: Generate conventional commit messages from staged or all changes
  • Changelog Generation: Auto-generate changelogs from git commit history between tags/commits
  • API Documentation: Generate OpenAPI-style documentation from code changes
  • Privacy-Focused: All processing happens locally using Ollama - no data sent to external APIs
  • Multi-Language Support: Supports Python, JavaScript, TypeScript, Go, Rust, and Java
  • Framework Detection: Automatically detects FastAPI, Flask, Express, and Django patterns

Installation

# Install from source
pip install -e .

# Or install with dev dependencies
pip install -e ".[dev]"

Prerequisites

  • Python 3.9+
  • Ollama installed and running locally
  • A model pulled (e.g., ollama pull llama3.2)

Usage

Generate Commit Messages

Generate a commit message from staged changes:

git add .
git-ai-doc commit

Generate from all changes (including unstaged):

git-ai-doc commit --all

With language context for better results:

git-ai-doc commit --language python

Generate Changelogs

Generate a changelog from commits since a tag:

git-ai-doc changelog --from v1.0.0

Generate between two versions:

git-ai-doc changelog --from v1.0.0 --to v2.0.0

Generate API Documentation

Generate API documentation from changes:

git-ai-doc api-docs --all

With framework hint:

git-ai-doc api-docs --all --framework fastapi

Commands

commit

Generate a commit message from git changes.

Options:

  • --staged/--all: Use staged changes (default) or all changes
  • --language, -l: Programming language context
  • --model, -m: Ollama model to use

changelog

Generate a changelog from git commit history.

Options:

  • --from, -f: Starting reference (tag, commit, branch)
  • --to, -t: Ending reference (default: HEAD)
  • --limit, -l: Maximum commits to process (default: 100)
  • --format: Output format (markdown, json)

api-docs

Generate API documentation from code changes.

Options:

  • --staged/--all: Use staged changes or all changes
  • --ref: Git reference to compare against
  • --framework: Force framework detection

Configuration

Environment Variables

Variable Description Default
OLLAMA_HOST Ollama server URL http://localhost:11434
OLLAMA_MODEL Default model llama3.2
DEBUG Enable verbose logging false

Configuration File

Create a .ai-doc-gen.yaml in your project root:

ollama_host: http://localhost:11434
model: llama3.2
debug: false

Or in your home directory:

  • ~/.ai-doc-gen.yaml
  • ~/.git-ai-doc.yaml

CLI Options

Override config at runtime:

git-ai-doc commit --model codellama --ollama-host http://custom:11434

Supported Languages

  • Python (.py)
  • JavaScript (.js)
  • TypeScript (.ts)
  • Go (.go)
  • Rust (.rs)
  • Java (.java)
  • C/C++ (.c, .cpp, .h)

Development

# Install development dependencies
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Run with coverage
pytest tests/ --cov=src --cov-report=term-missing

# Lint code
ruff check src/ tests/

Architecture

src/
├── cli.py           # Main CLI entry point
├── config.py        # Configuration management
├── git_utils.py     # Git operations using GitPython
├── ollama_client.py # Ollama LLM integration
├── output.py        # Rich console output formatting
└── commands/
    ├── commit.py    # Commit message generation
    ├── changelog.py # Changelog generation
    └── api_docs.py  # API documentation generation

License

MIT