The fear of breaking things
One of the biggest barriers to experimenting with AI-generated code is the fear of breaking something that worked. The agent writes confidently, and sometimes confidently wrong. You end up with a tangled codebase and no clear way back.
Version History is our answer to that.
Two kinds of snapshots
Spinini creates snapshots in two ways:
Automatic checkpoints — before the Spinini AI Agent makes its first file change in any run, it automatically saves a full snapshot of your project. These appear in the agent chat as checkpoint cards with a "Revert" button. You don't have to do anything — they just happen.
Named checkpoints (Version History) — snapshots you create manually with a meaningful name. These are for moments where you want to bookmark something intentional: "everything is working before I start the refactor", "working auth before adding OAuth".
How to create a named checkpoint
Click the History icon in the bottom section of the left sidebar. The Version History panel opens showing all your snapshots — both automatic and named — in reverse chronological order.
Click "Save checkpoint", type a name, and click Save. That's it. A snapshot of every file in your project is saved instantly.
Good naming conventions:
- "Working login + registration" (functional milestone)
- "Before adding payment processing" (before a risky change)
- "Clean state after refactor" (after cleaning up)
- "Working v1 — shipping to client" (delivery checkpoint)
How to restore a snapshot
In the Version History panel, find the snapshot you want and click Restore. A confirmation dialog appears showing what will change. Confirm, and every file in your project is instantly restored to that snapshot.
The restore is immediate — no waiting. Files that existed in the snapshot but not now are recreated. Files that exist now but didn't in the snapshot are removed. Files that differ are overwritten.
Before restoring, it's a good habit to save a checkpoint of your current state first. That way, if the restore goes wrong or you change your mind, you can restore back to where you just were.
Best practices
Checkpoint before every major agent run. Even though the agent creates automatic checkpoints, naming your own gives you clearer restore points. "Before agent refactor" is easier to find than an auto-checkpoint timestamp.
Checkpoint when something works. Whenever you get a feature working, save immediately. Don't wait until later — you might change three more things before you remember.
Use automatic checkpoints for quick undo. If an agent run makes a mess, the automatic checkpoint is the fastest way back. Look for the checkpoint card in the agent chat and click Revert.
Don't hoard checkpoints. Old snapshots you know you'll never restore can be deleted from the Version History panel to keep the list readable.
Recovering from a bad agent run
Here's the exact flow when an agent run goes wrong:
1. The agent finishes but the app is broken
2. Check the terminal — is it an error you can quickly fix?
3. If not, scroll up in the agent chat to the automatic checkpoint card
4. Click "Revert" on that checkpoint
5. Confirm — your files are back to before the run
6. Reframe your prompt and try again with more specific instructions
This workflow takes about 10 seconds. There's no downtime, no git gymnastics, no manually undoing changes file by file.
Version History vs Git
Version History is not a replacement for Git. Git tracks changes with commit messages, supports branching, and integrates with GitHub for team workflows. Use Git for those things.
Version History is faster for the quick "save my current state" use case and is more forgiving — restoring doesn't require understanding merge conflicts or remembering git commands. For solo prototyping and AI-assisted development, it's often the right tool.