Cursor plugin for Rails 8. Prevents Rails 7 hallucinations, teaches Solid Stack (Queue/Cache/Cable), Hotwire patterns, params.expect, built-in auth, and Kamal deployment.
Rails 8 shipped with major default changes. LLMs generate Rails 7 patterns by default:
- Sidekiq + Redis instead of Solid Queue (database-backed, no Redis needed)
- Devise instead of the built-in authentication generator
require().permit()instead ofparams.expect()(returns 500 vs 400 on bad params)- Sprockets directives instead of Propshaft
- Full-page reloads instead of Turbo Frames and Turbo Streams
- Keyword
enumsyntax that's removed in Rails 8 - N+1 queries in 80%+ of AI-generated Rails code
- Unsafe migrations that lock production tables
Clone into your Cursor plugins directory:
git clone https://github.com/RoninForge/roninforge-rails.git ~/.cursor/plugins/local/roninforge-railsOr copy rules/skills into your project:
git clone https://github.com/RoninForge/roninforge-rails.git
cp -r roninforge-rails/rules/* your-project/.cursor/rules/
cp -r roninforge-rails/skills/* your-project/.cursor/skills/
cp -r roninforge-rails/agents/* your-project/.cursor/agents/| Rule | Scope | What it does |
|---|---|---|
rails-8-core |
Always active | New defaults: Solid Stack, Propshaft, params.expect, built-in auth, generates_token_for, normalizes |
rails-8-anti-patterns |
Always active | 15 AI mistakes: N+1, fat controllers, unsafe migrations, callback side effects, boolean validation |
rails-8-hotwire |
View/JS files | Turbo Frames, Turbo Streams, Stimulus, morphing, decision tree for when to use each |
rails-8-solid-stack |
Agent-requested | Solid Queue, Solid Cache, Solid Cable configuration and usage patterns |
rails-8-models |
Model files | Enum syntax, associations, scopes, validations, callbacks, migration safety |
| Skill | Command | What it does |
|---|---|---|
| Scaffold | /rails-scaffold |
Generate model + controller + Hotwire views + routes + migration + factory + test |
| Auth | /rails-auth |
Set up built-in authentication with registration (no Devise) |
| Deploy | /rails-deploy |
Generate Kamal 2 deployment config for a VPS |
| Validate | /rails-validate |
Scan project for Rails 7 leftovers, N+1 queries, unsafe migrations |
| Agent | What it does |
|---|---|
rails-reviewer |
Reviews code for N+1, Rails 7 patterns, Hotwire misuse, migration safety, security |
vs. wintermeyer/cursor-rails-rules (37 stars):
- Deep Rails 8 specificity (Solid Stack, params.expect, built-in auth, Kamal)
- Hotwire decision tree (when to use Turbo Frames vs Streams vs Stimulus)
- Production migration safety rules
- Anti-pattern rules targeting AI-specific mistakes
- Skills for scaffolding, auth setup, and deployment
vs. no plugin:
- Prevents Rails 7 patterns in Rails 8 projects
- N+1 query prevention as a first-class rule
- Migration safety prevents production table locks
- Scaffold skill generates complete Hotwire-compatible resources
- Auth skill replaces Devise with zero-dependency built-in auth
tests/fixtures/anti-pattern-sample/- Rails 7 patterns and common AI mistakestests/fixtures/correct-sample/- The same code written with Rails 8 conventions
chmod +x tests/validation/validate-plugin.sh
./tests/validation/validate-plugin.shMIT - see LICENSE