DEV Community

B Kalyan Kumar
B Kalyan Kumar

Posted on

I got tired of re-explaining my codebase to every AI tool - so I built Checkpoint

Every time I switched between Claude, Codex, and Claude Code, I spent the first few minutes of the session re-explaining the same things — what I was building, what the current task was, what decisions had already been made.

The tools don't share memory with each other. I was the context bus.

So I built Checkpoint — a local CLI that gives your repo a continuity layer. (The project's called contextos; checkpoint is the command you actually type.) It writes readable Markdown files to .contextos/ and generates a focused continuation pack for the next AI tool:

checkpoint continue --from codex --for claude-code
Enter fullscreen mode Exit fullscreen mode

The output is a compact Markdown handoff: current task, relevant decisions, files to inspect, next action. You paste it or pipe it to the next agent.

Here's what a pack actually looks like (example — replace with your real output):

# Continuation Pack — for Claude Code
Generated from: codex · 2026-06-02

## Current task
Wire secret redaction into `checkpoint continue` before the pack is printed.

## Decisions that matter here
- Redaction runs on the assembled pack, not per-file (one pass, fewer misses).
- Patterns live in .contextos/context/constraints.md so they're reviewable.

## Files to inspect
- src/checkpoint/redact.py  — regex set + entropy check
- src/checkpoint/render.py  — where the pack is assembled

## Next action
Add a failing test for an AWS key in a task note, then make it pass.
Enter fullscreen mode Exit fullscreen mode

Install

pip install checkpoint-cli
Enter fullscreen mode Exit fullscreen mode

Or with uv:

uv tool install checkpoint-cli
Enter fullscreen mode Exit fullscreen mode

Get started in 60 seconds

checkpoint setup-user   # one-time user preferences
checkpoint init         # adds .contextos/ to your project
checkpoint status       # check what memory exists
checkpoint continue     # generate the continuation pack
Enter fullscreen mode Exit fullscreen mode

How it works

Everything lives in plain Markdown files you can read, edit, diff, and commit:

.contextos/
  context/        # architecture, constraints, decisions
  tasks/          # active and completed work
  handoffs/       # latest.md always has the most recent state
  state/          # local event log
Enter fullscreen mode Exit fullscreen mode

checkpoint continue reads those files, applies secret redaction, and prints a pack shaped for the target agent — Codex, Claude, Claude Code, Cursor, Aider, or generic.

No account. No cloud. No hidden state. Apache-2.0.

Why local-first matters

You decide what context moves to the next tool. The files are yours - readable before they're sent anywhere, and secrets get redacted on the way out.

Where it is now

v0.1.3. Works, dogfoods itself, rough in places. If you try it and something breaks, open an issue — and tell me which agent format you want supported next.

Top comments (0)