Skip to main content

AI-powered developer onboarding and context recovery system for git repositories

Project description

Checkpoint

Checkpoint

Checkpoint is an AI-powered developer onboarding and context recovery tool for git repositories. It automatically generates living documentation that evolves with every commit, so returning developers can get up to speed instantly and new developers can understand the codebase without reading every file.

Python License

What it does

  • Master Context (MASTER_CONTEXT.md) -- A full architectural overview of the codebase, regenerated on every PR merge. Perfect for new developers.
  • Personalized Catchup (catchups/Catchup_<email>.md) -- A "While You Were Gone" briefing per developer, updated on every push. Shows exactly what changed since their last commit. When a developer commits, their catchup file is automatically deleted (they're caught up).
  • Commit Checkpoints (checkpoints/Checkpoint-*.md) -- Per-commit summaries used as source material for catchups.
  • PR Summaries (checkpoints/PR-*.md) -- A consolidated summary for each pull request.

All generation runs via GitHub Actions -- no local hooks required.

Installation

pip install checkpoint-agent

Quick Start

# Navigate to your git repository
cd /path/to/your/repo

# Install the GitHub Actions workflow + create default config + boilerplate MASTER_CONTEXT.md
checkpoint --init

Then add your LLM API key as a GitHub Secret (e.g. MISTRAL_API_KEY) and push -- checkpoints will be generated automatically.

Commands

# Setup
checkpoint --init                        # Install GitHub Actions workflow + create config
checkpoint --config                      # Show current configuration
checkpoint --install-hook                # Install git post-commit hook
checkpoint --uninstall                   # Remove git hook

# Generation (also runs automatically via GitHub Actions)
checkpoint --onboard                     # Generate MASTER_CONTEXT.md
checkpoint --catchup                     # Generate your personal catchup
checkpoint --catchup user@email.com      # Generate catchup for a specific user
checkpoint --catchup-all                 # Generate catchups for all active developers

# Commit analysis
checkpoint --commit <hash>               # Analyze a specific commit
checkpoint --commit <hash> --dry-run     # Preview without saving

# PR summary (used by CI)
checkpoint --pr <number> <base> <head> <title>

# Info
checkpoint --stats                       # Show checkpoint statistics

GitHub Actions (recommended)

Run checkpoint --init to install the workflow and create the default config, then add your LLM API key as a GitHub secret (e.g. MISTRAL_API_KEY).

The workflow runs three jobs automatically:

Trigger Job Output
Push to any branch Generate commit checkpoints + catchups for all developers checkpoints/Checkpoint-*.md, catchups/Catchup_*.md
PR opened/updated Generate per-commit checkpoints + PR summary checkpoints/PR-*.md
PR merged to main Regenerate master context MASTER_CONTEXT.md

Configuration

.checkpoint.yaml:

llm:
  provider: mistral          # openai, anthropic, mistral, ollama, google, azure
  model: mistral-medium-2508
  temperature: 0.7
  max_tokens: 8000

repository:
  output_dir: ./checkpoints
  master_context_file: MASTER_CONTEXT.md
  ignore_patterns:
    - node_modules
    - venv
    - .git
  file_patterns:
    - "**/*.py"
    - "**/*.js"
    - "**/*.ts"

features:
  diagrams: true             # Generate Mermaid diagrams in master context
  auto_catchup: false

languages:
  - Python

API keys go in .env:

MISTRAL_API_KEY=...
# OPENAI_API_KEY=...
# ANTHROPIC_API_KEY=...

Supported LLM Providers

Any provider supported by LiteLLM: OpenAI, Anthropic, Mistral, Google Gemini, Azure, Ollama (local), and more. Set provider and model in .checkpoint.yaml.

Project Structure

checkpoint_agent/
├── __main__.py          # CLI entry point
├── agents.py            # LLM-based generator classes (Checkpoint, Catchup, MasterContext, PR)
├── graph.py             # Commit analysis pipeline (LangGraph)
├── llm.py               # LiteLLM configuration + provider auto-detection
├── config.py            # Pydantic config models (.checkpoint.yaml schema)
├── storage.py           # Checkpoint/catchup file I/O with per-author stable filenames
├── git_utils.py         # GitPython wrappers (diffs, metadata, author detection)
├── mermaid_utils.py     # AST-based Mermaid diagram generation (Python)
├── llm_diagrams.py      # LLM-based diagram generation (non-Python languages)
├── setup_wizard.py      # Config display utilities
├── git_hook_installer.py # Post-commit hook install/uninstall
└── templates/
    └── checkpoint.yml   # Bundled GitHub Actions workflow

Development

git clone https://github.com/BurntDosa/Checkpoint
cd Checkpoint
pip install -e ".[dev]"
pytest tests/

License

MIT

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

checkpoint_agent-1.2.5.tar.gz (33.2 kB view details)

Uploaded Source

Built Distribution

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

checkpoint_agent-1.2.5-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

File details

Details for the file checkpoint_agent-1.2.5.tar.gz.

File metadata

  • Download URL: checkpoint_agent-1.2.5.tar.gz
  • Upload date:
  • Size: 33.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for checkpoint_agent-1.2.5.tar.gz
Algorithm Hash digest
SHA256 453daf8f7d47c69c19cd897ff9f3b037a026414f27a44680a26767982095ad33
MD5 dbec8c6bc3c88a1ef1e28a64eaac26f8
BLAKE2b-256 bca6ce67aeb1b2db482202913b14839026492069a68903d8f2cc7ef4891e7df9

See more details on using hashes here.

Provenance

The following attestation bundles were made for checkpoint_agent-1.2.5.tar.gz:

Publisher: publish.yml on BurntDosa/Checkpoint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file checkpoint_agent-1.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for checkpoint_agent-1.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0f6eeedba9bdfc6178b7a1a00793c7c405c6357c2bf7703b9a7804860c106534
MD5 8e691a641b81fae48de86e0835c46317
BLAKE2b-256 4799b06a580ffd7fc79c5888f0ae4ba9e3030cfdcd190926105c56125ecea0da

See more details on using hashes here.

Provenance

The following attestation bundles were made for checkpoint_agent-1.2.5-py3-none-any.whl:

Publisher: publish.yml on BurntDosa/Checkpoint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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