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

Install it 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.

Install it

Works with Claude Desktop and Claude Code, on macOS and Windows. You need Node 20 or newer — check with node --version.

1 One command
npx stateark

That is the whole install. It registers StateArk with Claude Desktop, leaves any other MCP servers you have untouched, and backs up your config first. Then quit Claude Desktop completely — Cmd+Q, not just the window — and open it again.

Undo any time with npx stateark remove. Nothing is uploaded, no account is created.

2 Or by email, with a written guide

If you would rather have every step spelled out — written for people who do not live in a terminal — enter your address and you get the download plus the guide in one message.

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.

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.