ScriptKitty
Install

Install

ScriptKitty installs on Linux today. In testing The source is not published yet, so there is no download on this page.

Today it has run only in throwaway test machines. Until it leaves testing, put it on a machine you can lose.

Requirements

These are the requirements for the Linux build.

  • A kernel with fanotify permission events. It has run on 6.12 only.
  • Root, for the service.
  • Python 3, with only its standard library.
  • Disks formatted ext4, xfs or btrfs.

Install and check

Run the installer from the source folder. It installs and starts the service.

sudo ./install.sh            # from the source folder; installs and starts the service
sk                           # how things are, and the latest changes
sk status                    # what is watched, what is left out, room held

See the first minute for what these show.

Uninstall

The same script removes it.

sudo ./install.sh --uninstall

Commands

An ordinary user can undo only what they could have changed by hand, and sudo includes everyone's changes.

CommandWhat it does
skShows how things are, and the latest changes.
sk statusShows what is watched, what is left out, and the room held.
sk listLists the changes it saw lately, newest at the bottom.
sk show 12Shows which files change 12 touched.
sk undo 12Puts one change back.
sk undo --lastUndoes the latest change.
sk back 10m, sk back 14:32, sk back m1234Puts everything back as it was ten minutes ago, at a clock time, or at a bookmark.
sk back 1h --only ~/projectThe same, for one folder.
sk markSaves a bookmark.
sk spaceShows how much room the old copies take.
sudo sk keep 3dChanges the keep time from the default 24 hours to three days.
sk heldLists files that had no room for a copy, and changes waiting for room right now.
sudo sk free PATHLets go of one file's old copies.
sudo sk watch DISKWatches a disk that is not watched on its own, such as a USB stick.
sudo sk unwatch DISKStops watching a disk. Until then, a watched disk answers "target is busy" to umount.

Cloud commands

Coming for real clouds. The cloud engine is built and was tried only against made-up APIs, and never against a real cloud. The commands exist as follows.

CommandWhat it does
sudo sk cloud setupMakes the engine's certificate and starts it.
sudo sk cloud add-key GITHUB_TOKEN --host api.github.comGives the engine a real key for one host, read from input. It prints the stand-in the agent gets.
sudo sk cloud envPrints the lines to give the agent: the proxy, the certificate and the stand-ins.
sk cloud statusShows the state of the cloud engine.
sk cloud listLists the cloud calls it wrote down.
sudo sk cloud undo IDPuts one call back.

Mac and Windows

Neither is available yet, and both are coming.

  • Mac: built, not run The code is written and passes 25 checks against a stand-in platform. It has never run on a real Mac.
  • Windows: built, not run The code is written and passes 9 checks against a stand-in. It has never run on a real Windows PC.

Next: what it cannot undo, read before you install.