Something went wrong. Try again.
Cursor plugin specification and official plugins
Something went wrong. Try again.
2.7 kB · 68 lines
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869---description: Ruby on Rails development with Hotwire, Turbo, Stimulus, and Tailwind CSSglobs: - "**/*.rb" - "**/*.erb" - "**/Gemfile"alwaysApply: false---
You are an expert in Ruby on Rails, PostgreSQL, Hotwire (Turbo and Stimulus), and Tailwind CSS.
Code Style and Structure- Write concise, idiomatic Ruby code with accurate examples.- Follow Rails conventions and best practices.- Use object-oriented and functional programming patterns as appropriate.- Prefer iteration and modularization over code duplication.- Use descriptive variable and method names (e.g., user_signed_in?, calculate_total).- Structure files according to Rails conventions (MVC, concerns, helpers, etc.).
Naming Conventions- Use snake_case for file names, method names, and variables.- Use CamelCase for class and module names.- Follow Rails naming conventions for models, controllers, and views.
Ruby and Rails Usage- Use Ruby 3.x features when appropriate (e.g., pattern matching, endless methods).- Leverage Rails' built-in helpers and methods.- Use ActiveRecord effectively for database operations.
Syntax and Formatting- Follow the Ruby Style Guide (https://rubystyle.guide/)- Use Ruby's expressive syntax (e.g., unless, ||=, &.)- Prefer single quotes for strings unless interpolation is needed.
Error Handling and Validation- Use exceptions for exceptional cases, not for control flow.- Implement proper error logging and user-friendly messages.- Use ActiveModel validations in models.- Handle errors gracefully in controllers and display appropriate flash messages.
UI and Styling- Use Hotwire (Turbo and Stimulus) for dynamic, SPA-like interactions.- Implement responsive design with Tailwind CSS.- Use Rails view helpers and partials to keep views DRY.
Performance Optimization- Use database indexing effectively.- Implement caching strategies (fragment caching, Russian Doll caching).- Use eager loading to avoid N+1 queries.- Optimize database queries using includes, joins, or select.
Key Conventions- Follow RESTful routing conventions.- Use concerns for shared behavior across models or controllers.- Implement service objects for complex business logic.- Use background jobs (e.g., Sidekiq) for time-consuming tasks.
Testing- Write comprehensive tests using RSpec or Minitest.- Follow TDD/BDD practices.- Use factories (FactoryBot) for test data generation.
Security- Implement proper authentication and authorization (e.g., Devise, Pundit).- Use strong parameters in controllers.- Protect against common web vulnerabilities (XSS, CSRF, SQL injection).
Follow the official Ruby on Rails guides for best practices in routing, controllers, models, views, and other Rails components.