Install Framecap for an agent

Only the signed website build contains CLI/MCP files. Preserve any App Store copy; do not run both at once because global shortcuts can conflict.

Download the versioned installer script and release manifest, inspect them, then run:

curl -fLO https://framecap.dev/downloads/install-framecap.sh
zsh install-framecap.sh --manifest https://framecap.dev/downloads/releases/0.2.0/manifest.json --dry-run
zsh install-framecap.sh --manifest https://framecap.dev/downloads/releases/0.2.0/manifest.json
~/.local/bin/framecap doctor --json

The installer verifies SHA-256, Bundle ID signing, Team ID, and Gatekeeper before copying to ~/Applications/Framecap.app. It refuses to replace an unknown non-symlink CLI. Existing installs get a timestamped rollback copy. It does not modify quarantine, Screen Recording permissions, shell startup files, or every detected client.

Configure exactly one selected client with the bundled framecap-config.py CLIENT preview, inspect the output, then replace preview with install. Supported client names are codex, claude-code, and cursor. Restart the selected client after installation.

To remove integration, run framecap-config.py CLIENT remove. Remove only the App, ~/.local/bin/framecap if it points to Framecap, and the install record for a full uninstall. Keep user images and unrelated client configuration. Restore the recorded rollback App manually if needed.

The release URL is immutable. Future versions use a new versioned directory rather than replacing this DMG.