F5 for your filesystem
Checkpoint before every risky command and restore even after rm -rf. quicksave snapshots your whole working tree into a local, content-addressed store, so you can roll back files that git never tracked.
$ quicksave init initialized quicksave in /tmp/demo $ quicksave save -n pre-agent -m "before the agent runs" saved 98c66e6a3d2e pre-agent (3 files) before the agent runs $ rm -rf src .env # the agent wipes files git never tracked $ ls -A .quicksave README.md $ quicksave restore pre-agent --clean backed up current tree as c8aca5f9b067 restored 3 files from pre-agent before the agent runs $ ls -A .env .quicksave README.md src
What it gives you
Not another git wrapper. A safety net for everything git isn't watching.
[+] The whole tree, tracked or not
Snapshots every file in the directory, including the ones git ignores. Your .env, build output and untracked scripts come back too.
[←] Reversible restores
A restore snapshots the current tree first, so quicksave undo puts you back if you picked the wrong checkpoint. Nothing is a one-way door.
[>] Auto-save for agents
Point it at Claude Code or Codex and it checkpoints automatically before every risky command, so an agent's rm -rf or overwriting > is always recoverable.
[#] Content-addressed, deduped
Unchanged files are stored once. Hundreds of snapshots cost little disk; quicksave stats shows how much the dedup is saving you.
[?] Find a lost file
quicksave recover app.py pulls a file from the newest snapshot that still has it, even if it was deleted several commands ago.
[=] Scriptable
Every command speaks --json and -q, so quicksave drops cleanly into hooks, prompts and CI. No daemon, no config file.
Why not just git?
Git tracks what you tell it to and stops at .gitignore. When an agent deletes an untracked file, an overwriting redirect clobbers your .env, or a stray script runs rm -rf in the wrong directory, git has nothing to give back.
quicksave watches the whole working tree and leaves git alone. It never stages, commits or touches your history. Use both: git for the project, quicksave for the blast radius around a command you didn't read.
Start in 30 seconds
Python 3.10+. No daemon, no account, nothing leaves your machine.
# install $ pip install git+https://github.com/qorexdevs/quicksave # in the directory you want a safety net for $ quicksave init $ quicksave save -m "pre-agent" # let the agent run wild, then $ quicksave list # see what you can fall back to $ quicksave restore 0 # roll back if it broke something