What Happened

For anyone unfamiliar with it, Yadda is a BDD library for JavaScript. Like Cucumber, it maps ordinary language specifications to executable code, designed from the ground prescriptive specifications are written.

Given a university, The University of Bouvet Island And The University of Bouvet Island offers a degree course in Computer Science with entry requirements A-Level graduate, a D in Physics a D applies to study Computer Science at The University of Bouvet Island Then The University of Bouvet Island rejects the application :

The University of Bouvet Island offers a degree course in Computer Science The entry requirements A-Level graduate With a D in Physics And a D applies to study Computer Science at The University of Bouvet Island They reject his application Both are executable specifications. I find the second considerably easier to read.

around for a long time, and the repository had accumulated integrations and tooling JavaScript ecosystem themselves historical curiosities. Yadda 3 is Node-only, removes browser bundling and obsolete integrations such as CasperJS, PhantomJS, Bower and Component, :test, adopts Biome and lefthook, modernises the source to ES6 syntax, and adds current examples including Playwright and Puppeteer. TypeScript definitions.

Why It Matters

All useful, but not especially interesting . things about the release that I significant.

The Yadda 3.0 epic, which was itself written by Claude, a series of deliberately separated phases: remove obsolete functionality, update the toolchain, perform mechanical formatting separately from behavioural changes, modernise the source, explore API changes, update examples and CI, then finish the metadata, documentation and TypeScript definitions.

We planned each phase before implementing it, and then I largely let Claude . It made remarkably few mistakes and, more impressively, identified some fairly subtle during what initially looked like a mechanical modernisation. I interventions.

One important factor already had a comprehensive test suite. I also deliberately avoided asking Claude to modify production corresponding . changes both simultaneously, a becomes weaker evidence because change the definition of “correct” implementation. Keeping those changes separate gave Claude a much firmer external constraint.

What Comes Next

From starting having the package published was roughly a day of elapsed time, and I things in parallel.

At the beginning I experiment asking why experiences of vibe coding were so polarised. My conclusion results depended enormously . A tightly constrained and supervised Claude could produce extremely good results very quickly. devices, it tended towards architectural drift, unnecessary code and operational debt.

months ago, and the capability enormously. Even so, saying that Claude little intervention barely scratches the surface changing.

To appreciate , thinking about a single developer having a conversation with a single coding agent and instead consider several agents working in parallel.

There are already several . You can simply run multiple Claude Code sessions. Git worktrees against an isolated working copy. running a collection of Claude sessions more manageable, while Claude provides another way of seeing what multiple sessions attention.

significantly faster than working serially, but I fairly quickly hit another limit: my own ability to manage the parallel work. I can comfortably moving at once, and sometimes . Beyond that, I start losing the context , which decisions , waiting I need to review next.

, overloaded and the machine is not overloaded. The bottleneck coordinating the work. I’ve become convinced that good orchestration important layer.

Explore more: Software & AI Guide