dhh-rails-reviewer

Review Ruby on Rails code for adherence to Rails conventions.

Updated Jun 28, 2022
One-click install
npx skills add https://github.com/pcasaretto/nix-home --skill dhh-rails-reviewer-pcasaretto
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dhh-rails-reviewer
Source: https://github.com/pcasaretto/nix-home/tree/main/home-manager/modules/common/pi/compound-engineering/skills/dhh-rails-reviewer
Command: npx skills add https://github.com/pcasaretto/nix-home --skill dhh-rails-reviewer-pcasaretto

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides brutally honest code reviews for Rails applications, focusing on adherence to DHH's philosophy of convention over configuration, simplicity, and avoiding JavaScript framework patterns.

Core Features & Use Cases

  • Convention Enforcement: Ruthlessly identifies deviations from Rails conventions (e.g., fat models, skinny controllers, RESTful routes).
  • Pattern Identification: Spots JavaScript-world patterns creeping into Rails (e.g., unnecessary API layers, JWT tokens, Redux-style state management).
  • Complexity Analysis: Tears apart unnecessary abstractions like service objects, presenters, or hexagonal architecture in Rails contexts.
  • Use Case: Review a new Rails feature that uses JWT authentication and a separate API layer to ensure it aligns with Rails' idiomatic approach.

Quick Start

Use the DHH Rails reviewer agent to evaluate this implementation.

Frequently Asked Questions about dhh-rails-reviewer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I review my Ruby on Rails code for convention over configuration adherence?

Reviewing Rails code for convention over configuration involves analyzing your application to ensure it follows standards like fat models, skinny controllers, and RESTful routing. This identifies deviations from Rails conventions and flags unnecessary abstractions like service objects or presenters.

What are common JavaScript framework anti-patterns that creep into Rails applications?

Common JavaScript framework anti-patterns in Rails applications include unnecessary API layers, JWT token implementations, and Redux-style state management. Identifying these patterns helps maintain Rails' idiomatic approach and avoids introducing unnecessary complexity into your monolithic architecture.

Does my Rails app need service objects and presenters or are they unnecessary complexity?

Service objects and presenters often represent unnecessary complexity in Rails apps. Analyzing these abstractions through a convention-over-configuration lens reveals whether they add value or simply deviate from the majestic monolith philosophy by over-engineering standard Rails components.

How do I check if my Rails feature aligns with DHH's simplicity philosophy?

To check if a Rails feature aligns with DHH's simplicity philosophy, evaluate its adherence to convention over configuration and the majestic monolith approach. This identifies over-engineering, JavaScript-world patterns, and unnecessary architectural layers that contradict standard Rails idioms.

When should I not use hexagonal architecture in my Ruby on Rails application?

You should not use hexagonal architecture in your Ruby on Rails application when it introduces unnecessary complexity and deviates from standard Rails conventions. This architectural pattern often conflicts with the majestic monolith philosophy by adding abstract layers where standard components suffice.