HNHacker News
TopNewBestAskShowJobs

evanklem2004

115 karma · joined April 27, 2026

submissionscomments
evanklem2004··on Genuinely, my all-time favourite image: Mamenchisaurus hochuanensis
its a dinosaur pic bruh chill
evanklem2004··on Agentic coding deserves more than a chat box bolted onto VS Code
You are being a Devin downer.
evanklem2004··on Agentic coding deserves more than a chat box bolted onto VS Code
I am very glad you enjoyed it. I am definitely a fan of uncanny valley vibes too, maybe that Backrooms movie subconsciously influenced me when I made the demo. With all of my open source projects I try to have as much fun with it as possible and I definitely had fun making that video.
evanklem2004··on Agentic coding deserves more than a chat box bolted onto VS Code
Sorry about the video bug, Github's manual on file attachments mentions video codecs being browser specific. I will be sure to use the most widely supported codec in the next update.

I definitely relate to a lot of your thinking here, I feel like it will just take a handful of years of experimenting with these new tools to settle on what really works. That was part of my rationale for making it more modular, as I continue to learn and grow with the tooling I can easily update my IDE to be super personalized.

evanklem2004··on Agentic coding deserves more than a chat box bolted onto VS Code
It sounds like the sweet call of Vim is beckoning you.
evanklem2004··on Agentic coding deserves more than a chat box bolted onto VS Code
Codex and Claude are the defaults for now but it is built to use any CLI of your choice via the terminal.
evanklem2004··on Agentic coding deserves more than a chat box bolted onto VS Code
It's actually an original piece of music that I custom made for the demo so I am glad you liked it : )
evanklem2004··on EvanFlow – A TDD driven feedback loop for Claude Code
sit under the lotus tree and it will come to you
evanklem2004··on EvanFlow – A TDD driven feedback loop for Claude Code
yeah went back and forth on exactly this trade-off, you're right that vertical can produce tests tailored to the impl. horizontal forces invariants up front but the failure mode flips: you're tailoring tests to the architecture you imagined before any feedback from working code. so it's invariants-vs-behaviors, both have a tailoring failure mode just on different axes. compromise i landed on: vertical + an explicit anti-tailoring grill check at each cycle. definitely gonna tweak with more as i keep refining.
evanklem2004··on EvanFlow – A TDD driven feedback loop for Claude Code
1): you have things backwards, the EvanFlow is not something i came up with but rather something i discovered similar to the dao. i am named Evan after the EvanFlow not the other way around.

2): you're right and dmitry called this out below too. shipped a fix that puts REFACTOR per-cycle, instead of being a deferred "after all tests pass" step. the old step 4 was iterate-shaped not TDD-shaped.

evanklem2004··on EvanFlow – A TDD driven feedback loop for Claude Code
fair to call out but half true. i did send claude off to look up specific stats on failure modes (62% assertion correctness, etc), but the design decisions came from my own reading of anthropic's reports, the columbia daplab paper i cited, and a mix of matt pocock's lectures + my own anecdotal experience running this loop on real projects.
evanklem2004··on EvanFlow – A TDD driven feedback loop for Claude Code
mmm good point! just shipped a fix that puts RED → GREEN → REFACTOR per cycle with the fresh test as safety net just like beck intended. macro/cross-cycle refactor lives in iterate now as its own separate thing so the two don't conflate. thanks for the catch : )
evanklem2004··on EvanFlow – A TDD driven feedback loop for Claude Code
yeah that is a little confusing, tdd is actually a substep of execution. it was listed separately in the diagram because not every task uses TDD (config, generated types, etc. skip it), so the skill is invoked conditionally during execution rather than always. but the arrow notation made it look sequential when it's actually nested. updated the README diagram to show that. thanks for the nudge.
evanklem2004··on EvanFlow – A TDD driven feedback loop for Claude Code
sometimes you gotta hit em with the ol' linkedin one two hehe
evanklem2004··on EvanFlow – A TDD driven feedback loop for Claude Code
Built this as an opinionated Claude Code development flow based on evidence based practices and what has been working for me while developing professional code.

EvanFlow is a single TDD-driven loop. Say "let's evanflow this" and it walks brainstorm → plan → execute → tdd → iterate → STOP. Real checkpoints at design and plan approval. Never auto-commits, never auto-stages, never proposes integration - every git op is your call.

The three things that actually changed how I work:

1. Vertical-slice TDD. One failing test → minimal impl → next test. Watch each test fail before writing the impl that passes it. (Sounds obvious. Almost no agent does it by default. ~62% of LLM-generated test assertions are wrong per HumanEval research, so testing TDD discipline matters more than the impl discipline.)

2. Embedded grilling at decision points. Before locking a plan: what breaks if a user does X? What's the rollback? What's explicitly out of scope? Catches design flaws while they're still cheap.

3. Iterate-until-clean (hard cap of 5 rounds). Re-read the diff against dead code, naming, the deletion test, assertion correctness, and a Five Failure Modes pass (hallucinated actions, scope creep, cascading errors, context loss, tool misuse). For UI: screenshot via headless Chromium.

For bigger plans with 3+ independent units sharing types, it forks into a parallel coder/overseer orchestration. Integration tests at touchpoints ARE the cohesion contract.

Three install paths: Claude Code plugin marketplace, npx skills add, manual copy. MIT.