Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stride-mac-setup

One-shot Mac setup that mirrors Brandon's Ghostty + Claude Code + workspace configuration. Clone it, run one script, then let Claude walk you through the choices that matter (colours, glass, model, spinner, prompt stars, status line, banner, shortcuts). Your clone becomes your own dotfiles repo: config edits land in it, and /setup copies the machine choices into local/ and commits, so a push of the clone is a complete backup.

Apple silicon (M1 or later), macOS 14+.

Install

Open Terminal.app. First, the Apple developer tools (git lives there; a fresh Mac has none):

xcode-select --install

Click Install in the dialog and wait for it to finish (a few minutes). Then:

git clone https://github.com/brandon-stride/stride-mac-setup.git ~/stride-mac-setup
~/stride-mac-setup/bootstrap.sh

(Or unpack the zip you were sent to ~/stride-mac-setup and run the same second line.)

bootstrap.sh installs Xcode Command Line Tools (if missing), Homebrew, the Brewfile (Ghostty, starship, fzf, zoxide, eza, gh, fnm, the Nerd Fonts), node via fnm, Claude Code, links the config into place, appends one block to ~/.zshrc, and opens Ghostty on the kit. Re-running it is safe.

Then, in the Ghostty window that opens:

claude

Log in when it asks, then type /setup. Ten short topics, each with "keep it" as the first option. About five minutes.

What you get

Piece Where it lives in the kit Where it is linked
Ghostty config: shared behaviour + 7 colour profiles, live-switchable with profile ghostty/ ~/Library/Application Support/com.mitchellh.ghostty/
Claude Code settings, keybindings, theme, hooks, rules claude/ ~/.claude/
Status line: account · model · repo · branch ribbon, context bar, session time claude/scripts/statusline.sh via settings
Tab spinner + prompt stars (binary patch, re-applied after every update) claude/scripts/patch-claude-binary.* SessionStart hook
/setup, /handoff, /catch skills claude/skills/ ~/.claude/skills/
Shell: aliases, banner, cc, ws, scratch, profile, project shortcuts + registrar shell/ ~/.config/stride/
Starship prompt starship/ ~/.config/starship.toml
Global git hooks: tsc on commit, opt-in merge gate on push git/hooks ~/.git-hooks
Workspace template: CLAUDE.md, .planning/, .claude/rules/, clients/ workspace/ ~/<your workspace>

Machine choices (workspace name, spinner, stars, status line style, banner words) live in ~/.config/stride/setup.env, written by /setup and mirrored to local/ in the clone. Secrets go in ~/.secrets.env (mode 600), never in the repo.

Daily use

  • ws jumps to the workspace, scratch to experiments, shortcuts lists project jumps.
  • cc launches Claude Code here; cc <shortcut> jumps first.
  • profile picks a colour scheme for this tab; profile -n titanium opens a new window in one.
  • /handoff at the end of a session with open work; /catch to resume next time.
  • New project shortcut: ~/.config/stride/kit/shell/register-project-shortcut.sh <dir> <word>.

Re-running or changing things later

Everything is a file in your clone. Edit, then: Ghostty colours reload with cmd+shift+, (new tab to see font changes; full quit for opacity); shell changes need a new tab; Claude Code settings apply on the next launch. /setup can be run again at any time and shows the current value of every choice.

Uninstall

link.sh moved anything it replaced to <name>.pre-stride (or .pre-stride.<timestamp> when that name was taken); nothing is ever deleted. Delete the symlinks it created, move those back, remove the block between the stride-mac-setup markers in ~/.zshrc, and unset the global git keys bootstrap wrote:

git config --global --unset core.hooksPath
git config --global --unset init.defaultBranch
# only if you chose HTTPS routing in /setup:
git config --global --unset-all url.https://github.com/.insteadOf

The Claude binary patch is undone by reinstalling Claude Code (curl -fsSL https://claude.ai/install.sh | bash).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages