Claude Code for Everyone: A Briefing Doc
Because your non-programmer friends are suddenly building apps, and you might want to join them
How to Use This Doc
Just want to start? Jump to Quick Start
Want to understand first? Read the sections in order:
- Executive Summary - What is this?
- The Fundamental Shift: Chat vs Agent - Why this is different from ChatGPT
- Why Local Files Matter - The file system advantage
- Three Paths - Which tool for you?
- Terminal Basics - The scary-looking thing demystified
- Terminal 101: Keyboard Shortcuts - Navigate like a pro
- How to Chat with Claude Code - Get better results
- Getting Started - Step-by-step walkthrough
- Security & Privacy - What's safe, what's not
Looking something up? Use Cmd+F to search, or check:
- Jargon Translation Table - Dev speak β English
- Key Terms Explained - What does X mean?
Prefer a presentation view? Press S for slideshow mode (or click the monitor icon in the bottom-right). Use arrow keys to navigate.
π Essential Terms (Read This First!)
Before you dive in, here are 6 terms you'll see throughout this guide:
Terminal/CLI
- The "black screen with text" - it's just a way to control your computer by typing instead of clicking
- Think: texting commands to your computer instead of clicking buttons
- On Mac: Applications β Utilities β Terminal (or Cmd+Space, type "terminal")
Claude Code
- The AI tool this guide teaches you to use
- Runs in your Terminal and can actually create/edit files on your computer
- Different from claude.ai (which just gives you text to copy)
Git/GitHub
- Git = "Track Changes" for your whole project folder (undo button for coding)
- GitHub = Website that stores your code projects (like Dropbox, but for code)
- You'll use Git to save snapshots of your work
Artifact
- When you ask Claude on claude.ai to create something, the interactive preview that appears
- Example: Ask for a calculator β working calculator appears in the right panel
- These live in the cloud (vs Claude Code which creates real files on your Mac)
npm
- Like an App Store for code building blocks
- Instead of building everything from scratch, you can install pre-made pieces
- Commands like
npm installornpm start
API
- How programs talk to each other (like a waiter between you and the kitchen)
- Claude Code uses Anthropic's APIs behind the scenes
- You sign in with your Claude account; access and limits depend on your plan or org settings
Pro tip: Don't try to memorize these! Just skim them now, come back when you see them in the guide and think "wait, what was that again?"
Executive Summary (The TL;DR)
What happened: Claude Code (Anthropic's AI coding tool) has "broken containment" into mainstream consciousness. Non-technical people are suddenly realizing they can build actual appsβand you might be one of them.
The big insight: With a paid Claude subscription (Pro/Max/Team/Enterprise) or an Anthropic Console account, you can run claude in your terminal and build things locally - outputs live on your computer, not in some cloud sandbox. You still get claude.ai for chat, but Claude Code availability and limits depend on your plan.1
Why this matters: The interface is just... conversation. You describe what you want, Claude builds it.
The Fundamental Shift: Chat vs Agent
Claude Code represents a different category of AI interaction. The distinction matters if you want to understand where these tools are heading.
The Old Way: AI as a Chat Partner
What you're used to (ChatGPT, claude.ai, Gemini):
You: "Write me a Python script to organize my photos"
AI: "Here's the code: [code block]"
You: *copy-paste into a file*
You: *figure out how to run it*
You: *realize it has a bug*
You: *go back to chat, paste error*
AI: "Ah, try this instead: [new code]"
You: *copy-paste again*
The pattern:
- AI gives you text (code, essays, summaries)
- You do the execution
- You handle the "last mile" (saving files, running commands, fixing issues)
- AI is a consultant - smart, helpful, but hands-off
Great for:
- Brainstorming
- Explaining concepts
- Drafting text
- Getting code snippets
- Learning
Limitation:
- The gap between "here's the answer" and "it's actually working" is ALL on you
The New Way: AI as an Agent
Claude Code (and similar agentic tools):
You: "Create a photo organizer that sorts by date"
Claude Code: *creates files*
*writes the code*
*tests it*
*finds a bug*
*fixes it*
*installs dependencies*
*shows you it works*
You: "Nice! Now add a GUI"
Claude Code: *modifies files*
*adds interface*
*updates everything*
Done.
The pattern:
- AI doesn't just suggest actions - it performs them
- It can read files, write files, run commands, check results
- It handles the "last mile"
- AI is an executor with judgment
The technical term: This is "agentic AI" - AI that can take actions in an environment, not just generate text.
What "Agentic" Actually Means
Not agentic (chat):
You: "Help me find that email from Sarah about the budget"
AI: "I can't access your email, but try searching for 'from:sarah budget'"
You: *manually searches*
Agentic (if connected to your email):
You: "Find that email from Sarah about the budget"
AI: *searches your email*
*finds 3 matches*
*reads them*
"Found it - sent Jan 15, she proposed $50k for Q1. Want me to summarize?"
The difference: The AI has tools it can use. In Claude Code's case:
- File system (create, read, edit, delete files)
- Terminal (run commands, install packages)
- Web access for up-to-date info (when enabled)
Why This Matters Beyond Coding
The agentic pattern applies to ANY knowledge work where there's a gap between "knowing what to do" and "actually doing it."
Examples where agentic AI works differently:
| Traditional Task | Chat AI Helps You... | Agentic AI Does... |
|---|---|---|
| Data Analysis | Explains how to analyze the CSV | Reads the CSV, runs analysis, generates charts, writes report |
| Research | Suggests search terms | Searches multiple sources, extracts key points, cross-references, writes synthesis |
| Documentation | Writes the doc | Reads your codebase, generates accurate docs, updates them when code changes |
| Debugging | Suggests what the bug might be | Reads your code, runs tests, identifies the bug, suggests AND tests the fix |
| File Management | Tells you the commands to organize files | Scans directories, creates structure, moves files, confirms results |
The common thread: Agentic AI closes the "action gap" - the work between deciding what to do and having it done.
The Mental Model Shift
Chat AI mindset:
- "Tell me how to do X"
- You're the operator, AI is the advisor
- You maintain all context (what's in your files, what you've tried, what failed)
Agentic AI mindset:
- "Do X for me" or "Help me do X"
- AI is the operator (with your oversight), you're the director
- AI discovers context (it can look at your files, check what exists, run diagnostics)
Example conversation difference:
With chat AI:
You: "My website isn't deploying to Netlify"
AI: "Could be several issues. Check your build settings, verify the build command..."
You: *checks each thing manually*
You: "The build command is 'npm run build'"
AI: "That looks right. Check your output directory..."
You: *keeps checking*
With agentic AI:
You: "My website isn't deploying to Netlify"
Claude Code: *reads netlify.toml*
*checks package.json*
*runs build command locally*
"Found it - your build outputs to 'dist' but Netlify config says 'build'.
Should I fix the config?"
You: "Yes"
Claude Code: *updates netlify.toml*
*commits change*
"Fixed. Try deploying now."
When to Use Which
Use Chat AI (claude.ai, ChatGPT) when:
- You need to think through a problem
- You want to learn how something works
- You're on mobile/tablet
- You need quick answers without setup
- The task is conversational (writing, brainstorming, explaining)
- You don't want AI touching your actual files
Use Agentic AI (Claude Code) when:
- You need something done, not just explained
- The task involves multiple steps (research β code β test β fix)
- You're working with files/code on your computer
- You want AI to handle the tedious parts
- The task is hands-on (building, debugging, organizing, processing data)
- You trust the AI enough to let it make changes (with your oversight)
The overlap: Many tasks benefit from BOTH:
- Start with chat AI to brainstorm and plan
- Move to agentic AI to execute and iterate
- Return to chat AI for deeper questions or new directions
The Catch: Trust and Verification
Chat AI is low-risk:
- It can't break anything
- You review before executing
- Easy to ignore bad advice
Agentic AI requires trust:
- It modifies your actual files
- Mistakes can cascade (it could delete something important)
- You need to understand enough to verify results
The safety mechanisms in Claude Code:
- Git integration - Every change is tracked, reversible
- Working directory sandboxing - It operates in folders you allow.2
- Transparency - It shows planned actions by default.
- Permissions & policies - Default modes prompt you; settings can enable auto-accept/bypass.3
The Future State
Where this is heading:
- Your AI assistant doesn't just advise, it acts
- From: "Here's how to fix your calendar conflicts" β "I've resolved your calendar conflicts"
- From: "Here's a report on your sales data" β "I've analyzed sales data and updated your dashboard"
- From: "Try this debugging approach" β "I've debugged it and pushed the fix"
Claude Code for programming is just the first mainstream example of this shift. The pattern will expand to:
- Research assistants that compile reports, not just suggest sources
- Data analysts that process datasets, not just recommend formulas
- Project managers that update task boards, not just suggest priorities
What This Means for You
If you're learning Claude Code:
- You're not just learning a coding tool
- You're learning a new mode of working with AI
- The skills transfer: delegation, verification, iteration with an AI executor
How it works in practice:
- Less "teach me to fish" β More "let's fish together"
- You provide direction and judgment
- AI provides execution speed
- You verify results and adjust
What this makes possible:
- Ideas you couldn't implement before β now buildable
- Tedious multi-step tasks β handled for you
Why Local Files Matter (The Real Power)
Yes, you can use claude.ai on mobile. Yes, it syncs across devices. But for real work, local files give you capabilities the web version can't match.
The File System Advantage
Real persistence:
- Web artifacts can disappear if the service changes
- Local files are YOURS - copy them, back them up, they work forever
- No internet needed once built (except to deploy)
Professional workflows:
- Git history tracks every change you make
- Can use VS Code, Sublime, any editor you want
- Terminal commands work (npm, git, custom scripts)
- Integrate with tools like Photoshop, Figma exports, databases
Actual deployment:
- Files on your Mac can be deployed to real hosting (GitHub Pages, Vercel, your own server)
- Web artifacts need export/recreation to go live seriously
- Local means you own the deployment pipeline
Multi-file projects:
- Organize code into folders (
/components,/utils,/assets) - Import/export between files properly
- Build tools work (bundlers, compilers, preprocessors)
- Can have hundreds of files - web artifacts get unwieldy past 3-5
Iteration speed:
- Claude Code can see all files in your current folder (and any directories you explicitly add).4
- Can refactor across multiple files in one go
- Doesn't lose context when you close the browser
- Can run the code locally to test immediately
The Mobile/Web Use Case (Still Valid!)
Use claude.ai web when:
- You're on your phone/iPad
- Quick throwaway prototypes
- Sharing a demo link immediately
- Learning/exploration without commitment
- You don't want to set anything up
Use Claude Code (local) when:
- Building something you'll actually use/deploy
- Multi-file projects
- Need version control
- Want to learn professional workflows
- Integration with other tools matters
- The project will live beyond this week
The "Sandbox" Isn't a Limitation - It's a Feature
Yes, Claude Code works in your current folder (sandbox). But that's the POINT:
The file system enables:
your-project/
βββ src/ β Source code
βββ assets/ β Images, fonts
βββ tests/ β Test files
βββ docs/ β Documentation
βββ .git/ β Version history
βββ node_modules/ β Dependencies
βββ package.json β Project config
This structure means:
- Other developers can understand your project immediately (conventions)
- Build tools know where to find things
- You can have separate development and production configurations
- CI/CD pipelines can automate deployment
- It's how real software is built
In Practice
Mobile/web is great for ideas. Local files are for building.
- Sketch on mobile β Refine locally β Deploy to web
- That's the workflow for anything you plan to maintain
Even if you only ever build one real project, going through the local files process teaches you how software actually works. That understanding carries over to other tools and contexts.
Quick Start (For the Impatient)
Skip the theory? Here's your 5-minute path to building something:
Step 1: Open Terminal
# On Mac: Press Cmd+Space, type "terminal", hit Enter
You'll see: A window with text (might say your username and a $ or % symbol)
If nothing happens: Make sure you fully typed "terminal" and pressed Enter (not just clicked away)
Step 2: Install Claude Code
# Copy-paste this whole line:
curl -fsSL https://claude.ai/install.sh | bash
Want to inspect the installer first? Download it, skim it, then run:
curl -fsSL https://claude.ai/install.sh -o install.sh
open install.sh
bash install.sh
You'll see: Text scrolling as it downloads and installs (takes 30-60 seconds)
Troubleshooting:
- "curl: command not found" β Your Mac should prompt you to install developer tools. Click "Install" and wait (this is a one-time thing, takes 5-10 min)
- "Permission denied" β This is normal! The installer will handle it. If it asks for your Mac password, enter it (you won't see dots/stars as you type - that's normal security)
- Installation seems stuck β Wait at least 2 minutes. If still stuck, press Ctrl+C, close Terminal, reopen it, and try again
Step 3: Create a project folder
mkdir ~/my-first-project && cd ~/my-first-project
You'll see: Nothing! (In Terminal, silence means success)
What this did:
- Created a folder called "my-first-project" in your home directory
- Moved you into that folder (your "working directory")
Troubleshooting:
- "File exists" β You already have a folder with that name. Try
mkdir ~/my-first-project-2 && cd ~/my-first-project-2instead
Step 4: Launch Claude Code
claude
You'll see: A welcome screen that looks something like:
ββ Welcome to Claude Code ββββββββββββββββββ
β β
β Current directory: ~/my-first-project β
β β
β What would you like to build? β
β > β
ββββββββββββββββββββββββββββββββββββββββββββ
Troubleshooting:
- "command not found: claude" β
- Close Terminal completely (Cmd+Q)
- Reopen Terminal
- Try
claudeagain (installation needs a fresh Terminal session) - Still not working? Run
which claude- if it shows nothing, reinstall (Step 2)
- "Authentication required" β You need to log in. The terminal will show a link - click it or copy-paste into your browser, then log in with your Claude account
- Terminal just returns to the prompt β Something went wrong. Try
claude --versionto see if it's installed. If you see a version number, tryclaudeagain
Step 5: Tell it what to build
Make me a simple timer with start, stop, and reset buttons
(Type this at the > prompt and press Enter)
You'll see: Claude thinking, then creating files. It will show you:
- What files it's creating (like
index.html,script.js,styles.css) - What code it's writing
- When it's done
Then open your creation:
open index.html
You'll see: Your browser opens with a working timer! You built that.
Troubleshooting:
- Nothing opens β Check if
index.htmlexists: typelsand press Enter. You should seeindex.htmlin the list. If not, Claude might have used a different filename - ask it "What files did you create?" - "The file couldn't be opened" β Make sure you're in the right folder. Type
pwdto check - you should see something ending inmy-first-project - Browser shows code instead of a timer β The file extension might be wrong. Right-click the file in Finder β Get Info β Open with: Safari (or Chrome)
What happens next
Want changes? Just ask Claude! Type your request at the > prompt:
Make the buttons bigger and add a dark mode toggle
To exit Claude Code: Press Ctrl+D or type exit
Come back to this doc when you want to understand what just happened, or jump to Terminal Basics to learn what all those commands meant.
Prefer clicking over typing? Download Claude Desktop from claude.com/download β visual interface, with Claude Code features available on eligible plans.5
Three Paths, Choose Your Adventure
Option 1: Claude Desktop (Visual App)
- Visual app on macOS and Windows.6
- Familiar chat interface; Claude Code features require eligible plans.7
- Current status: Check the Desktop app release notes for Claude Code availability
- Access note: Claude Code in Desktop is for Max/Pro/Team/Enterprise users.8
- Best for: People who want a visual interface without learning Terminal
- Bonus: Can run multiple coding sessions in parallel
Option 2: Claude CLI (What This Doc Covers)
- Terminal-based (that "hacker screen" thingβdon't worry, it's friendlier than it looks)
- Type
claudeand get a conversational coding agent - Current status: Live; access requires an eligible plan or Console account.9
- Best for: Anyone willing to learn basic terminal use
- Key advantage: Your code lives on YOUR computer, not in the cloud
Option 3: Continue Using claude.ai
- Web interface you know
- Good for chat, artifacts, general use
- Privacy tip: Review data privacy controls at claude.ai/settings/data-privacy-controls
- Trade-off: Artifacts are in the cloud (but you can export)
Terminal Basics for Normal Humans
What IS the Terminal?
That black screen with green text from hacker movies? It's just texting your computer instead of clicking buttons. No magic involved.
Think of it like a restaurant:
- Clicking around (GUI) = Looking at a menu with pictures, pointing at what you want
- Using Terminal (CLI) = Texting your order directly to the kitchen
Both get you food. The text version is faster once you learn the "menu" (commands). And with Claude Code, you don't even need to memorize the menuβClaude knows it for you.
Why Terminal feels scary (but isn't):
- Movies made it look like hacking
- Mistakes feel permanent (they're usually notβthere's usually an undo)
- No pictures or buttons to guide you
- Think of it as a very literal conversation. You ask, computer answers.
macOS Terminal location:
- Applications β Utilities β Terminal
- Or: Cmd+Space, type "terminal", hit Enter
Terminal 101: Keyboard Shortcuts You'll Actually Use
Once Terminal is open, these keyboard tricks will make you feel like a pro (even if you're not):
Navigating Command History
The Up/Down arrow keys are your best friends:
- Up Arrow (β): Shows your previous command
- Down Arrow (β): Shows your next command (or returns to blank line)
- Keep pressing Up to scroll through all your recent commands
# You typed this 5 minutes ago:
npm install
# Press Up arrow β it appears again!
# Press Enter to run it again
Pro alternatives (for when you want to look fancy):
- Ctrl+P: Same as Up arrow (Previous command)
- Ctrl+N: Same as Down arrow (Next command)
Finding Old Commands Fast
Ctrl+R = Reverse search (this one's worth learning)
# Press Ctrl+R, then start typing part of an old command
(reverse-i-search)`git`: git commit -m "Added dark mode"
# Keep pressing Ctrl+R to cycle through matches
# Press Enter to run it, or Right Arrow to edit it first
Real-world example:
- You ran a long command 2 hours ago
- Press Ctrl+R, type
claude - Finds:
claude --model sonnet(or whatever you ran) - No need to remember or retype the whole thing!
Moving Around in a Line
You typed a long command and spotted a typo at the beginning. Don't delete everything!
Option+Click (the Mac way):
- Hold Option key, then click anywhere in your text
- Cursor jumps to that spot instantly
- Notice your mouse cursor turns into a crosshair when you hold Option
Keyboard alternatives:
- Ctrl+A: Jump to the Astart of the line
- Ctrl+E: Jump to the End of the line
- Option+Left Arrow: Jump back one word at a time
- Option+Right Arrow: Jump forward one word at a time
# You typed:
cd ~/Dcuments/my-project
^
# Oops, typo! Need to add 'o' in Documents
# Method 1: Hold Option, click between 'D' and 'c'
# Method 2: Ctrl+A to go to start, then Option+Right to jump words
Editing and Deleting
Ctrl+K: Kill (delete) everything from cursor to end of line
cd ~/Documents/wrong-folder/more-wrong/nope
β cursor here
# Press Ctrl+K β deletes "wrong-folder/more-wrong/nope"
# Result: cd ~/Documents/
Ctrl+U: Delete everything from cursor back to start
git commit -m "This message is way too long and rambling"
β cursor here
# Press Ctrl+U β deletes everything before cursor
# Useful for starting over
Ctrl+W: Delete the word before cursor
git commit -m "typo
β
# Press Ctrl+W β deletes "typo"
Other Life-Savers
Ctrl+C: Stop/cancel the current command (if something's stuck)
# If a command is running forever or you made a mistake:
npm install some-huge-package
# Loading... Loading... (taking too long!)
# Press Ctrl+C to abort
^C # You'll see this appear
Ctrl+L: Clear the screen (same as typing clear)
- Terminal getting cluttered? Ctrl+L gives you a fresh screen
- (Your command history is still there - scroll up to see it)
Tab: Auto-complete file/folder names
cd ~/Doc[TAB]
# Becomes: cd ~/Documents/
git add my-rea[TAB]
# Becomes: git add my-readme.md
Quick Reference Card
| Shortcut | What It Does | When to Use It |
|---|---|---|
| β / β | Browse command history | Running same commands repeatedly |
| Ctrl+R | Search old commands | "What was that command I ran yesterday?" |
| Option+Click | Jump cursor to position | Quick typo fixes |
| Ctrl+A / Ctrl+E | Jump to start/end of line | Editing long commands |
| Option+β / β | Jump by word | Navigating medium commands |
| Ctrl+K | Delete to end of line | Trimming end of command |
| Ctrl+U | Delete to start of line | Starting over |
| Ctrl+C | Cancel current command | Something's stuck or wrong |
| Ctrl+L | Clear screen | Clean up clutter |
| Tab | Auto-complete | Faster typing, fewer typos |
The three you'll use every session:
- Up Arrow - recall last command
- Ctrl+C - stop something
- Tab - auto-complete paths
Pro tip: You don't need to memorize all of these! Start with Up Arrow and Tab. Add more as you feel the need for them.
What Could Terminal Do Pre-Claude Code?
Your Mac's terminal has always been powerful - here are things you could already do:
File Management (The Basics)
pwd # Print Working Directory - "where am I?"
Output: /Users/yourname (shows your current location)
ls # List - "show me files here"
Output: Desktop Documents Downloads Pictures (your folders)
cd Documents # Change Directory - "go into this folder"
pwd # Check where you are now
Output: /Users/yourname/Documents
mkdir my-project # Make Directory - "create new folder"
ls # Check it was created
Output: You'll see my-project in the list now
Running Programs
python script.py # Run Python code
npm start # Start a web app
open file.html # Open file in browser
Git (Version Control)
git status # What changed?
git add . # Stage changes
git commit -m "msg" # Save snapshot
git push # Upload to GitHub
The terminal always had these powers. Claude Code just gives you an AI that knows how to use them.
How to Chat with Claude Code Effectively
Claude Code conversations are different from web chat. Here's how to get the best results:
Start with Context
Good: "Create a responsive dashboard with a sidebar and cards for displaying metrics"
Better: "Create a responsive admin dashboard. Sidebar on the left with nav links. Main area has 4 metric cards (users, revenue, orders, traffic). Use Tailwind for styling. Should work on mobile."
Why: More detail = fewer back-and-forth corrections. Claude makes better initial decisions when it knows your vision.
Be Iterative, Not Perfect
You don't need to describe everything upfront. Build in layers:
You: "Create a todo app"
Claude: *creates basic app*
You: "Add due dates to tasks"
Claude: *adds date picker*
You: "Color code tasks - red if overdue, yellow if due today"
Claude: *adds color logic*
You: "Add localStorage so tasks persist"
Claude: *adds persistence*
Pattern: Start simple β Add features one at a time β Refine details last
How to Ask for Changes
Vague (slower):
- "Make it better"
- "Fix the bug"
- "Update the styling"
Specific (faster):
- "Make the buttons 20% larger and use rounded corners"
- "The timer stops when I switch tabs - keep it running in the background"
- "Change the color scheme to dark mode - dark gray background with white text"
With code references:
- "In the calculateTotal function, it's not including tax. Add 8% sales tax"
- "The header component is too tall on mobile - make it 60px instead of 100px"
Common Conversation Patterns
Bug fixing:
You: "When I click delete, nothing happens"
Claude: *reads code, identifies issue*
"Found it - event listener wasn't attached. Fixed."
Refactoring:
You: "This code is repetitive - can you make it cleaner?"
Claude: *extracts reusable functions, consolidates logic*
Learning mode:
You: "How does the dark mode toggle work? Explain the code"
Claude: *walks through the logic with annotations*
Adding features:
You: "Add a search bar that filters the list"
Claude: *adds input field, implements filter logic*
What Claude Code Can See
Claude knows about:
- All files in your current folder
- Your folder structure
- Recently run commands (from the session)
- Error messages (if you show them)
Claude doesn't know:
- What's in other folders (unless you
cdthere or explicitly add them).10 - What happened in previous sessions (unless you remind it)
- What your browser shows (unless you describe it)
Pro tip: If Claude seems confused, give more context:
- "I'm in the
my-projectfolder which has index.html and app.js" - "When I open index.html, the buttons don't respond to clicks"
- "The console shows: TypeError: Cannot read property 'addEventListener' of null"
Session Management
Starting fresh:
# Each time you run `claude`, it's a new session
claude
Claude remembers within a session:
- Files it created/edited
- Your requests during this conversation
- The context of the current project
Claude doesn't remember across new sessions by default:
- What you discussed yesterday
- Why you made certain choices
- The overall project goals
Solution: Recap when you return:
You: "I'm back working on the todo app. Last time we added dark mode.
Today I want to add categories for grouping tasks."
When Things Go Wrong
If Claude's code doesn't work:
- Describe what happened:
- "The timer starts but doesn't stop"
- "I see a blank page"
- "Console error: X is not defined"
- Claude will diagnose and fix:
- Reads the code
- Identifies the issue
- Proposes a fix
- Updates the files
- Test and iterate:
- Try the fix
- Report if it works or what's still wrong
- Claude adjusts
Don't be afraid to say "That didn't work" - it's part of the process!
Advanced: Multi-Step Requests
You can ask Claude to do several things at once:
You: "Create a weather app that:
1. Has an input for city name
2. Fetches data from OpenWeatherMap API
3. Displays current temp, conditions, and 5-day forecast
4. Uses nice icons for weather conditions
5. Stores last searched city in localStorage"
Claude will: Break this down, tackle each piece, integrate them, and deliver a working app.
Conversation Tips Summary
Do:
- β Give context upfront
- β Be specific about what you want changed
- β Build iteratively (simple β complex)
- β Describe errors or unexpected behavior
- β Ask for explanations when learning
Don't:
- β Expect perfection on first try (iteration is normal!)
- β Assume Claude remembers previous sessions
- β Say "it doesn't work" without describing what happened
- β Ask for everything at once if you're just starting
Claude Code is collaborative. You're the director, Claude is the executor. Clear requests get better results.
Security & Privacy Deep Dive
Your Claude Account Setup
β οΈ FIRST: Review your data privacy controls
- Go to claude.ai/settings/data-privacy-controls
- Choose whether your data can be used to improve Claude models (this applies to Claude Code when you sign in)
Consumer accounts (Free, Pro, and Max) per Claude Code data usage docs:
- If you allow data use for model improvement, retention can be up to 5 years
- If you do not allow it, retention is 30 days
Commercial accounts (Team, Enterprise, API) have different policies and typically are not used for training unless you opt in. See Claude Code data usage for details.
Plan details vary: Usage limits and features depend on your plan; check your account settings for current limits.
Understanding the Data Flow
Important detail from the data usage docs: Claude Code runs locally, but prompts and model outputs are sent over the network to Anthropic services. Data is encrypted in transit via TLS and is not encrypted at rest.
The trade-off:
- Cloud dependency: Needs internet, sends your code to Anthropic's API
- Privacy level: Governed by your plan and data privacy controls (see data usage docs)
- Alternative: Some tools (e.g., Cursor) offer privacy modes; verify their current policies
Sandboxing & Safeguards
What is sandboxing?
Think of it like giving someone keys to ONE room in your house, not the whole house:
- They can rearrange furniture in that room (modify project files)
- They can't wander into your bedroom (access personal files elsewhere)
- They definitely can't knock down walls (mess with system files)
The program runs in a restricted environment where it can't:
- Delete your entire hard drive
- Access files outside its designated area
- Install malware
- Mess with system files
Claude Code's approach:
- Working directory: It operates in folders you explicitly navigate to
- Permission model: macOS security prompts when accessing sensitive areas
- Git integration: Version control = undo button for any changes
- You're always in the loop: It shows you what it's doing before executing
Best practices:
# Create a sandbox folder for experiments
mkdir ~/claude-projects
cd ~/claude-projects
# Or use version control
git init my-new-project
cd my-new-project
claude
Pro tip: Start projects in a dedicated folder. If things go sideways, you can delete the whole folder. Your real files elsewhere stay safe.
Implementation Strategy Matrix
Quick Comparison: Ways to Build with AI
| Feature | Claude CLI | Claude Desktop | claude.ai | Cursor | Bolt/Lovable |
|---|---|---|---|---|---|
| Cost | Varies by plan | Varies by plan | Free + paid tiers | Paid plans | Paid plans |
| Where files live | Local | Local | Cloud | Local | Cloud |
| Internet required | Yes | Yes | Yes | Partial | Yes |
| GitHub integration | Yes | Yes | Manual | Yes | Built-in |
| Best for | Terminal users | Visual interface | Quick prototypes | Pro devs | Quick apps |
| Learning curve | Medium | Low | Low | Medium | Low |
Decision Tree: Which Tool When?
Getting Started: From Zero to First Project
Prerequisites Checklist
Already have:
- β Computer with a supported OS (macOS 13+, Windows via WSL, or Linux on Ubuntu/Debian) 11
- β Claude account with an eligible plan or Console account 12
- β οΈ CHECK THIS: Review claude.ai/settings/data-privacy-controls and choose your data privacy setting
Need to install:
- Claude Code (the easiest way - no Node.js needed!)
That's it! This downloads and installs everything automatically.# Open Terminal and paste this one line: curl -fsSL https://claude.ai/install.sh | bash - Git (probably already installed, check with
git --version)- If not installed, macOS will prompt you to install it
Alternative installation (deprecated npm method): 13
- First install Node.js from nodejs.org
- Then:
npm install -g @anthropic-ai/claude-code
Your First Session (Detailed Walkthrough)
Already did Quick Start? This section goes deeper into what's happening at each step. If you just want to try it, jump to Quick Start instead.
Step 1: Open Terminal and create a project folder
mkdir ~/claude-projects/my-first-app
cd ~/claude-projects/my-first-app
What you'll see: Nothing! The command completes silently.
What actually happened:
Your Mac's file system:
/Users/yourname/
βββ Desktop/
βββ Documents/
βββ Downloads/
βββ claude-projects/ β Just created this!
βββ my-first-app/ β You're now "inside" this folder
Verify it worked: Type pwd and press Enter
pwd
# Output: /Users/yourname/claude-projects/my-first-app
Step 2: Start Claude Code
claude
What you'll see: After 1-2 seconds, a welcome interface appears:
βββββββββββββββββββββββββββββββββββββββββββββββββββ
β Welcome to Claude Code β
β β
β I can help you build and modify code in: β
β /Users/yourname/claude-projects/my-first-app β
β β
β What would you like to build? β
β > β
βββββββββββββββββββββββββββββββββββββββββββββββββββ
The blinking cursor after > means Claude is waiting for your instructions.
Step 3: Tell it what to make (in plain English)
Create a simple timer app with start, stop, and reset buttons
What you'll see: Claude's thought process displayed in real-time:
> Create a simple timer app with start, stop, and reset buttons
I'll create a timer app for you with those controls.
Creating files:
- index.html (the main page)
- styles.css (to make it look good)
- script.js (the timer logic)
[Shows code being written...]
β Created index.html
β Created styles.css
β Created script.js
Your timer app is ready! Open index.html in your browser to try it.
Behind the scenes: Claude just created 3 files in your my-first-app folder. You can see them in Finder if you navigate to your home folder β claude-projects β my-first-app.
Step 4: Open your creation
open index.html
What you'll see: Your default browser launches and displays:
βββββββββββββββββββββββββββ
β β
β 00:00 β
β β
β [Start] [Stop] [Reset] β
β β
βββββββββββββββββββββββββββ
Click "Start" β the timer counts up! This is a real, working application. You built this.
Step 5: Want changes? Just ask
Make the buttons bigger and add a dark mode toggle
What you'll see: Claude modifies the existing files:
> Make the buttons bigger and add a dark mode toggle
I'll update the app with those changes.
Modifying files:
- styles.css (bigger buttons, dark mode styles)
- index.html (adding dark mode toggle)
- script.js (dark mode toggle logic)
β Updated styles.css
β Updated index.html
β Updated script.js
Changes applied! Refresh your browser to see the updates.
In your browser: Press Cmd+R (Mac) to reload. Now you see:
- Bigger buttons
- A new "π" toggle in the corner
- Click it β dark mode!
Step 6: Understanding what just happened
The conversation pattern:
- You describe what you want in plain English
- Claude figures out what files/code are needed
- Claude creates or modifies those files
- You test the result
- You iterate with more requests
The files are REAL:
- They're on your Mac (in
~/claude-projects/my-first-app) - You can edit them manually (try opening index.html in TextEdit)
- You can copy the whole folder and it still works
- No internet needed to use the app (after it's built)
To exit Claude Code: Type exit or press Ctrl+D
Understanding the Interface
When you type claude, you get:
Key differences from claude.ai:
- Can read/write files in current folder
- Can run terminal commands (like git, npm)
- Can access up-to-date info from the web via WebFetch (when enabled by permissions/org policy).14
- Multi-turn conversations about your codebase
Local vs Cloud: The Honest Trade-offs
Local (Claude CLI) Advantages
β Ownership:
- Files on your computer = you control them
- No "platform lock-in"
- Works offline for running your local app (after initial generation)
β GitHub workflow:
- Push to GitHub
- Deploy to GitHub Pages (free hosting!)
- Professional version control
β Privacy:
- Source code lives locally
- Can disconnect after building
β Integration:
- Use your favorite text editor
- Real terminal access
- Professional developer tools
Local Disadvantages
β Setup complexity:
- Terminal learning curve
- Initial installation (though it's easier now!)
- Git configuration
β No mobile/tablet:
- Must be at your Mac
- Can't tweak from phone (unless GitHub + CodeSandbox)
β Internet still needed:
- For Claude AI requests
- For npm packages
- For deploying
Cloud (claude.ai) Advantages
β Instant start:
- No installation
- Works anywhere (phone, tablet, any computer)
- Just click "Create Artifact"
β Sharing:
- Get a link instantly
- Others can remix
- Built-in collaboration
β Lower barrier:
- No terminal needed
- No Git knowledge required
- Visual interface
Cloud Disadvantages
β Export complexity:
- Manual copy-paste for complex projects
- Loses some structure
- Need to recreate locally if you want to deploy seriously
β Platform dependency:
- Tied to claude.ai availability
- Subject to rate limits
- Can't easily run professional workflows
Exporting from claude.ai to Local
Made something cool in claude.ai and want it on your computer?
The Easy Way (Recommended)
# 1. Start Claude Code locally
claude
# 2. Tell it what you built:
"I made an app in claude.ai that does [describe it].
Can you recreate it locally?"
# Claude will rebuild it with proper file structure.
The Manual Way
- In claude.ai: Click the Artifact β "Copy code"
- On your Mac: Create a file, paste the code
mkdir ~/my-project && cd ~/my-project # Use any text editor to create index.html, paste your code open index.html # Opens in browser
Pro tip: If you think a project might grow, start in Claude Code from the beginning. Easier than exporting later.
Learning Path: Simple β Professional
Start Here (Your First Projects)
Build with just HTML/CSS/JSβno frameworks, no complexity:
- Calculator, timer, to-do list, simple games
- Why: Instant results, no setup headaches, learn fundamentals
Level Up (When Ready)
Add version control and multiple files:
git init # Track your changes
git add . && git commit -m "First save" # Save a snapshot
Why: Safety net for experiments, professional habit
Go Pro (When You Feel Limited)
Modern tools solve real problems you'll eventually feel:
- React: When your app gets complex and repetitive
- Vite: When you need to bundle/optimize code
- Tailwind: When CSS becomes unwieldy
Add tools when you feel the need, not before. Claude Code can set up any of these when you're ready.
Workflow Diagram: The Full Loop
Continuous Iteration Loop
Conceptual Demystification
Key Terms, Plain English
CLI (Command Line Interface):
- Text-based way to control your computer
- Instead of clicking, you type commands
- Example:
cd Documents(go to Documents folder)
API (Application Programming Interface):
- How programs talk to each other (like a waiter taking your order to the kitchen)
- Claude Code uses Anthropic's APIs behind the scenes
- You sign in with your Claude account; access and limits depend on your plan or org settings
- Don't overthink it: You use APIs every day without knowing (weather apps, maps, etc.)
Git (Version Control System):
- Like "Track Changes" in Word, but for your whole project folder
- Save snapshots you can return to (like save points in a video game)
- Messed something up? Go back to your last save
- Example:
git commit= save snapshot
GitHub:
- Website that hosts your Git projects
- Like Dropbox, but designed for code
- Free for public projects
Repository (Repo):
- A project folder with Git tracking
- Lives on GitHub
- Example:
github.com/yourname/habit-tracker
npm (Node Package Manager):
- Like an App Store, but for code building blocks
- Someone already built a calendar widget?
npm install itinstead of making your own - Run projects:
npm startornpm run dev - Analogy: Instead of making every ingredient from scratch, you buy pre-made pasta sauce
Localhost:
- Your computer pretending to be a web server
- Address:
localhost:3000orlocalhost:5173 - Only you can see it (until you deploy)
- Analogy: It's like a dress rehearsal. The performance is happening, but the audience (internet) can't see it yet.
Deploy/Deployment:
- Putting your project on the internet
- Going from "only on my computer" to "anyone can visit"
- Services: Vercel, Netlify, GitHub Pages
- Reframe: It sounds technical, but these services make it almost as easy as uploading a photo to social media
Build/Build Tool:
- Process that prepares your code for production
- Combines files, optimizes images, etc.
- Tools: Vite, Webpack, Parcel
Environment:
- Where code runs
- Development = on your computer
- Production = on the internet for users
Jargon Translation Table
| Dev Speak | Normal Human |
|---|---|
| "Clone the repo" | "Download the project" |
| "Push to origin" | "Upload changes to GitHub" |
| "Merge conflict" | "Two people edited same line" |
| "npm install" | "Download dependencies" |
| "Hot reload" | "Auto-refresh when you save" |
| "Localhost" | "Pretend website on your computer" |
| "Route" | "Page/screen in the app" |
| "Component" | "Reusable UI piece" |
| "Bundle" | "Combine code into one file" |
| "Deploy" | "Put on the internet" |
Strategic Recommendations
For Complete Beginners
Start with claude.ai Artifacts:
- Build 3-5 simple projects in browser
- Export and learn to run locally
- Then graduate to Claude CLI
Rationale:
- Lower friction = more learning
- Understand what you're building before worrying about setup
- Tools are means, not end
For "Vibe Coders" (People with Ideas, No CS Degree)
Jump straight to Claude CLI:
- One afternoon to learn terminal basics
- Skip the academic journey, learn by building
- Non-technical people are doing this successfullyβit works!
Best first projects:
- Personal dashboard
- Simple game
- Productivity tool you actually want
Key insight: You don't need to know how every line works. You need to:
- Describe what you want clearly
- Recognize when output is wrong
- Iterate based on testing
Things to Watch Out For
Security Considerations
What Claude Code CAN do:
- Read any file in current directory
- Write/modify files
- Execute terminal commands
- Install packages (if you confirm)
What it usually can't do (without your permissions or settings allowing it):
- Access files outside your working directory unless you add them.15
- Run commands without your permission in default modes (admins can enable auto-accept/bypass).16
- Install system-wide software without sudo
Good habits:
- Review code and commands before running them
- Use Git so you can undo mistakes
- Work in dedicated project folders
Privacy Mindset
Remember:
- β οΈ Check your settings: claude.ai/settings/data-privacy-controls
- Consumer accounts: allow data use β retention up to 5 years; disallow β 30 days
- All requests are processed by Anthropic's servers (encrypted in transit)
For sensitive projects:
- Consider: Running on separate machine
- Or: Use tools with privacy modes (verify their policies)
- Or: Local-only AI models (more technical, less capable)
Cost Management
Plans and limits change:
- Usage limits and context windows vary by plan
- Check your account settings for current limits and upgrade options
Watch out for:
- Long-running tasks can use more of your quota
- If you hit limits, split tasks or upgrade your plan
The "Magic Black Box" Problem
Don't fall into trap of:
- Accepting all code without reading
- Not understanding basic structure
- Becoming dependent without fundamentals
Better approach:
- Ask Claude to explain major sections
- Read the comments it writes
- Modify small things yourself to learn
π’ Quick Deploy Guide: GitHub Pages
Why GitHub Pages:
- Free (no credit card needed)
- Easy (a few clicks + one command)
- No server needed (GitHub hosts it for you)
- Custom domain support (if you want your own URL later)
- Perfect for static sites (HTML/CSS/JS projects)
Step-by-Step Deploy
Prerequisites: You need a free GitHub account. If you don't have one, go to github.com β Sign Up (takes 2 minutes).
Part 1: Prepare Your Project Locally
In your project folder (where your files are), initialize Git:
# Initialize Git tracking
git init
# Stage all your files
git add .
# Save a snapshot
git commit -m "Initial commit: my awesome project"
What you'll see: Git confirms the commit with something like:
[main (root-commit) abc1234] Initial commit: my awesome project
3 files changed, 42 insertions(+)
create mode 100644 index.html
create mode 100644 script.js
create mode 100644 styles.css
Part 2: Create a Repository on GitHub (The Website Part)
Step 1: Open your browser and go to github.com/new
(Or: Click the + icon in the top-right corner of GitHub β "New repository")
Step 2: Fill out the form:
Repository name: my-timer-app (must match your project folder name - or pick any name you want)
Description: (optional) "A simple timer with start/stop/reset buttons"
Public or Private?
- Public = Anyone can see it (supported on free plans).17
- Private = Only you can see it (GitHub Pages for private repos requires a paid plan).18
IMPORTANT: Do NOT check these boxes:
- β "Add a README file"
- β "Add .gitignore"
- β "Choose a license"
(You already have files - these options are for starting from scratch)
Step 3: Click the green "Create repository" button
Part 3: Connect Your Local Project to GitHub
You'll see a page with instructions. Look for the section that says:
β¦or push an existing repository from the command line
Copy the commands shown (they'll have YOUR username). They look like:
git remote add origin https://github.com/YOUR-USERNAME/my-timer-app.git
git branch -M main
git push -u origin main
Paste them into Terminal (in your project folder) and press Enter.
What you'll see: Git uploads your files:
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Writing objects: 100% (5/5), 1.2 KiB | 1.2 MiB/s, done.
Total 5 (delta 0), reused 0 (delta 0)
To https://github.com/YOUR-USERNAME/my-timer-app.git
* [new branch] main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.
What this did: Your local files are now on GitHub! Refresh the GitHub page in your browser - you should see your files listed.
Part 4: Enable GitHub Pages (Make It Live!)
Step 1: On your repo page, click "Settings" (top-right area, last tab in the menu)
Step 2: In the left sidebar, scroll down and click "Pages" (under "Code and automation")
Step 3: Under "Build and deployment":
Source: Select "Deploy from a branch" (should be default)
Branch:
- Click the dropdown (says "None")
- Select "main"
- Leave the folder dropdown as "/ (root)"
Step 4: Click "Save"
You'll see: A blue/green box appears:
β Your site is live at https://YOUR-USERNAME.github.io/my-timer-app/
(Takes 30-60 seconds to build. Refresh the page if you don't see it yet)
Part 5: Visit Your Live Site!
Click the link (or type it in your browser):
https://YOUR-USERNAME.github.io/my-timer-app/
π Your app is now on the internet! Anyone with the link can use it.
Making Updates Later
After you change your code:
# In your project folder
git add .
git commit -m "Made buttons bigger"
git push
GitHub Pages auto-updates (takes 1-2 minutes). Refresh your live site to see changes.
Troubleshooting
"404 - There isn't a GitHub Pages site here"
- Wait 2-3 minutes (first deployment is slow)
- Check Settings β Pages β make sure branch is "main"
- Make sure repo is Public (Settings β Danger Zone β Change visibility)
Page shows folder listing instead of website
- Make sure your main HTML file is named
index.html(exactly, lowercase) - If it's named something else, rename it to
index.html
Site doesn't update after pushing changes
- Check if push succeeded:
git statusshould say "nothing to commit, working tree clean" - Wait 2-3 minutes for GitHub Pages to rebuild
- Hard refresh in browser: Cmd+Shift+R (Mac) or Ctrl+Shift+R (Windows)
For React/Vite projects:
# Add to vite.config.js:
base: '/projectname/'
# Build:
npm run build
# Deploy dist/ folder
# (Use gh-pages package or manual)
Other Tools Worth Knowing About
| Tool | What It Is | When to Consider |
|---|---|---|
| VS Code + GitHub Copilot | Code editor with AI autocomplete | You want traditional dev experience |
| Cursor | VS Code fork with deeper AI integration | Privacy-focused, or power users |
| Lovable/Bolt/Replit | Browser-based AI coding | Zero setup, works on any device |
| claude.ai Artifacts | Quick prototypes in browser | Fast experiments before going local |
Bottom line: Start with Claude Code. Explore others later if you hit specific needs.
Next Steps: Your Action Plan
This Week
- Open Terminal (Cmd+Space, type "terminal", hit Enter)
- Try basic commands:
pwd(where am I?),ls(what's here?) - Install Claude Code:
curl -fsSL https://claude.ai/install.sh | bash - Test it worked:
claude --version - If something feels broken:
claude doctor(installation health check).19
Next Week
- Create
~/claude-projectsfolder cd ~/claude-projectsclaude- have first conversation- Build tiny project (calculator, timer)
- Open result in browser
Next Month
- Learn basic Git (
git init,add,commit) - Create GitHub account
- Push first project to GitHub
- Deploy to GitHub Pages
- Share link with friend
Next Quarter
- Build project you actually want to use
- Learn React basics (when vanilla JS feels limiting)
- Contribute to open source (even just documentation!)
- Help someone else get started
Final Thoughts: The New Normal
What's actually changed:
- The barriers to building software are collapsing
- "I'm not technical" matters less than "I can describe what I want clearly"
- The skill shifted from memorizing syntax to clear thinking and iteration
What you still need to learn:
- How to describe what you want (prompt craft)
- How to recognize when output is wrong
- How to test and iterate
- Basic concepts (this doc helps!)
Your advantage as a beginner:
- No bad habits to unlearn
- Fresh perspective on how tools should work
- You'll ask "why is this hard?" when veterans just accept it
What this enables:
- Build tools for your specific weird needs
- Prototype ideas in hours instead of weeks
Open that terminal. Type claude. Build something small. See what happens.
The files really do live on your computer. That's the point.
Resources
Official:
- code.claude.com/docs - Claude Code documentation
- claude.com/download - Desktop app download
- github.com/anthropics/claude-code - Official repo
If Something Breaks:
- Run
claude doctor- installation health check.20 - Claude Help Center - Official support
Learning (Free):
- Harvard CS50 - Best intro to computer science
- The Odin Project - Web development fundamentals
- Search "vibe coding" on YouTube - See real examples
Communities:
- r/ClaudeAI on Reddit
- Search #ClaudeCode on X/Twitter
Footnotes
- Claude Code access requires a paid plan or Console account. Claude Code setup. β©
- File access is limited to your working directory unless you add directories. Permissions & access. β©
- Permission modes (including auto-accept/bypass) are configurable. Permissions & access. β©
- Default access includes the current directory plus any added directories. Permissions & access. β©
- Desktop app availability and plan eligibility. Claude product page. β©
- Desktop app downloads for macOS and Windows. Claude Desktop download. β©
- Claude Code features in Desktop require eligible plans. Claude product page. β©
- Claude Code in Desktop is for Max/Pro/Team/Enterprise users. Claude product page. β©
- CLI access requires an eligible plan or Console account. Claude Code setup. β©
- Access to other directories requires adding them. Permissions & access. β©
- System requirements: macOS 13+, Windows via WSL, Ubuntu/Debian. Claude Code setup. β©
- Eligible plan or Console account required. Claude Code setup. β©
- npm install method is deprecated. Claude Code setup. β©
- WebFetch tool access is controlled by permissions. Permissions & access. β©
- Access outside the working directory requires adding directories. Permissions & access. β©
- Permission modes include prompts and auto-accept/bypass. Permissions & access. β©
- GitHub Pages for public repos is available on Free plans. GitHub Pages usage limits. β©
- GitHub Pages for private repos requires paid plans. GitHub Pages usage limits. β©
- claude doctor is an installation health check. Claude Code setup. β©
- claude doctor is an installation health check. Claude Code setup. β©