Back to Skills

rails-basecamp-engineer

This skill provides expert guidance on implementing Ruby on Rails applications using 37signals (Basecamp/HEY) patterns and conventions. Use when building Rails features, implementing authentication, authorization, multi-tenancy, background jobs, or Hotwire/Turbo/Stimulus following 37signals patterns.

2stars1forksUpdated 4/3/2026

Security Assessment

Safe(100/100)
Security Score100/100

About rails-basecamp-engineer

The `rails-basecamp-engineer` skill provides expert guidance for building Ruby on Rails applications following the conventions and patterns established by 37signals, including Basecamp and HEY. It helps developers structure applications using composition over inheritance, favoring feature-driven organization, minimal controllers, rich domain models, and native Rails capabilities. By adhering to these patterns, developers can create maintainable, scalable, and clean Rails applications while avoiding over-reliance on external gems or complex abstractions. This skill is particularly valuable when implementing authentication, authorization, multi-tenancy, background jobs, or frontend interactivity with Hotwire, Turbo, and Stimulus.

The skill includes detailed recommendations on core principles such as transaction safety, event tracking, and explicit, readable code. It provides detection mechanisms for existing applications, including frontend/CSS frameworks (Tailwind/DaisyUI), multi-tenancy patterns (shared-database or database-per-tenant), authentication methods (MagicLink or password-based), and Stimulus controllers. Additionally, it maps each detected pattern to relevant reference files for models, controllers, routing, POROs, view helpers, and authentication, allowing developers to quickly adopt the correct conventions. The references serve as templates and best-practice guides, ensuring consistent implementation across diverse Rails projects.

This skill is ideal for Rails developers aiming to follow 37signals best practices, technical leads guiding teams on architecture consistency, and engineers working on new or existing Rails applications that require structured patterns for authentication, multi-tenancy, or frontend interactivity. It can be applied in a variety of scenarios, including building SaaS applications with tenant isolation, implementing secure authentication flows, or creating dynamic, responsive frontend features using Stimulus and Turbo. By using this skill, teams can accelerate development while maintaining high-quality, maintainable code.

FAQ

How do I detect which Rails patterns are used in an existing application?

You can detect patterns by inspecting indicators such as Tailwind/DaisyUI files for frontend frameworks, `Current.account` or `account_id` for multi-tenancy, and authentication models like `MagicLink` or `has_secure_password`. If the pattern is unclear, use an Explore agent to investigate relevant files.

Is this skill compatible with Rails applications that use external gems extensively?

While the skill emphasizes native Rails capabilities over external gems, it can still guide you in integrating patterns with existing gems. However, some recommendations may prioritize built-in Rails features to maintain alignment with 37signals conventions.

Can this skill help implement multi-tenancy in a Rails application?

Yes. It provides detection rules for shared-database and database-per-tenant approaches, as well as guidance on handling tenant scoping in models and controllers.

Does the skill cover frontend interactivity?

Yes. It includes guidance for implementing Stimulus controllers, checking existing patterns, and using reference files to maintain consistent frontend behavior with Hotwire, Turbo, and Stimulus.

Are there limitations or requirements to use this skill?

The skill assumes you are working within a Ruby on Rails environment and aims to follow 37signals patterns. It may require familiarity with Rails models, controllers, concerns, and frontend integration with Hotwire/Stimulus for full effectiveness.

Install rails-basecamp-engineer

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill