GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • $ openboot
  • Explore
  • Docs
  • ★
  • What is OpenBoot
  • Quick Start
  • Presets
  • Snapshot
  • Custom Configs
  • Dotfiles & Shell
  • For You
  • For Teams
  • CLI Commands
  • Config Options

This view

  • Original page
  • New address

GeezerVison is showing openboot.dev — CLI Commands — OpenBoot Docs

> docs/ reference

CLI Commands

OpenBoot’s main commands are install, which adds things to your Mac, and snapshot, which captures what’s on it. Supporting commands handle authentication, diagnostics, and updates.

openboot install [source] # install from preset, file, or cloud config
openboot snapshot         # capture your environment
openboot doctor           # check system health and diagnose issues
openboot update           # upgrade the openboot binary itself
openboot login / logout   # openboot.dev auth
openboot version          # print version

v1.0 removed these commands: pull, push, diff, clean, log, restore, init, setup-agent, list, edit, delete. OpenBoot no longer uninstalls packages or tracks revision history — install is add-only, and snapshot --publish overwrites. Manage configs on the dashboard. See the project CHANGELOG for migration.

openboot install

Install and configure your Mac.

openboot install [source]

Behavior with no [source] and no flags:

  • If this machine has a saved sync source (from a previous install), resume it. OpenBoot fetches the config, shows a diff of what’s missing, and asks to apply it.
  • Otherwise, the interactive TUI opens.

The sync-source header looks like:

→ Syncing with @alice/dev-setup (last synced 2 days ago)

If the last sync was more than 90 days ago, the header turns yellow as a warning.

Source resolution

The positional [source] argument is identified by pattern:

InputResolves to
./path, /path, ../path, or *.jsonLocal file
user/slugopenboot.dev cloud config
minimal, developer, fullBuilt-in preset
Any other wordopenboot.dev alias

Examples:

openboot install                   # resume last sync (or interactive)
openboot install alice/dev-setup   # cloud config by user/slug
openboot install ./backup.json     # local config or snapshot file
openboot install developer         # built-in preset
openboot install myalias           # alias configured on the dashboard
openboot install --dry-run         # preview without installing
openboot install alice/dev-setup --pick node,ripgrep   # install only named packages
openboot install alice/dev-setup --dry-run             # list available package names

Explicit flags (--from, --user/-u, -p/--preset) always override the positional argument.

For private configs, run openboot login first.

Install flags

FlagDescription
-p, --preset <name>Use a preset: minimal, developer, full
-u, --user <alias or user/slug>Install from an openboot.dev config
--from <file>Install from a local config or snapshot JSON
-s, --silentNon-interactive mode (for CI/automation)
--dry-runPreview without installing
--pick <names>Comma-separated list of package names to install from a remote config (e.g. --pick node,ripgrep). Fails if any name is unknown. Use --dry-run to list available names.
--packages-onlySkip shell, macOS, dotfiles, post-install
--shell <mode>install or skip
--macos <mode>configure or skip
--dotfiles <mode>clone, link, or skip
--post-install <mode>skip to skip post-install scripts
--allow-post-installAllow post-install scripts in silent mode
--updateUpdate Homebrew and exit — nothing is installed
--verboseDebug logging to stderr

install is add-only. It never uninstalls packages or removes settings — if a package is in your local system but not in the config, it stays. To remove packages, run brew uninstall directly.


openboot snapshot

Capture your Mac’s Homebrew packages, npm globals, macOS preferences, shell config (Oh-My-Zsh theme + plugins), git identity, and dev tool versions.

openboot snapshot

Destination by flag or context

openboot snapshot              # TTY: interactive menu. Pipe: JSON to stdout.
openboot snapshot --local      # save to ~/.openboot/snapshot.json
openboot snapshot --publish    # upload to openboot.dev
openboot snapshot --json       # JSON to stdout

Flags combine — openboot snapshot --local --publish saves locally and uploads.

When stdout is not a terminal (e.g. piped), snapshot emits JSON automatically:

openboot snapshot | jq '.packages.formulae'
openboot snapshot > my-setup.json

Publishing

openboot snapshot --publish
  • If this machine is already synced to a config, --publish updates that config in place (no prompts for name/description/visibility).
  • Otherwise you’re asked to name the config and pick visibility, then it’s created.

Target a specific existing config by slug:

openboot snapshot --publish --slug my-config

Restoring from a snapshot

openboot snapshot --import my-setup.json
openboot snapshot --import https://example.com/snapshot.json
openboot snapshot --import my-setup.json --dry-run

A review editor appears before any changes are made, so you can deselect items. What gets applied:

CategoryHow
Homebrew formulaebrew install
Homebrew casksbrew install --cask
Homebrew tapsbrew tap
NPM globalsnpm install -g
Git configgit config --global (skipped if already set)
Shell configOh-My-Zsh theme and plugins written to .zshrc
macOS preferencesdefaults write per captured preference

Snapshot flags

FlagDescription
--localSave to ~/.openboot/snapshot.json
--publishUpload to openboot.dev
--slug <slug>Target an existing config by slug (with --publish)
--jsonOutput JSON to stdout
--dry-runPreview without saving, uploading, or installing
--import <path>Restore from a local file or URL

Authentication

openboot login

Authenticate with openboot.dev through your browser. Required to install private configs and to publish snapshots.

openboot login

The token is saved at ~/.openboot/auth.json.

openboot logout

Remove the stored authentication token from this machine.

openboot logout

openboot version

Print the OpenBoot version.

openboot version

openboot doctor

Run read-only diagnostic checks on your development environment and get a pass/warn/fail summary.

openboot doctor

Checks performed:

CheckWhat it verifies
HomebrewInstalled and on PATH
Homebrew outdatedReports count of outdated packages
GitInstalled; user.name and user.email configured
Node.jsInstalled and reachable
npmInstalled and reachable
ShellDefault shell is zsh
Oh-My-ZshInstalled at ~/.oh-my-zsh
Brew shellenv~/.zshrc sources brew shellenv (Apple Silicon only)
OpenBoot dir~/.openboot/ exists
OpenBoot state~/.openboot/sync_source.json or state.json exists (a previous install)
PATH/opt/homebrew/bin on PATH (Apple Silicon only; skipped on Intel)

All checks are read-only — doctor never modifies your system.


openboot update

Upgrade the openboot binary itself.

openboot update            # upgrade to the latest release
openboot update --dry-run  # print what would be done, change nothing

Both install methods (the one-line installer and brew install) put OpenBoot under Homebrew. On these installs, openboot update refreshes the openbootdotdev/tap repository and runs brew upgrade openbootdotdev/tap/openboot. You can also upgrade with Homebrew directly.

If you installed a release binary by hand instead of through Homebrew, update downloads from GitHub and keeps a backup of the previous binary:

openboot update --version 1.0.5   # pin to an exact version
openboot update --rollback        # restore the most recent backup
openboot update --list-backups    # list backups under ~/.openboot/backup

Backups live in ~/.openboot/backup/; the 5 most recent are kept. --version and --rollback are refused on Homebrew-managed installs — use brew for those.

install also checks for updates before it runs. By default, it only notifies you when a newer version is available. Automatic upgrades are opt-in: set "autoupdate": "true" in ~/.openboot/config.json to enable them, or "autoupdate": "false" to disable checks. Set OPENBOOT_DISABLE_AUTOUPDATE=1 to skip the check regardless of that preference.


Removing packages

OpenBoot doesn’t uninstall — by design. To remove a package, run Homebrew directly:

brew uninstall <package>
brew autoremove          # prune orphaned dependencies

For a history of what was installed on this machine, see ~/.openboot/install_state.json.


See also: Config Options for the config schema, Environment Variables for env vars, and the project CHANGELOG for the full v1.0 migration.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.