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:
| Script | Installs |
|---|---|
brew.sh | Homebrew |
nvm.sh | NVM + Node.js |
nvmrc.sh | Writes latest LTS Node version to ~/code/.nvmrc |
wezterm.sh | WezTerm terminal |
oh-my-zsh.sh | Oh My Zsh + plugins, symlinks .zshrc |
postman.sh | Postman |
lazyvim.sh | Neovim, LazyGit, ripgrep, nerd font, symlinks ~/.config/nvim |
claude.sh | Claude 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>