Welcome to another issue of the Newsletter!
Ruby’s relationship with static typing has always been complicated. Type systems used to feel optional. Something for the disciplined, or for teams at large companies. But in early 2026, something shifted. AI coding agents changed the equation entirely. Type systems went from nice-to-have to essential infrastructure. This month’s update captures that shift. It’s not about any single breakthrough. It’s about an ecosystem recognizing that types have become the shared language between humans and AI.
The experimental edge is sharp right now. I tested out T-Ruby myself and wrote about adding static typing to Ruby without runtime overhead. It’s an interesting toy to play with right now, though still far from production use. But things move fast, and Y. Fred Kim (@yhk1038) is pushing boundaries with this TypeScript-like syntax and inference experiment. Meanwhile, John Weir (@jweir) released Typewriter v0.2.0, a Sorbet-typed HTML template engine for Rails that brings type safety all the way to your view layer. Rails traditionally had this as a type-checking blind spot.
More ambitious still is Mark Tigchelaar’sAutopilot, a statically-typed scripting language inspired by Ruby that’s transitioning from semantic analysis into backend code generation. These projects aren’t just iterating on existing typing approaches; they’re asking: “What if Ruby’s typing system could be fundamentally different?”
The tooling supporting Ruby’s type systems is getting more mature. Peter Boling’srbs-merge v2.0.0 shows this evolution well. It now features TreeHaver backend integration (cross-platform parsing), explicit agent support via dependency tags, and covers 140 documented commands with 72.31% test coverage.
Shopify’s rubocop-sorbet v0.12.0 (led by @rafaelfranca with contributions from @issyl0 and @sambostock) fixed critical crashes in static analysis workflows. @damolinx released vscode-sorbetto v0.3.29 for editor integration, while @ybiquitous released rbs-mode v0.3.3 for Emacs compatibility. The ecosystem isn’t just growing. It’s compacting into reliable, well-maintained tools.
PROMOTION
Level up your Ruby skills with Static Typing!
Master RBS and write more robust, maintainable, and error-free Ruby code. This course gives you practical, real-world techniques you can apply immediately to any Ruby project.
🚀 Start building smarter Ruby software today!
|
And here’s where AI enters the picture. It turns out AI agents work much better when types are available.
When Stripe published their engineering blog about Minions (their internal coding agents), one detail stood out. The entire Stripe backend is written in Ruby with Sorbet typing. Rather than being an obstacle for their agents, it became useful. The types gave the agents context to work with across their large codebase.
Soonoh (@sh1nj1) built rails_mcp_engine v0.4.1 with this idea in mind. It uses Sorbet signatures as a reference for which tools are available to AI agents, generating both RubyLLM and FastMCP tool definitions from one place. This avoids duplication and keeps things in sync.
Similar ideas are showing up elsewhere. roam-code (by @Cranot and team) ships with 140 commands and 102 MCP tools across 27 languages, built with agent-assisted coding in mind. hamachan (@engneer-hamachan) built ruby-ti for MRuby with zero-annotation type inference and a beta “Code Navigator” specifically built to reduce the context agents must read. The AG-UI protocol (12.4k stars, 83 contributors) is another example. It explores how agents and user interfaces might talk to each other, with types helping structure that conversation.
Meanwhile, another trend appeared. Ruby developers are looking beyond web servers. A Reddit thread about turning Ruby into Electron desktop applications via RubyJS-Vite transpilation sparked discussion about tradeoffs and whether Tauri might be worth exploring.
This past month, no single typing system dominated. What stood out instead was a shift in thinking. Static typing has moved from abstract debates about purity and correctness toward something more practical. Types became a shared language. They let humans and AI understand what code is safe, what’s possible, and what it should do. You see it across the month: new type systems (T-Ruby, Typewriter, Autopilot), maturing tooling (rbs-merge, rubocop-sorbet, rbs-mode), AI integration strategies (Minions, rails_mcp_engine, ruby-ti), and new platforms (desktop Ruby, AG-UI). There’s a pattern in all of it. Ruby developers are treating types differently now. Not as an optional choice, but as a practical foundation.
The year ahead will tell us whether this becomes the new baseline for Ruby development.
Your faithful static typing guy ✍️
Your essential Static Typing toolset
rbs
official Ruby Signature solution from the Ruby team
repo
rbs-inline
extension to rbs lets you write signatures in line with your code
repo
steep
type checker for the Ruby signatures
repo
sorbet
type signature and type checking solution designed by Stripe
repo
ruby-lsp
essential toolset and extension, which helps with Ruby development in the VS Code
repo
steep VS Code extension
steep integration with the IDE
repo
rbs syntax VS Code extension
ease the work with RBS signature files
repo
|
“Let's do TDD - type-driven development”
You can find all the previous issues of the newsletter in my archive.
I’d really appreciate any feedback that could help improve the newsletter. Feel free to share your thoughts using this form.
Cheers,