Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions src/docs/cli-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`

Expand Down Expand Up @@ -84,7 +85,7 @@ For private configs, run `openboot login` first.
| `--dotfiles <mode>` | `clone`, `link`, or `skip` |
| `--post-install <mode>` | `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.
Expand Down Expand Up @@ -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.

---

Expand Down
6 changes: 5 additions & 1 deletion src/docs/env-vars.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

```
Expand All @@ -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:

Expand Down
4 changes: 1 addition & 3 deletions src/docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
6 changes: 3 additions & 3 deletions src/docs/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ 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.

## 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.
Expand All @@ -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)
Expand Down
4 changes: 2 additions & 2 deletions src/docs/what-is-openboot.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
7 changes: 3 additions & 4 deletions src/routes/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,9 @@
<div class="t-mt13"><span class="t-accent">✓</span> Xcode Command Line Tools ready</div>
<div><span class="t-accent">✓</span> Homebrew ready</div>
<div class="t-mt13 t-muted">Detected: darwin/arm64</div>
<div class="t-strong">Downloading OpenBoot v0.44.0...</div>
<div><span class="t-accent">✓</span> Downloaded to ~/.openboot/bin/openboot</div>
<div><span class="t-accent">✓</span> Checksum verified</div>
<div><span class="t-accent">✓</span> Added to PATH</div>
<div class="t-strong">Installing OpenBoot via Homebrew...</div>
<div><span class="t-accent">✓</span> OpenBoot installed!</div>
<div>Starting OpenBoot setup...</div>
<div class="t-mt10"><span class="t-caret"></span></div>
</div>

Expand Down
Loading