diff --git a/src/docs/cli-reference.md b/src/docs/cli-reference.md index 768297d..e90fca1 100644 --- a/src/docs/cli-reference.md +++ b/src/docs/cli-reference.md @@ -13,11 +13,12 @@ OpenBoot v1.0 has two real verbs: **`install`** adds things to your Mac, **`snap 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`, `update`, `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](/dashboard). See the project [CHANGELOG](https://github.com/openbootdotdev/openboot/blob/main/CHANGELOG.md) for migration. +> **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](/dashboard). See the project [CHANGELOG](https://github.com/openbootdotdev/openboot/blob/main/CHANGELOG.md) for migration. ## `openboot install` @@ -84,7 +85,7 @@ For private configs, run `openboot login` first. | `--dotfiles ` | `clone`, `link`, or `skip` | | `--post-install ` | `skip` to skip post-install scripts | | `--allow-post-install` | Allow post-install scripts in silent mode | -| `--update` | Update Homebrew before installing | +| `--update` | Update Homebrew and exit — nothing is installed | | `--verbose` | Debug 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. @@ -218,22 +219,35 @@ Checks performed: | Oh-My-Zsh | Installed at `~/.oh-my-zsh` | | Brew shellenv | `~/.zshrc` sources `brew shellenv` (Apple Silicon only) | | OpenBoot dir | `~/.openboot/` exists | -| OpenBoot state | `install_state.json` is valid JSON | -| PATH | `/usr/local/bin` and/or Homebrew prefix on PATH | +| 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. --- -## Upgrading OpenBoot +## `openboot update` -OpenBoot no longer has a self-update command. It's installed via Homebrew — use Homebrew to upgrade: +Upgrade the `openboot` binary itself. ``` -brew upgrade openboot +openboot update # upgrade to the latest release +openboot update --dry-run # print what would be done, change nothing ``` -OpenBoot also does a lightweight auto-update check when you run `install`. +Both install methods (the one-line installer and `brew install`) put OpenBoot under Homebrew, so `openboot update` simply runs `brew upgrade openboot` for you. Running `brew upgrade openboot` yourself does the same thing. + +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.0 # 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 does a lightweight auto-update check before it runs. Set `OPENBOOT_DISABLE_AUTOUPDATE=1` to skip it. --- diff --git a/src/docs/env-vars.md b/src/docs/env-vars.md index 3ea9353..cf1925d 100644 --- a/src/docs/env-vars.md +++ b/src/docs/env-vars.md @@ -15,9 +15,10 @@ Used when you run `curl -fsSL openboot.dev/install.sh | bash`. The script instal | Variable | Description | Default | |----------|-------------|---------| -| `OPENBOOT_VERSION` | Install a specific version instead of latest | `latest` | | `OPENBOOT_DRY_RUN` | Set to `true` to preview without changes | — | +The script always installs the latest release published in the tap; there is no version pin. + Preview the install script without making changes: ``` @@ -34,6 +35,9 @@ Used by the `openboot` binary at runtime. | `OPENBOOT_GIT_EMAIL` | Git user email — **read only in `--silent` mode** (required if Git isn't already configured) | | `OPENBOOT_PRESET` | Default preset. Overridden by `-p` / `--preset` | | `OPENBOOT_USER` | Default cloud config (alias or `user/slug`). Overridden by `-u` / `--user` | +| `OPENBOOT_DOTFILES` | Dotfiles repo URL to clone and link. Overrides the config's `dotfiles_repo` | +| `OPENBOOT_DISABLE_AUTOUPDATE` | Set to `1` to skip the auto-update check that runs before `install` | +| `OPENBOOT_API_URL` | Override the openboot.dev API base URL — testing only; must be `https://` or `http://localhost` | Silent install with Git identity: diff --git a/src/docs/faq.md b/src/docs/faq.md index 4e61715..a164a7b 100644 --- a/src/docs/faq.md +++ b/src/docs/faq.md @@ -95,9 +95,7 @@ An account (GitHub or Google OAuth) is needed to: brew upgrade openboot ``` -OpenBoot also does a lightweight auto-update check when you run `install`. - -The old `openboot update --self` command was removed in v1.0 — use `brew upgrade` instead. +`openboot update` does the same thing — on a Homebrew install it just runs `brew upgrade openboot` for you. OpenBoot also does a lightweight auto-update check when you run `install`; set `OPENBOOT_DISABLE_AUTOUPDATE=1` to skip it. Your configs, snapshots, and auth tokens are unaffected by upgrades. diff --git a/src/docs/quick-start.md b/src/docs/quick-start.md index 1de8893..e6ee11d 100644 --- a/src/docs/quick-start.md +++ b/src/docs/quick-start.md @@ -21,7 +21,7 @@ Installs Xcode Command Line Tools and Homebrew if they're missing, downloads Ope ```bash brew install openbootdotdev/tap/openboot -openboot +openboot install ``` The interactive TUI opens and you pick what to install. @@ -29,7 +29,7 @@ The interactive TUI opens and you pick what to install. ## First run ```bash -openboot +openboot install ``` The TUI opens with the `developer` preset selected. **Arrow keys** navigate, **Space** toggles packages, **Enter** confirms. Homebrew starts installing — usually 10–30 minutes depending on what you picked. @@ -51,7 +51,7 @@ See [Presets](/docs/presets) for what's in each one. ## Running again later -Just type `openboot`. If the machine is already synced to a config (or a preset), OpenBoot fetches the latest version, shows what's missing, and asks to apply it. Nothing gets uninstalled — `install` only adds. +Run `openboot install` again. If the machine is already synced to a config, OpenBoot fetches the latest version, shows what's missing, and asks to apply it. Nothing gets uninstalled — `install` only adds. ``` → Syncing with @alice/dev-setup (last synced 2 days ago) diff --git a/src/docs/what-is-openboot.md b/src/docs/what-is-openboot.md index 7683b76..c6d301d 100644 --- a/src/docs/what-is-openboot.md +++ b/src/docs/what-is-openboot.md @@ -31,13 +31,13 @@ OpenBoot is an open-source CLI that automates the boring part of setting up a ne curl -fsSL https://openboot.dev/install.sh | bash ``` -This installs Xcode Command Line Tools and Homebrew if you don't have them yet, downloads the `openboot` binary, and launches the TUI. +This installs Xcode Command Line Tools and Homebrew if you don't have them yet, installs `openboot` through Homebrew, and launches the TUI. **Already have Homebrew?** ```bash brew install openbootdotdev/tap/openboot -openboot +openboot install ``` Either way, from there: diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index b2f6d89..35a13f8 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -141,10 +141,9 @@
Xcode Command Line Tools ready
Homebrew ready
Detected: darwin/arm64
-
Downloading OpenBoot v0.44.0...
-
Downloaded to ~/.openboot/bin/openboot
-
Checksum verified
-
Added to PATH
+
Installing OpenBoot via Homebrew...
+
OpenBoot installed!
+
Starting OpenBoot setup...