Skip to content

Commit bbf04fc

Browse files
committed
docs: rewrite README for new multi-repo architecture
1 parent 4d48c17 commit bbf04fc

1 file changed

Lines changed: 61 additions & 106 deletions

File tree

README.md

Lines changed: 61 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,24 @@
22

33
> One-line macOS development environment setup
44
5+
[![Release](https://img.shields.io/github/v/release/openbootdotdev/openboot)](https://github.com/openbootdotdev/openboot/releases)
6+
[![License](https://img.shields.io/github/license/openbootdotdev/openboot)](LICENSE)
7+
58
## Quick Start
69

710
```bash
811
curl -fsSL openboot.dev/install | bash
912
```
1013

14+
## What is OpenBoot?
15+
16+
OpenBoot is a CLI tool that bootstraps your Mac development environment in minutes. It provides:
17+
18+
- **Interactive TUI** for selecting packages
19+
- **Curated presets** for different development workflows
20+
- **Custom configurations** via [openboot.dev](https://openboot.dev)
21+
- **Dotfiles integration** with GNU Stow
22+
1123
## Prerequisites
1224

1325
- macOS 12.0 (Monterey) or later
@@ -17,19 +29,27 @@ curl -fsSL openboot.dev/install | bash
1729
## Usage
1830

1931
### Interactive Mode
20-
Simply run the quick start command. OpenBoot will guide you through:
32+
33+
```bash
34+
curl -fsSL openboot.dev/install | bash
35+
```
36+
37+
OpenBoot will guide you through:
2138
1. Git identity configuration
2239
2. Preset selection
2340
3. Package customization
24-
4. Dotfiles setup
41+
4. Dotfiles setup (optional)
2542
5. Oh-My-Zsh installation (optional)
2643

44+
### Custom Configuration
45+
46+
Create your own config at [openboot.dev/dashboard](https://openboot.dev/dashboard), then:
47+
2748
```bash
28-
curl -fsSL openboot.dev/install | bash
49+
curl -fsSL openboot.dev/YOUR_USERNAME | bash
2950
```
3051

3152
### Non-Interactive Mode (CI/Automation)
32-
Use environment variables and the `--silent` flag to run OpenBoot without user input.
3353

3454
```bash
3555
OPENBOOT_GIT_NAME="Your Name" \
@@ -39,127 +59,62 @@ curl -fsSL openboot.dev/install | bash -s -- --preset minimal --silent
3959

4060
## Presets
4161

42-
| Preset | Focus | Key CLI Tools | Key GUI Apps |
43-
|--------|-------|---------------|--------------|
44-
| **minimal** | Essential tools | ripgrep, fd, bat, fzf, lazygit, gh | Warp, Raycast, Maccy |
45-
| **standard** | General dev | + Node, Go, Rust, Docker, tmux, neovim | + VS Code, OrbStack, Chrome |
46-
| **full** | Everything | + kubectl, terraform, Python, ffmpeg | + Office, Slack, Obsidian |
47-
| **devops** | Infrastructure | kubectl, helm, k9s, terraform, argocd | VS Code, OrbStack, Lens |
48-
| **frontend** | Web development | Node, pnpm, Bun, Deno, Playwright | VS Code, Figma, Arc, Cursor |
49-
| **data** | Data science | Python, R, Julia, DuckDB, PostgreSQL | VS Code, DBeaver, RStudio |
50-
| **mobile** | iOS & Android | CocoaPods, Fastlane, Gradle, scrcpy | Android Studio, Figma |
51-
| **ai** | AI/ML development | Ollama, llm, Python, uv, DuckDB | Cursor, LM Studio, ChatGPT |
52-
53-
## Options
54-
55-
- `--help`: Show help message
56-
- `--preset NAME`: Set preset (minimal, standard, full, devops, frontend, data, mobile, ai)
57-
- `--silent`: Non-interactive mode (requires env vars)
58-
- `--shell MODE`: Install shell framework (install, skip)
59-
- `--dotfiles MODE`: Set dotfiles mode (clone, link, skip)
60-
- `--dry-run`: Show what would be installed without installing
61-
- `--resume`: Resume from last incomplete step
62-
- `--rollback`: Restore backed up files to their original state
63-
- `--update`: Update Homebrew and upgrade all packages
64-
65-
## Environment Variables
62+
| Preset | Focus | Key Tools |
63+
|--------|-------|-----------|
64+
| **minimal** | Essential CLI tools | ripgrep, fd, bat, fzf, lazygit, gh |
65+
| **developer** | General development | Node, Go, Docker, VS Code, OrbStack |
66+
| **full** | Complete setup | kubectl, terraform, Python, Cursor |
6667

67-
- `OPENBOOT_GIT_NAME`: Git user name (required in silent mode)
68-
- `OPENBOOT_GIT_EMAIL`: Git user email (required in silent mode)
69-
- `OPENBOOT_PRESET`: Default preset if `--preset` not specified
70-
- `OPENBOOT_DOTFILES`: Dotfiles repository URL
68+
## CLI Options
7169

72-
## Testing
73-
74-
### Dry Run (Safe Preview)
75-
See what would be installed without making any changes:
70+
```
71+
--preset NAME Set preset (minimal, developer, full)
72+
--user USERNAME Use remote config from openboot.dev
73+
--silent Non-interactive mode (requires env vars)
74+
--dry-run Preview what would be installed
75+
--update Update Homebrew and upgrade all packages
76+
--rollback Restore backed up files
77+
```
7678

77-
```bash
78-
# Test from remote
79-
curl -fsSL openboot.dev/install | bash -s -- --dry-run
79+
## Environment Variables
8080

81-
# Test locally
82-
./boot.sh --dry-run
83-
./install.sh --preset minimal --dry-run
84-
```
81+
| Variable | Description |
82+
|----------|-------------|
83+
| `OPENBOOT_GIT_NAME` | Git user name (required in silent mode) |
84+
| `OPENBOOT_GIT_EMAIL` | Git user email (required in silent mode) |
85+
| `OPENBOOT_PRESET` | Default preset |
86+
| `OPENBOOT_USER` | Remote config username |
8587

86-
### Local Testing
87-
Clone and run locally to test changes:
88+
## Development
8889

8990
```bash
91+
# Clone
9092
git clone https://github.com/openbootdotdev/openboot.git
9193
cd openboot
9294

93-
# Test boot.sh (prerequisites only)
94-
./boot.sh --dry-run
95-
96-
# Test full install with specific preset
97-
./install.sh --preset minimal --dry-run
98-
./install.sh --preset devops --dry-run
95+
# Build
96+
make build
9997

100-
# Test silent mode
101-
OPENBOOT_GIT_NAME="Test" OPENBOOT_GIT_EMAIL="test@test.com" \
102-
./install.sh --preset minimal --silent --dry-run
103-
```
104-
105-
### VM Testing (Full Installation)
106-
For testing actual installations without affecting your system:
98+
# Run locally
99+
./openboot --dry-run
107100

108-
**Option 1: macOS VM (UTM/Parallels)**
109-
```bash
110-
# Create a clean macOS VM
111-
# Run the full installation
112-
curl -fsSL openboot.dev/install | bash
101+
# Run tests
102+
make test
113103
```
114104

115-
**Option 2: Fresh User Account**
116-
```bash
117-
# Create a new macOS user for testing
118-
# Log into that user and run the installer
119-
```
120-
121-
### Validation Checklist
122-
123-
After installation, verify:
124-
125-
```bash
126-
# Check Homebrew
127-
brew doctor
128-
129-
# Check installed packages
130-
brew list
131-
brew list --cask
105+
## Project Structure
132106

133-
# Check CLI tools
134-
which rg fd bat fzf gh
135-
136-
# Check shell
137-
echo $SHELL
138107
```
139-
140-
## Rollback
141-
142-
If something goes wrong, OpenBoot automatically backs up your original files before making changes. To restore:
143-
144-
```bash
145-
./install.sh --rollback
108+
openbootdotdev/
109+
├── openboot # This repo - CLI tool (Go)
110+
├── openboot.dev # Website & API (SvelteKit + Cloudflare)
111+
└── dotfiles # Dotfiles template (GNU Stow)
146112
```
147113

148-
Backups are stored in `~/.openboot/backup/` with timestamps.
149-
150-
## Troubleshooting
151-
152-
### Installation fails with "interactive terminal" error
153-
If you are running in a non-interactive environment (like a script or CI), ensure you use the `--silent` flag and provide the required environment variables.
154-
155-
### Homebrew installation fails
156-
OpenBoot requires Homebrew. If Homebrew installation fails, ensure you have an active internet connection and admin privileges. You can try installing Homebrew manually first:
157-
```bash
158-
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
159-
```
114+
## Related
160115

161-
### Package installation fails
162-
Some casks may fail if the app is already installed or requires a specific macOS version. OpenBoot continues with remaining packages. Check `~/.openboot/logs/` for details.
116+
- [openboot.dev](https://github.com/openbootdotdev/openboot.dev) - Website & dashboard
117+
- [dotfiles](https://github.com/openbootdotdev/dotfiles) - Dotfiles template
163118

164119
## License
165120

0 commit comments

Comments
 (0)