Project stranded? Adopt it, don’t restart it.

Your AI quit mid-build.
Your project is not dead.

You built something in Bolt, Lovable, Replit, or a chat that hit its limit — and now it’s stuck: half-finished, or trapped in the loop where every fix breaks something else. The usual advice is “start over.” Don’t. What already works in that project is the asset. This page is the rescue lane: answer six questions about what exists, and it builds the rescue record — a spec that protects what works, an honest state of where it stopped, and the protocol an AI follows to adopt the project instead of trampling it.

1 · Triage

Six questions about the project as it is — where it was built, what works, what broke last, where the code lives, the one job.

2 · The record

A rescue spec (what works is PROTECTED) and an adopted state.md — including what nobody knows yet, marked as unknown, not guessed.

3 · The rescue

Hand any AI the rescue paste: snapshot first, inventory before building, one bounded fix, both sides checked.

Brand-new idea instead? Start there. Project already running under the harness and just out of tokens? /continue is your page. This one is for projects that were built somewhere else and are stuck.

1 · Triage — the project as it is

Answer what you can; skip what you can’t. A skipped question doesn’t block the record — it becomes an honest blank the adopting AI must fill in with evidence during the inventory. Guessing would be worse.

Where was it built?

The tool that made it — this decides how the code gets out and how the rescue connects. Best guess is fine.

What is it?

What the project was supposed to become.

What works right now? (tap all that are true)

This is the most important question on the page. Whatever works today becomes PROTECTED — the rescue is forbidden from breaking it. If you're unsure whether something works, don't tap it; the adopting AI checks everything with evidence anyway.

What happened last?

The last thing you remember before it got stuck. This becomes the stopping point in the rescue record.

Where does the code live?

The adopting AI needs the actual project, not a description of it. Every answer has a route — the pack below spells out yours.

The ONE thing this rescue should do

One thing. Not the whole roadmap — a rescue that tries to fix everything rescues nothing. The rest gets written down as “later”, in the open.

0 of 6 questions answered. The record below updates as you tap — blanks stay honest.

2 · The rescue record

Three things come out of the triage. The rescue pasteis the one you’ll actually use — it carries the other two inside it. The spec and the state are also yours to keep as files: they’re the project’s memory from here on.

The rescue spec — preview

# spec.md — RESCUE of (unnamed project) Frozen 2026-10-23. This project already exists; this spec is built from what exists, not from a wish. It does not change mid-rescue; a change of plan is a new spec with a stated reason. ## What this project is - It is (not answered — a blank here is a hole in the rescue record; the adopting AI must establish it in the inventory, not guess it), built in (not answered — a blank here is a hole in the rescue record; the adopting AI must establish it in the inventory, not guess it). ## PROTECTED — what works now, and may not break Everything on this list is verified by the adopting AI in the inventory (step 2 of the rescue paste) before any change. A rescue that breaks a protected item has FAILED, even if it completes the job below. - (not answered — a blank here is a hole in the rescue record; the adopting AI must establish it in the inventory, not guess it) ## THE JOB — the one thing this rescue does (not answered — a blank here is a hole in the rescue record; the adopting AI must establish it in the inventory, not guess it) ## Acceptance — the rescue is DONE only when both are true 1. The one job above is done, demonstrated by running / opening / playing the project — evidence, not description. 2. Every PROTECTED item above still works, re-checked the same way after the fix. ## Must never happen - No rebuilding from scratch, no “starting clean” — this project's existing work is the asset. - No renaming, refactoring, reorganising, or “improving” anything outside the one job. - No change without a snapshot first (step 1 of the rescue paste). - One change at a time; each change is checked before the next begins.

Everything on this page runs in your browser. What you type is not sent anywhere, is not stored by this site, and is gone when you close the tab unless you download or copy it first.

First, the code has to exist somewhere you control

An adopting AI can only rescue a project it can actually see. By where yours lives:

  1. In a builder (Bolt, Lovable, Replit, v0): use the builder’s own export, download, or GitHub-sync option to get the project out as files or a repository before the rescue session — that export doubles as the pre-rescue snapshot. If the tool truly won’t export, open each file in its editor and copy it into a folder on your machine; tedious, but it works, and you only do it once.
  2. Only inside the chat that wrote it: go back to that chat (or any chat with the project pasted in) and ask the AI to print each file in full, one at a time, with its filename — save each into a folder, keeping the names. Then the folder IS the project, and the rescue proceeds from it.
  3. In GitHub or a folder: you’re ready — zip the folder (or note the repo) and that’s the snapshot the protocol asks for.
  4. Not sure: the rescue paste’s inventory step starts by locating the project itself. Bring what you have — a link, a login, a folder you half-remember — and say plainly that locating it is step zero.

Where the rescue goes next

A rescue ends in one of three honest places:

  1. Fixed, and now it’s just a project. It continues like any other: a continuation pack keeps its state so it never gets stranded the same way twice — /continue.
  2. Stable, with real work left. The remaining work is a normal build — split it across free models under the frozen spec, the /split way.
  3. Genuinely gone. Sometimes the inventory finds there’s nothing to adopt — no code anywhere, nothing that ever ran. Then, and only then, starting over is the honest answer, and /start does it properly. The inventory decides that with evidence — not frustration, and not this page.

And if what’s blocking you is an error message you can’t read, that’s its own lane: error first aid turns it into plain English plus the one bounded fix prompt.