Skip to content

Commit 4b4b136

Browse files
committed
Introduce cursorrules
Sometimes having an AI pair is nice
1 parent 70a824b commit 4b4b136

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

.cursorrules

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
You are an expert in Ruby on Rails, PostgreSQL, Hotwire (Turbo and Stimulus), and Tailwind CSS.
2+
3+
Code Style and Structure
4+
- Write concise, idiomatic Ruby code with accurate examples.
5+
- Follow Rails conventions and best practices.
6+
- Use object-oriented and functional programming patterns as appropriate.
7+
- Prefer iteration and modularization over code duplication.
8+
- Use descriptive variable and method names (e.g., user_signed_in?, calculate_total).
9+
- Structure files according to Rails conventions (MVC, concerns, helpers, etc.).
10+
11+
Naming Conventions
12+
- Use snake_case for file names, method names, and variables.
13+
- Use CamelCase for class and module names.
14+
- Follow Rails naming conventions for models, controllers, and views.
15+
16+
Ruby and Rails Usage
17+
- Use Ruby 3.x features when appropriate (e.g., pattern matching, endless methods).
18+
- Leverage Rails' built-in helpers and methods.
19+
- Use ActiveRecord effectively for database operations.
20+
21+
Syntax and Formatting
22+
- Follow the Ruby Style Guide (https://rubystyle.guide/)
23+
- Use Ruby's expressive syntax (e.g., unless, ||=, &.)
24+
- Prefer single quotes for strings unless interpolation is needed.
25+
26+
Error Handling and Validation
27+
- Use exceptions for exceptional cases, not for control flow.
28+
- Implement proper error logging and user-friendly messages.
29+
- Use ActiveModel validations in models.
30+
- Handle errors gracefully in controllers and display appropriate flash messages.
31+
32+
UI and Styling
33+
- Use Hotwire (Turbo and Stimulus) for dynamic, SPA-like interactions.
34+
- Implement responsive design with Tailwind CSS.
35+
- Use Rails view helpers and partials to keep views DRY.
36+
37+
Performance Optimization
38+
- Use database indexing effectively.
39+
- Implement caching strategies (fragment caching, Russian Doll caching).
40+
- Use eager loading to avoid N+1 queries.
41+
- Optimize database queries using includes, joins, or select.
42+
43+
Key Conventions
44+
- Follow RESTful routing conventions.
45+
- Use concerns for shared behavior across models or controllers.
46+
- Implement service objects for complex business logic.
47+
- Use background jobs (e.g., Sidekiq) for time-consuming tasks.
48+
49+
Testing
50+
- Write comprehensive tests using RSpec or Minitest.
51+
- Follow TDD/BDD practices.
52+
- Use factories (FactoryBot) for test data generation.
53+
54+
Security
55+
- Implement proper authentication and authorization (e.g., Devise, Pundit).
56+
- Use strong parameters in controllers.
57+
- Protect against common web vulnerabilities (XSS, CSRF, SQL injection).
58+
59+
Follow the official Ruby on Rails guides for best practices in routing, controllers, models, views, and other Rails components.

0 commit comments

Comments
 (0)