https://www.unfudged.io/ Skip to content UNF* Tech Docs Use Cases SFW NSFW Install UNF* SFW NSFW Your AI agent just wiped your workspace. You didn't commit. UNF* recorded every version. Rewind any file to any second. No commits required. UNFUDGED 4,427 snapshots * 401 files * 5 projects [ ] Feb 12 Feb 15 Feb 18 V acme-co/ justfile7 Cargo.lock21 src/main.rs47 src/engine.rs23 src/lib.rs18 Diff Raw Cargo.lock @ 6:33 PM --- 1861 lines hidden --- @@ -1862,7 +1862,7 @@ 18631863[package] 18641864name = "unfudged" 1865version = "0.7.1" 1865version = "0.7.8" 18661866dependencies = [ 18671867 "anyhow", 18681868 "assert_cmd", Desktop App CLI Only $ brew install --cask cyrusradfar/unf/unfudged # includes the CLI automatically $ brew install cyrusradfar/unf/unf $ unf watch copy Read the docs | Files disappear between commits. An AI agent rewrites 47 files. You weren't watching. You delete the wrong branch. No backup. A refactor breaks everything. The working version is gone. You close the editor. It saved over the good version. Git can't help. You didn't commit. Ctrl+Z can't help. You closed the editor. Time Machine can't help. It runs hourly. UNF* records continuously. Every save, every second. If your filesystem saw it, UNF* has it. $ unf watch * Watching /Users/dev/myproject (1,247 files) ... AI agent mass-refactors 47 files ... $ unf log src/main.rs --since 30m 14:32:07 +12 -3 before AI touched it 14:32:45 +89 -67 AI refactor (47 files in burst) 14:33:01 +4 -2 AI follow-up change $ unf restore --at 14:32:07 Restored 47 files to pre-AI state $ unf recap Session: 2h 14m | 847 snapshots | 132 files touched AI Bursts: 2 detected, safety points created Real commands. Real output. How it works 01 WATCH FSEvents on macOS, inotify on Linux. Respects .gitignore. Skips binaries. 3-second smart debounce. <1% CPU * <100MB RAM - 02 STORE BLAKE3 content hashing. SQLite with ACID guarantees. Content-addressed, so identical files are stored once. Local-only, always. - 03 REWIND Point-in-time restore for any file, any second. Automatic retention decay: 24h full, 7d hourly, 30d daily. Read the technical deep dive - Commands unf watch Start recording the current directory unf unwatch Stop recording (history preserved) unf status Watcher status + snapshot stats unf log Timeline of every version of a file unf diff --at "5m" What changed in the last 5 minutes unf restore --at TIME Rewind files to any point in time unf cat --at TIME View file contents at a point in time unf recap Summarize session activity + context unf list Show all watched directories unf prune Clean up old snapshots per retention policy unf stop / restart Control the background daemon Time formats Relative: 5m 1h 2d Absolute: ISO 8601 timestamps Global flags --json -- machine-readable output for all commands --project -- operate on any project from anywhere What gets recorded All text files, recursively. Respects .gitignore. Skips binaries by magic-number detection. Storage Everything in ~/.unfudged/. Nothing inside your project directory. Content-deduplicated. Install Desktop App CLI Only # Install the Desktop App (includes CLI) $ brew install --cask cyrusradfar/unf/unfudged # Update later $ brew upgrade --cask unfudged # Install the CLI $ brew install cyrusradfar/unf/unf # Update later $ brew upgrade unf copy Then: unf watch. That's it. Fast <1% CPU. You won't notice it. Local-first No cloud. Nothing leaves your machine. Free No subscription. No limits. Secure No accounts. No telemetry. No network. Use cases Agent mass-overwrote your source Your AI agent refactored 30 Rust files, hit an error on file 27, and reverted everything to stale versions. Three hours of good work -- gone. $ unf log --since 3h --include "*.rs" --stats $ unf diff --at 10m $ unf restore --at 10m -y Agent deleted your .env The agent decided .env was "generated" and deleted it. API keys, database URLs, local config. Not in git. Not anywhere. $ unf log .env $ unf cat .env --at 5m $ unf restore --at 5m .env -y Agent's cleanup script went wrong You asked the agent to "clean up build artifacts." It wrote a shell script that rm -rf'd src/ instead of dist/. $ unf diff --at 1m $ unf restore --at 2m --dry-run $ unf restore --at 2m -y Agent "fixed" your dependencies The agent removed 6 "unused" crates from Cargo.toml. Four were behind feature flags. CI is red. $ unf log Cargo.toml --stats $ unf cat Cargo.toml --at 1h $ unf restore --at 1h Cargo.toml -y Agent reformatted everything The agent ran Prettier with the wrong config and rewrote 200 TypeScript files. It committed before you noticed. git revert gives you one commit. UNF* has every file. $ unf log --since 30m --include "*.ts" --stats $ unf diff --at 30m $ unf restore --at 30m -y Agent replaced your test fixtures Your hand-crafted SQL seed data and JSON fixtures got overwritten with generic placeholders. A week of edge cases, gone. $ unf log --include "fixtures/*" --stats $ unf diff --at 20m $ unf restore --at 20m -y Agent deleted your migration files The agent saw 47 SQL migration files and decided they were "redundant." Production depends on them running in order. $ unf log --include "migrations/*.sql" $ unf diff --at 15m $ unf restore --at 15m -y Squash merge ate intermediate work You squash-merged a feature branch. Git only has the final result. The 40 intermediate versions across 3 days? Git doesn't know they existed. $ unf log --since 3d --include "*.py" $ unf diff --from 3d --to 1d $ unf cat app/models.py --at 2d Agent lost context mid-session Context window overflow. The agent crashed 2 hours into a refactor across 4 repos. The new agent needs to pick up exactly where the old one left off. $ unf recap --global --json $ unf log --sessions --since 2h $ unf diff --session What happened while you were away? You left an agent running overnight. It touched 80 files across 3 projects. What did it do? $ unf log --global --since 8h --stats $ unf diff --at 8h $ unf restore --at 8h --dry-run - - UNF* v0.16.1 * Free * Local-first * No telemetry No accounts. No cloud. Your files, your machine. Contact Created by Cyrus Radfar @ V1.co