Skip to content

Watcher

NeuralIO444 edited this page Sep 29, 2026 · 1 revision

Watcher

The watcher automatically snapshots your .aep files when they change — a Time Machine for After Effects projects. It's a user-level macOS LaunchAgent: no sudo, no root service, no network.

Install

./tools/watch-install.zsh "$HOME/Movies/AE Projects" "$HOME/AE_Versions"

The installer:

  1. Validates the CLI, the watch folder (must exist), and creates the versions folder if needed.
  2. Shows you exactly what it will do and asks Proceed? [y/N] (pass --yes to skip in scripts).
  3. Renders its config into <versions-dir>/.watcher/ with your real paths.
  4. Copies the plist into your own ~/Library/LaunchAgents — never /Library, never sudo.
  5. Loads it via launchctl. If macOS blocks it (e.g. MDM), it says so plainly and leaves nothing half-installed.

Uninstall

./tools/watch-uninstall.zsh

Unloads the agent and removes the plist. Your versions folder is never touched — snapshots and logs stay put.

How it works

When files change under your watch folder (throttled to one fire per 30 seconds), the agent runs a one-shot scan and fires one project.snapshot request per .aep found, then exits. There is no always-on process.

The watcher can only trigger project.snapshot — the one Tier 0 operation that creates versioned copies. It cannot trigger renders, builds, or anything else.

Verify it's running

launchctl print gui/$(id -u)/com.neuralio.mograph-jailed.watcher
tail -f ~/AE_Versions/watcher.log

macOS also tells you itself: new background items appear under System Settings → General → Login Items ("Allow in the Background") as com.neuralio.mograph-jailed.watcher, with a one-toggle off switch — no terminal needed.

What it can and cannot do

Can: run as you, with your permissions, on .aep changes; append to watcher.log; snapshot projects into your versions folder.

Cannot: run as root · touch the system · use the network · modify, save, or delete any .aep · trigger any Tier 1 operation · hide from you (every fire is logged).

See Safety for the full guarantee list.

Clone this wiki locally