Claude Code - Quickstart for the Impatient Developer
A practical guide for experienced developers who want to get up and running fast — on their own machine, on their own terms.
Who This Is For
You've been writing code for a while. You don't need hand-holding. You want to know what this Claude Code thing actually does, how to set it up, and whether it's worth your time. This is that post.
I'm running this on a spare laptop — an old Dell XPS 15 someone handed me, running Linux Mint 22.3 XFCE, 16GB RAM. Not a powerhouse. Not a cloud VM. Just a machine sitting on my desk that I don't fully trust yet with autonomous AI tooling. That paranoia turns out to be a healthy starting posture.
Prerequisites
- A Claude Pro subscription (paid — this isn't free)
- A terminal and basic comfort with the CLI
- Node.js installed (for the CLI install)
- A project directory to work in
Installation
Follow the official quickstart: https://code.claude.com/docs/en/quickstart
- Use the Native Install (CLI/Terminal) path. On Linux this is straightforward.
- Steps 1–8 get you going.
Claude creates ~/.claude/ for global config, and may create a PROJECT/.claude/ per project — similar to how git works with .git/. If you install skills or configure hooks, they live in that folder structure.
Starting a Session
I use a dedicated directory per project. Token usage scales with context, so keeping sessions focused matters. Start small.
mkdir ~/Projects/hello_claude
cd ~/Projects/hello_claude
claude
Open a second terminal in the same directory. You'll want to watch what files get created, read the generated code, and run things manually. The two-terminal workflow is the right habit from day one.
On Approvals
I am not clicking "don't ask me again." I'm reviewing every command and hitting yes manually. This is intentional. Before you trust any tool to act autonomously on your system, you want to see what it actually does. Watch the first dozen operations. You'll learn a lot about how it thinks.
Your First Session
Fire these prompts in order. After each one: read the output, run the code, check the tests. Don't just let it run.
Write me a simple hello world Python program that creates a calculator, max 50 lines, and give me the command to run it
Add unit tests and show me how to run it
Automate the tests with another script. Try to include normal and edge cases and places you think it might have issues
What else should I consider to make this production and DevOps ready?
Security concerns?
Make this a git repo for me and summarize features and work if appropriate for an initial git commit
Create me a README.md with a summary, features, and how to run the tests. Anything else I'm missing?
Add an MIT license file
A few things to watch for: mine flagged parameter validation issues mid-session, I approved the fix, it then hit a follow-on error and auto-corrected itself. That self-correction loop is normal — it's iteration, not magic. The .gitignore gets created automatically on the git step.
Tip: In your second terminal, watch Claude's activity in real time:
tail -f ~/.claude/history.jsonl | jq .Every tool call, file read, and bash command gets logged here as structured JSON. It's the closest thing to watching Claude think. Useful for understanding what it's actually doing under the hood — and for building trust before you start approving things blindly.
A Note on Tokens
Every time you run a command, Claude passes the entire conversation context from the session. For a toy project this is fine. When you're working on a real codebase and ask it to "add logging," it may need to scan dozens of files. Tokens disappear fast at scale.
This is something I'm still learning to manage. Keep sessions focused. Don't let context grow unbounded.
Useful Commands
/model # What model are you using?
/usage # How much you've used and when it resets
/context # Context window state — (take a screenshot)
/compact # Compress the session context
/context # Compare to the screenshot — did anything change?
? # Shortcut reference
/help # Full help
/status # info and state
/statusline # think OhMyZsh, Bash-it https://code.claude.com/docs/en/statusline
See the full CLI reference: https://code.claude.com/docs/en/cli-reference
A Pair Programming Savant Partner
The best framing I've found: treat Claude like a knowledgeable colleague, not a code generator. Before that hello world prompt, you could have asked:
- What would be a good hello world program that's around 30 lines?
- What's best practice for adding unit tests in Python right now? Which library?
- Are unit tests still standard or are vibe coders skipping them?
Stop assuming you know the best approach. Ask first. Then nudge based on your experience, because it will make mistakes.
Planning Mode
/plan
Note:
/plandoes not save tokens. It uses them. What it does is shift Claude into an explicit design-before-coding mode — it reasons through tradeoffs, asks clarifying questions, and proposes an approach before touching any files. This is valuable when you're about to make a structural decision you can't easily undo. Use it intentionally, not as a default.
Then ask something open-ended:
I want to turn this into a web-based application and be able to run and test it locally on my laptop. What should I think about?
Work through the options together. Flask vs. FastAPI. Static HTML vs. a frontend framework. What fits your constraints. When I did this, Claude helped think through the dependencies, suggested what to install, and walked me through a reasonable architecture for a local-only tool.
This is where it gets interesting. You're no longer just writing code — you're managing your machine and infrastructure as well. Consider:
- I want to install and run this in Kubernetes — what will fit on my laptop?
- I want CI/CD — what do you recommend for a home lab?
- Scan my local environment for common intrusion vectors.
One Week
How I've used Claude as my partner this week, handling most of the heavy lifting:
- Defined and installed a home lab with k3s and GitLab, got a working CI/CD pipeline
- Built a Resume ChatBot and published it for free on GitLab+Render with a Slack monitoring script
- Built PullPerfect, a web app planned for OSS release
- Completely redesigned my website and built a custom SSG from scratch using Obsidian Markdown as source
- Had Claude evaluate whether my resume was parseable by ATS systems (HR) — then redesigned it to be
- Rewrote my resume to be accomplishments-oriented instead of duties-oriented
- Updated cover letters for targeted role type
- Evaluated LinkedIn DMs for spamminess, AI-generated content, and Glassdoor-style company signal
- Compared job postings against my Resume ChatBot corpus to identify gaps and draft targeted cover letters
- Wrote this blog post
- Evaluated a TON of other ideas
It's not perfect. I spent two days trying to get a Terraform + Ansible + libvirt VM setup working. I let Claude try to evaluate and fix itself. I tried multiple approaches. I gave up. It's still limited by available knowledge, compatibility, and my own expertise. Those limits are real.
But the hits vastly outnumber the misses right now.
The Bigger Picture
When you start using Claude Code as a genuine partner — not a search engine, not a copilot autocomplete — the black box starts to open. I've been more productive this week than I have been in a long time.
Gone are the days of wanting to install Kubernetes and spending an entire weekend just getting oriented. I can have k3s, GitLab, containers, and a hello world with a working CI/CD pipeline in a day.
As I understand it, Claude is finding the nearest neighbor in a vast vector space — gravitating toward the most probable, most common solution (Middle Way?). That convenience comes with hidden assumptions. Stay engaged, question the output, and use your judgement and experience to know when to override.
The relationship between your expertise and its knowledge is where the real leverage is. Your experience is what separates you from the pack. It is what allows you to know the right questions to ask to make it production ready. Let it helps you and let it be a partner not a luddite. You are a developer and you like new tools. Use that to your advantage or get left behind.
A Few More Commands Worth Knowing
/compress # Similar to /compact — reduces context size
/memory # View and manage what Claude remembers across sessions
/clear # Clear the current session context
Run these regularly during a session, and always before you walk away. One user reported coming back to find their token budget significantly drained — Claude has background behaviors and auto-continuations that can quietly consume context while you're gone. /compact or /compress before you step away is cheap insurance. Get in the habit.
Written with Claude Code. Filed under: things I didn't expect to enjoy this much.