Marketplace

Browse and adopt engineering standards, rules, and configurations. Fork to customize for your organization.

High
8 rules

Add indexes for foreign keys and frequently queried columns

database

Always add database indexes for: - Foreign keys (Rails doesn't add these automatically) - Columns used in WHERE clauses - Columns used in ORDER BY ...

High in 6 rulesets

Avoid N+1 queries

rails

Use eager loading to prevent N+1 queries: - `includes`: For associations you'll access - `preload`: Force separate queries (useful for complex cond...

High in 2 rulesets

Fat models, skinny controllers

rails

Keep controllers thin - they should only: - Authenticate and authorize - Parse params and set instance variables - Call model/service methods - Ren...

High in 3 rulesets

Use background jobs for slow operations

rails

Move slow operations to background jobs: - Email sending - File processing - External API calls - Report generation - Data imports/exports Use Sol...

High in 3 rulesets

Use database constraints

rails

Don't rely solely on ActiveRecord validations - add database constraints: - NOT NULL for required fields - UNIQUE indexes for unique fields - Forei...

High in 8 rulesets

Use Hotwire for interactivity

rails

For Rails 7+ applications, prefer Hotwire (Turbo + Stimulus) over React/Vue: - Turbo Drive: Automatic AJAX page transitions - Turbo Frames: Partial...

High in 3 rulesets

Use Minitest for Rails testing

rails

Use Minitest for all tests. Do not add RSpec to the project. Minitest is: - Rails default, zero configuration - Faster boot time - Simpler syntax,...

High in 9 rulesets

Prefer composition over inheritance

ruby

In Ruby, favor composition and modules over deep inheritance hierarchies: - Use modules for shared behavior (concerns in Rails) - Inject dependenci...

High in 4 rulesets