StateArk v0.5.1

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.

session
> Savepoint saved harbour-pricing v1.0 11 decisions · 6 rejected approaches · 4 files ~/StateArk/projects/harbour-pricing/v1.0/ ── next morning, a brand new chat ── > Resume harbour-pricing loaded v1.0 · state, decisions, open questions, files ready

Get the build How it works

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

1

Work as usual

Nothing changes about how you chat. StateArk quietly notes turning points in projects you already track.

2

Type "Savepoint"

One word. The state is written to your disk as Markdown, JSON and real files, with a version number.

3

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.

You will get a confirmation email first — one click, and the download follows. Your address is used for this and nothing else. Unsubscribe from any message. Stored with Brevo on EU servers.

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.

Next

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.

Next

Remote access

Reach your savepoints from the web and mobile clients, not just the desktop app on the one machine that holds them.

Known gap

Branching

Two chats working the same project today produce one linear chain of versions. Documented, not solved.

Known gap

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.

Report a bug on GitHub

No GitHub account? Reply to the email you get from me — that reaches the same place.