rails-37-style-philosophy-development-philosophy

Codify 37signals development philosophy for Rails code and reviews.

Updated Mar 6, 2026
One-click install
npx skills add https://github.com/Chwistophe/agent-skills-unofficial-37-signals-rails-way-fizzy --skill rails-37-style-philosophy-development-philosophy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rails-37-style-philosophy-development-philosophy
Source: https://github.com/Chwistophe/agent-skills-unofficial-37-signals-rails-way-fizzy/tree/main/rails-37-style-philosophy-development-philosophy
Command: npx skills add https://github.com/Chwistophe/agent-skills-unofficial-37-signals-rails-way-fizzy --skill rails-37-style-philosophy-development-philosophy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill encapsulates the core development philosophies and best practices championed by 37signals, providing guidance on shipping code, fixing root causes, and leveraging vanilla Rails effectively.

Core Features & Use Cases

  • Development Principles: Understand the "Ship, Validate, Refine" approach and the importance of fixing root causes.
  • Rails Best Practices: Learn patterns for thin controllers, rich domain models, and when to extract code.
  • Review Patterns: Gain insights into DHH's and other 37signals programmers' review styles and common themes.
  • Use Case: A developer is unsure about the best way to refactor a complex controller method. Consulting this Skill provides them with principles like "Extract when it gets messy" and "Don't extract prematurely," guiding them towards a cleaner solution.

Quick Start

Explain the 37signals approach to fixing root causes, not symptoms.

Frequently Asked Questions about rails-37-style-philosophy-development-philosophy

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

FAQPage Schema
What is the 37signals development philosophy for Rails applications?

Rails best practices from 37signals advocate for thin controllers and rich domain models. This approach ensures business logic resides in the model layer, keeping controllers focused on HTTP handling and routing.

How do I know when to extract code during Rails refactoring?

When refactoring Rails code, extract when it gets messy but avoid premature extraction. This philosophy prevents over-engineering, ensuring code is only abstracted when complexity demands it for maintainability.

What Rails features support efficient database constraints and naming conventions?

Efficient Rails features like `delegated_type` and `store_accessor` support database constraints and naming conventions. These vanilla Rails patterns enable pragmatic development without requiring heavy external dependencies.

How does the 37signals approach handle fixing root causes instead of symptoms?

The 37signals approach mandates fixing root causes rather than applying temporary patches to symptoms. This ensures long-term code stability by addressing the underlying architectural or logic flaws directly.

Are vanilla Rails patterns sufficient for complex application development?

Vanilla Rails patterns are sufficient for complex development under the 37signals philosophy. By leveraging built-in features like `delegated_type` and following strict naming conventions, developers avoid unnecessary dependencies and maintain agility.