StateArk
Two commands. Savepoint. Resume.
Done with a chunk of work, or just calling it a day? Type one word. StateArk writes down where the project stands — the decisions, the open questions, the actual files — onto your own disk. Tomorrow, in a fresh chat, type Resume and it is all back. Nothing to summarise, nothing to paste, nothing to keep track of.
It is an MCP server for Claude Desktop and Claude Code. Local-first: plain Markdown and JSON in a folder you own. No account, no telemetry.
Why I built this
I am a solo founder, not a professional developer. I run real projects across weeks of chats — no git repo, no ticket system, just conversation. And every few days I hit the same wall: the chat gets long, the model gets vague, and the next chat starts from nothing. I retype the same context, and the decisions I already made quietly get made again, differently.
So I built the thing I wanted. StateArk saves the current valid state of a project — decisions, constraints, rejected approaches with reasons, open questions, and the actual files — and hands it to the next chat intact. It checks its own work: if a file was described but never handed over, or arrives truncated, it says so out loud instead of losing it silently.
I am putting it out because the problem clearly is not mine alone. It is early and it is free to use. If it helps you, that is the whole point. If it breaks, I would rather hear about it than not.
How it works
Work as usual
Nothing changes about how you chat. StateArk quietly notes turning points in projects you already track.
Type "Savepoint"
One word. The state is written to your disk as Markdown, JSON and real files, with a version number.
Type "Resume"
In any new chat, on any day. The model gets the state back, not a summary of a summary.
Four rules I will not break
- Your disk is the source of truth. Everything lives in ~/StateArk as Markdown and JSON. Readable and usable without StateArk, and without me.
- No telemetry. Nothing is sent anywhere. There is a local report command you can choose to copy to me — or not.
- A savepoint is never lost. Integrity checks warn, they never block. The save always gets written.
- Deliberately few features. Two commands is the product. I would rather it stay small and be trusted.
Get the build
Enter your email and you get one message with the download link and a step-by-step install guide — written for people who do not live in a terminal. Works with Claude Desktop and Claude Code on macOS and Windows.
Prefer the terminal? Once it is on npm it is a single command: npx stateark setup — no download, no unzipping.
What I want to build next
Honest status: none of this exists yet. It is where I want to take it, in roughly this order.
Optional cloud storage
Your savepoints mirrored so a dead laptop is not a dead project. Off by default, and only ever a copy — your disk stays the original.
Remote access
Reach your savepoints from the web and mobile clients, not just the desktop app on the one machine that holds them.
Branching
Two chats working the same project today produce one linear chain of versions. Documented, not solved.
State pruning
Over many savepoints the state file grows without limit. It needs a size ceiling and a rule for what ages out.
Tick the box above and I will write when one of these lands. No newsletter, no drip campaign.
Something broke?
Good — that is useful. It is version 0.5.1 and it has exactly one long-term user, which is me. Open an issue with what you typed and what happened. Rough notes are fine; you do not need to write a clean report. Everything is public so nobody debugs the same thing twice.
No GitHub account? Reply to the email you get from me — that reaches the same place.