Formatting a 25M-line codebase overnight

Stripe reformatted a mountain of code, and the comments instantly turned feral

TLDR: Stripe says it reformatted 25 million lines of Ruby code in one huge overnight push, using a tool built to end style arguments. The comments stole the show, bouncing between amazement at the scale, fear about a payments giant using Ruby, and hilarious rage over the article’s annoying design.

Stripe says it pulled off a weekend stunt that sounds almost made up: two engineers used a new tool to reformat 25 million lines of Ruby code overnight, tackling what the company calls the biggest Ruby codebase on Earth. The tool, rubyfmt, was born from years of frustration over endless arguments about how code should look. In plain English: instead of employees bickering over commas, spacing, and layout, the software just decides for everyone. Some readers were impressed by the ambition. Others saw one giant red flag waving over the internet.

The loudest reaction? Pure panic. One commenter stared at the idea of a major payments company running money-moving systems in Ruby and fired off a one-word horror review: "Terrifying." Another couldn’t get past the sheer size of the project, calling 25 million lines of code "completely unfathomable" and basically begging for a documentary. And then came the classic internet side quest: while Stripe was talking about a giant engineering feat, one reader was busy rage-posting about the article’s floating spiral graphic, saying they spent more time deleting it than reading. Peak comments section energy.

There was humor, too. A nostalgic commenter told a story about building an old-school formatting tool called makenice just to clean up a coworker’s ugly code, only for that coworker to melt down spectacularly. That memory became the unofficial meme of the thread: programmers would rather rewrite civilization than agree on formatting. So yes, Stripe may have cleaned up a colossal codebase overnight — but the real spectacle was watching the crowd split between awe, dread, and pure reader-interface fury.

Key Points

  • Stripe says it used rubyfmt to tackle formatting a 25 million-line Ruby codebase, describing it as an unprecedented effort at that scale.
  • The article says rubyfmt began as a personal open-source project after a 2018 discussion about Ruby’s need for a true autoformatter.
  • rubyfmt was designed to be zero-configuration, fast, and accessible for engineers coming to Ruby from other languages.
  • The article contrasts rubyfmt with rubocop, describing rubocop as a configurable linter rather than a strict autoformatter.
  • To meet a 100ms formatting target, rubyfmt avoided gems and bundler overhead and used a hand-authored C program compiled against libruby.

Hottest takes

"Terrifying." — andrewstuart
"completely unfathomable amount of code" — varun_ch
"I feel like they hate their readers" — burnte
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.