Installation, Anthropic Authentication, Doctor Health Check, CLAUDE.md Memory, and Terminal Scripting
0% (0/15)
Lesson 1Step S01
Verify Node.js & npm Environment
Claude Code is an agentic coding assistant distributed as a global npm package requiring Node.js 18+.
Verify that Node.js and npm are installed in your shell.
(Missing Node? Windows: winget install OpenJS.NodeJS.LTS · macOS: brew install node · Linux: sudo apt install -y nodejs npm)
Lesson 1Step S02
Verify Git & Shell Execution Policies
Claude Code requires Git to track changes, render diffs, and inspect project branches. On Windows, also verify
that PowerShell execution policy allows npm wrapper scripts.
Lesson 2Step S03
Install Claude Code CLI (Native Installer or npm)
Install the official Claude Code CLI using either the native installer script or global npm package.
Native installer sets up .local/bin/claude (Windows: irm https://claude.ai/install.ps1 | iex · macOS/Linux: curl -fsSL https://claude.ai/install.sh | bash).
Alternatively, install via global npm: npm install -g @anthropic-ai/claude-code.
Lesson 2Step S04
Verify claude Binary & PATH Alignment
Confirm that the claude binary is accessible from your current terminal and prints a valid version number.
Lesson 3Step S05
Interactive Anthropic Browser Sign-In
Authenticate your Claude Code session. Running claude or claude login opens your browser
to Anthropic's OAuth portal to authorize your terminal workstation.
Lesson 3Step S06
Headless ANTHROPIC_API_KEY Setup (Optional)
For headless Linux build machines or Docker containers, configure a direct API key from the Anthropic Console.
(Optional for desktop workstation users: if you completed Step S05 browser login, proceed directly to S07.)
Lesson 3Step S07
Run claude doctor Diagnostic Health Check
Run claude doctor to verify that runtime versions, API network connectivity, disk permissions,
and authentication tokens are healthy.
Lesson 4Step S08
Configure Project Rules in CLAUDE.md
Create a CLAUDE.md file in your repository root. Claude Code reads this file at the start of every session
to enforce coding conventions, test commands, and architectural boundaries.
Prompt rules and text guards miss variable-stored paths (e.g. $tmp = $env:USERPROFILE; Remove-Item $tmp). Always employ PreToolUse path inspection and maintain off-volume backups.
1. Six-Line Onboarding Checklist
$check = Join-Path $env:TEMP "bbb-onboarding-checklist.txt"; @("agent:","rules file:","memory location:","permissions:","delete guard:","backup path:","final check:") | Set-Content -Encoding ascii $check; Get-Content $check; Write-Host "Fill every line for this agent. Rerun this checklist for the next agent."
2. Variable-Limit Guard Demo
$tmp = $env:USERPROFILE; $literal = $env:USERPROFILE; foreach ($src in @('$tmp','$env:GROK_HOME','python cleanup.py')) { if ($src -like "*$literal*") { "HIT $src" } else { "MISS $src" } }; if ([IO.Path]::GetFullPath($tmp) -eq [IO.Path]::GetFullPath($env:USERPROFILE)) { "REFUSE resolved tmp: it is the user profile. Text guards miss dollar-variables and python cleanup.py. 2026-09-23 Remove-Item of user profile is the example." }
BuildBotsBetter's original characters, character designs, artwork, logos, graphics, scripts, animations, and original productions are owned by BuildBotsBetter or their respective rights holders, to the extent applicable. These materials are protected by copyright, trademark, and other applicable intellectual property laws, to the extent such protection is available under applicable law. No permission is granted to use BuildBotsBetter-owned materials in a manner that infringes applicable rights, except as permitted by law. Third-party footage, trademarks, and other materials remain subject to their respective owners' rights and applicable license terms. Attribution does not imply ownership, endorsement, or permission to reuse third-party content.