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.
Give the agent one job. Build it. Check it separately. Move on.
Your agent executes one bounded job at a time against files stored directly in your repo. No context loss, no chat bloat.
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.
Savepoint is a local-first layer in your repo—not another hosted AI platform or process framework.
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.
Works with Claude Code, Codex, Cursor, Gemini, Aider, or whatever model comes next. Anything that can read and write files can use Savepoint.
The implementation agent doesn't automatically get to declare victory. Checks run independently against agreed requirements and tests before you move on.
No service running behind it. No background daemons, no cloud database, no account to create, and zero telemetry leaving your machine.
Fast, compiled Go binaries or instant npx commands. Use what fits your workflow.
“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.
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.
Verifies Savepoint state, task completion, and configured quality gates using deterministic code—not another LLM’s optimistic opinion.
Run this in the root of any git repository to initialize Savepoint:
That's it. It creates a .savepoint/ folder with your initial Idea, Design, and Task templates. Then launch the board with npx savepoint board.
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.
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.
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.
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.
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.
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.
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.