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.4.tar.gz (33.1 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.4-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: checkpoint_agent-1.2.4.tar.gz
  • Upload date:
  • Size: 33.1 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.4.tar.gz
Algorithm Hash digest
SHA256 983c42c9f8a8a7c05f3bc28e267e8e59149450c76b911b924a7ee5dfa6522a57
MD5 9f27603bd66cec9c84b3492d16a34ac2
BLAKE2b-256 d985b525a96af486569d804dc563769d284cb3e8d2801be529e2e8bdcb91f1fd

See more details on using hashes here.

Provenance

The following attestation bundles were made for checkpoint_agent-1.2.4.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.4-py3-none-any.whl.

File metadata

File hashes

Hashes for checkpoint_agent-1.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 adb3b2c4a7cab431e05e475f053ff23c7aec9785cd4b6a13fa08d432018a8ba4
MD5 bbe233aa0967b850a506f52e60700bbe
BLAKE2b-256 3b94eaf74d1f9122385cfe0270bb4be6763c0be4c6559f5489909cfb60ec80ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for checkpoint_agent-1.2.4-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