Files
claude-engineering-plugin/plugins/compounding-engineering/skills/dhh-ruby-style/references/resources.md
Kieran Klaassen 8cc99ab483 feat(plugin): reorganize compounding-engineering v2.0.0
Major restructure of the compounding-engineering plugin:

## Agents (24 total, now categorized)
- review/ (10): architecture-strategist, code-simplicity-reviewer,
  data-integrity-guardian, dhh-rails-reviewer, kieran-rails-reviewer,
  kieran-python-reviewer, kieran-typescript-reviewer,
  pattern-recognition-specialist, performance-oracle, security-sentinel
- research/ (4): best-practices-researcher, framework-docs-researcher,
  git-history-analyzer, repo-research-analyst
- design/ (3): design-implementation-reviewer, design-iterator,
  figma-design-sync
- workflow/ (6): bug-reproduction-validator, every-style-editor,
  feedback-codifier, lint, pr-comment-resolver, spec-flow-analyzer
- docs/ (1): ankane-readme-writer

## Commands (15 total)
- Moved workflow commands to commands/workflows/ subdirectory
- Added: changelog, create-agent-skill, heal-skill, plan_review,
  prime, reproduce-bug, resolve_parallel, resolve_pr_parallel

## Skills (11 total)
- Added: andrew-kane-gem-writer, codify-docs, create-agent-skills,
  dhh-ruby-style, dspy-ruby, every-style-editor, file-todos,
  frontend-design, git-worktree, skill-creator
- Kept: gemini-imagegen

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-24 11:42:18 -08:00

5.5 KiB

DHH Ruby Style Resources

Links to source material, documentation, and further reading for mastering DHH's Ruby/Rails style.

Primary Source Code

Campfire (Once)

The main codebase this style guide is derived from.

Other 37signals Open Source

Articles & Blog Posts

Controller Organization

Testing Philosophy

Architecture & Deployment

Official Documentation

Rails Guides (DHH's Vision)

Hotwire

Current Attributes

Videos & Talks

DHH Keynotes

  • RailsConf Keynotes: Search YouTube for "DHH RailsConf"
    • Annual state of Rails addresses
    • Philosophy and direction discussions

Hotwire Tutorials

  • Hotwire Demo by DHH: Original demo showing the approach
  • GoRails Hotwire Series: Practical implementation tutorials

Books

By DHH & 37signals

  • Getting Real: https://basecamp.com/gettingreal
    • Product development philosophy
    • Less is more approach
  • Remote: Working remotely philosophy
  • It Doesn't Have to Be Crazy at Work: Calm company culture

Rails Books

  • Agile Web Development with Rails: The original Rails book
  • The Rails Way: Comprehensive Rails patterns

Gems & Tools Used

Core Stack

# Gemfile patterns from Campfire
gem "rails", "~> 8.0"
gem "sqlite3"
gem "propshaft"        # Asset pipeline
gem "importmap-rails"  # JavaScript imports
gem "turbo-rails"      # Hotwire Turbo
gem "stimulus-rails"   # Hotwire Stimulus
gem "solid_queue"      # Job backend
gem "solid_cache"      # Cache backend
gem "solid_cable"      # WebSocket backend
gem "kamal"            # Deployment
gem "thruster"         # HTTP/2 proxy
gem "image_processing" # Active Storage variants

Development

group :development do
  gem "web-console"
  gem "rubocop-rails-omakase"  # 37signals style rules
end

group :test do
  gem "capybara"
  gem "selenium-webdriver"
end

RuboCop Configuration

37signals publishes their RuboCop rules:

# .rubocop.yml
inherit_gem:
  rubocop-rails-omakase: rubocop.yml

# Project-specific overrides if needed

Community Resources

Forums & Discussion

Podcasts

  • Remote Ruby: Ruby/Rails discussions
  • Ruby Rogues: Long-running Ruby podcast
  • The Bike Shed: Thoughtbot's development podcast

Key Philosophy Documents

The Rails Doctrine Pillars

  1. Optimize for programmer happiness
  2. Convention over Configuration
  3. The menu is omakase
  4. No one paradigm
  5. Exalt beautiful code
  6. Provide sharp knives
  7. Value integrated systems
  8. Progress over stability
  9. Push up a big tent

DHH Quotes to Remember

"The vast majority of Rails controllers can use the same seven actions."

"If you're adding a custom action, you're probably missing a controller."

"Clear code is better than clever code."

"The test file should be a love letter to the code."

"SQLite is enough for most applications."

Version History

This style guide is based on:

  • Campfire source code (2024)
  • Rails 8.0 conventions
  • Ruby 3.3 syntax preferences
  • Hotwire 2.0 patterns

Last updated: 2024