New Machine Setup Guide
Step-by-step guide to get BoB running on a fresh machine.
Prerequisites
Section titled “Prerequisites”| Dependency | Minimum Version | Install |
|---|---|---|
| macOS or Linux | macOS 13+ / Ubuntu 22+ | — |
| Git | 2.30+ | brew install git or apt install git |
| Node.js | 18+ | brew install node or nvm |
| jq | 1.6+ | brew install jq or apt install jq |
| Claude Code CLI | Latest | npm install -g @anthropic-ai/claude-code |
Step 1: Clone BoB
Section titled “Step 1: Clone BoB”Clone the BoB source repo to a dedicated projects directory (not ~/.claude/):
git clone git@github.com:paulirv/bigbrain.git ~/projects/bigbrainStep 2: Set Environment Variables
Section titled “Step 2: Set Environment Variables”Add to ~/.zshrc or ~/.bashrc:
export BOB_HOME="$HOME/.claude" # Runtime directory (Claude Code reads this)export BOB_SOURCE="$HOME/projects/bigbrain" # Source repoexport PATH="$HOME/bin:$BOB_SOURCE/bin:$PATH" # ~/bin for cdi/cdb/cdp/cdl/cdg/cds; BOB_SOURCE/bin for warp/cdfork/dev-up/dev-healthThen reload: source ~/.zshrc
Step 3: Initial Deploy
Section titled “Step 3: Initial Deploy”Deploy from the source repo to ~/.claude/:
# If ~/.claude/ already exists from a previous installation:bash ~/projects/bigbrain/scripts/deploy.sh --first-run
# For a fresh machine where ~/.claude/ doesn't exist yet:bash ~/projects/bigbrain/scripts/deploy.shThe deploy script:
- Syncs skills, commands, agents, hooks, scripts, templates, registry to
~/.claude/ - Preserves machine-specific files (settings.json, settings.local.json, CLAUDE.local.md)
- On
--first-run: removes legacy.git/and.claude/dirs from~/.claude/
Step 4: Install CLI Wrapper and Aliases
Section titled “Step 4: Install CLI Wrapper and Aliases”bash ~/projects/bigbrain/scripts/bob-install.shsource ~/.zshrcThis installs the claude wrapper function (supports -a1, -a2, -a3, -rdb flags) and aliases (cdprov, cdr, cdfork).
Step 5: Set Up CLI Commands
Section titled “Step 5: Set Up CLI Commands”Create ~/bin if it doesn’t exist, then symlink the CLI tools:
mkdir -p ~/bin
# Replace $BOB_SOURCE with your actual path if the env var isn't setln -sf "$BOB_SOURCE/claude-init.sh" ~/bin/cdiln -sf "$BOB_SOURCE/claude-dashboard.sh" ~/bin/cdbln -sf "$BOB_SOURCE/claude-promote.sh" ~/bin/cdpln -sf "$BOB_SOURCE/claude-link.sh" ~/bin/cdlln -sf "$BOB_SOURCE/scripts/generate-dashboard.js" ~/bin/cdgln -sf "$BOB_SOURCE/scripts/dashboard-server.js" ~/bin/cdsStep 6: Verify Installation
Section titled “Step 6: Verify Installation”# Check deployed runtimels ~/.claude/skills/ ~/.claude/commands/ ~/.claude/hooks/
# Check source repols ~/projects/bigbrain/scripts/ ~/projects/bigbrain/registry/
# Check CLI tools workcdb --global-only
# Check dependenciesnode --version # Should be 18+jq --version # Should be 1.6+Step 7: Clone Project Repos
Section titled “Step 7: Clone Project Repos”Clone each project you work with, then initialize with BoB tooling:
git clone git@github.com:example/bodmail.git ~/Sites/bodmailcd ~/Sites/bodmailcdi # Creates .claude/ with symlinks to BOB_SOURCEProject symlinks point to BOB_SOURCE (the source repo), not ~/.claude/.
Step 8: Machine-Specific Overrides (Optional)
Section titled “Step 8: Machine-Specific Overrides (Optional)”cat > ~/.claude/CLAUDE.local.md << 'EOF'# Machine: (your machine name)
- Projects directory: ~/Sites/ (or ~/Work/, etc.)- Any machine-specific notes hereEOFThis file is gitignored and protected by deploy.sh.
Verification Checklist
Section titled “Verification Checklist”-
echo $BOB_SOURCEshows~/projects/bigbrain -
cdbshows global tooling inventory -
cdiis available (which cdi) - Opening Claude Code in any linked project loads BoB’s CLAUDE.md
- Skills are available (start a Claude session, type
/journal) - Hooks fire (try editing a file on main branch – should be blocked)
Updating BoB
Section titled “Updating BoB”Pull the latest source, then re-deploy:
cd ~/projects/bigbrain && git pullbash scripts/deploy.shmake checkThen re-provision active projects from their manifests:
cdr reprovision # disaster-recovery CLI: re-applies every project's manifestFor a single project, cd <project> && cdprov --refresh is enough.
Troubleshooting
Section titled “Troubleshooting”Symlinks are broken after clone:
# In the project directory:cdi # Re-creates all symlinks from BOB_SOURCEcdb command not found:
# Check ~/bin is in PATHecho $PATH | tr ':' '\n' | grep bin# Re-create symlinkln -sf ~/projects/bigbrain/claude-dashboard.sh ~/bin/cdbHooks not firing:
Check that the project’s .claude/settings.json references hook paths correctly. Hooks should point to .claude/hooks/*.sh (relative to project root), and those should be symlinks to $BOB_SOURCE/hooks/.
Skills not loading:
Skills auto-load from ~/.claude/skills/. If they’re missing, re-deploy:
bash ~/projects/bigbrain/scripts/deploy.sh