8 pointsby marc927 hours ago3 comments
  • marc927 hours ago
    Hey HN, a few weeks ago, an LLM running in YOLO mode nuked my local SQLite DB file with no way to recover it.

    I didn't want to go back to allowlists and manually approving commands, but I also didn't want to risk losing data again, so I built Yolt (You Only Live Twice) as a failsafe.

    Yolt is a lightweight CLI that watches your project directory and keeps restorable copies of files, so you can recover when an LLM deletes or overwrites them.

    It focuses specifically on the cases that are hardest to recover from:

    - File deletes

    - File overwrites (where previous contents are lost)

    Usage is simple:

        cd ~/project-dir
        yolt watch
    
    Then if something gets deleted or overwritten:

        yolt restore path/to/file.ext
    
    When you start watching a directory, it takes an initial snapshot. After that, it continuously captures changes and keeps a rolling history (default 30 minutes, configurable time window and disk space caps), so you can restore earlier versions.

    It still has limitations (it can't recover data if it wasn't already watching the project directory and it doesn’t handle external side effects), but in practice it's been enough to make me feel better about running agents with fewer guardrails.

    Would love feedback, especially from those using agent workflows heavily. It's macOS-only right now, but should be pretty straightforward to port to Linux, as well.

  • joshcsimmons6 hours ago
    This is rad I've been looking for something exactly like this. Curious, why'd you write it in rust?
    • marc926 hours ago
      I was between Rust and Go, but honestly, I went with Rust mostly because I haven't done anything in Rust before and it seemed like a good fit and a good opportunity to get more familiar with it (especially with LLMs to help me learn).

      Memory-safe, low overhead for a long-running foreground process, easy cross-platform path when Linux support is added.

  • spurgelaurels7 hours ago
    Clever name!
    • marc927 hours ago
      Haha, thank you! I definitely spent way longer than I needed to going back and forth between different options.