- RoboRuby
- Posts
- Ruby AI News - May 14th, 2026
Ruby AI News - May 14th, 2026
AI amplifies the engineers who've done the work

Welcome to the 30th edition of Ruby AI News! This edition features a powerful new tool from Shopify to give AI agents a map of your codebase, an ecosystem spawning around Matz’s Spinel compiler, why production experience can't be hallucinated, and much more.
Contents
Top Stories
Give AI Agents a Map of Your Codebase
Vinicius Stock of Shopify introduced Rubydex, a static analysis engine that handles code indexing, constant resolution, ancestor linearization, and reference tracking through a single API. The pitch echoes Prism's: instead of every Ruby tool reimplementing code indexing with its own bugs and performance quirks, Rubydex is one shared foundation. Built in Rust with C FFI bindings and a Ruby gem, it already powers Ruby LSP's new indexer, cut Tapioca's gem RBI generation in Shopify's Core monolith from roughly 6 minutes to 20 seconds, and let Packwerk delete around 3,000 lines while resolving 3x more constant references.
The part that matters most for Ruby's agentic future is the experimental MCP server. Instead of reading whole files and grepping for text, an LLM can ask Rubydex directly for declarations, definitions, references, ancestors, and descendants. Shopify's early testing shows 15 to 80 percent reductions in token usage, cost, and duration on certain tasks. A refactor stops meaning "scan the entire codebase for usages" and starts meaning "run one query." Ruby LSP maintainer Stan Lo framed the intent clearly: the old indexer had "many known limitations, including performance issues," so the replacement "will come with a default MCP server tailored specifically for LLM agents."
Shintani Teppei benchmarked the Rubydex MCP against Claude Code on Timee's Rails monolith and found 35 to 57 percent token reduction on prompts, 17 to 34 percent cost savings, and answer quality rising on their LLM-as-judge scale, all by collapsing coding agent’s usual "Grep → Read → Grep" loop into single semantic queries. This is the compounding foundation bet that Prism won, aimed one layer up the stack, and it arrives as AI agents become a first-class consumer rather than an afterthought. And Shopify's backlog points further improvements: a shared on-disk database so a language server, linter, type checker, and MCP server can all reuse one analysis, loading only the slice of the graph an agent actually needs. Ruby has spent years making itself legible to humans through better tooling. Rubydex is that same investment, redirected at making the codebase legible to the agents now writing a growing share of the code.
Spinel Taps a New Ecosystem
Since we covered Matz's Spinel last edition, the Ahead-Of-Time compiler has stopped being a keynote demo and started being a moving target. Matz made 200+ commits since launch, FFI (Foreign Function Interface) support arrived, and a thorough Ruby Inside overview catalogs the supported subset of Ruby functionality as it stands: classes, blocks, pattern matching, Enumerable, Fibers, and mutable strings work, while eval, method_missing, and dynamic define_method are marked "probably never." Last edition asked whether a human-led team could maintain what AI shipped. The early answer is that the community isn't just maintaining it, it's building on it.
Two Spinel-based experiments stand out. Joseph Schito's Rubyduino compiles Ruby sketches to Arduino UNO firmware. Spinel turns the Ruby into C, a small AVR runtime maps digital_write and delay_ms to hardware registers, and avr-gcc produces machine code. "The Arduino is not interpreting Ruby," writes Joseph, "it is running compiled AVR machine code that started life as Ruby." Ori Pekelman's Tep is the single-binary Rails future from last edition, scoped down to a Sinatra-flavored web framework that compiles to an 80KB native binary serving 167,000 requests per second, against 31,000 for Sinatra on Puma. Tep's stated purpose may be the more interesting part. It exists "to exercise Spinel against real-world Ruby code, shake bugs out of Spinel's codegen, file PRs upstream, and grow Spinel's coverage of idiomatic Ruby."
Spinel's first few weeks are a small proof that engineers with a clear vision and the expertise to judge and evaluate LLM-generated code can produce powerful new software innovations. The developments on the compiler are moving fast because its author paired with Claude, and the ecosystem around it moves fast because experienced Rubyists are using the same workflow to push it somewhere new.
Production Experience Cannot Be Hallucinated
Carmine Paolino, the author of RubyLLM and creator of Chat with Work, keeps setting the pace for the Ruby AI renaissance. RubyLLM 1.15 shipped image editing through the existing RubyLLM.paint call, built-in cost tracking (response.cost.total, chat.cost.total, agent.cost.total), token accounting that separates cache reads from input tokens, tool parameters inferred straight from the method signature, and stackable before_* and after_* callbacks. RubyLLM 1.16 is already in development with provider-aware document attachments. The unifying principle, in Carmine's words, is "stop making me write glue code. If the computer can infer it, RubyLLM should infer it."
He also shipped kamal-backup, a Kamal accessory for encrypted Rails backups built on restic that covers the database and Active Storage together. Distinctive features, ones many backup tools skip, include a drill command that restores a snapshot into a scratch target and runs a check, and an evidence command that emits redacted JSON for a security reviewer. It came directly out of running Chat with Work through a real security review, and the 0.2.10 release this week added PostgreSQL 18 support.
In Production Experience Cannot Be Hallucinated, he describes paying five dollars for a Medium article selling hard-won production lessons about RubyLLM. Its first code sample called RubyLLM.client and RubyLLM::StreamInterrupted, neither of which exists. Confronted, the author admitted "the code in the original article was not verified against the actual gem" and replaced the whole piece within minutes, but the rewrite kept the same fabricated-experience premise with real method names swapped in. "The method names got real," Carmine writes. "The experience didn't."
Attach one of the “four magic words in tech” to a claim, Production, Scale, Security, or Reliability, and it runs the risk of becoming true before anyone checks. AI can generate the language of experience, but the real world lessons behind kamal-backup's evidence command or RubyLLM's normalized token accounting came from actually shipping production code and putting it through review. Rubydex, Spinel, and Carmine's run of releases all point the same way. AI compounds the engineers who have done the work, and it cannot manufacture the experience for those who haven't.
Need to Know AI News
Digg In 2005 I learned about Rails thanks to Digg, and now its back again as an AI news aggreator. Kevin Rose relaunched the platform as a signal-filtering service for the internet's noisiest spaces, with its alpha AI section monitoring 1,000 of the most thoughtful voices in AI and ranking stories by momentum and traction.
From Vibe Coding to Agentic Engineering Andrej Karpathy spoke with Sequoia's Stephanie Zhan at AI Ascent 2026 about why agentic engineering is the serious discipline forming on top of vibe coding, and why LLMs are better understood as "ghosts": jagged, statistical entities that demand new taste and judgment to direct.
Awesome Agent Skills VoltAgent curated a hand-picked collection of 1,100+ agent skills from official engineering teams (Anthropic, Stripe, Vercel, Cloudflare, Hugging Face, Sentry, and others) plus community contributions, compatible with Claude Code, Codex, Gemini CLI, Cursor, and other agent harnesses.
Using Claude Code: The Unreasonable Effectiveness of HTML Thariq Shihipar of the Claude Code team argued for preferring HTML over Markdown as an agent output format, citing richer information density, visual clarity, easy sharing, and two-way interactivity, with example use cases that export back to prompts.
These MIT Hackathon Winners Built an AI That Can Control Your Body Jennifer Sieg covered Human Operator, the MIT Hard Mode 2026 "Learn Track" winner, which pairs a vision-language model and voice commands processed through Anthropic's Claude API with Arduino-driven electrical muscle stimulation to physically guide a user's hand movements, demonstrated in the team's 51-second demo.
Announcements
Fragua Mario Alberto Chávez previewed an AI harness composed for Rails 8.1 and Hotwire. Built on his Maquina stack and powered by Claude Code with a Rails MCP server, it orchestrates agents through Research → Plan → Spec → Execute with per-feature git worktrees, live streaming, and BYOK billing.
Stub Responses to Test Code That Interacts with RubyLLM Todd Kummer released ruby_llm-test, a gem for stubbing RubyLLM calls in tests. It offers stub_response and with_responses helpers accepting strings, Messages, or hashes, and exposes last_request to assert on the model, tools, and parameters sent.
Relay: An Environment for LLM Hackers Robert built Relay, a self-hostable LLM web environment shipped as a RubyGem and built on Roda, Sequel, Falcon, llm.rb, and HTMX. It supports seven LLM providers, integrates MCP servers, and lets users create custom Ruby tools for AI workflows.
mruby-llm Robert also shipped mruby-llm, an mruby port of llm.rb supporting OpenAI, Anthropic, Gemini, DeepSeek, xAI, Z.ai, Ollama, and llama.cpp. It mirrors the llm.rb API for Context, Agent, Tools, MCP, and Skills, and compiles to a native executable for embedded AI agents.
Brute 2.0 Nathan Kidd hand-refactored the AI-written v1 of his Brute library into a Ruby agent framework that applies the Rack middleware pattern to coding agents, abstracting human-in-the-loop handoffs, tool-call loops, and async sub-agents into composable middleware. It ships 12 built-in tools and runs on RubyLLM.
agent2agent Nathan also released a Ruby implementation of Google's A2A protocol with a Rack server and client, JSON-RPC and REST bindings, SSE streaming, and SQLite persistence. All 47 protocol types are generated dynamically from the official A2A schemas, with Falcon and Async powering fiber-based concurrency.
simple_a2a Dewayne VanHoozer reexamined Google's A2A protocol with a new simple_a2a gem. It ships both client and server with JSON-RPC 2.0, SSE streaming, RS256 JWT push notifications, AgentCard discovery, and pluggable storage, built on Falcon, Roda, and the async ecosystem.
Rails Toolkit: A Workflow for AI-Era Rails Abraham Kuri Vargas open-sourced a five-tool kit packaged as a Ruby CLI and four Claude Code plugins: Railwyrm bootstraps the app, Rails Audit calibrates risk, BooRails runs security and quality passes, Prompt Refiner turns intent into executable specs, and the Roundhouse agent builds it.
ruby_llm-contract 0.8.0 Justyna Wojtczak shipped a stable release of ruby_llm-contract, a gem wrapping RubyLLM::Chat with output schemas, business-rule validation, and retries that escalate to a stronger model when a cheaper one fails. It adds a thinking macro and regression-eval framework that gates CI on quality drift.
RubricLLM David Paluy updated his lightweight LLM evaluation framework for Ruby, inspired by DeepEval and powered by RubyLLM. It ships LLM-as-Judge metrics, pure-math retrieval metrics, batch evaluation with concurrency, A/B model comparison via paired t-tests, and first-class Minitest/RSpec assertions.
rails-ai-bridge 3.2.0 Ismael Marín shipped a release of his gem that turns Rails apps into AI-readable project maps. It generates AI coding assistant-specific context files, plus a read-only MCP server with 11 Rails introspection tools. The release sharpens context ranking and tightens safety around sensitive paths.
llm_cost_tracker Sergii Khomenko continued work on his LLM cost ledger that logs tokens, cost, latency, and tags into a Postgres table queryable via ActiveRecord. It hooks into LLM providers and OpenAI-compatible gateways with no proxy, and ships a dashboard with budget guardrails.
opentelemetry-instrumentation-ruby_llm v0.5.0 Clarissa Borges shipped a release of thoughtbot's OpenTelemetry instrumentation for RubyLLM, adding with_otel_attributes for attaching per-request span metadata such as Langfuse prompt linking, trace tags, and custom attributes.
Meet GemChat: AI Chat with Ruby Gem Saroj Maharjan updated GemChat, a RAG-powered chat for Ruby gem documentation backed by pgvector and semantic search. Users pick an indexed gem and ask natural-language questions to get code samples and API answers from official docs.
agent-rules-books Maciej Ciemborowicz translated 13 classic programming books including Clean Code, Refactoring, DDD, and The Pragmatic Programmer into AGENTS.md-style rules for Claude Code, Cursor, and Codex. Each book ships in mini, nano, and full variants so users can match the ruleset to their context budget.
ruby-rules Ali Fadel built a repo with an extract-book-rules agent skill with the Agent Skills standard that pulls structured rules from Ruby/Rails book PDFs and ePUBs into JSON and chapter-aligned Markdown. It ships rules pre-extracted from Polished Ruby Programming and Complete Guide to Rails Performance.
tramway-skill v1.5 Pavel Kalashnikov released a Codex skill for Rails that packages opinionated defaults including Kamal, Terraform, Auth0, SolidQueue, Tailwind, and the Tramway framework. The v1.5 release adds a recipe routing object state transitions exclusively through state machines so code stays free of transition-handling noise.
Compound Engineering 3.4.0 Trevin Chow announced a release adding /ce-strategy (interviews you into a STRATEGY.md that brainstorm, ideate, and plan read for context) and /ce-product-pulse (time-windowed usage and error reports via MCP). It also adds experimental /ce-simplify-code and smarter /ce-code-review tiering.
Research on Frontier LLMs Daniel Tenner launched a hub publishing empirical studies of LLM behavior. Papers examine personality patterns across models from six labs and per-provider routing effects in open-weights deployments, released on Zenodo with reproducible code and data.
Carbon Fiber Yaroslav Markin released a new version of his Ruby Fiber Scheduler written in Zig and powered by libxev. It uses io_uring on Linux and kqueue on macOS to make Net::HTTP, TCPSocket, and Process.spawn transparently concurrent, drops into the Async framework as a backend, and posts 60-64% gains over Async.
Perron 1.0 Is Here Rails Designer released Perron 1.0, an OSS Rails-based static site generator. It targets programmatic SEO with ActiveRecord-style resource querying, third-party API integration, DOM-morphing live reload via the mata gem, and an LLM skill letting AI agents navigate its architecture.
Rails World 2026 CFP The Rails Foundation opened the call for proposals for the September Rails World Austin conference. Submissions close May 16th, with priority topics including AI-native Rails workflows, Rails as an orchestration layer for AI products, and security in AI-assisted coding.
Ruby + AI Maintainer Awards Alex Rudall announced the five winners of his Ruby AI Builders Discord nomination drive for 6 months of free ChatGPT Pro: Carmine Paolino, Obie Fernandez, Chris Hasiński, Dewayne VanHoozer, and Abdelkader Boudih. The prize was supported by Jason Liu at OpenAI.
Articles
Building a Private Karpathy-Style LLM Wiki With Gbrain and Gstack Vipul A M wrote up his Rails AI operating system: gbrain ingests GitHub, Slack, and deploy signals into private SQLite memory, an llm-wiki-compiler distills them into a Karpathy-style Markdown wiki, and gstack hands that context to Codex and Claude Code via MCP while CodeRabbit, CI, and human review gate every merge.
Scaling Ruby's Defenses With AI Colby Swandale described how RubyCentral is scanning the entire gem ecosystem with Claude Opus, prioritizing packages by OpenSSF Criticality Score and routing every finding through human triage before maintainer disclosure. The first AI-assisted report patched a ReDoS in Nokogiri's CSS tokenizer.
LLM Benchmarks: DeepSeek Unlocked with DeepClaude Fabio Akita benchmarked LLMs on a Rails task and found that wrapping DeepSeek V4 through Claude Code jumped scores significantly. DeepSeek emitted the correct RubyLLM chat.ask API while Opus hallucinated in the same harness, suggesting Claude Code's system prompt primes Opus toward a mental model that DeepSeek's RubyLLM training resists.
Rails Security, AI, and IBB Aaron Patterson reflected on how AI-generated vulnerability reports flooded the Internet Bug Bounty program in 2025, dragging Rails security triage back into wading through low-quality submissions. One report accidentally leaked its AI instructions, and IBB has now stopped accepting new submissions entirely.
A Ruby Timeout That Works Brad Gessler released the tcp_user_timeout gem, using Linux's TCP_USER_TIMEOUT socket option to enforce real deadlines on blocking syscalls that Timeout.timeout silently lets hang, covering Net::HTTP, Faraday, Postgres, and Redis from inside Sidekiq or Solid Queue jobs.
The Output Must Be Cleaned (With Skill) Jared Turner of thoughtbot introduced clean-rspec-output, a Claude skill that tames noisy RSpec suites by isolating warnings, reproducing issues, fixing root causes, and committing each fix individually, with guardrails preventing lazy fixes that weaken test coverage.
CLAUDE.md for Ruby on Rails: 12 Rules That Stop AI from Writing Legacy Patterns Olivia Craft published a CLAUDE.md template with 14 rules that stop AI from defaulting to legacy Rails. Rules cover skinny controllers with service objects, scopes over class methods, Pundit, Sidekiq via ActiveJob, RSpec/FactoryBot, N+1 prevention, Zeitwerk, Hotwire over JSON, and encrypted credentials.
Token Economics of a Claude Code Agent Swarm Viktor Schmidt broke down three levers that kept a six-week RSpec-to-Minitest Rails migration affordable: route each Task to the cheapest verifying model, load Skills progressively in three tiers, and pass references not payloads through the orchestrator to keep the prompt-cache prefix stable.
Watch Your Agents Rob Zolkos argued that AI coding agent sessions should be monitored like server logs, with repeated reasoning, failed commands, and throwaway code converted into deterministic scripts or Rails audit tasks. Treating agent transcripts as observability surfaces yields cheaper, faster, more reviewable workflows.
The Evidence Detective: How Rootstrap Cut Time-to-Proof by 90% Inside a Ruby App Ana Clara Medeiros described a six-agent Rails pipeline that automates compliance audit evidence by decomposing requirements, generating semantic queries, orchestrating parallel search, mapping evidence with citations, scoring confidence, and assembling reports through Sidekiq with strict JSON contracts.
RubyLLM × Sakura AI Engine: Pitfalls of "OpenAI Compatible" Yuichi Takeuchi documented how Sakura AI Engine's claimed OpenAI compatibility silently breaks RubyLLM's with_schema structured output and produces inconsistent tool behavior across models, concluding that "OpenAI compatible" only guarantees HTTP-level protocol parity, not behavioral consistency.
Teaching Claude Code to Test What Breaks Jan Grodowski compared Claude Code runs building a stacked-PR Ruby CLI, finding that his undercover-claude skill pushed branch coverage from 65-78% to 100% by running bundle exec undercover after tests to flag uncovered diff lines and force error-path testing.
How to Increase the Percentage of Development Done by AI Wale Olaleye laid out a six-month playbook to ship more AI-generated code: drop test boot under five seconds, commit a team-shared CLAUDE.md and exemplars files, decompose epics into tightly-spec’d units, and build persistent skills for tests, upgrades, i18n audits, dead code, and review.
Reviewing Dependabot PRs Is Boring. Let Claude Do It for You. Jose Blanco built a thoughtbot Claude skill that triages Dependabot PRs by reading the diff, scanning changelogs, and checking codebase usage, and labeling each Merge, Verify, Investigate, or Hold. It runs on a single PR or audits all open Dependabot PRs via the Github CLI and posts findings as collapsible GitHub comments.
AI in Ruby on Rails: Complete 2026 Guide to Rails AI Integration Pichandal surveyed the Rails-as-orchestration-layer pattern for AI apps, covering ruby-openai, Langchain.rb, and RubyLLM alongside service objects, Sidekiq async processing, and vector databases, with a 10-step integration workflow that addresses latency, cost, and rate limiting.
Your Hiring Process Is a Mirror Brandon Casci declined a senior Rails role after spotting below-market pay and a dated interview loop of take-home plus live coding tests, arguing such processes reveal teams still building like last decade rather than adopting AI-augmented workflows and multi-agent orchestration.
Background AI: Using Solid Queue for Slow OpenAI API Calls Zil Norvilis demonstrated moving OpenAI calls out of Rails controllers into Solid Queue jobs, keeping Puma threads free while Hotwire's turbo_stream_from shows a loading state and broadcasts the final result over WebSockets once the job completes, all without Redis.
You Probably Don't Need Git Worktrees Avdi Grimm argued that local clones beat worktrees for parallel coding-agent sessions: worktrees hardcode fully-qualified paths into config and break containerized dev environments, while git clone is near-instantaneous and disk-cheap because Git hard-links immutable object files across local repos.
Aesthetics Is Truth: DHH on Craftsmanship in the AI Agent Era Yoshito Kuranuki reflected on DHH's view that Rails' convention-over-configuration suits LLM token economics, recasting programmers as directors who set intent and verify output, with taste and judgment becoming the scarce resource as code generation approaches zero cost.
Your Rails App Is Already AI-Ready. You Just Don't Know It. Raj Kumar found a Claude-based agent navigated his production Rails codebase using just config/routes.rb, service objects, scopes, and named jobs, with no custom entity maps required; his companion LinkedIn post framed 15 years of Rails conventions as a hidden LLM advantage.
Use AI Assistant for Common Rails Tasks JetBrains published a RubyMine 2026.1 tutorial walking through the built-in AI Assistant on common Rails work: adding model validations, generating Minitest suites, implementing features across controllers and views, and navigating model/controller/route relationships.
DarkMoon AI-Powered Autonomous Penetration Testing Platform Guru Baran shared DarkMoon, an open-source multi-agent pentesting platform that detects target stacks like Rails and orchestrates security tools through the Model Context Protocol as a safety gatekeeper.
Malicious Ruby Gems and Go Modules Impersonate Developer Tools to Steal Secrets and Poison CI Kirill Boychenko reported on seven malicious gems published that started as legitimate utilities then shipped weaponized updates, executing during install via extconf.rb to harvest env vars, SSH keys, and AWS credentials, exfiltrating as JSON to attacker endpoints.
Videos
Tone Check Dave Kimura of Drifting Ruby demonstrated running a small Hugging Face transformer model entirely in the browser via WebGPU to perform real-time tone and toxicity checks on user input through a Stimulus controller, with no server roundtrips or API calls.
Rails Just Made Your Database Agent-Ready Emmanuel Hayford walked through Rails 8.2’s new rails query CLI that returns structured JSON from ActiveRecord expressions, raw SQL, schema introspection, and EXPLAIN plans, with write-blocking and pagination built in for safe AI agent workflows.
What AI Actually Changes About Software Engineering Errol Schmidt argued that AI strips away the friction of writing syntax and hunting documentation but leaves the valuable parts of engineering untouched: distilling client needs into prioritized scope, making architectural judgments, and deciding what code should exist at all.
GitLab Observability (O11y) Setup Tutorial - Traces, Metrics & Logs GitLab Unfiltered demonstrated wiring OpenTelemetry into Ruby/Rails, Python, and React apps to ship traces, metrics, and logs to GitLab’s OTEL endpoint, with per-project filtering via gitlab.project.id and pre-built dashboard templates.
Ruby on AI: Agent Design (Part 1) / AI Harness Ilya Zykin sketched the design of an AI agent and introduced his AI Harness framework for abstracting AI providers in Ruby on Rails applications.
Podcasts
On Rails: Jason Meller: Rails, Security, and the AI Advantage Robby Russell interviewed Jason Meller, VP of Product at 1Password, about Rails' "features per token" advantage for LLM-assisted development and the security risks of LLMs with full file system access, including 1Password's SCAM benchmark showing autonomous agents fall for phishing.
Technology for Humans: How to Fill Your AI Agent Skill Gap: The Steps to Giving Your AI a Real Job Errol Schmidt and Kane Hooper of reinteractive demonstrated moving from prompting to skill-building, organizing specialized agents into audit, validation, and execution roles with strict business logic, and ran a live demo of an agent completing a 50-item production checklist.
Remote Ruby: Direct Routes and Data Queries Chris Oliver, Andrew Mason, and David Hill explored Rails direct routes as a more powerful alternative to helpers, practical AI adoption inside engineering teams, and Chris's ongoing e-commerce extension of the Rails Getting Started Guide.
Discussions
How I'd Interview Engineers in the Agentic Era Scott Werner sketched an interview format for the agentic era, replacing classic single-bug pairing with multiple epics the candidate drives through several agents in parallel. He proposed asking about past harness and orchestrator builds, how their process has shifted, and how they gain confidence in agent-written work without reading every line.
Additional Reading
Thoughtbot: Simple, Affordable Unsupervised Agentic Coding From My Phone With Claude Code in GitHub Actions
Thoughtbot: The Pace of Feedback
Jetruby: LLM Integration in a Product You Already Ship: Architecture Decisions That Will Cost You Later
Engineering Leadership: How to Thrive as an Engineering Manager in the AI Era
Events
Previous
Artificial Ruby: Artificial Ruby's April Event Artificial Ruby released three talks from the NYC meetup: Jonathan Berger framed AI-assisted building through a metaphor of "elevation" - pitching specs at the right altitude of abstraction - and shared his team's FIELD blog convention for corralling AI-generated plans; Brian Hecht, a 20-year founder who never wrote code, built a productivity tool suite with Claude in a week and is forming a company around it; and Avi Flombaum demonstrated an AI harness that writes Rails code matching an app's patterns, conventions, and team.
SF Ruby: SF Ruby Meetup: April 14, 2026 @ Intercom SF Ruby released the meetup recording headlined by Brian Scanlan on Intercom's Claude Code plugin system, with talks covering Ruby DSLs with LLMs, parallel Claude Code agents in tmux, multiplayer agent workflows in the cloud, and Rubot human-in-the-loop semi-autonomous software.
Blue Ridge Ruby: Blue Ridge Ruby: A Couple of Reflections Jon Sully shared two takeaways from the Asheville conference: small regional Ruby gatherings remain irreplaceable for community, and Ernesto Tagwerker's "experience plus LLMs equals speed" formula now lets seasoned Rubyists ship at unprecedented pace, exemplified by Katya Sarmiento's My Blue Ridge companion app.
Blue Ridge Ruby: Blue Ridge Ruby 2026 Recap Kevin Murphy recapped the Asheville conference, where AI threads stood out: his own closing talk on instilling sound practices in an agentic world, and David Paluy's "LLM Telemetry as a First-Class Rails Concern" on evaluating LLM correctness within Rails applications.
RubyKaigi: From Karafka Ractors to Yoichi Whisky: My RubyKaigi 2026 Experience Maciej Mensfeld recapped RubyKaigi 2026 in Hakodate, where he presented on running Ractors in production in Karafka, arguing they have a workable niche today despite limitations, and highlighted infrastructure talks from Peter Zhu, Aaron Patterson, and John Hawthorn.
Upcoming
May 21 - Meetup: SF Ruby Meetup will be held on May 21st at Checkr's office in San Francisco. Ruby AI content includes a featured "AI agents & LLMs in Rails" interest circle, as well as talks from Waldemar Quevedo on building agents in Ruby with DSPy, Kurt Ude on enterprise-scale fraud engineering, and Pranav Raj, the CEO of Chatwoot (the creators of ai-agents, the Ruby AI Agents SDK).
May 29th - Conference: RubyConf Austria 2026 will be held May 29th through the 31st in Vienna, Austria. AI content includes Kinsey Durham Grace on composing agentic systems in Ruby, RubyLLM creator Carmine Paolino, and Zar CTO Obie Fernandez.
June 4th - Meetup: Artificial Ruby will be hosting another meetup at Betaworks in New York City on June 4th, speakers still to be determined.
June 11th - Conference: Blastoff Rails 2026 will be held June 11th and 12th in Albuquerque, New Mexico. AI content is anchored by keynotes from Kieran Klaassen (GM of Cora, on agentic coding) and Irina Nazarova (CEO of Evil Martians), plus talks from Avi Flombaum on trusting AI with your Rails codebase and Stephen McKeon on why training Rails developers still matters in the age of AI.
June 25th - Conference: Brighton Ruby 2026 will be held June 25th in Brighton, England, a single-day event at the Brighton Dome. AI content centers on Brian Casel (founder of Builder Methods) exploring what changes, and what doesn't, when experienced developers build with AI; he's also running a 20-person AI workshop the day before. Maria Yudina of Shopify draws on screenwriting to examine what storytelling teaches about writing code and prompts.
Open Source Updates
Code Spotlight
Vux released Senren UI (洗練, "refined"), a Rails-native component library built on ViewComponent, Hotwire, and TailwindCSS that uses a shadcn/ui-style source-copy model where installed components live in your own app under app/components/senren/. The open-source gem ships generators and a registry of tested ViewComponents and Stimulus controllers, with v0.1 covering foundation, form, and overlay components. Its distinguishing feature is a centralized AI agent skill system: a machine-readable .senren/skill.md documents every component with explicit rules and anti-patterns, marker-managed adapter files keep instructions synced across Claude, Codex, Copilot, and Cursor, and llms.txt discovery files let agents learn Senren's conventions so they extend the design system instead of hallucinating component APIs.
New Gems
Links to the RubyGems page, newest releases are first:
kobako - Embeddable Wasm sandbox for running untrusted mruby code from Ruby applications
ai-lite - Minimal Ruby client for simple AI chat calls through the OpenAI Responses API
robot_lab-a2a - Agent2Agent (A2A) protocol adapter for RobotLab
rlm-rb - Ruby/Rails-native runtime for typed, sandboxed, auditable AI jobs over large application context
cangming-ai-dev-kit - AI Coding Harness capability kit - reusable dev skills for Claude Code and Codex
grx-tensor - Tensor framework for Ruby with autograd and a C+SIMD compute core
zephira - Command-line AI coding assistant in Ruby
ui_guardrails - Rails toolset for preventing UI drift in AI-assisted applications
spatio-sdk - Ruby SDK for the SpatioAPI
phronomy - Ruby AI Agent Framework for composable, stateful AI agent workflows
simcov-ai-formatter - Format SimpleCov coverage data into AI-friendly JSON
groq_ruby - Ruby client for the Groq API
savvy_openrouter - Ruby client for the OpenRouter unified AI API
simple_a2a - A Ruby implementation of the Agent2Agent (A2A) protocol
testgenai - Find untested Ruby code and generate tests with AI
robot_lab-rails - Rails integration for the robot_lab LLM agent framework
robot_lab-ractor - Ractor-based parallel tool execution for RobotLab agents
robot_lab-document_store - Embedding-based semantic document store for RobotLab agents
robot_lab-durable - Cross-session durable learning for RobotLab agents
happyhorse-ai-video - AI video generator - create cinematic videos online
aids - AI DeepSeek client REPL for the terminal
ruby-openrouter - Ruby client for the OpenRouter API
llmdb - AI-powered database agent using RubyLLM and a local model
active_harness - DSL for describing and running AI agents with safety layers
pixel_font_trie_ocr - Deterministic OCR for tiny pixel fonts using a Trie of column bitmasks
nlqdb - Ruby client for nlqdb - natural-language databases
jekyll-llms-output - Generate llms.txt and llms-full.txt for a Jekyll site
jekyll-markdown-output - Emit a Markdown sibling for every Jekyll post or note, for agents and LLMs
action_ai - AI prompt composition and running framework
kreator - A Ruby headless coding agent CLI runtime
ocrb - OCR gem
pinmark - Pin-style UI annotations that flow into Claude Code via MCP
relay.app - Self-hostable LLM environment you can run in under 2 minutes
humantone - Official Ruby SDK for the HumanTone API
superinstance-flux-runtime - Pure Ruby FLUX ISA v3.0 virtual machine with runtime metaprogramming
superinstance-equipment-swarm-coordinator - Swarm coordination equipment for SuperInstance agents
superinstance-equipment-consensus-engine - Multi-agent deliberation with Pathos/Logos/Ethos weighting
jekyll-llms - Generate LLM-friendly files for Jekyll sites
a2a-test-framework - Conformance test suite for A2A (Agent-to-Agent) protocol implementations
data_redactor - Redact PII and secrets from strings before sending to AI or external services
ruby_gaurden - RubyGaurden allows the execution of untrusted Ruby code safely in a walled garden
rogiq - RogIQ operations CLI
senren-ui - Rails-native UI component library with ViewComponent, Hotwire, Tailwind, and AI-agent skill files
agent2agent - Agent2Agent protocol
sql-chatbot-rails - AI chatbot for any Rails app - auto-discovers schema, indexes code, executes SQL, streams answers via chat widget
clamp-analytics - Server-side analytics SDK for Clamp
New Open Source
Links to the Github repository:
Ruby Skill Bench - Evaluation engine that benchmarks AI agent skills by comparing baseline versus skill-enhanced runs in isolated git sandboxes with blind LLM judging
ARCP Ruby SDK - SDK for the Agent Runtime Control Protocol, with transports for sessions, tool invocation, streaming, human-in-the-loop, and permission flows
phronomy-examples - Examples for the phronomy LLM framework, covering ReAct agents, state graphs, guardrails, MCP tools, multi-agent handoff, and Rails integrations
picoruby-wasm-ai-repl - Browser-based live-coding REPL that uses Chrome's on-device Gemini Nano to stream-generate PicoRuby × three.js code
rails-doctor - Static-analysis CLI that scores Rails codebases 0-100 against 37signals / DHH conventions and installs as an agent skill
Agent Orchestra DNA - Turns an AI chat or agents into a coordinated, human-led orchestra through bounded role cards, authority boundaries, and compact context maps
agentd - Infrastructure that gives autonomous AI agents a permanent identity, crypto wallet, semantic memory, and 40+ MCP tools over a single JSON-RPC connection
Orchestrator (Orch) - Job queue that runs AI coding prompts in parallel against local repos, with per-repo isolation, worker pools, success sentinels, and a dashboard
Powernode System Extension - System extension for the Powernode platform with an AI-driven fleet autonomy layer with sensors, skill executors, and approval gating
MerchAI - Shopify product listing optimization agent that imports listings, runs a six-step AI pipeline, and surfaces actionable improvements with LLM cost tracking
trmnl-agent-skills - TRMNL template-writing agent skill packaged for Claude Code, Cursor, OpenAI Codex, Gemini CLI, and GitHub Copilot
Jobs & Opportunities
Are you an organization searching for an expert Ruby AI developer, or a Rubyist looking for your next development role with AI? Please reach out and let me know the type of opportunity you’re pursuing: [email protected]
Featured
Tread, an AI-native vertical SaaS platform for construction materials logistics, is hiring an AI Native Forward Deployed Engineer (remote or San Francisco, $120K–$160K plus equity and bonus). The role embeds engineers in the field with dispatchers, scale operators, and back-office teams, then ships solutions the same day by contributing directly to Tread's Rails API, GraphQL, and React codebase. Tread unifies order management, dispatch, e-ticketing, and billing for bulk materials haulers and producers and recently crossed $1bn in monthly delivered load value. The posting lists production Ruby/Rails experience as a core qualification and experience leveraging LLMs in customer-facing workflows (AI-assisted integrations, automated onboarding, intelligent ticket deflection) as a bonus.
One Last Thing
Fable Tales and Anna Mason recounted in Formatting an Entire 25 Million Line Codebase Overnight: The rubyfmt Story how Stripe moved rubyfmt, a zero-configuration Rust-built Ruby autoformatter, from opt-in to opt-out by formatting 25 million lines across 62,213 files in a single Saturday, leaning on the test suite for correctness and quiet timing to avoid merge conflicts. The post details the engineering behind sub-100ms formatting: an initial ripper-based Ruby version proved too slow, prompting a Rust rewrite that linked an entire Ruby VM into the binary and taught the serde deserializer to walk Ruby objects directly in memory via the C API. Migrating to Prism, Ruby's new official parser, later removed the VM-linking requirement, shrinking the binary and improving performance; Stripe has since reached 100% coverage across 42 million lines, with format-related code review feedback essentially disappearing.
That’s all for this edition! Be sure to reach out if you have any stories, content, jobs, or events you want featured in the newsletter.


