Welcome to another issue of the Newsletter!
October brings crisp autumn air and an unmistakable shift in how static typing tools interact with developers and AI agents alike. What started earlier this year as experimental integrations has crystallized into a practical philosophy: type systems are no longer just for batch CI checks or IDE squiggles; they are becoming the high speed contract that enables AI coding agents and ahead of time compilers to reason about Ruby code with precision.
The most intriguing development on the compiler frontier comes from Sam Ruby with his post Spinel at Your Fingertips. Spinel, Matz’s ahead-of-time Ruby compiler, infers types across an entire program and emits optimized C code, producing unboxed structs whenever inference succeeds. Sam takes this a step further by introducing an interactive browser playground, an LSP server, and an MCP server. This setup lets developers and AI agents inspect in real time which expressions keep to the unboxed fast path and where types fall back to boxed Ruby objects. It provides an immediate visual feedback loop for writing performance-critical, type-friendly code.
That same agent-first philosophy is driving new type checkers. ksss released crema, an AI agent-first Ruby type checker powered by RBS and implemented in Rust. Instead of verbose formatted human reports or heavyweight background daemons, crema focuses on speed and simplicity: it reads inline #: and # @rbs annotations directly without requiring separate sig/ files, and emits single-line JSONL diagnostics designed for UNIX piping with jq or direct consumption by autonomous agents. In parallel, community tooling like st0012’s Claude Code Ruby Skills Plugin equips AI agents with deep context around RBS, Sorbet RBI files, and Ruby LSP, ensuring that agents respect type signatures and assist with type maintenance rather than working against them.
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!
|
Rails applications are also gaining faster, automated signature generation. AndyGauge launched rbs-sentinel, a Rust-powered, CI-ready RBS type signature generator for Rails. By watching application folders and transpile syncing Rails models to RBS with native speed, Sentinel keeps signatures fresh without bogging down development cycles. Meanwhile, juharris introduced enummify, providing immutable, RBS comment-friendly typed enums with zero runtime dependencies and no direct dependency on Sorbet’s T::Enum.
Library authors are adopting static typing as a first-class citizen in native gems. tzaid published rphonetic-ruby, offering precompiled cross-platform native bindings for phonetic algorithms on Ruby 3.4 and 4.0, complete with verified RBS signatures. In the Sorbet realm, maxveldink shared sorbet-schema to simplify extensible serialization and deserialization for T::Struct models, while regular Sorbet releases continue their biweekly cadence of compiler speedups and type checker refinements. In the broader typed ecosystem, typescope pushed rapid iterations for Jo, moving List to flat arrays for amortized O(1) appending and adding direct field pattern matching, and the official gem_rbs_collection repository by ruby continues to expand community signature coverage.
As compilers, agent workflows, and native tools converge, static typing in Ruby is turning into a seamless feedback loop: faster for humans to read and comment on, instant for agents to write and verify, and powerful enough for compilers to optimize.
Thanks for reading, and see you next month. ✍️
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,