Skip to main content

Getting Started

Bootstrap a new machine from scratch using the Shop repo.

Prerequisites

  • macOS
  • Git
  • A GitHub SSH key configured (docs)

1. Clone the repo

mkdir -p ~/code
git clone git@github.com:sjfcodes/shop.git ~/code/shop
cd ~/code/shop

2. Run the bootstrap script

cd setup
./all.sh

This runs the individual setup scripts in order:

ScriptInstalls
brew.shHomebrew
nvm.shNVM + Node.js
nvmrc.shWrites latest LTS Node version to ~/code/.nvmrc
wezterm.shWezTerm terminal
oh-my-zsh.shOh My Zsh + plugins, symlinks .zshrc
postman.shPostman
lazyvim.shNeovim, LazyGit, ripgrep, nerd font, symlinks ~/.config/nvim
claude.shClaude Code config symlinks to ~/.claude

Each script is idempotent — safe to re-run individually if something fails.

3. Set your workspace environment

Create ~/.shop-env to tell the shell which workspace branch you're on:

echo 'export SHOP_ENV="personal"' > ~/.shop-env

Replace personal with your workspace name (e.g. sbg). This loads the matching config from config/zsh/env/<name>.zsh on shell startup.

4. Reload your shell

source ~/.zshrc

Or open a new terminal window.

5. Verify

# Homebrew
brew --version

# Node
node --version

# Neovim
nvim --version

# Claude Code
claude --version

# Shop environment
echo $SHOP_ENV

Next steps

  • Read Environment System to understand how config layering works
  • Check out the workspace branch for your machine: git checkout <workspace>