vanilla-rails-style

Apply 37signals-style refactoring rules to Ruby/Rails controllers and models.

3|Updated Dec 25, 2025
One-click install
npx skills add https://github.com/ZempTime/zemptime-marketplace --skill vanilla-rails-style
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vanilla-rails-style
Source: https://github.com/ZempTime/zemptime-marketplace/tree/main/vanilla-rails/skills/style
Command: npx skills add https://github.com/ZempTime/zemptime-marketplace --skill vanilla-rails-style

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill provides a clear, opinionated Rails/Ruby style guide and practical refactoring patterns based on 37signals/Basecamp conventions to ensure consistent code structure and readability.

Core Features & Use Cases

  • Private method indentation: Always indent under the private keyword to maintain clarity.
  • Invocation-sequence method ordering: Order methods by their call flow to make execution easier to trace.
  • Guard clause guidance: Prefer full if/else blocks over multiple guard clauses for readability.
  • Bang method usage rules: Use bang methods only when a non-bang counterpart exists to avoid ambiguous APIs.

Quick Start

Refactor a given Ruby/Rails class to align with 37signals-style conventions.

Frequently Asked Questions about vanilla-rails-style

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

FAQPage Schema
How do I refactor Ruby on Rails controllers to follow a consistent style guide?

You can refactor Ruby on Rails controllers by applying 37signals-style conventions, which involves ordering methods by invocation flow, indenting private methods, and preferring full if/else blocks over multiple guard clauses for better readability.

What is the best way to organize private methods in a Rails model?

Organize private methods in a Rails model by indenting them directly under the private keyword. This 37signals-style convention maintains structural clarity and visually separates public interfaces from internal implementation logic.

When should I use bang methods in Ruby on Rails applications?

Use bang methods in Ruby on Rails only when a non-bang counterpart method exists. This 37signals-style rule prevents ambiguous APIs by ensuring the bang version explicitly signals a distinct behavior like mutation or exception raising.

How do I order methods in a Rails class to make execution easier to trace?

Order methods in a Rails class by their invocation sequence. This 37signals-style refactoring pattern aligns the code structure with the actual call flow, making execution logic tracking more intuitive during code reading.

Should I use multiple guard clauses or full if/else blocks for conditional logic in Rails?

For conditional logic in Rails, prefer full if/else blocks over multiple guard clauses. This 37signals-style refactoring rule prioritizes readability and ensures complex conditional flows remain clear and maintainable.

Does 37signals-style Rails refactoring require any external dependencies or setup?

37signals-style Rails refactoring requires no external dependencies or setup. It provides a clear, opinionated Ruby/Rails style guide and practical refactoring patterns applied directly across controllers and models to ensure consistent code structure.