Skip to content
HN On Hacker News ↗

Yadda 3.0.0: BDD in the Age of AI Agents

▲ 66 points 28 comments by scresswell 1w ago HN discussion ↗

Pangram verdict · v3.3

We believe that this text is a mix of AI and human-written content.

71 %

AI likelihood · overall

AI
19% human-written 81% AI-generated
SEGMENTS · HUMAN 2 of 3
SEGMENTS · AI 1 of 3
WORD COUNT 314
PEAK AI % 84% · §2
Analyzed
Aug 15
backend: pangram/v3.3
Segments scanned
3 windows
avg 105 words each
Distribution
19 / 81%
human / AI fraction
Verdict
AI
Pangram v3.3

Article text · 314 words · 3 segments analyzed

Human AI-generated
§1 Human · 11%

I’ve just published Yadda 3.0.0 to npm. For anyone unfamiliar with it, Yadda is a BDD library for JavaScript. Like Cucumber, it maps ordinary language specifications to executable code, but it was designed from the ground up to be much less prescriptive about how those specifications are written. That means that instead of writing something like: Given a university, The University of Bouvet Island And The University of Bouvet Island offers a degree course in Computer Science with entry requirements of ABB And an A-Level graduate, Steve And Steve has a D in Physics And Steve has a D in Maths When Steve applies to study Computer Science at The University of Bouvet Island Then The University of Bouvet Island rejects the application you can write: The University of Bouvet Island offers a degree course in Computer Science The entry requirements for which are ABB Steve is an A-Level graduate With a D in Physics And a D in Maths When Steve 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. What’s changed in Yadda 3? Most of Yadda 3.0 is a modernisation exercise.

§2 AI · 84%

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

§3 Human · 24%

All useful, but not especially interesting to write about. There are two things about the release that I think are much more significant. Claude wrote most of it I modernised Yadda using Claude Code with Opus 4.8.