37signals-style
Rails coding patterns derived from analysis of 37signals' Fizzy codebase. Use when writing Rails code in 37signals/Basecamp style or when asked to follow 37signals patterns. Covers controllers, models, views, Hotwire, testing, database, security, and team philosophy.
Works with
--- name: 37signals-style description: Rails coding patterns derived from analysis of 37signals' Fizzy codebase. Use when writing Rails code in 37signals/Basecamp style or when asked to follow 37signals patterns. Covers controllers, models, views, Hotwire, testing, database, security, and team philosophy. license: MIT --- # 37signals Style Guide Patterns derived from analysis of 37signals' Fizzy codebase. Representative, not authoritative — these reflect observed conventions, not an official 37signals document. ## Topic Map ### Core Rails Patterns - `references/controllers.md` — Thin controllers, concerns, authentication, authorization - `references/models.md` — Fat models, scopes, query objects, concerns - `references/views.md` — Presenters, partials, view helpers, template conventions - `references/routing.md` — RESTful design, nested resources, custom routes - `references/database.md` — Schema design, indexes, migrations, query optimization ### Frontend & Hotwire - `references/hotwire.md` — Turbo Drive, Turbo Frames, Turbo Streams patterns - `references/stimulus.md` — Stimulus controller conventions, value API, targets - `references/css.md` — CSS organization, naming conventions, component patterns - `references/action-text.md` — Rich text integration patterns - `references/actioncable.md` — WebSocket channel patterns ### Application Features - `references/authentication.md` — Session management, password reset, remember me - `references/background-jobs.md` — Solid Queue/ActiveJob patterns, retry strategies - `references/caching.md` — Fragment caching, counter caches, cache keys - `references/email.md` — Mailer conventions, transactional email patterns - `references/notifications.md` — In-app notifications, notification objects - `references/filtering.md` — Search and filter patterns, query objects - `references/workflows.md` — Multi-step processes, state machines - `references/webhooks.md` — Inbound/outbound webhook handling ### Infrastructure - `references/active-storage.md` — File upload conventions, image variants - `references/configuration.md` — Environment config, credentials, feature flags - `references/observability.md` — Logging, error tracking, instrumentation - `references/performance.md` — N+1 prevention, caching strategies, query optimization - `references/security-checklist.md` — OWASP checklist, Brakeman, safe patterns - `references/multi-tenancy.md` — Account scoping, current attributes - `references/mobile.md` — Mobile-specific patterns, PWA considerations - `references/ai-llm.md` — LLM/AI integration patterns ### Testing - `references/testing.md` — 37signals testing approach, fixtures, minitest conventions ### Philosophy & Team - `references/development-philosophy.md` — Basecamp Way, calm technology, YAGNI - `references/what-they-avoid.md` — Patterns 37signals deliberately avoids - `references/dhh.md` — DHH's Rails principles and design opinions - `references/jorge-manrubia.md` — Jorge Manrubia's contributions and patterns - `references/jason-zimdars.md` — Jason Zimdars' design and UX conventions - `references/accessibility.md` — Accessibility patterns and ARIA usage - `references/watching.md` — Activity feeds, event tracking patterns - `references/rails-engineering-standards-and-practices.md` — Engineering standards
More Testing skills
tdd
mattpocock/skills
Test-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.
setup-pre-commit
mattpocock/skills
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

