OPEN SOURCE · LOCAL-FIRST

Keep the project outside the chat.

Savepoint keeps the plan, current job, and checks as plain files in your repo—so your AI coding agent knows what it's doing even when the chat is gone.

$npx savepoint init
Free · Local · Open source · No account · Works with any agent
savepoint board
ATARI-NOIR
▣ S A V E P O I N T ✓ Checks passing  │  0 issues
Goal: Personal RSS Reader with AI Summaries (active task: T003 Claude summary worker)
───────────────────────────────────────────────────────────────────────────────────
OBJECTIVES (2)
──────────────
  O01-feed-parser
> O02-ai-summary
PLANNED (2)
───────────────────
◇ T004
CLI terminal render
◇ T005
Background refresh
IN PROGRESS (1)
───────────────────
▣ T003  [build]
Claude summarizer
O02 • 1 file targeted
DONE (2)
───────────────────
✓ T001
Feed XML parser
✓ T002
Storage schema
───────────────────────────────────────────────────────────────────────────────────
←→:navigate  •  Enter:details  •  ctrl+r:refresh  •  q:quit

Idea → Design → Task → Check

Give the agent one job. Build it. Check it separately. Move on.

01 / BEAT
• Idea
What are we actually building? Define the core outcome, target audience, and boundaries before touching code.
02 / BEAT
• Design
How are we going to build it? A quick technical blueprint—components, data shapes, and rules to keep the agent faithful.
03 / BEAT
• Task
Give the agent one bounded job. Bite-sized tasks with exact file scope so the agent doesn't get distracted.
04 / BEAT
• Check
Verify it separately before moving on. Independent validation against the task and tests. Never let the builder grade its own test.

Your agent executes one bounded job at a time against files stored directly in your repo. No context loss, no chat bloat.

Why I built it

“AI let me build software faster than I could learn how software works.”

Conversational coding is great until the plan, decisions, and current state are scattered across twenty chat windows. You sit down with a cup of coffee, open a new chat, paste a wall of context, and hope the agent remembers what was decided last Tuesday.

Before long, the chat becomes a fragile, temporary project database. When the context window overflows, or you start a new session, the agent begins guessing at architecture, hallucinating imports, and refactoring code you never asked it to touch.

Savepoint keeps the project outside the conversation.

What you're building, what's currently in flight, and whether the tests passed live as ordinary, human-readable files right inside the repository.

No servers. No cloud accounts. No Jira boards. Just a small amount of structure so you can close your laptop on Sunday, mow the lawn before someone asks, and pick up right where you left off on Monday.

A lightweight utility, not project-management software

Savepoint is a local-first layer in your repo—not another hosted AI platform or process framework.

█

Project state is files

Everything lives in .savepoint/ as plain Markdown and YAML. Read it, edit it with any text editor, diff it with git, and commit it alongside your code.

◊

Agent-agnostic

Works with Claude Code, Codex, Cursor, Gemini, Aider, or whatever model comes next. Anything that can read and write files can use Savepoint.

✓

Build and check are separate

The implementation agent doesn't automatically get to declare victory. Checks run independently against agreed requirements and tests before you move on.

•

100% Local

No service running behind it. No background daemons, no cloud database, no account to create, and zero telemetry leaving your machine.

Terminal tools that stay out of your way

Fast, compiled Go binaries or instant npx commands. Use what fits your workflow.

$ savepoint board

The Atari-Noir Dashboard

“Why a TUI? Because it makes me feel like Crash Override from Hackers.”

A fast, keyboard-driven Bubble Tea terminal UI. See your active objective, current task, and check status at a single glance without leaving your terminal.

$ savepoint resume

Pick up where you left off

Close your laptop on Friday. When you return on Monday, running savepoint resume reads the saved repo state and tells you exactly what was in flight and what to do next.

$ savepoint check

Independent verification

Verifies Savepoint state, task completion, and configured quality gates using deterministic code—not another LLM’s optimistic opinion.

Get started in 5 seconds

Run this in the root of any git repository to initialize Savepoint:

$npx savepoint init

That's it. It creates a .savepoint/ folder with your initial Idea, Design, and Task templates. Then launch the board with npx savepoint board.

Honest answers for curious builders

Why keep the project outside the chat?

Chats are ephemeral. Context windows truncate, conversations drift, and once you close the window, the state is gone. Keeping intent, design, and active tasks in repo files means any agent—in any session—can instantly pick up where you left off.

Is this just "terminal Jira"?

Good grief, no. There are no story points, sprint velocity charts, or standup bots pinging your Slack. It's just a file-based task list and verification runner in a fast terminal UI.

Which coding agents does Savepoint support?

Anything that can read and write files in your repo. Claude Code, Codex, Cursor, Gemini, Aider—if it can edit Markdown and code files, it works with Savepoint.

Does Savepoint send telemetry or require an account?

Never. The Savepoint CLI makes zero network calls and collects zero telemetry. Your code, prompts, and plans remain strictly on your local machine and in your Git repository.

What does it cost?

Nothing financially. Emotionally, unclear. Savepoint is 100% free, open source (MIT licensed), and runs locally on your machine. No accounts, no subscriptions, and no credit card required.

Is it production ready?

What's a production? If you mean "is it an enterprise Kubernetes control plane", absolutely not. If you mean "is it a fast, stable, local CLI tool that reads markdown files and doesn't eat your hard drive", yes. It's written in Go, it's compiled, and it stays strictly inside your .savepoint/ folder.

Try it, break it, tell me what’s stupid.

Free, fully local, and built with love (and AI). Grab the CLI, run it in your project, and keep your code organized outside the chat.