• RoboRuby
  • Posts
  • Ruby AI News - July 2nd, 2026

Ruby AI News - July 2nd, 2026

Ruby hands agents the keys

Welcome to the 33rd edition of Ruby AI News! This edition features legacy Rails apps getting an AI update, frontier advancements in Ruby’s web server performance, RubyLLM reaching #1 on Hacker News, and much more.

Thank you to SerpApi, the world’s leading API provider of search data, for sponsoring this edition. Be sure to check out their careers page, they’re hiring!

Contents

Top Stories

Legacy Rails Apps Get an AI Update

Two of the longest-running open-source apps in Rails world spent this release cycle retooling for agents. Damian Legawiec announced Spree 5.5, 500 commits that point the nearly two-decade-old ecommerce engine squarely at AI. A scoped Admin API v3, a CLI that turns the entire back office (products, orders, inventory, promotions) into one permissioned surface an agent can drive, and 25+ agent skills that work with Claude Code, Codex, Cursor, and 60 other agentic CLIs, plus code generators so agents run one command instead of writing boilerplate. Hand an agent a scoped key and it can restock a variant, launch a promotion, or chase down a refund, and the Spree docs now connect to your agent as an MCP source.

Redmine, the Rails project tracker that predates even Spree, is on the same path. RedmineUP's Marat Aminov previewed Redmine 7.0, a foundation-first rebuild that is 85% complete and due in 2026. Native webhooks so agents subscribe to issue events instead of polling, OAuth2 so machine identities stop being dummy user accounts, gemified plugins, and a mandated jump to Ruby 3.2+ and Rails 8. Marat's framing captured the whole trend, that the UI arms race in project management is over, and the differentiator now is clean APIs, webhooks, and machine-readable data. Twenty years in, and both platforms just onboarded a new kind of artificial user, a user that doesn’t need a dashboard, just an API key and a TODO list.

The Need for Speed

Yaroslav Markin released Kino, an experimental web server that puts Ruby 4's reworked Ractors to work. A Rust front-end (tokio + hyper) owns the network while parallel Ractors run your Rack app in one small process, no forking, no per-worker memory copies. On an 8-core AWS box, a fully Ractor-shareable app ran 1.5-2x ahead of a Puma fork cluster on I/O-light routes, 34% faster on pure CPU, and used 7x less RAM. Rails can't run on Ractors yet, but a threaded fallback still results in 4x less memory, and kino --check lists exactly what blocks your app from Ractor mode. Carlos Daniel Pohlod further broke down the architecture.

The speed conversation is bigger than one server. Irina Nazarova's Startup on Rails 2026 performance argument comes backed by small-runtime-bench, a five-host, eight-stack Ruby vs Python vs JavaScript cost benchmark whose headline findings deserve attention: async-vs-threaded matters more than language (~10x on I/O), ActiveRecord's overhead is nearly zero while Prisma and SQLAlchemy halve their stacks' throughput, and async Ruby (Rage) beats every other ORM-based stack, doubling NestJS and running ~5x ahead of FastAPI, Rails, and Django. Ruby's performance frontier is moving again and coding agents are helping with the heavy lifting, strengthening Ruby’s (fast) agentic future.

Loops and Goals

Starting the biggest discourse in agentic coding over the past month, Peter Steinberger (steipete) posted "You shouldn't be prompting coding agents anymore. You should be designing loops that prompt your agents." Boris Cherny, creator of Claude Code, had already made the same point, stating "I don't prompt Claude anymore. I have loops that are running. My job is to write loops." He deleted his IDE months ago, and in one recent 30-day stretch every one of his 259 merged Claude Code PRs was written by Claude Code. Matt Van Horn ran the receipts on the whole discourse and landed on the cleanest definition. A loop is cron plus a decision-maker in the body. The primitives are now built in, with Claude Code's /goal keeping the agent working toward a completion condition while a separate model grades every turn, and scheduled task loops handle the cadence side.

The reports from the field, from Addy Osmani's loop engineering breakdown to Elvis Sun's loss function development, agreed on one lesson. The loop is only as good as the feedback and guardrails inside it, because a loop running unattended is also a loop making mistakes unattended. Puma maintainer Nate Berkopec compressed the shift into: "Stop babysitting the model. Build a non-interactive AI application instead." For starter material, Matthew Berman launched the Loop Library, 70 copy-paste agent loops with checks and stopping conditions. The creator of Claude Code and one of Ruby's most trusted maintainers arrived at the same conclusion independently. In Nate's words, your task now is to "build the thing that builds the thing."

Need to Know AI News

Executor is an open-source MCP gateway that gives any agent one endpoint to every tool. Rather than loading thousands of tool schemas (~279K tokens), the model sees a single "execute" tool (~1K tokens) and writes sandboxed code that loads each schema only when it calls it, with secrets kept host-side.

Origin Cursor announced Origin, a git forge "for the agentic era" that gives teams and their AI agents a place to host, review, and collaborate on code. The GitHub-style code hosting arrives this fall behind a waitlist.

Introducing the Open Knowledge Format Google introduced OKF, a vendor-neutral spec that formalizes the "LLM-wiki" pattern so AI agents can share curated context. It is just a directory of markdown files with YAML frontmatter, letting wikis from different producers be consumed by different agents without translation.

Claude Code Artifacts and Claude Science Claude Code can now turn a session into a live, shareable web page from your codebase and conversation, while Claude Science, a new beta research app, produces reproducible scientific artifacts that render proteins, structures, and molecules natively and trace every figure to its code.

Claude Code Is Steganographically Marking Requests Thereallo reverse-engineered Claude Code and found it hides markers in the system prompt's date line. With ANTHROPIC_BASE_URL set, it swaps the "Today's" apostrophe for look-alike Unicode keyed to an XOR-obfuscated list of reseller, proxy, and Chinese AI-lab domains, likely to flag unauthorized gateways and distillation pipelines.

Content

Announcements

OpenClacky Yafei Lee launched a documentation site for the open-source Ruby AI coding agent, publishing live telemetry like a 91% cache hit rate and 779,817 completed tasks alongside install guides, BYOK setup, and a Creator program for monetizing skills. Every metric is public and verifiable.

Mutineer David Teren released a dependency-free Ruby 3.4+ mutation-testing gem that mutates your code and reruns only the tests reaching each change, exposing gaps line coverage misses. It doubles as a "test-value oracle" for AI agents, emitting JSON with stable mutant IDs so agents can regenerate tests to kill surviving mutants.

ActiveAgent v1.0.2 Justin Bowen shipped a patch release of the Rails framework for building AI agents, adding Azure OpenAI, AWS Bedrock, Google Gemini, and RubyLLM providers. It also fixes Anthropic streaming, empty tool-input, and Ollama stream-completion errors, PDF attachment handling, and provider config leakage.

gem-skill Dewayne VanHoozer released a Ruby CLI that generates SKILL.md files for gems, giving AI coding agents accurate API docs at session start where LLM training data is lacking. Framing the trouble with skills as common to human and AI developers, he shipped version 0.2.0 with a --verify flag that checks docs against a gem's source and auto-updates stale ones.

Compound Engineering Update Kieran Klaassen and Trevin Chow shipped a major rework of their Compound Engineering plugin, replacing standalone agent definitions with self-contained skills so it runs natively across Claude Code, Codex, Cursor, and more. A unified "/goal-ready" plan doc now drives multi-hour autonomous runs, one topping six hours that wrote tests and shipped a PR autonomously.

ruby-llm-eval Alex Kholodniak built a Ruby-first LLM evaluation harness that hands models Ruby and Rails problems and scores their generated code against hidden tests. He found even gpt-4o-mini at ~$0.01 a run solves all 14 Rails tasks, with pricier tiers buying more idiomatic style (83% to 93% clean) rather than better correctness.

Nuke on Rails v0.5.0 Alan Alves updated his open-source Claude Code skill that audits Rails repos like a principal engineer, growing from 9 to 15 checks for full OWASP Top 10 coverage. It wraps four Ruby static-analysis engines, uses an LLM to triage and adversarially verify findings, and now catches AI/LLM risks like prompt injection and PII sent to model APIs.

Plastic Zlatko Alomerovic built an open-source, intent-driven work system in Ruby for AI-assisted development, where each "intent" moves through a Why, What, How, and Execute cycle that produces Markdown artifacts (spec.md, plan.md, checklist.md, outcome.md).

RubyLLM::Agents v3.14.0 Adham El-Deeb shipped a release of his Rails engine for building and monitoring AI agents on top of RubyLLM. It adds concurrent tool execution, cost tracking for prompt caching and reasoning tokens, HTTP-level latency instrumentation, and config for more providers like Bedrock and xAI.

Rubyn Code v0.7.0 Matthew Suttles shared an efficiency update to his open-source agentic coding assistant for Ruby and Rails. Its new opt-in Chisel mode counters AI agents' tendency to over-build, making the agent walk a decision ladder and write the minimum that works without cutting validation, security, or error handling.

llm_cost_tracker 0.13.0 Sergii Khomenko created a new release of his self-hosted Rails gem that logs every LLM call. The update sharpens accounting accuracy with a Data Quality page for quarantined rows, retries for failed async ingestion, multi-currency support, and a raised error on unrecognized token keys to catch typos.

llm.rb v12.0.0 Released Robert pushed a major version of llm.rb, Ruby's multi-provider AI runtime with MCP/A2A support and built-in agent tools. The release makes OpenAI's Responses API the default, moves image generation to gpt-image, and adds DeepInfra and Bedrock providers.

lumen-llm GitHub user uxgnod extracted a tiny LLM prompt runner from a legacy Rails app. It renders YAML prompts with Ruby variables, calls OpenRouter, and parses JSON or text. Built for old stacks, it runs on Ruby 2.3+ and Rails 4+ with zero runtime dependencies and no agents, tools, or streaming.

hidaping Carlos Daniel Pohlod showed off hidaping, a work-in-progress Ruby gem wrapping the HIDAPI library so you can talk to HID hardware like mice, gamepads, and joysticks over USB or Bluetooth. His demo captured live mouse movement and button clicks in Ruby, though he noted FFI or Linux evdev are sturdier for production.

Packlight Cory C. shared build-in-public progress on his invite-only community garage sale platform built with Rails, where users drop photos into cloud storage and AI generates each listing's title, description, and price. A swappable multi-provider layer runs on Gemini 2.5 Flash first, with Claude and OpenAI next.

Ubuteco Lucas Sartori relayed how he stopped treating AI as autocomplete and onboarded it like a teammate on uButeco, a multi-tenant Rails API and Next.js bar-management app. To curb architectural drift, he committed ADRs, context docs, and numbered implementation plans so the AI stops reopening settled decisions.

Chero Hammad Shahid launched an AI-powered email assistant built with Rails and OpenAI that generates context-aware replies in one click, auto-responds to new mail, drafts from a prompt or voice, and lets you chat with your inbox while keeping Gmail and Outlook synced.

Rails Mid-Level Interview Prep Celso de Sá released a free flashcard deck and mock-interview workflow that turns a coding agent into a strict Rails interviewer. It pairs 78 scored flashcards with research and interviewer instructions in AGENTS.md, covering theory, coding, debugging, architecture, system design, and behavioral questions.

AI Cover Letter Generator with Groq Ameer Hamza Mushtaq open-sourced a small Rails app that generates tailored cover letters through the Groq LLM API. Built as a hands-on exercise in LLM integration, it explores prompt design, response handling, and structuring AI services within a Rails codebase.

ClaudeBar Nicolas Erlichman created a native macOS / SwiftUI menu bar app that surfaces every running Claude Code session across terminal, desktop, and VSCode, with 5-hour and weekly usage windows, API-equivalent cost estimates, and one-click jumping to any session.

Daily AI Insights David Paluy launched a public daily feed on Telegram and WhatsApp curating the AI releases, tools, agent workflows, and model updates worth attention, with a quick verdict on what he'd actually use, ignore, or watch.

Free Ruby on Rails Consultations Visuality offered a community give-back with a free 30-minute call with a matched expert on whatever you're stuck on, spanning architecture, performance, deployment, Hotwire, databases, QA, and AI. Submit your challenge through a form and they connect you with the right person from their team.

Shopify Joins the Ruby Alliance Ruby Central announced that Shopify, one of the largest Ruby organizations, joined the Ruby Alliance, its corporate membership program funding the language's critical infrastructure. The move signals a long-term investment in the health and sustainability of Ruby's open-source tooling and community.

RDoc 8.0.0 Stan Lo shipped the biggest RDoc release in years, swapping the legacy Ripper parser for Prism, surfacing RBS type signatures alongside method docs in HTML and ri, and adding a live-reload preview server via rdoc --server. RBS files can now serve as a documentation source, and RDoc even got a logo.

Here Are the Rails World 2026 Speakers The Rails Foundation revealed the lineup for the fourth Rails World, in Austin this fall. Half of all CFP submissions were AI-related, yielding talks on building AI pipelines in Rails, using agents in development workflows, and structuring codebases for agent assistance.

Articles

Elastic Software: The AI-Powered Design Pattern Every Engineer Needs to Know Michael Carroll introduced "elastic software", where you route data through an LLM to start flexible, then buy efficiency as the math justifies. His healthcare example swapped thousands of per-client parsers for a few lines of RubyLLM, hardening only high-volume clients while "tokenomics" signals when to optimize.

Testing GLM-5.2 on a Rails Upgrade Mario Chávez used GLM-5.2, an open-weight model from Z.ai, via the Oh-My-Pi terminal agent to upgrade a legacy app from Rails 6.1 to 8.1, drop Node, and migrate Postgres to SQLite. It cleared all five version hops, fixed codebase-specific deprecations, and even launched OrbStack itself when Docker was down, landing 16 commits across 247 files.

Ruby 4.0 Is Here. Why Is AI Still Writing Ruby 3.0? Germán Alberto Giménez Silva argued that AI assistants generate syntactically correct but dated Ruby, defaulting to {user: user} over {user:} and |n| n 2 over it 2. He blamed a feedback loop where models train on old code and developers learn from models, and said the fix is teaching assistants modern idioms, not patching output with RuboCop.

Prompt Regression Rails: Catch It Before Users Andrés Coronel shared how to stop prompt changes from silently degrading LLM output in Rails by adding evals that score outputs before shipping. He walked through exact-match, golden-set, and LLM-as-judge approaches, with Ruby classes that send responses to GPT-4o-mini against a rubric and a rake evals:run task to gate CI.

Chatwoot Is One of the Best-Built Rails Apps Shipping. That's Exactly Why My AI Agent Failed on It Luc Perussault Diallo showed how Chatwoot's clean Rails patterns (polymorphic associations, concerns, service objects, background jobs) hide relationships that grep-based AI agents can't see, missing nine of the Inbox model's critical dependencies.

Mutate All Things Stas Katkov argued that LLMs void the old objection that 100% mutation coverage costs too much. Pairing Ruby's mutant gem with an LLM to triage failing mutants (which need tests, which reveal real bugs), he swept three open-source projects, surfacing bugs and dead code and shipping refactors with zero production issues.

Building AI Agents in Ruby with the Anthropic SDK Nikita Sinenko walked through building production agents on the official Anthropic Ruby SDK in Rails, running the tool-use loop in Solid Queue jobs, scoping tools through Pundit policies, streaming results over Turbo Streams, and cutting costs up to 90% with prompt caching. He covered prompt-injection defenses, human-in-the-loop approval, and WebMock-based testing.

Building AI Agents in Ruby with the Gemini Interactions API Nikita Sinenko also showed how to build Gemini agents in Rails without an official SDK, calling the Interactions API through a Faraday client. The API keeps conversation state server-side, so turns continue via previous_interaction_id, and he capped the loop at 8 steps and split writes into a preview-then-execute phase the user confirms before Rails runs it.

How I'd Start a Legacy Modernization Project Now Mike Doel explained how AI reshapes legacy modernization. Discovery that once took days now happens fast, making even full rewrites more viable. He runs code analysis and stakeholder interviews in parallel and ships a scored diagnosis rating each finding by severity and whether it's a capacity or a capability gap.

The Future of AI Engineering Is YAML-Driven Development Han Ng argued that Markdown specs break down for automation, and pitched "YAML-Driven Development" powered by YAMLScript and its Ruby gem: specs become strict, machine-readable contracts AI agents parse without hallucinating, can execute logic inline, and compile straight into Kubernetes manifests, OpenAPI schemas, and CI pipelines.

AI Crawlers Are Inflating Your View Counts Trésor Bireke described how AI crawlers making ~100,000 requests a day inflated a Rails app's server-side view counts, since Ahoy's device_detector bot list misses the new wave. He moved tracking to a Stimulus beacon that fires only when JavaScript runs, then blocked bots that scraped the endpoint directly with robots.txt and a 204 early-return guard.

You Can Ask Your Coding Agent for a Selector to Compare UI Options Benito Serna shared a workflow where you ask a coding agent to build several variations of a UI element plus a throwaway dropdown to switch between them live. His example wired a Stimulus controller, a <select>, data-attribute CSS, and localStorage, then deleted the selector once he picked a style.

AI's "Overnight" Solution for Our Flaky Tests Took Two Weeks to Adopt Fritz Meissner recounted how Opus 4.6 in Claude Code fixed years-old flaky Hotwire tests overnight by re-running them in ever-larger batches until failures hit zero. But it buried each test's one real fix under sleeps and no-op cruft, so making the results sustainable took two weeks of expert RSpec judgment to separate signal from coincidence.

Let Your AI Assistant Explore the Event Store with res-mcp Tomasz Patrzek released a gem that exposes Rails Event Store to AI assistants over MCP, so you can explore event histories by asking instead of pasting payloads into chat. Its nine read-only tools browse streams, search events, and trace causation chains, letting agents inspect but never modify.

Getting Started With Claude Code on macOS With chruby and RSpec Jonathan Rochkind documented the gotchas of running Claude Code on a chruby and RSpec Rails project. Since Claude Code ignores shell config, he used a chruby-exec wrapper in CLAUDE.md to run RSpec under the right Ruby and allowlist it, then exempted RSpec from the macOS sandbox so browser specs could run.

Ozymandias on Rails: The Pedestal Inscription Brandon Weaver cast a decaying Rails monolith as Shelley's ruined statue - "vanilla Rails is enough" outlives its caveats as a team scales. He warned AI-driven rewrites tempt teams to regenerate whole systems, but the hard part is understanding why the old code works, and two-thirds fail. He urged incremental recovery, not rewrites.

The Fable (Mythos) Shutdown Is the Local Models Wake-Up Call David Paluy argued that Anthropic's forced suspension of Fable 5 and Mythos 5 exposed the risk of renting frontier models. He pushed a local-first stack: route high-volume work like summarization, extraction, and triage to owned local models, reserving frontier models for scarce judgment, with hardware-tiered picks like Qwen, DeepSeek, and Gemma.

Once a Maintainer: Mike Dalessio Allison Pike interviewed Nokogiri maintainer and Rails committer Mike Dalessio about how AI is reshaping open source. He noted AI lands useful small fixes and aids security work, but also floods maintainers with low-impact "security theater" reports (17 in two weeks versus single digits a year) as contributor engagement collapses from 75% to 25%.

Spinel: A Ruby Compiler to a C Executable File, So What Is It Actually For? Nikita Drachevskii explained Spinel, Matz's AOT compiler that turns Ruby into standalone native executables via type inference and generated C. Roughly 11.6x faster than CRuby on compute, it targets CLI tools, systems programs, and native extensions rather than Rails, which needs the metaprogramming Spinel drops.

Spinel on Rails Sam Ruby compiled a Rails blog app to a native binary with Spinel, Matz's Ruby-to-C compiler that supposedly can't handle Rails. He built Roundhouse to strip Rails's metaprogramming into a compilable Ruby subset, filing 239 Spinel issues along the way. The binary served ~24,000 req/sec on 13 MB of RAM, roughly 36x better throughput-per-gigabyte than JRuby.

The Playwright Debugging Tool Rails Devs Aren't Using Justin Toniazzo showed how to enable Playwright's Trace Viewer in a Rails app running Capybara via playwright-ruby-client. A single rails_helper.rb block records each failing system spec as a replayable trace with before/after screenshots, DOM, network, and console, so you can scrub flaky CI failures like a video instead of guessing and re-running.

Storage Is the Missing Piece for Agent-Built Software Eric Baer argued that the agent loop made building software easy but operating it is still hard, leaving "casual software" stuck between static HTML and a full app stack. Compute and tokens have scale-to-zero primitives, storage does not, so Gusto open-sourced baerly-storage, an S3-backed document store whose typed, 12k-token API fits in an LLM's context.

I Run a Company by Writing It Down Brandon Casci described running Boswell, his solo nonprofit-software company, on written machine-readable standards that AI agents read to build features. He keeps human judgment over what to build, while every change passes automated tests, style, security, and browser UX checks before his review, since "no part of it grades its own homework."

What Happens When We Stop Asking Ender Ahmet Yurt reflected on how leaning on AI reshapes how engineers think, noting Stack Overflow questions fell from 200,000 a month to 3,000 and citing research linking heavy AI use to weaker recall and more pasted, unrefactored code. A daily AI user himself, he urged asking specific questions and reading outputs critically to stay "the person who thinks."

Is Successful Agentic Coding a Delusion? Avdi Grimm pushed back on the claim that nobody really ships good AI-assisted code, reporting he now delivers more well-factored, rigorously tested code than before. The catch is discipline - close collaboration, review, standards, and tests. He dismissed "vibe coding" for production and likened the skepticism to old "nobody actually does TDD" arguments.

Writing a Linter Is Fun: Introducing Marcdouane Stéphane Maniaci built a Markdown linter in Ruby after finding the 14-year-old markdownlint unsatisfactory. Marcdouane checks rules like line length and header cascade, leaning on dry-rb gems for its CLI, config, and pub/sub events, with Cucumber and Aruba for testing.

For the Love of Continuity Irina Nazarova argued that continuity deserves as much study as disruption, weaving a fabric today elastic enough to fit tomorrow's shapes. She held up Rails as continuity in action, reliable through hype cycles while evolving with its community, and named AI as the force making that fabric feel fragile in 2026.

Cinnamon Buns and Commit Bits Richard Schneeman stressed that in-person Ruby conferences and deep Ruby mastery still matter in the AI age, precisely because human events are temporary and unrepeatable in ways LLMs can't match. He recounted how casual conference moments, like breakfasting with Aaron Patterson and chatting over cinnamon buns, led to his first Rails commit.

Videos

AI Is Breaking GitHub Awesome Coding reviewed how GitHub's architecture is straining under billions of AI-generated commits, walking through its distributed Git storage, reachability bitmaps that accelerate Git operations, and the Rails monolith with Web Components underneath it all.

Podcasts

The Ruby AI Podcast: Ruby Central, Vibe-Coding Ceilings, and What Still Requires a Human Joe Leo interviewed Mike Rispoli on Ruby Central's funding crisis and the ceilings of vibe coding. Mike argued AI scaffolds code well but humans still own complex migrations, security remediation, and product strategy, and he spreads work across GPT-5.5, Qwen Coder, and local models rather than betting on one.

The Bike Shed: 504 - AI Ethics Aji Slater talked with thoughtbot's Tess Griffin and Jimmy Thigpen, members of its new AI Ethics Taskforce, about how and why the group formed, where thoughtbot lands on AI ethics and workflows, and how those positions shape the work it does for clients.

On Rails: 13 Years of Rails at the Auto Shop Robby Russell interviewed Nikky Southerland, lead engineer at Shop-Ware, on evolving a Rails monolith running since 2013 with a team half its former size. They covered the Backbone-to-React migration, daily deploys, and where LLMs earn their keep.

Giant Robots Smashing Into Other Giant Robots: AI Code Audits Chad Pytel and Sami Birnbaum asked whether AI-generated codebases can be developer-friendly. Sami shared a recent audit of a Spec-Driven-Dev codebase built with AI, and Chad made the case for human oversight and security review when you let models generate code.

Permission Not Required: Reeking of AI Joe Masilotti and Colleen Schnettler swapped build-in-public updates: Colleen's AI SEO pipeline lifted a client's traffic 86%, but the OpenClaw boxes running it keep crashing, so Joe pitched wrapping it in a Rails tool. Joe also got caught using AI to write and swore off AI for the words.

The Opinionated thoughtbotter: Stop Trying to One-Shot Problems With AI Svenja Schäfer talked with Joël Quenneville about why one-shotting problems with AI backfires. Codegen may not save the time you expect, agents work better when nudged to act more senior, and LLMs are like Tamagotchis that need constant tending.

The Ruby on Rails Podcast: Mutation Testing David Hill spoke to Markus Schirp, creator of the mutant gem, about using mutation testing to verify correctness as AI writes more code. Mutant makes tiny changes to your code and checks whether your tests catch them, exposing gaps line coverage misses.

Newsletters

Static Ruby Monthly, Issue 16 Andrey Eremin curated the type-safe-Ruby roundup with a strong AI lean this month, arguing Ruby's dense syntax is token-efficient for prompting LLMs. Highlights include Jo, a statically typed language compiling to Ruby with compile-time sandboxing for AI-generated code, OpenClacky 1.3.0, DSPy.rb, and Sorbet and RBS ecosystem updates.

Your Value Is Delivering Value, Not Writing Code Dave Thomas of The Pragmatic Bookshelf drew a parallel between today's AI disruption and 1990s outsourcing, arguing a developer's worth is delivering value sustainably, not producing lines of code. He predicted the hype will normalize into just another tool, with devs shifting toward architecture, mentoring, and quality oversight.

Slow Down to Speed Up Gergely Orosz argued AI agents have reshaped engineering, with teams shipping 5x the PRs, but warned speed without quality is dangerous, citing a Meta breach where AI-generated code enabled account takeovers after security teams were gutted. He noted DHH now sees AI coding as viable after resisting it in 2025.

RubyLLM: A Ruby Framework for All Major AI Providers Aman Shekhar, a Python and JavaScript developer, shared his first impressions of RubyLLM, the gem that gives one interface to all the major AI providers. He walked through the gem install, chatting with a model in a few lines, and a personal-finance chatbot he built to answer budgeting questions.

Discussions

RubyLLM Hits #1 on Hacker News Carmine Paolino's RubyLLM reached the top of Hacker News at 446 points, with commenters praising it as easy to use and comparable to Vercel's AI SDK. Others showcased a growing ecosystem built on it, including Obie Fernandez's Raix gem and a RubyLLM-powered ChatGPT clone.

Claude Code Able to Run Capybara Tests With Chromedriver? Jonathan Rochkind asked r/ruby how to let Claude Code run a full Rails suite when its new macOS sandbox conflicts with headless chromedriver, short of disabling the sandbox or approving every rspec run. Commenters suggested swapping Capybara to Cuprite, which Claude runs cleanly and can even use to view the page.

Additional Reading

Events

Blastoff Rails: Startups on Rails Irina Nazarova's Blastoff Rails keynote pushed back on "Rails is just for CRUD," profiling five founders building AI-era startups on Rails, from Carmine Paolino's RubyLLM-powered Chat with Work to Kieran Klaassen's Cora email client, and launched the Ruby & Rails LLM discoverability scorecard.

Blastoff Rails: Building Cora Solo Kieran Klaassen keynoted on building Cora, an AI email inbox thousands pay for, without writing a line of code this year. His "compound engineering" system on Rails and RubyLLM turned him from coder into the builder of agents that ideate, plan, ship, review, and remember what they learn.

Blastoff Rails: Don't Read the Code: Trusting AI With Your Rails Codebase Avi Flombaum demoed a Rails app generator that ships an AI harness (skills, conventions, agent hooks) so non-experts can vibe-code Rails consistently. His rule is that the harness defines the deterministic guardrails; the model handles the non-deterministic work he no longer reads.

Blastoff Rails: Why We're Still Training Rails Developers in an Age of AI Stephen McKeon argued that leaning on AI and senior hires instead of training juniors optimizes for output now but starves the pipeline later. Drawing on Power's internal Rails boot camp, he held that AI raises the cost of judgment and taste, so companies should keep investing in growing developers.

Blastoff Rails: Framework Core Focus in the AI Age Jed Schneider believes that since AI makes fluency cheap, developers should go deep on core technologies rather than frameworks. He demoed a feature-flag setup on OpenFeature and Flagd, S3-distributed for under a dollar a month, that AI-driven code research helped him uncover.

PLRUG Warsaw: Token Scrooge Nicolas Nisoria's Ruby Warsaw meetup talk pushed back on the "don't prompt, just run loops" hype, arguing that on a $20 plan you should be a token scrooge. His tactics: lean CLAUDE.md files with iron laws, tightly scoped skills and sub-agents, cheaper models like Haiku, and spec-driven development, noting Ruby's token efficiency already fits the mindset.

PLRUG Warsaw: 見→為→察→覚→感 Krzysztof Kowalik gave a wandering, metacognition-themed talk at the Ruby Warsaw meetup on getting LLMs to reason about their own reasoning. Using kanji etymology (see, do, observe, awaken, feel) as a lens on embeddings and "drift," he explored glitch tokens like SolidGoldMagikarp and experiments having Claude inspect its own thinking from a distance.

PLRUG Warsaw: Testing AI Tools Based on Games Written in Ruby Grzegorz Płóciniak used game dev as a testbed for AI coding agents, building an isometric city-builder in DragonRuby, the mruby-based engine. He then one-shot a playable Mario World 1-1 clone from a single Fable 5 prompt, assets and mechanics included, and noted that building in Ruby means he can ship such games to iOS and Android.

ChicagoRuby: June 2026: AI, Testing, and Code Quality Ifat Ribon made the case for fewer, better tests when AI writes most specs: behavior over implementation, encoded as reusable AI skills. Fito von Zastrow shared guardrails so AI improves the codebase instead of reinforcing legacy patterns, like making agents validate a plan before coding.

RubySur: June 2026 Alan Ridlehoover's "Indispensable" borrowed the Hidden Figures human computers' strategies (retool, transform, specify) for Rubyists facing AI and layoffs, while Fito von Zastrow's "Defying Gravity" showed how to stop AI from reinforcing legacy patterns with specs, architectural guidance, and skills.

Tropical on Rails: Lightning Talks: 10 Quick Talks on AI, Community, and the Future of Rails Tropical on Rails 2026 packed ten lightning talks into 49 minutes, several on AI. Rafael Manzo's Hephaestus, a Rails-built coding agent wiring GitLab and Claude Code that cut task time 55% in testing, Michel Doumit on AI amplifying a team's strengths and dysfunctions, and Irina Nazarova on a Rails app that maintains itself, plus talks on Ruby game engines, i18n, and digital democracy.

Barcelona Developers Conference: Open Sesame to the Monolith: Raiding the Legacy Cave with AI Agents Abdel Sghiouar recounted using AI agents to modernize a 100,000-line Rails monolith. Rather than rewrite line-by-line, agents mapped its critical paths and generated verified characterization tests first, then the team rebuilt it across three languages, cloud-native, with a prototype for leadership in five days.

Friendly.rb: Ruby+AI Tech Landscape 2025: A Survey Obie Fernandez surveyed the Ruby AI gem landscape at Friendly.rb by abstraction level, from chat completions to agents, workflows, evals, and MCP. He mapped RubyLLM, ActiveAgent, Raix, DSPy.rb, Roast, and FastMCP, calling RubyLLM the closest thing to the space's "Rails."

Friendly.rb: Let's Train a Model Chris Hasiński gave a hands-on tour of fine-tuning LLMs at Friendly.rb, covering when it beats RAG or prompting, then fine-tuned a GPT model from a JSONL set to answer conference questions for $1. He was candid that Ruby's training tooling is thin, so you'll still reach for Python locally.

Friendly.rb: Security in the Age of AI Greg Molnar toured the risks of AI-assisted coding and LLM features at Friendly.rb, from AI silently reintroducing SQL injection during a refactor to a real authorization bypass where wildcard queries to a chatbot exposed other users' orders.

Upcoming

July 2nd - Meetup: RUG::B July Meetup is on July 2nd in Berlin at the Techtelmechtel coworking space and features Stephen Margheim on how plain HTML and CSS can be beautiful, Chikahiro Tokoro pitching "Ruby Connect" (a remote bridge between Japanese and Berlin Rubyists), and Carmine Paolino on "RubyLLM 2.0: Beyond Agents," covering caching, batch execution, provider fallbacks, and workflow tracing.

July 14th - Conference: RubyConf 2026 will be held July 14th through 16th at the Red Rock Casino Resort in Las Vegas, Nevada. Obie Fernandez, author of Patterns of Application Development Using AI, will deliver a keynote. AI talks include Scott Werner's "Talking Shit About AI Agents," Alicia Rojas on harness engineering for AI-powered Rails in "Convention Over Hallucination," Fito von Zastrow on "Defying Gravity: Teaching AI to Write Better Ruby," Madison Sites on "Legacy Rails and the AI That Couldn't," Markus Schirp on mutation testing in the agentic world, Michael Toppa on AI-assisted coding from small startups to legacy codebases, and Gabriel Quaresma on "Why a 1990s Machine Learning Algorithm Destroys LLMs at Predicting House Prices." A hands-on workshop by Miguel Marcondes Filho builds an AI game engine with Ruby and genetic algorithms.

July 22nd - Meetup: SF Ruby Meetup @ Sentry is on July 22nd in San Francisco at Sentry's HQ, hosted by Evil Martians. The new "fewer talks, more connecting" format features Cameron Dutro on Garnet.js and implementing the YARV virtual machine, plus talks from Alexander Baygeldin and Marco Roth, followed by a full round of lightning intros.

August 4th - Meetup: AI on Rails: Ruby Meets Generative AI is on August 4th in Paris at Algolia's office, co-hosted by AI Tinkerers Paris and ParisRB.new. The "show, don't tell" evening features live-coding demos of developers wiring LLMs, agentic workflows, vector search, and prompt engineering natively into Ruby and Rails, plus a Homebrew-inspired Science Fair for hands-on project walkthroughs.

August 21st - Conference: RubyConf Africa 2026 runs August 21st to the 22nd in Nairobi, Kenya at the Sarit Expo Centre, themed "Beyond Code: Innovating for the Future." AI-flavored sessions include Chris Hasiński's "Cool Things You Can Do With Embeddings," Nicolo Rebughini's "Accidentally Building a Neural Network: A Ruby Product Recommendation Journey," and FH Ndiritu's "In the Age of Abundance, Are We Bottlenecks?"

Open Source Updates

Code Spotlight

Albert Pazderin built Rails Hyperdrive, a dev-only Rails engine that mounts an MCP server exposing eight introspection tools so AI coding agents like Claude Code stop guessing about your app, letting them eval Ruby in the booted process, run read-only SQL, tail logs, list models and routes, locate source, and snapshot the stack. It also ships a hyperdrive:init generator that installs lazy, model-invoked Skills and eager, always-in-context Guidelines from companion gems (rails-hyperdrive-<library>), positioning itself as the mechanism while companion gems supply the content, following the RuboCop ecosystem precedent.

New Gems

Links to the RubyGems page, newest releases are first:

ailabtools - Ruby SDK for AILabTools AI image APIs

composable_agents - Composable AI agents framework

cline-rb - Ruby bindings on the Cline ecosystem (CLI, skills, tasks, config)

stimulus_plumbers_mcp - MCP server for the stimulus-plumbers UI library

duckling - Ruby FFI adapter to a Rust Duckling parser

conductor_ruby - Ruby SDK for Conductor workflow orchestration

mathpix-mcp - Mathpix OCR MCP server (stdio + HTTP)

rori18n-rails - Rails i18n toolchain: extract strings, inject t() calls, translate, prune, refactor keys

opclaw-pl-release-impact - OpenClaw release impact helpers and Polish opclaw.pl resources

truffle - A complete agent harness for Ruby

mutineer - A clean-room mutation-testing tool for Ruby (Prism + stdlib only)

lutaml-lml - LutaML Model Language (LML) parser and converter

meerkat-agents - Async agent task API - monitor websites for changes, track deliveries, watch prices/stock via webhooks

kotoshu - Semantic spell checker for Ruby using ONNX word embeddings

token-heatmap - Token-heat web dashboard frontend

token-heat - LLM token usage monitor CLI

crawlberg - High-performance web crawling engine

lambda-microvms - Idiomatic Ruby lifecycle client for AWS Lambda MicroVMs

ruby_event_store-mcp - Model Context Protocol server for Ruby Event Store

a2a-rb - Ruby implementation of the A2A protocol v1.0

active_agent_rails - Framework to integrate LLMs, AI agents, and custom tools into Ruby on Rails applications

ruby_claude - Subscription-authenticated Ruby SDK for Claude via the Claude Code CLI

soilsidekick - SoilSidekick Pro API Ruby Gem

answerlayer - Ruby API wrapper for the AnswerLayer API

diogenes - A Ruby gem that holds your AI features to the light

liteparse-rb - Fast, lightweight PDF and document parsing with Ruby

tryiton - Ruby SDK for the TryItOn virtual try-on API

smith-agents - Workflow-first multi-agent orchestration for Ruby

smart_box - A local reversible sandbox system for agent task execution

plumbo - A zero-config dev panel listing every controller, view, and partial behind the current page

xberg - High-performance document intelligence library

nvim-control - Bridge between running Neovim instances and agentic coding tools

nuntius-rb - Gem for interacting with Google's Gemini AI models

aws-sdk-lambdamicrovms - AWS SDK for Ruby - Lambda MicroVMs

ruby_llm-toolbox - Safe-by-default RubyLLM::Tool classes for the skills common to most LLM harnesses

mailkite - Official MailKite SDK for Ruby

ruby_llm-mongoid - Mongoid persistence for ruby_llm (acts_as_chat, acts_as_message, acts_as_tool_call, acts_as_model)

google_calendar_mcp - A Model Context Protocol (MCP) server for Google Calendar

debug-agent - AI-powered runtime debugging agent for Ruby applications

nexo_ai - Nexo is the connective tissue linking RubyLLM to tools, sandboxes, skills, and runs

synoppy - Official Ruby SDK for the Synoppy web-data API

slidict - Generate presentation-ready slides from a simple conversation

mcpeye - Product analytics for Ruby/Rails MCP servers

codex_limitless - Inspect Codex usage limits and wait for reset windows

fin-cli - Fin CLI

deja - Record real LLM calls once, replay them in tests, and assert on results

llm_mock_anthropic - Build and (de)serialize Anthropic SDK response objects in tests

llm_mock - Shared contract for gems that fabricate LLM SDK response objects in tests

prspec-ruby - AI-powered test review for Rails pull requests

seekmodo-sdk - Seekmodo Ruby SDK - connector, storefront, admin, and MCP clients

brainiac - AI agent webhook receiver and dispatcher

oz-agent-sdk - Ruby SDK for the Oz API - Warp's cloud agent platform

flunky - Let any AI agent drive a real browser

bundler-skills - Auto-symlink AI agent skills bundled in your gems after bundle install

eldc - Language detector library

backlex - Official Ruby client for the backlex API (CRUD, query builder, auth, realtime, storage)

google-cloud-agent_registry - Agent Registry lets you store, discover, and govern Model Context Protocol (MCP) servers, tools, and AI agents within Google Cloud

microsandbox-rb - Lightweight microVM sandboxes for Ruby - run AI agents and untrusted code with hardware-level isolation

cloudflare-email_service - Send and receive email through the Cloudflare Email Service

gem-skill - Generate and manage Claude Code AI skills from Ruby gem documentation

aura-lang - Aura: The Declarative AI Web Framework

coach_zed - Generate fitness schedules from a workout catalog

New Open Source

Links to the Github repository:

Campbooks - AI-native email client that reads your mail and attachments, files invoices, receipts, and contracts on its own, and surfaces a short to-do list

Agent Workflows - Portable pack of reusable Codex/Claude agent skills for PR batches, review triage, merge readiness, CI routing, and audit loops

RubyRT - AI code review bot for Ruby and Rails that runs as a GitHub Action, drawing context from the Ruby LSP and re-checking each finding with a skeptical critic pass

robot_lab-to - RobotLab extension that runs an agent in an autonomous overnight loop toward a stated objective, committing one focused change per iteration

Agent Identity Control Room - Rails control room that observes local AI agent sessions, maps their subagent lineage, and pauses gated tool actions for approval

holdco - AI-operated holding company where autonomous Claude agents each run a business under a supervising operator that stamps out new ventures from a template

local-crew - Simulates an IT team as fully local AI agents via n8n and Ollama, decoupling roles, model bindings, and machine profiles so the crew runs anywhere

SimLink - Gives any MCP agent an SMS line through a prepaid SIM in an old Android phone, letting Claude, ChatGPT, or Cursor send and receive real texts from your number

PostgreSQL MCP - MCP server that lets any MCP client run read-only SQL, inspect query plans, and browse a PostgreSQL schema, with writes disabled by default

Agent JWT Project - Rails chess app embedding an Agentforce verified-identity chat coach with hidden-prechat pipeline, native MCP + headless Agent API coaches

PAWS-AI - Interpreter for classic ZX Spectrum text adventures built with the PAWS engine, with optional AI-assisted parsing, location graphics, and translation

AI Art Muse - CLI tool that turns a text prompt into an illustration, with commands to edit, restyle, regenerate, and even critique images using local models

Zero Config Rails Skills - Collection of Agent Skills that audits and implements Google and LLM SEO for Rails apps (robots, sitemaps, llms.txt, .md mirrors, Accept negotiation)

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]

SerpApi is hiring a Junior Fullstack Engineer to build and maintain the Ruby on Rails APIs behind its web search platform, which structures results from Google and 100+ engine APIs and powers AI products like Perplexity. The worldwide, remote-first role pays $80,000 to $100,000 plus profit share, working in Ruby, Rails, MongoDB, and AWS across proxies, CAPTCHA solving, and browser scraping. SerpApi operates transparently with a public roadmap, shared financials, async-first scheduling, and a neurodivergent-friendly culture.

One Last Thing

Cengiz Gürtusgil released Polaris, a native macOS app that puts a calm, visual UI on top of Kamal deployments. Introducing it, he framed it as consolidating the terminal tabs and SSH sessions Rails teams juggle in production. Run and re-run Kamal commands with live output, open a remote Rails console, inspect Docker containers over SSH, visualize kamal-proxy routing and TLS, and turn access logs into latency and error-rate metrics with commit-aware rollbacks. Announced on r/rails, it drew quick buyers and requests for a Linux port, and sells for $29.99 across up to three Macs.

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.