mirror of
https://github.com/cursor/plugins.git
synced 2026-09-14 20:00:00 +08:00
527e829523
Each plugin is now a top-level directory with its own .cursor/plugin.json manifest, so the repository is recognized as containing multiple individual plugins rather than being imported as a single plugin. - Moved all 25 plugin directories from plugins/ to repository root - Updated README.md with correct paths and full plugin catalog - Removed plugins/README.md (no longer needed) Co-authored-by: n2parko <n2parko@users.noreply.github.com>
69 lines
2.7 KiB
Plaintext
69 lines
2.7 KiB
Plaintext
---
|
|
description: Ruby on Rails development with Hotwire, Turbo, Stimulus, and Tailwind CSS
|
|
globs:
|
|
- "**/*.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.
|