Skip to content

1 · Machine setup (once per machine)

Everything on this page is workspace-global — it installs to /usr/local/bin, ~/.config/, or your OS package manager’s global location. None of it touches a specific project. Run it once per machine; every project you ever build reuses it.

gh lets the agent create repos, open PRs, and manage issues directly from the terminal with no MCP needed.

Terminal window
# Install if missing
command -v gh &>/dev/null && echo "gh present: $(gh --version | head -1)" || brew install gh
# Authenticate if not already
gh auth status &>/dev/null || gh auth login # GitHub.com → HTTPS → login with browser

Verify: gh auth status reports Logged in to github.com as <you>.

MCP (Model Context Protocol) servers give the agent native tools for infrastructure, browsers, docs, and payments. Add them at user scope (-s user) so they’re available across all projects. A browser OAuth step (👤) is needed for some — the agent can’t click “Authorize.”

MCPWhySetup
DNS / CDN (e.g. Cloudflare)DNS records, SSL, cache, WAF in later deploy phasesclaude mcp add --transport http <name> <url> -s user then authorize in browser 👤
Hosting providerDomains, databases, SSL, cron on your hostPer provider docs — usually claude mcp add <name> -e <API_TOKEN_ENV> -- npx -y <provider-mcp>
PlaywrightBrowser automation, screenshots, E2E checksUsually a Claude Code plugin — no setup; else claude plugin add playwright
Context7Current Laravel/Livewire/Tailwind docs in-sessionPlugin or claude.ai integration
StripePayment setup + verificationStripe CLI (brew install stripe/stripe-cli/stripestripe login 👤) + Stripe MCP via OAuth
GmailConfirm transactional email actually arrivesclaude.ai integration

When you add a token to ~/.zshrc, verify it by length only — never echo its characters into an AI-assisted session:

Terminal window
[ -n "$CF_API_TOKEN" ] && echo "✅ token present (${#CF_API_TOKEN} chars, hidden)" || echo "❌ missing"

After editing ~/.zshrc, fully quit and reopen your editor (a “reload window” does not refresh env vars in the agent’s shell).

3. The permission-mode switcher (claude-mode)

Section titled “3. The permission-mode switcher (claude-mode)”

The kit ships a claude-mode system — three permission presets (strict / medium / yolo) plus a set-claude-mode.sh switcher and a block-destructive.sh hook. It’s wired per-project in Claude config, but you may also keep the switcher on your PATH for convenience. The full presets and the precedence model are documented there.

4. The deploy orchestrator skill (optional, global)

Section titled “4. The deploy orchestrator skill (optional, global)”

The deployment pipeline is driven by an orchestrator skill that walks all phases interactively with built-in safety rules (tinker, migrations, vendor handling, secret handling). Install it once into your user-global commands so it’s available in every project:

Terminal window
mkdir -p ~/.claude/commands
# Copy the orchestrator template from the kit (or your guides checkout) into the global commands dir:
cp <kit-or-guides>/deploy-codecanyon.md ~/.claude/commands/deploy-codecanyon.md

Restart Claude Code, then run /deploy-codecanyon in any project to confirm it loads. The kit’s skills folder includes the orchestrator so the project-local copy travels with the repo too.

Terminal window
echo "=== Workspace verification ==="
gh auth status &>/dev/null && echo "PASS: gh authenticated" || echo "FAIL: gh not authenticated"
[ -n "$CF_API_TOKEN" ] && echo "PASS: DNS token present" || echo "SKIP: DNS token not set (optional)"
command -v jq &>/dev/null && echo "PASS: jq present (needed for permission-mode merge)" || echo "WARN: install jq (brew install jq)"

Then in an agent session, smoke-test each MCP you configured (“list my zones”, “navigate to example.com and screenshot”, “look up Laravel docs”, “get Stripe account info”).

gh authenticated. Optional MCPs you chose respond. jq installed. → Continue to Project constitution.