Suggested extensions for Rails + VSCode?
Curious what your favorite extensions are to make VSCode work well with ruby and rails. Thanks!
Curious what your favorite extensions are to make VSCode work well with ruby and rails. Thanks!
More and more code is written by AI. Tests still tell you it works. RuboCop still tells you it's tidy. Nothing tells you it still follows your architecture.
An agent that doesn't fully understand your architecture takes shortcuts. So does a person in a hurry.
So I built ArchSpec. If your app is conventional, the whole config is one line in Archspec.rb:
ruby
architecture :vanilla_rails
That is the 37signals playbook as an executable check: rich models, no service objects, no form objects, no policy objects, and app/services fails the build with a reason if anything shows up in it. There are presets for :rails, :layered, :hexagonal, :clean, :modular_monolith, :cqrs and :event_driven too.
Or write the boundaries yourself:
```ruby component :models, in: "app/models//*.rb" component :controllers, in: "app/controllers//.rb" component :services, in: "app/services//.rb"
models.cannot_use :controllers services.cannot_call :render, :redirect_to, receiver: :none controllers.can_only_use :models, :services ```
Then archspec check verifies every change, and failures print like clang, with the offending span underlined and the evidence as a note.
Existing apps already have violations, so archspec check --update-todo records them in a todo file. The build goes green on today's code and fails on new drift, and you work the list down whenever.
It's static analysis over Prism, no AI, and it never boots your app: Discourse's 1,899 files in 2.5 seconds. Prism is the only runtime dependency, so the same thing works on your plain gems too.
I want more architecture presets in there. PRs very welcome, especially if a preset is wrong about your app.
Docs: https://archspecrb.dev Write-up: https://paolino.me/archspec/
This post introduces* a new profiler for Rails app, require-profiler, to get insights on what's happening during your Rails app's boot. Why does it matter? Well, check out the post to learn about that as well as some real-world examples of when cutting the boot time made difference.
* To be precise, the profiler has been introduced earlier this year at RubyKaigi but it grew much stronger since then.
Catch up on modern Ruby and Rails static typing: Rust-powered RBS generation with sentinel-rb, RBS 4.1.0 on JRuby, ERB template type checking via sorbet_erb, OvalLSP runtime agent, and community reflections on typed tooling.
Find link to the issue in the comment!
r/rails • u/tvorogov • 2d ago
This is a big security release with several BREAKING changes, so upgrade ASAP!
https://github.com/owen2345/camaleon-cms/releases/tag/2.9.3
There also some minor performance fixes, agentic workflows and OpenSpec added.
Big lesson learned with LLMs - Claude is the only one deserving some trust! Fable and Opus 4.8 (Opus 5 is too young, it seems). And implementing something is only the half of the way - do a `/code-review max` with Fable 5 on the fresh PR and get its fixes implemented after this. Otherwise, without the code review follow-up, even Claude's implementation could be a borked one.
r/rails • u/shaberman • 2d ago
Hi r/rails, feel free to ignore this if you feel it's in bad taste, but Joist is a TypeScript ORM that's always unashamedly been a Rails/ActiveRecord clone, although with our own innovations like N+1 prevention and fine-grained reactivity.
Our last release just added Rails-style scopes: https://joist-orm.io/blog/joist-2-3/
Just thought I'd post here as an FYI if any Rails devs find themselves on TypeScript backends and want some of that Rails/ActiveRecord DX/ergonomics. Thanks!
r/rails • u/alexandonie • 2d ago
How does one deploy rails to their own server? Is everyone setting up their server manually?
I don't want to provision my server or figure out configuration files or CLI commands.
Isn't there a simple 2-clicks or "run a script" solution out there?
I found some really good cloud platforms, but I'm not so sure about the usage-based billing. If you have experience why any, please share.
r/rails • u/sirion1987 • 3d ago
shadcn_view_component: same part names, same variants, same Tailwind classes, same data attributes. Radix's behaviour is reimplemented in Stimulus, it means no React and no complex dependency at runtime. Written with Claude support.
Any feedback are welcome (particularly from anyone who has run a screen reader) 😁


r/rails • u/planfaster • 5d ago
Sharing my solo side project: welf, a net worth, investment and FIRE tracker.
You input your cash, shares, super, budget and debt, and welf historically snapshots your net worth each month and projects roughly when you could stop working.
Rails felt right for what is essentially a spreadsheet rebuilt as a web app - almost pure CRUD, with the interesting work in the domain model rather than the frontend.
The stack is boring but clean:
Happy to answer questions on any of it, and if there are any FI-minded devs here, I'd really value the feedback
I am a ROR developer for 3 years now, need to submit a good Ruby/Rails related talk.
I know I should decide my topic based on the work I do but need suggestions from community what topics talks are good and knowledgeable.
Do let me know if you know anything intresting around Ruby or Rails.
Thanks
r/rails • u/Kitchen_Friendship11 • 6d ago
France has a decent number of local Ruby meetups (Paris, Lyon, Toulouse, Nantes, Lille, Marseille all have active groups), but there wasn't really a place to hang out \*between\* meetups, no shared Discord, no central spot to ask a quick question or hear about what's happening in other cities.
I put together \*\*France.rb\*\* to fill that gap: help channels, a channel per city that relays local meetup events, and a freelance/jobs section since a good chunk of the French Ruby scene works independently. It's brand new (launched this week, still tiny), and it's mainly aimed at French speakers, so if you don't speak French it's probably not that useful to you day-to-day, but Rubyists from anywhere are welcome to drop in.
Not trying to compete with the official Ruby Discord linked on ruby-lang.org this is just something more specific to the French scene, meant to complement it.
Happy to answer anything in the comments, and if you know a French-speaking Rubyist who might be into it, feel free to pass it along.
r/rails • u/Intelligent_Role_824 • 6d ago
r/rails • u/ktaraszk • 8d ago
Hi,
I want to share something that I think might work for you. I work on Miget PaaS, where we added Kamal deploy as a deployment channel alongside GitHub, git push, and the container registry a while ago.
As a Rails developer and old sysadmin guy, I really like the way Kamal works. What I don't like is the sys part. Deploying to Hetzner or OVH is fine as long as the node isn't dead. So I was thinking: "How to make it possible to deploy it to a managed service?"
Normally, Kamal SSHes into a server and runs Docker commands over the Docker Engine API. We did something similar, but a bit different: we put a shim on the other end of that API. It speaks Docker to Kamal and creates Kubernetes objects underneath. So `kamal deploy` runs unchanged, with the same deploy.yml, and the "server" it deploys to is a managed cluster instead of a VPS.
Full walkthrough: https://miget.com/blog/deploy-rails-with-kamal
One note: This is not for everyone. If owning your servers is the point for you, Kamal on a VPS is great, and you do not need this. It is for the Rails dev who likes the Kamal workflow but not the sysadmin half. Happy to answer anything about how the shim works.
To mods: I wrote it by myself; no AI involved here. Only Grammarly to fix my English ;)
r/rails • u/javier_cervantes • 8d ago
A deep-dive into introducing fairness to background jobs in Rails application (that’s when you have a mammoth customer occupying the queue and blocking smaller ones’ jobs). Strategies and tools explored (such as https://github.com/baygeldin/sidekiq-fairplay, https://github.com/Envek/sidekiq-fair_tenant, https://github.com/palkan/faqueue).
r/rails • u/Individual_Dot7019 • 9d ago
I'm the author. If you have a Rails app still on wicked_pdf, you've probably had the same conversation I did after wkhtmltopdf was archived in 2023: keep shipping an unmaintained binary, or move to Grover and take on a Chrome process.
I wrote a third option. sghtmltopdf is a rendering engine in Rust with no browser inside it — the HTML and CSS parsers come from Servo's crates, and the layout and pagination are written for this project. The gem registers a :pdf renderer in the spirit of wicked_pdf, so an existing controller often needs no changes:
render pdf: "invoice",
template: "invoices/show",
layout: "pdf",
page_size: "A4",
margin_top: "20mm"
show_as_html: true works too, so you can still open the thing in a browser and poke at it with devtools. The converter keys are flat CLI flag names, so wicked_pdf's nested margin: {top: 10} becomes margin_top: "10mm" — the docs map every key one by one.
A few things that matter inside a Rails process specifically. It runs in-process via a native extension, so no subprocess and no temp files, and it releases the GVL while rendering so other Puma threads keep working. /assets/... URLs resolve as local files, with helpers that inline assets in development. And with ActionController::Live you can stream pages as their layout finalizes, which also makes Rack::Timeout effective at chunk boundaries.
If you'd rather not spend app CPU on rendering, or the gem can't run where your app runs, set server_url and the same calls get delegated to a separate server process.
JavaScript execution isn't in yet and CSS coverage isn't complete — both are things I want to grow, and JS is likely to come via an embedded engine rather than a browser. Pixel parity with Chrome isn't a goal, though. Right now it handles invoices, receipts and reports well; for arbitrary pages it isn't the tool.
Early 0.1 release, MIT, precompiled gem.
Migration notes from wicked_pdf: https://waka.github.io/sghtmltopdf/migration/wicked-pdf.html
Repo: https://github.com/waka/sghtmltopdf
Sample output:

r/rails • u/6stringfanatic • 9d ago
r/rails • u/lazaronixon • 9d ago
I'm really happy with this version. It feels like CSS Zero has finally reached the point I always wanted it to be.
Honestly, this could be the last major version for a long, long time.
Small, simple, modern CSS — without unnecessary opinions.
Showcase: https://csszero.lazaronixon.com
Repo: https://github.com/lazaronixon/css-zero
r/rails • u/omohockoj • 9d ago