Day 0 — Prerequisites

This chapter installs every tool you’ll use for the rest of the guide. Run the commands in order. Each one is safe to re-run if interrupted.

You’ll be working in Terminal. Open it from Spotlight (⌘ Space → “Terminal”).

0. Check what you already have

Some tools may already be on your Mac from prior work. Don’t reinstall things you already have — you may end up with two copies fighting each other (this happens most often with Claude Code).

Run each of these and read the output:

brew --version 2>/dev/null && echo "✓ Homebrew installed" || echo "✗ Homebrew missing"
node --version 2>/dev/null && echo "✓ Node installed" || echo "✗ Node missing"
git --version 2>/dev/null && echo "✓ git installed" || echo "✗ git missing"
gh --version 2>/dev/null | head -1 && echo "✓ GitHub CLI installed" || echo "✗ GitHub CLI missing"
claude --version 2>/dev/null && echo "✓ Claude Code installed" || echo "✗ Claude Code missing"
wrangler --version 2>/dev/null && echo "✓ Wrangler installed" || echo "✗ Wrangler missing"

For each tool the script reports as already installed, skip its install step below and move to the next one. The verify steps in each section are still worth running.

If claude reports a version, also run which -a claude to see if there are multiple installs:

which -a claude

If two or more paths appear, you have duplicate installs. Pick the one you want to keep (Homebrew installs to /opt/homebrew/bin/claude; the native installer puts it at ~/.local/bin/claude) and remove the other per the uninstall instructions.

1. Homebrew

Homebrew is the package manager you’ll use to install most of the other tools.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

The installer pauses to explain what it will do. Press Return to continue. It will ask for your Mac password — that’s expected.

Verify:

brew --version

You should see something like Homebrew 4.x.x.

2. Node.js

Node powers the website’s build process.

brew install node

Verify:

node --version

You should see something like v24.x.x or higher. Astro (the framework you’ll use) recommends even-numbered Node versions; if you happen to land on an odd-numbered one (e.g. v25), builds still work but you may see a warning.

3. git

git ships with Apple’s developer tools. The first time you try to use it, macOS will offer to install them. Trigger that prompt now:

git --version

If a dialog appears asking to install developer tools, click Install and wait. Re-run the command above to confirm it now reports a version.

4. GitHub CLI

The GitHub CLI (gh) lets you create repositories and pull requests from the terminal without leaving Claude Code.

brew install gh

Sign in to your GitHub account:

gh auth login

Choose: GitHub.comHTTPSLogin with a web browser. A code appears in the terminal; copy it, press Return, paste the code into the browser tab that opens, and approve.

Verify:

gh auth status

You should see Logged in to github.com account <your-username>.

4a. Create your projects folder

You’ll want a single, predictable folder to check out and create GitHub projects in. The convention this guide uses is ~/ClaudeCode.

mkdir -p ~/ClaudeCode

Every chapter that creates or clones a repo assumes you’re starting in ~/ClaudeCode. If you already use a different folder for code (e.g. ~/Code or ~/dev), it’s fine to substitute it — just be consistent.

5. Claude Code

Claude Code is the AI assistant you’ll work with. Install it as a Mac app via Homebrew:

brew install --cask claude-code

Verify:

claude --version

Run Claude Code’s self-check:

claude doctor

The first time you launch Claude Code, run claude from a terminal in any folder and follow the browser sign-in prompts. You need a Pro, Max, Team, or Enterprise account.

6. Superpowers plugin

Superpowers is a Claude Code plugin that adds disciplined workflow skills (brainstorming, planning, debugging). Install it from inside Claude Code itself.

Open Claude Code:

claude

In the Claude Code prompt, type:

/plugin install superpowers@claude-plugins-official

Wait for confirmation that the plugin installed. You can quit Claude Code with Ctrl+C (or type /exit) once it’s done.

7. Nexus-Council MCP

Nexus-Council gives Claude Code access to a library of expert personas (Brand Strategist, Conversion Copywriter, etc.) you’ll use later for design and copy review.

Fast path: copy the config from Claude Desktop

If you already have Nexus-Council working in Claude Desktop, you can skip the entire handoff. Here’s why it’s safe:

The only thing that differs between Desktop and Code is which JSON file points at the bridge. Claude Desktop reads ~/Library/Application Support/Claude/claude_desktop_config.json; Claude Code reads ~/.claude.json. Copy the relevant entry across.

Open Claude Code and paste:

Read ~/Library/Application Support/Claude/claude_desktop_config.json and find the entry under mcpServers whose command path mentions nexus-council or personas. Copy that entire entry into ~/.claude.json under its own mcpServers block (creating the file or merging into the existing mcpServers if one already exists). Preserve the same key name (e.g. nexus-council). After writing, show me the resulting mcpServers block in ~/.claude.json so I can confirm it copied correctly.

Quit and restart Claude Code. Skip ahead to the verification step at the end of this section.

If Claude can’t find the entry, or if you’ve never set up Nexus-Council in Claude Desktop, follow the from-scratch path below instead.

From-scratch path

Setup is a four-step handoff from Thomas:

  1. Thomas issues you an API key and shares it via 1Password.
  2. Thomas sends you the bridge file mcp-nexus-council-bridge.mjs. Save it to ~/bin/mcp-nexus-council-bridge.mjs (create the folder if needed):
mkdir -p ~/bin
  1. Install the API key into your Mac keychain. Replace meg with whatever identity Thomas tells you, and paste the actual key inside the single quotes:
security add-generic-password -s mcp-nexus-council -a meg -w 'PASTE_KEY_HERE'
  1. Tell Claude Code about the MCP server. Open ~/.claude.json in any editor and add (or merge into) an mcpServers block:
{
"mcpServers": {
  "nexus-council": {
    "command": "node",
    "args": ["/Users/YOUR_USERNAME/bin/mcp-nexus-council-bridge.mjs"],
    "env": {
      "PERSONAS_WORKER_URL": "https://mcp-nexus-council.tiny-term-27a1.workers.dev/mcp",
      "PERSONAS_IDENTITY": "meg"
    }
  }
}
}

Replace YOUR_USERNAME with your Mac username (run whoami to see it). Replace meg with the identity Thomas gave you.

Quit and restart Claude Code.

Verify

Run Claude Code and ask it: “List the available Nexus-Council personas.” If it returns a list (Brand Strategist, Conversion Copywriter, and so on), you’re done.

When everything above is checked, move on to chapter 01.