checkpoint-agent 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checkpoint_agent-1.0.0/PKG-INFO +177 -0
- checkpoint_agent-1.0.0/README.md +143 -0
- checkpoint_agent-1.0.0/checkpoint_agent/__init__.py +0 -0
- checkpoint_agent-1.0.0/checkpoint_agent/__main__.py +482 -0
- checkpoint_agent-1.0.0/checkpoint_agent/agents.py +194 -0
- checkpoint_agent-1.0.0/checkpoint_agent/config.py +209 -0
- checkpoint_agent-1.0.0/checkpoint_agent/git_hook_installer.py +420 -0
- checkpoint_agent-1.0.0/checkpoint_agent/git_utils.py +144 -0
- checkpoint_agent-1.0.0/checkpoint_agent/graph.py +33 -0
- checkpoint_agent-1.0.0/checkpoint_agent/llm.py +90 -0
- checkpoint_agent-1.0.0/checkpoint_agent/llm_diagrams.py +194 -0
- checkpoint_agent-1.0.0/checkpoint_agent/mermaid_utils.py +156 -0
- checkpoint_agent-1.0.0/checkpoint_agent/setup_wizard.py +343 -0
- checkpoint_agent-1.0.0/checkpoint_agent/storage.py +242 -0
- checkpoint_agent-1.0.0/checkpoint_agent/templates/checkpoint.yml +177 -0
- checkpoint_agent-1.0.0/checkpoint_agent.egg-info/PKG-INFO +177 -0
- checkpoint_agent-1.0.0/checkpoint_agent.egg-info/SOURCES.txt +23 -0
- checkpoint_agent-1.0.0/checkpoint_agent.egg-info/dependency_links.txt +1 -0
- checkpoint_agent-1.0.0/checkpoint_agent.egg-info/entry_points.txt +2 -0
- checkpoint_agent-1.0.0/checkpoint_agent.egg-info/requires.txt +12 -0
- checkpoint_agent-1.0.0/checkpoint_agent.egg-info/top_level.txt +1 -0
- checkpoint_agent-1.0.0/pyproject.toml +60 -0
- checkpoint_agent-1.0.0/setup.cfg +4 -0
- checkpoint_agent-1.0.0/tests/test_mermaid_utils.py +47 -0
- checkpoint_agent-1.0.0/tests/test_workflow.py +55 -0
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: checkpoint-agent
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: AI-powered developer onboarding and context recovery system for git repositories
|
|
5
|
+
Author-email: Gagan N Bangaragiri <gagan.bangaragiri@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/BurntDosa/Checkpoint
|
|
8
|
+
Project-URL: Documentation, https://github.com/BurntDosa/Checkpoint#readme
|
|
9
|
+
Project-URL: Repository, https://github.com/BurntDosa/Checkpoint
|
|
10
|
+
Project-URL: Issues, https://github.com/BurntDosa/Checkpoint/issues
|
|
11
|
+
Keywords: git,ai,onboarding,documentation,llm,developer-tools
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: Topic :: Software Development :: Documentation
|
|
15
|
+
Classifier: Topic :: Software Development :: Version Control :: Git
|
|
16
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Requires-Python: >=3.10
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
Requires-Dist: litellm>=1.0.0
|
|
24
|
+
Requires-Dist: httpx>=0.24.0
|
|
25
|
+
Requires-Dist: gitpython>=3.1.0
|
|
26
|
+
Requires-Dist: pydantic>=2.0.0
|
|
27
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
28
|
+
Requires-Dist: pyyaml>=6.0.0
|
|
29
|
+
Provides-Extra: dev
|
|
30
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
31
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
32
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
33
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
34
|
+
|
|
35
|
+
# Code Checkpoint
|
|
36
|
+
|
|
37
|
+
**Code 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.
|
|
38
|
+
|
|
39
|
+

|
|
40
|
+

|
|
41
|
+
|
|
42
|
+
## What it does
|
|
43
|
+
|
|
44
|
+
- **Master Context** (`MASTER_CONTEXT.md`) — A full architectural overview of the codebase, regenerated on every PR merge. Perfect for new developers.
|
|
45
|
+
- **Personalized Catchup** (`checkpoints/Checkpoint_<email>.md`) — A "While You Were Gone" briefing per developer, updated on every push. Shows exactly what changed since their last commit.
|
|
46
|
+
- **Commit Checkpoints** — Per-commit summaries stored in `checkpoints/`, used as the source material for catchups.
|
|
47
|
+
- **PR Summaries** — A consolidated summary for each pull request.
|
|
48
|
+
|
|
49
|
+
All generation runs via **GitHub Actions** — no local hooks required.
|
|
50
|
+
|
|
51
|
+
## Installation
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
pip install checkpoint-agent
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Quick Start
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Navigate to your git repository
|
|
61
|
+
cd /path/to/your/repo
|
|
62
|
+
|
|
63
|
+
# Run the interactive setup wizard
|
|
64
|
+
checkpoint --init
|
|
65
|
+
|
|
66
|
+
# Install the GitHub Actions workflow
|
|
67
|
+
checkpoint --install-ci
|
|
68
|
+
|
|
69
|
+
# Generate the master context (first time)
|
|
70
|
+
checkpoint --onboard
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
The setup wizard will ask for your LLM provider, model, and API key, then write `.checkpoint.yaml` and `.env`.
|
|
74
|
+
|
|
75
|
+
## Commands
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Setup
|
|
79
|
+
checkpoint --init # Interactive setup wizard
|
|
80
|
+
checkpoint --install-ci # Install GitHub Actions workflow
|
|
81
|
+
checkpoint --config # Show current configuration
|
|
82
|
+
checkpoint --install-hook # Install local git post-commit hook (optional)
|
|
83
|
+
checkpoint --uninstall # Remove git hook
|
|
84
|
+
|
|
85
|
+
# Generation
|
|
86
|
+
checkpoint --onboard # Generate MASTER_CONTEXT.md
|
|
87
|
+
checkpoint --catchup # Generate your personal catchup
|
|
88
|
+
checkpoint --catchup user@email.com # Generate catchup for a specific user
|
|
89
|
+
checkpoint --catchup-all # Generate catchups for all active developers
|
|
90
|
+
|
|
91
|
+
# Commit analysis
|
|
92
|
+
checkpoint --commit <hash> # Analyze a specific commit
|
|
93
|
+
checkpoint --commit <hash> --dry-run # Preview without saving
|
|
94
|
+
|
|
95
|
+
# Info
|
|
96
|
+
checkpoint --stats # Show checkpoint statistics
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## GitHub Actions (recommended)
|
|
100
|
+
|
|
101
|
+
Run `checkpoint --install-ci` to install the workflow, then add your LLM API key as a GitHub secret (e.g. `MISTRAL_API_KEY`).
|
|
102
|
+
|
|
103
|
+
The workflow runs three jobs automatically:
|
|
104
|
+
|
|
105
|
+
| Trigger | Job | Output |
|
|
106
|
+
|---|---|---|
|
|
107
|
+
| Push to any branch | Generate commit checkpoints + catchups for all developers | `checkpoints/Checkpoint-*.md`, `checkpoints/Checkpoint_*.md` |
|
|
108
|
+
| PR opened/updated | Generate per-commit checkpoints + PR summary | `checkpoints/PR-*.md` |
|
|
109
|
+
| PR merged to main | Regenerate master context | `MASTER_CONTEXT.md` |
|
|
110
|
+
|
|
111
|
+
## Configuration
|
|
112
|
+
|
|
113
|
+
`.checkpoint.yaml`:
|
|
114
|
+
|
|
115
|
+
```yaml
|
|
116
|
+
llm:
|
|
117
|
+
provider: mistral # openai, anthropic, mistral, ollama, google, azure
|
|
118
|
+
model: mistral-medium-2508
|
|
119
|
+
temperature: 0.7
|
|
120
|
+
max_tokens: 2000
|
|
121
|
+
|
|
122
|
+
repository:
|
|
123
|
+
output_dir: ./checkpoints
|
|
124
|
+
master_context_file: MASTER_CONTEXT.md
|
|
125
|
+
|
|
126
|
+
features:
|
|
127
|
+
git_hook: false # Local hook (GitHub Actions is preferred)
|
|
128
|
+
diagrams: true # Generate Mermaid diagrams in master context
|
|
129
|
+
auto_catchup: false
|
|
130
|
+
|
|
131
|
+
languages:
|
|
132
|
+
- Python
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
API keys go in `.env`:
|
|
136
|
+
|
|
137
|
+
```env
|
|
138
|
+
MISTRAL_API_KEY=...
|
|
139
|
+
# OPENAI_API_KEY=...
|
|
140
|
+
# ANTHROPIC_API_KEY=...
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
## Supported LLM Providers
|
|
144
|
+
|
|
145
|
+
Any provider supported by [LiteLLM](https://github.com/BerriAI/litellm): OpenAI, Anthropic, Mistral, Google Gemini, Azure, Ollama (local), and more. Set `provider` and `model` in `.checkpoint.yaml`.
|
|
146
|
+
|
|
147
|
+
## Project Structure
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
checkpoint_agent/
|
|
151
|
+
├── __main__.py # CLI entry point
|
|
152
|
+
├── agents.py # LLM prompts (CheckpointGenerator, CatchupGenerator, etc.)
|
|
153
|
+
├── graph.py # Commit analysis pipeline
|
|
154
|
+
├── llm.py # LiteLLM configuration
|
|
155
|
+
├── config.py # Pydantic config models
|
|
156
|
+
├── storage.py # Checkpoint file I/O
|
|
157
|
+
├── git_utils.py # GitPython wrappers
|
|
158
|
+
├── mermaid_utils.py # AST-based diagram generation (Python)
|
|
159
|
+
├── llm_diagrams.py # LLM-based diagram generation (other languages)
|
|
160
|
+
├── setup_wizard.py # Interactive setup wizard
|
|
161
|
+
├── git_hook_installer.py
|
|
162
|
+
└── templates/
|
|
163
|
+
└── checkpoint.yml # Bundled GitHub Actions workflow
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Development
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
git clone https://github.com/BurntDosa/Checkpoint
|
|
170
|
+
cd Checkpoint
|
|
171
|
+
pip install -e ".[dev]"
|
|
172
|
+
pytest tests/
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
## License
|
|
176
|
+
|
|
177
|
+
MIT
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Code Checkpoint
|
|
2
|
+
|
|
3
|
+
**Code 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.
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
## What it does
|
|
9
|
+
|
|
10
|
+
- **Master Context** (`MASTER_CONTEXT.md`) — A full architectural overview of the codebase, regenerated on every PR merge. Perfect for new developers.
|
|
11
|
+
- **Personalized Catchup** (`checkpoints/Checkpoint_<email>.md`) — A "While You Were Gone" briefing per developer, updated on every push. Shows exactly what changed since their last commit.
|
|
12
|
+
- **Commit Checkpoints** — Per-commit summaries stored in `checkpoints/`, used as the source material for catchups.
|
|
13
|
+
- **PR Summaries** — A consolidated summary for each pull request.
|
|
14
|
+
|
|
15
|
+
All generation runs via **GitHub Actions** — no local hooks required.
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
pip install checkpoint-agent
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Quick Start
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# Navigate to your git repository
|
|
27
|
+
cd /path/to/your/repo
|
|
28
|
+
|
|
29
|
+
# Run the interactive setup wizard
|
|
30
|
+
checkpoint --init
|
|
31
|
+
|
|
32
|
+
# Install the GitHub Actions workflow
|
|
33
|
+
checkpoint --install-ci
|
|
34
|
+
|
|
35
|
+
# Generate the master context (first time)
|
|
36
|
+
checkpoint --onboard
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The setup wizard will ask for your LLM provider, model, and API key, then write `.checkpoint.yaml` and `.env`.
|
|
40
|
+
|
|
41
|
+
## Commands
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Setup
|
|
45
|
+
checkpoint --init # Interactive setup wizard
|
|
46
|
+
checkpoint --install-ci # Install GitHub Actions workflow
|
|
47
|
+
checkpoint --config # Show current configuration
|
|
48
|
+
checkpoint --install-hook # Install local git post-commit hook (optional)
|
|
49
|
+
checkpoint --uninstall # Remove git hook
|
|
50
|
+
|
|
51
|
+
# Generation
|
|
52
|
+
checkpoint --onboard # Generate MASTER_CONTEXT.md
|
|
53
|
+
checkpoint --catchup # Generate your personal catchup
|
|
54
|
+
checkpoint --catchup user@email.com # Generate catchup for a specific user
|
|
55
|
+
checkpoint --catchup-all # Generate catchups for all active developers
|
|
56
|
+
|
|
57
|
+
# Commit analysis
|
|
58
|
+
checkpoint --commit <hash> # Analyze a specific commit
|
|
59
|
+
checkpoint --commit <hash> --dry-run # Preview without saving
|
|
60
|
+
|
|
61
|
+
# Info
|
|
62
|
+
checkpoint --stats # Show checkpoint statistics
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## GitHub Actions (recommended)
|
|
66
|
+
|
|
67
|
+
Run `checkpoint --install-ci` to install the workflow, then add your LLM API key as a GitHub secret (e.g. `MISTRAL_API_KEY`).
|
|
68
|
+
|
|
69
|
+
The workflow runs three jobs automatically:
|
|
70
|
+
|
|
71
|
+
| Trigger | Job | Output |
|
|
72
|
+
|---|---|---|
|
|
73
|
+
| Push to any branch | Generate commit checkpoints + catchups for all developers | `checkpoints/Checkpoint-*.md`, `checkpoints/Checkpoint_*.md` |
|
|
74
|
+
| PR opened/updated | Generate per-commit checkpoints + PR summary | `checkpoints/PR-*.md` |
|
|
75
|
+
| PR merged to main | Regenerate master context | `MASTER_CONTEXT.md` |
|
|
76
|
+
|
|
77
|
+
## Configuration
|
|
78
|
+
|
|
79
|
+
`.checkpoint.yaml`:
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
llm:
|
|
83
|
+
provider: mistral # openai, anthropic, mistral, ollama, google, azure
|
|
84
|
+
model: mistral-medium-2508
|
|
85
|
+
temperature: 0.7
|
|
86
|
+
max_tokens: 2000
|
|
87
|
+
|
|
88
|
+
repository:
|
|
89
|
+
output_dir: ./checkpoints
|
|
90
|
+
master_context_file: MASTER_CONTEXT.md
|
|
91
|
+
|
|
92
|
+
features:
|
|
93
|
+
git_hook: false # Local hook (GitHub Actions is preferred)
|
|
94
|
+
diagrams: true # Generate Mermaid diagrams in master context
|
|
95
|
+
auto_catchup: false
|
|
96
|
+
|
|
97
|
+
languages:
|
|
98
|
+
- Python
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
API keys go in `.env`:
|
|
102
|
+
|
|
103
|
+
```env
|
|
104
|
+
MISTRAL_API_KEY=...
|
|
105
|
+
# OPENAI_API_KEY=...
|
|
106
|
+
# ANTHROPIC_API_KEY=...
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Supported LLM Providers
|
|
110
|
+
|
|
111
|
+
Any provider supported by [LiteLLM](https://github.com/BerriAI/litellm): OpenAI, Anthropic, Mistral, Google Gemini, Azure, Ollama (local), and more. Set `provider` and `model` in `.checkpoint.yaml`.
|
|
112
|
+
|
|
113
|
+
## Project Structure
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
checkpoint_agent/
|
|
117
|
+
├── __main__.py # CLI entry point
|
|
118
|
+
├── agents.py # LLM prompts (CheckpointGenerator, CatchupGenerator, etc.)
|
|
119
|
+
├── graph.py # Commit analysis pipeline
|
|
120
|
+
├── llm.py # LiteLLM configuration
|
|
121
|
+
├── config.py # Pydantic config models
|
|
122
|
+
├── storage.py # Checkpoint file I/O
|
|
123
|
+
├── git_utils.py # GitPython wrappers
|
|
124
|
+
├── mermaid_utils.py # AST-based diagram generation (Python)
|
|
125
|
+
├── llm_diagrams.py # LLM-based diagram generation (other languages)
|
|
126
|
+
├── setup_wizard.py # Interactive setup wizard
|
|
127
|
+
├── git_hook_installer.py
|
|
128
|
+
└── templates/
|
|
129
|
+
└── checkpoint.yml # Bundled GitHub Actions workflow
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Development
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
git clone https://github.com/BurntDosa/Checkpoint
|
|
136
|
+
cd Checkpoint
|
|
137
|
+
pip install -e ".[dev]"
|
|
138
|
+
pytest tests/
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## License
|
|
142
|
+
|
|
143
|
+
MIT
|
|
File without changes
|