Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

plans: graduate freshmac setup doc into the repo

Moved from ~/.claude/plans/ where it was personal scratch. Rescoped as
an AC onboarding doc that carries Homebrew + gh bootstrap through to
cloning the repo and handing off to slab/install.sh.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

+78
+78
plans/SETUP-FRESHMAC.md
··· 1 + # Fresh Mac setup for aesthetic-computer 2 + 3 + Bootstrap a new Apple Silicon Mac to the point where you can clone the 4 + repo, run the dev server, and have the slab daemon + menubar running. 5 + 6 + ## Context 7 + Fresh arm64 Mac, zsh default. Neither `brew` nor `gh` is on PATH, and 8 + `/opt/homebrew` doesn't exist yet. `~/.zprofile` and `~/.zshrc` also 9 + don't exist. Goal: get the prerequisites in, clone the repo, and hand 10 + off to `slab/install.sh` for the AC-specific bits. 11 + 12 + ## Steps 13 + 14 + ### 1. Install Homebrew 15 + Run the official installer: 16 + ```sh 17 + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 18 + ``` 19 + - The installer is interactive: it prints what it will do and waits for RETURN to proceed. 20 + - It will prompt for the macOS login password (sudo) to create `/opt/homebrew` and chown it. 21 + - On arm64 Macs, Homebrew installs to `/opt/homebrew` (not `/usr/local`). 22 + 23 + ### 2. Wire `brew` onto PATH for future zsh sessions 24 + Create `~/.zprofile` with the Homebrew shellenv line (the installer prints this exact instruction at the end): 25 + ```sh 26 + echo >> ~/.zprofile 27 + echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile 28 + eval "$(/opt/homebrew/bin/brew shellenv)" 29 + ``` 30 + The final `eval` loads `brew` into the current shell so step 3 works without opening a new terminal. 31 + 32 + ### 3. Install the GitHub CLI 33 + ```sh 34 + brew install gh 35 + ``` 36 + 37 + ### 4. Authenticate with GitHub 38 + ```sh 39 + gh auth login 40 + ``` 41 + This is interactive. Typical answer path for a personal Mac: 42 + - **Account:** GitHub.com 43 + - **Protocol:** HTTPS (simplest; use SSH if you plan to push via SSH keys) 44 + - **Authenticate Git with your GitHub credentials?** Yes 45 + - **How would you like to authenticate?** Login with a web browser → opens github.com/login/device, paste the one-time code. 46 + 47 + After login, `gh auth status` should show the authenticated account. 48 + 49 + ### 5. Clone the repo (+ nested vault, if you have access) 50 + ```sh 51 + gh repo clone whistlegraph/aesthetic-computer 52 + cd aesthetic-computer 53 + # the vault is a separately-cloned private repo nested inside: 54 + # git clone git@github.com:…/aesthetic-computer-vault aesthetic-computer-vault 55 + ``` 56 + 57 + ### 6. Run the slab installer 58 + Sets up the lid-ambient daemon, menubar app, launchd plists, Python 59 + venv, and Claude Code hooks. Idempotent — re-runnable. 60 + ```sh 61 + ./slab/install.sh # full install 62 + ./slab/install.sh --no-hooks # skip the Claude Code settings merge 63 + ``` 64 + See [slab/README.md](../slab/README.md) for details. 65 + 66 + ## Verification 67 + - `brew --version` prints a version. 68 + - `brew doctor` reports "Your system is ready to brew" (warnings about Xcode CLT are fine if they appear; the installer handles CLT automatically). 69 + - `gh --version` prints a version. 70 + - `gh auth status` shows logged in as `<your-username>` on github.com. 71 + - `launchctl list | grep slab` shows `computer.slab.daemon` and `computer.slab.menubar` running with exit code 0. 72 + 73 + ## Notes / caveats 74 + - **Xcode Command Line Tools**: the Homebrew installer will trigger the CLT install if missing. That opens a GUI dialog and downloads ~1–2 GB — expect a wait on first run. 75 + - **Sudo password**: required once during the Homebrew install, and again by `slab/install.sh` for the passwordless-pmset sudoers rule (skippable with `--no-sudoers`). 76 + - **Interactive prompts**: steps 1 and 4 need the user at the keyboard; they can't be fully automated from here. 77 + - **Git**: macOS ships a `git` shim that triggers CLT. After `brew install gh`, `gh` depends on git, so brew will pull in a fresh `git` as a dependency — no separate install needed. 78 + - **Not covered here**: GPG keys (restore `~/.gnupg/` from your own backup before decrypting vault files), SSH keys (symlinked from the vault once cloned), Claude Code memory (`~/.claude/`, `~/.ac-agent-memory/` — private backup).