What Claude Code is, how to wield it, and your first build
Ground yourself in what LLMs actually are, learn what makes Claude Code different from every other AI tool, pick up the power moves that separate beginners from pros, then watch a feature get built from scratch — live.
Large Language Models are the engine behind Claude Code. Understanding the mechanics — and the failure modes — makes you a better operator. You don't need to know how to build one, but you need to know where they break.
LLM = Two Files
================
┌─────────────────────────┐
│ parameters.bin │ ← Neural network weights
│ (140 GB for 70B model) │ Compressed internet knowledge
└─────────────────────────┘
┌─────────────────────────┐
│ run.c │ ← Inference code
│ (~700 lines of C) │ Matrix multiplications + sampling
└─────────────────────────┘
Next-Token Prediction
=====================
Input: "The cat sat on the ___"
Output: { "mat": 0.42, "floor": 0.15, "roof": 0.08, ... }
This single operation, at scale, produces:
✓ Code generation ✓ Translation
✓ Reasoning ✓ Summarization
Jagged Intelligence
===================
✓ Write a compiler ✗ Count letters in "strawberry"
✓ Refactor 500-line class ✗ Guarantee correct import paths
✓ Design system architecture ✗ Do precise arithmetic
✓ Explain complex code ✗ Know your private APIs
Claude Code isn't a chatbot with a code plugin. It's an autonomous agent that lives in your terminal, reads your files, runs your tests, and iterates on its own work. Understanding the architecture helps you use it effectively.
Claude Code: Agentic Loop
==========================
┌──────────┐
┌───→│ READ │ ← files, git, errors, test output
│ └────┬─────┘
│ ▼
│ ┌──────────┐
│ │ THINK │ ← reason about what to do next
│ └────┬─────┘
│ ▼
│ ┌──────────┐
└────│ ACT │ ← edit file, run command, search
└──────────┘
(loop until done)
Comparison Table
================
Feature │ Claude Code │ ChatGPT │ Copilot
─────────────────┼──────────────┼─────────────┼──────────
Runs in terminal │ ✓ │ ✗ (browser) │ ✗ (IDE)
Sees full repo │ ✓ │ ✗ │ partial
Runs commands │ ✓ │ ✗ │ ✗
Multi-file edits │ ✓ │ ✗ │ limited
Iterates on work │ ✓ │ ✗ │ ✗
Autocomplete │ ✗ │ ✗ │ ✓
These are the shortcuts, modes, and patterns that separate a beginner from a power user. Learn them now and they'll pay dividends in every session that follows.
Power User Cheat Sheet
======================
Models:
Opus 4.6 → Recommended default (full 1M context, 128K output)
Sonnet 4.6 → Fast & capable (1M context, released Feb 2026)
Haiku 4.5 → Quick questions, cheap
opusplan → Opus plans, Sonnet executes
sonnet[1m] → Sonnet with 1M context window
Alt+P → Switch model mid-session
/fast → Toggle 2.5x faster output (full 1M context)
/effort → Set reasoning depth (low/medium/high)
"ultrathink" → Enable high effort for next turn
Opus 4.6 defaults to medium effort (Max/Team)
Shortcuts:
Shift+Tab → Cycle modes (Normal → Auto-Accept → Plan)
Shift+Enter → Newline (zero setup: iTerm2/WezTerm/Ghostty/Kitty)
\+Enter → Universal newline (works in all terminals)
Ctrl+C → Stop generation
Ctrl+D → Exit Claude Code
Ctrl+G → Text editor mode
Ctrl+L → Clear screen
Ctrl+O → Toggle verbose output
Ctrl+R → Reverse search history
Ctrl+V → Paste image from clipboard
Ctrl+B → Background tasks panel
Ctrl+T → Task list
Alt+T → Toggle thinking visibility
Esc → Cancel input
Esc+Esc → Opens rewind/summarize menu
Shift+Down → Cycle teammates
Up Arrow → Previous prompt
Ctrl+U → Exit bash mode (on empty ! prompt)
Tab → Accept prompt suggestion (from git history)
Context:
@ + filename → Reference a file (autocomplete)
! + command → Run shell command inline
Core Commands:
/memory → Edit project memory (CLAUDE.md)
/model → Switch model
/fast → Toggle fast mode (2.5x speed)
/effort → Reasoning depth (low/medium/high)
/compact → Compress conversation context
/clear → Reset conversation
/init → Bootstrap CLAUDE.md
/copy → Interactive code block picker
/debug → Attach debugger
/teleport → Resume web session locally
/simplify → Review code for reuse & quality
/batch → Run ops across multiple files
/theme → Customize terminal colors
/remote-control → Serve env to claude.ai
/claude-api → Build with Claude API / SDK
/mcp → Manage MCP servers
Extended Commands:
/btw → Side question without polluting context
/diff → Interactive diff viewer
/doctor → Diagnose environment issues
/export → Export conversation
/fork → Fork conversation into new branch
/insights → Show usage insights
/output-style → Set output style (Default/Explanatory/Learning)
/plugin → Manage plugins
/pr-comments → Review PR comments
/release-notes → Generate release notes
/rewind → Restore code & conversation states
/sandbox → Toggle OS-level sandboxing
/security-review → Review code for security
/stats → Show session statistics
/loop → Recurring prompts on interval
/plan → Enter plan mode
/vim → Vim keybindings
/status → Show session status
/cost → Show cost breakdown
/usage → Show usage info
/permissions → Manage tool permissions
/hooks → Manage hooks
/agents → Manage agent teammates
/desktop → Open Desktop app
/install-github-app → Install Claude GitHub app
/keybindings → Show keyboard shortcuts
/tasks → Manage scheduled tasks
Sandboxing:
macOS Seatbelt / Linux bubblewrap
/sandbox → toggle on/off, auto-allow mode
Prompt Patterns:
✓ "Add GET /v1/health following HealthController pattern"
✓ "Do NOT use Lombok. Use Java records."
✗ "Make an endpoint" (too vague)
✗ "Write some code" (no direction)
PR Status: clickable PR link with color-coded review state in footer
Clone and run the demo application
git clone <my-full-app-repo>
cd my-full-app
docker-compose up -d
./mvnw spring-boot:run -pl my-full-app-web
curl http://localhost:8080/v1/health
Watch (or follow along) as the facilitator builds a currency conversion calculator endpoint using Claude Code and the EPCT workflow. The endpoint uses the existing FxExchangeRate MicroType and CurrencyPair, following TestController patterns. No keyboard coding — only prompts.
{
"name": "my-full-app",
"version": "1.0.0",
"uptime": "PT2H30M",
"components": {
"database": "UP",
"kafka": "UP"
}
}
EPCT Workflow
=============
E - Explore
"What patterns exist for X?"
Let Claude read the codebase first.
P - Plan
Shift+Tab → Plan Mode
Claude designs before it builds.
C - Code
"Implement the plan"
Claude follows its own plan.
T - Test
"Run the tests to verify"
Claude runs tests and fixes failures.
Why EPCT works:
→ Explores before assuming
→ Plans before coding
→ Tests before shipping
Power Moves
============
Shortcuts:
Shift+Tab → Toggle Plan Mode
Shift+Enter → Newline (zero setup: iTerm2/WezTerm/Ghostty/Kitty)
\+Enter → Universal newline (all terminals)
Ctrl+C → Stop generation
Ctrl+D → Exit Claude Code
Ctrl+G → Text editor mode
Ctrl+L → Clear screen
Ctrl+O → Toggle verbose output
Ctrl+R → Reverse search history
Ctrl+V → Paste image from clipboard
Ctrl+B → Background tasks panel
Ctrl+T → Task list
Alt+T → Toggle thinking visibility
Esc → Cancel input
Esc+Esc → Opens rewind/summarize menu
Shift+Down → Cycle teammates
Up Arrow → Previous prompt
Alt+P → Switch model mid-session
Ctrl+U → Exit bash mode (on empty ! prompt)
Tab → Accept prompt suggestion
Modes:
Plan Mode → Read-only exploration
Normal Mode → Full read/write access
/fast → 2.5x faster output (full 1M context)
/effort → Reasoning depth (low/medium/high)
"ultrathink" → Enable high effort for next turn
Model Aliases:
opusplan → Opus plans, Sonnet executes
sonnet[1m] → Sonnet with 1M context
Core Commands:
/memory → Edit CLAUDE.md
/model → Switch model (Opus/Sonnet/Haiku)
/fast → Toggle fast mode
/effort → Set reasoning depth
/compact → Compress context when long
/clear → Fresh conversation
/init → Bootstrap CLAUDE.md
/copy → Interactive code block picker
/debug → Attach debugger
/teleport → Resume web session locally
/simplify → Review code for reuse & quality
/batch → Run ops across multiple files
/theme → Customize terminal colors
/remote-control → Serve env to claude.ai
/claude-api → Build with Claude API / SDK
/mcp → Manage MCP servers
Extended Commands:
/btw → Side question (no context pollution)
/diff → Interactive diff viewer
/output-style → Set output style
/plugin → Manage plugins
/rewind → Restore code & conversation states
/sandbox → Toggle OS-level sandboxing
/loop → Recurring prompts on interval
/plan → Enter plan mode
/vim → Vim keybindings
/agents → Manage agent teammates
/desktop → Open Desktop app
Pro Tips:
@ + file → Focus on specific file
! + cmd → Run shell command inline
Tab → Accept prompt suggestion (from git history)
Be specific in prompts
Say what NOT to do
Reference existing patterns