1 Week with Claude Code
The repo stats for the Rust CLI agent codebase. 100% AI written LOC.
Hooked!
Do you remember when you wrote your first working program? The high you got seeing it compile? The rush of changing a few lines and seeing it do something new?
I first experienced that in middle school with my TI-89. I took the calculator manual and started to write simple programs.
In high school, I wrote an entire stoichiometry program. I remember I was so addicted to coding that my chemistry teacher would ask me if I was following along with the lesson. Of course! I had already read the entire chemistry textbook cover to cover. So I told her what the lesson covered and got back to TI-BASIC.
Now, hold on to the feeling. Because you’re about to feel it again. Claude Code is that good.
Claude Code Changes Everything
Claude Code has completely changed the way I write software. If you haven’t tried it, you should.
Claude Code paired with Sonnet 3.7 is the best agentic software engineering experience I have tried.
It can handle bug fixes, UI changes, test updates, and more.
I’ve written an entire Rust CLI agent with Claude Code (and a bit of Devin). 100% AI written. I have not touched a single line of code.
This is my first time writing a lot of Rust, and I’m flying. I built the majority of the CLI agent over this past weekend.
This is my workflow:
- Spec out what I want to accomplish
- Write a detailed task message in Sublime
- Copy the message into Claude Code
- Have Claude iterate till the compiler passes
- Test it myself
- Report any errors back to Claude
- Repeat
Problems with Speed
There is no way I can possibly review all the code that is generated by Claude Code. It’s too much. I’ve found myself getting carried away with the iteration loop and realize that I have a massive amount of unstaged changes in my git repo.
That necessitated that I build msg
(also with Claude Code). It passes the diff of the git changes into Claude 3.7 and outputs a short commit message. This has saved me so much time and keeps me in flow.
Additionally, the codebase is large enough that Claude Code can get a bit confused and break things between large changes. I’ve had to get more in the habit of:
- Prompt Claude Code
- Test changes
- Commit
If I miss the commit and the changes are directionally correct, Claude Code might break something already working.
Another problem I have yet to address is how my cofounder will manage to review all the PRs I’ve been pushing. There’s just too much code! 😅
It’s great for an MVP. It will be interesting to see how my workflow changes as we move this MVP into production use cases.
The Vibes Are Real
Claude Code has forever altered how I relate to coding. It feels lighter. It feels faster. It feels like I’m floating.
I can output an incredible amount of working code for $1 here or $1 there. Sure, Claude Code is more expensive than Cursor or Windsurf, but it’s also better. It produces great results at light speed.
In the past week, I’ve spent $94.99 on Claude Code—$400 a month—to output an incredible amount of software that I wouldn’t have been able to do otherwise. I sped through building a prototype and trying different ideas.
What is the price of your time? Using Claude Code changed my mindset.
Paired with Devin, I can achieve the equivalent output of a few engineers—worth hundreds of thousands of dollars. The only limitation is the speed of my own thoughts!
This is not vibe coding. This is real, working software. I’m demoing it to a potential customer tomorrow; with a bit more polish, they’ll be able to use it.
In a way, Claude Code helps me type code at a superhuman speed. So, instead of handcrafting each line, I am free to iterate on my startup's higher-order work: building what customers want.
Tips
Make it clear to Claude how to run your tests
- Ideally, one simple CLI command:
cargo test
ornpm run test
- Ideally, one simple CLI command:
Give Claude a linter!
Be very specific with your prompts!
Ask Claude to tell you its plan
- Spot issues with the plan that result from ambiguity in your instructions.
- Tell Claude Code to “think hard” or “think harder” to kick the Sonnet 3.7 model into thinking mode.
- This approach results in a more well-reasoned plan.
Ask for options
- Request various options and their tradeoffs when generating a plan.
- This allows you to choose the best option or instruct it on something it didn’t consider.
Have empathy for the LLM
- LLMs are incredible, but they have non-human-like shortcomings.
- Develop an intuition for what will and won’t work through iterative testing.
Iterate on the outputs instead of the code
- Focus on the result you’re aiming for.
- Consider all the ways to verify the program’s results, encode these in tests, or have Claude Code write the tests.
If you want to go all in, sign up for Devin too
- Typically, I kick Devin off right before I head to bed.
- I Slack it ideas before sleep and wake up to review and merge working PRs.
Also, consider giving Codebuff a try
- Similar to Claude Code and Aider, Codebuff has a streamlined terminal UI and doesn’t require you to approve every action, saving time on small fixes.
I’m Not Going Back
After a week with Claude Code, I am never going back to writing hand-crafted code.
There are a few areas where it struggles but I will iterate on my prompts. Specifically, it can’t build a great terminal chat UI. But that’s probably because what I want for the UI is underspecified.
You have to overcome the initial inertia of being frustrated with bad outputs. And remember, prompting is a skill!
Engines
This post wouldn’t be complete without a word on Engines.
We’re building a CI/CD agent. Drop it into any repository and it can:
- Generate a working Dockerfile to containerize your codebase
- Run your linter automatically
- Run your tests
- Help you deploy your code
If that sounds helpful to you, reach out to me at josh@engines.dev.
Additional links to coding with LLMs
- Simon Willison is one of my favorite newsletters to follow, and his piece on coding with LLMs is worth a read.
- Ryan Endacott’s post has similar vibes and inspired me to write this.
- John Horton's Claude Code presentation is great for tips! I learned about git worktrees (for multiple instances of Claude Code running at once on the same codebase)!