This is the future: A Software Library with No Code

Spec-only library drops, the internet has opinions

TLDR: A dev released “whenwords,” a no-code library that ships only a spec and tests, letting AI agents generate the code in any language. Commenters split between hype for “spec→code” libraries and pushback over messy specs and performance limits—signaling a real shift in how software might be built.

A dev just shipped “whenwords,” a time-formatting toolkit that ships with literally zero code—only a detailed spec, a pile of tests, and a copy‑paste prompt for your favorite AI helper. You pick a language (Ruby, Python, Rust, Elixir, Swift, PHP, Bash… even Excel), paste the prompt, and the agent writes the library. It turns timestamps into plain phrases like “3 hours ago,” all built on UNIX time. The big question: if coding becomes “free,” do we still need traditional libraries?

The comments went full popcorn mode. Builder-celeb simonw raved that pointing agents at a conformance suite and saying “go” is “astonishingly effective,” flexing a JavaScript interpreter and WebAssembly runtime in Python “run from my phone.” Hype camp says this is the start of “spec→code” packages: share specs + tests, generate code on demand—maybe even add formal verification to prove it’s correct. But the skeptics rolled in: roxolotl asked why we aren’t just, you know, using programming languages as the spec; they called the 500‑line SPEC and overlapping tests “imprecise.”

Meanwhile, the memes flew: “Fire the junior dev, hire an AI intern,” “copy/paste is the new package manager,” and “move fast and spec things.” Realists added: for performance beasts (think browsers), you still want hand‑tuned code and battle‑tested fixes. Verdict: thrilling, a little scary, and extremely clickable.

Key Points

  • “whenwords” is a relative time formatting library distributed without code, relying on a written spec and a language-agnostic test suite.
  • The library defines five functions: timeago, duration, parse_duration, human_date, and date_range.
  • It has been tried in Ruby, Python, Rust, Elixir, Swift, PHP, Bash, and can be implemented via Excel formulas.
  • Installation involves pasting a short prompt into coding agents (e.g., Claude, Codex, Cursor), generating tests from tests.yaml, implementing functions per SPEC.md, and running tests until all pass.
  • The article argues spec-only utilities may suffice given advances in coding agents, but performance-sensitive domains (e.g., browsers) remain strong cases for traditional code libraries.

Hottest takes

"is astonishingly effective." — simonw
"spec->code in any language, 0 human intervention" — NitpickLawyer
"Why wouldn't we just specify these things with programming languages though?" — roxolotl
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.