Skip to content

v0.2.0

Choose a tag to compare

@stevekinney stevekinney released this 05 Aug 00:31
· 3 commits to main since this release

Drift detection — the job battlestation is best at is now automatable.

Added

  • diff --exit-code exits 1 when the live system no longer matches your TOML file, the same way git diff --exit-code does, in both text and --json modes. Previously diff always exited 0, so battlestation diff || notify could never fire.
  • battlestation schedule installs a launchd agent that runs that check hourly, daily, or weekly and posts a macOS notification when something has moved. --uninstall removes it.

The agent only ever notifies — it never applies anything, because a background job that silently changed system settings would be a trap rather than a feature. Its stderr goes to ~/Library/Logs/battlestation-drift-check.log, so a broken agent is diagnosable instead of silent.

battlestation diff --exit-code || echo "settings drifted"
battlestation schedule --interval weekly --file ~/dotfiles/battlestation.toml

Pass an absolute --file path when scheduling: the agent runs outside your shell, with a different working directory.

Install

npx battlestation@0.2.0 capture

Standalone macOS executables are attached below.