Setuper is a macOS-first Python CLI for capturing and restoring reproducible work setups. A setup records the intent of a workspace—projects, commands, services, applications, browser tabs, and window placement—without pretending to freeze process memory or live network state.
Setuper is under active development toward v1.0.0 and is not ready for general use. The task plan is the source of truth for implementation progress.
- Human-readable YAML manifests define the desired setup.
- SQLite records launches, approvals, process ownership, and history.
- Adapters isolate application and platform integrations from the core domain.
- Imported executable setups require approval bound to their exact manifest hash.
- Unsupported or partial restoration is reported explicitly.
Official v1.0.0 support targets Python 3.12 and 3.13 on macOS 14 or newer.
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --editable '.[dev]'
setuper --help
setuper version