SaaSHub helps you find the best software and product alternatives Learn more →
Top 9 Ruby sorbet Projects
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
-
Project mention: Building an AI agent inside a 7-year-old Rails monolith | news.ycombinator.com | 2025-12-26
Thanks for sharing your experience! I know there's many of us out there dabbling with LLMs and some solid businesess built on Ruby, lurking in the background without publishing much.
Your single-tool approach is a solid starting point. As it grows, you might hit context window limits and find the prompt getting unwieldy. Things like why is this prompt choking on 1.5MB of JSON from this other API?
When you look at systems like Codex CLI, they run at least four separate LLM subsystems: (1) the main agent prompt, (2) a summarizer model that watches the reasoning trace and produces user-facing updates like "Searching for test files...", (3) compaction and (4) a reviewer agent. Each one only sees the context it needs. Like a function with their inputs and outputs. Total tokens stay similar, but signal density per prompt goes up.
DSPy.rb[0] enables this pattern in Ruby: define typed Signatures for each concern, compose them as Modules/Prompting Techniques (simple predictor, CoT, ReAct, CodeAct, your own, ...), and let each maintain its own memory scope. Three articles that show this:
- "Ephemeral Memory Chat"[1] — the Two-Struct pattern (rich storage vs. lean prompt context) plus cost-based routing between cheap and expensive models.
- "Evaluator Loops"[2] — decompose generation from evaluation: a cheap model drafts, a smarter model critiques, each with its own focused signature.
- "Workflow Router"[3] — route requests to the right model based on complexity, only escalate to expensive LLMs when needed.
And since you're already using RubyLLM, the dspy-ruby_llm adapter lets you keep your provider setup while gaining the decomposition benefits.
Thanks for coming to my TED talk. Let me know if you need someone to bounce ideas off.
[0] https://github.com/vicentereig/dspy.rb
-
-
-
-
Same here. T::Struct and T::Enums at API boundaries has been the sweet spot—typed request/response models, runtime validation at ingress/egress.
I’ve been using this pattern for API clients[0] and CLIs[1]: define the shape once with Sorbet, get automatic JSON Schema generation when you need it.
[0] https://github.com/vicentereig/exa-ruby
Ruby sorbet discussion
Ruby sorbet related posts
-
An introduction to types in Ruby
-
Ruby 4.0.0 Released
-
Show HN: Stepped Actions – distributed workflow orchestration for Rails
-
We still build with Ruby in 2025
-
Rewrite It in Rails
-
A Neuromorphic Hardware-Compatible Transformer-Based Spiking Language Model
-
Ruby’s hidden gems: Sorbet
-
A note from our sponsor - SaaSHub
www.saashub.com | 12 Jul 2026
Index
What are some of the best open-source sorbet projects in Ruby? This list will help you:
| # | Project | Stars |
|---|---|---|
| 1 | tapioca | 868 |
| 2 | sorbet-typed | 392 |
| 3 | sord | 335 |
| 4 | spoom | 265 |
| 5 | dspy.rb | 228 |
| 6 | parlour | 98 |
| 7 | rspec-sorbet | 43 |
| 8 | lf-cli | 14 |
| 9 | exa-ruby | 3 |