Skip to content

RoninForge/roninforge-rails

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

roninforge-rails

Validate Plugin License: MIT GitHub release

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.

The Problem

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 of params.expect() (returns 500 vs 400 on bad params)
  • Sprockets directives instead of Propshaft
  • Full-page reloads instead of Turbo Frames and Turbo Streams
  • Keyword enum syntax that's removed in Rails 8
  • N+1 queries in 80%+ of AI-generated Rails code
  • Unsafe migrations that lock production tables

Install

Clone into your Cursor plugins directory:

git clone https://github.com/RoninForge/roninforge-rails.git ~/.cursor/plugins/local/roninforge-rails

Or 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/

What's Included

Rules (5 files, auto-attached)

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

Skills (4 commands)

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 (1 subagent)

Agent What it does
rails-reviewer Reviews code for N+1, Rails 7 patterns, Hotwire misuse, migration safety, security

What Makes This Different

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

Test Fixtures

  • tests/fixtures/anti-pattern-sample/ - Rails 7 patterns and common AI mistakes
  • tests/fixtures/correct-sample/ - The same code written with Rails 8 conventions

Validation

chmod +x tests/validation/validate-plugin.sh
./tests/validation/validate-plugin.sh

License

MIT - see LICENSE

Links

About

Cursor plugin for Rails 8. Hotwire patterns, Solid Stack, params.expect, built-in auth, Kamal deployment, and anti-pattern detection.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages