auth login session magic-link devise passwordless | authentication.md | Passwordless magic links ~150 LOC, no Devise controller thin concern crud | controllers.md | Thin controllers, rich models, composable concerns model concern state record | models.md | Rich domain models, concerns, state as records view partial turbo-stream morph broadcast | views.md | Turbo Streams, partials over components route crud resource namespace shallow | routing.md | Everything is CRUD, resource-based routing database uuid state-record counter-cache index | database.md | UUIDs, state as records, no soft deletes
hotwire turbo morph frame | hotwire.md | Turbo morphing, frames, common issues stimulus javascript controller reusable | stimulus.md | Small focused reusable JS controllers css cascade-layer oklch dark-mode nesting | css.md | Native CSS, cascade layers, OKLCH colors action-text rich-text sanitizer trix | action-text.md | Rich text editing, sanitizer config
job queue solid-queue background recurring | background-jobs.md | Solid Queue patterns, stagger jobs cache etag fragment lazy | caching.md | HTTP caching, fragment caching, lazy load actioncable websocket broadcast cable | actioncable.md | Multi-tenant WebSockets, Solid Cable storage upload avatar variant preview | active-storage.md | File uploads, variants, previews email mailer smtp timezone unsubscribe | email.md | Multi-tenant mailers, timezone handling
multi-tenant tenant account path-based | multi-tenancy.md | URL path-based multi-tenancy filter query url-state chip | filtering.md | Filter objects, URL-based state notification bundle preference realtime | notifications.md | Time window bundling, preferences watch subscription toggle involvement | watching.md | Subscription patterns, toggle UI webhook ssrf retry signature delivery | webhooks.md | SSRF protection, state machines workflow event undo command state-machine | workflows.md | Event-driven state, undoable commands
test minitest fixture integration system | testing.md | Minitest with fixtures, simple fast security xss csrf ssrf csp rate-limit | security-checklist.md | Security patterns and gotchas performance n+1 pagination puma batch | performance.md | DB, CSS, rendering optimizations observability logging metrics yabeda otel | observability.md | Structured logging, Yabeda metrics accessibility aria keyboard screen-reader focus | accessibility.md | ARIA, keyboard nav, focus mgmt mobile responsive touch safe-area | mobile.md | Responsive CSS, touch, safe areas
philosophy ship vanilla extract | development-philosophy.md | Ship-validate-refine, vanilla Rails avoid devise pundit service-object graphql sidekiq react | what-they-avoid.md | What they DON'T use config environment yaml kamal master-key | configuration.md | Rails config, env management ai llm command context cost tool | ai-llm.md | AI/LLM integration patterns
dhh david review abstraction | dhh.md | DHH's review style and patterns jorge manrubia architecture | jorge-manrubia.md | Jorge Manrubia's patterns jason zimdars design ux | jason-zimdars.md | Jason Zimdars' design patterns
authentication.md:Magic Link Flow | magic-link email token authentication.md:Identity Model | identity user authentication.md:Session Model | session cookie authentication.md:Authentication Concern | concern current_user authentication.md:Why Not Devise? | devise avoid
controllers.md:Core Principle | thin rich controllers.md:Authorization | authorize check controllers.md:Controller Concerns Catalog | concern list controllers.md:Composing Concerns | compose mix
models.md:Heavy Use of Concerns | concern horizontal models.md:State as Records | state boolean record models.md:Current for Request Context | current thread models.md:Let It Crash | bang exception models.md:PORO Patterns | poro plain-ruby
hotwire.md:Turbo Morphing | morph refresh hotwire.md:Turbo Frames | frame lazy hotwire.md:Common Turbo Issues | issue problem debug hotwire.md:Stimulus Best Practices | stimulus practice hotwire.md:Links Over JavaScript | link navigate
testing.md:Minitest Over RSpec | minitest rspec testing.md:Fixtures Over Factories | fixture factory testing.md:Integration Tests | integration request testing.md:System Tests | system browser capybara
security-checklist.md:XSS Prevention | xss escape security-checklist.md:CSRF Protection | csrf token security-checklist.md:SSRF | ssrf request security-checklist.md:Content Security Policy | csp header security-checklist.md:Rate Limiting | rate limit throttle
what-they-avoid.md:Notable Absences | absent missing what-they-avoid.md:No Devise | devise auth what-they-avoid.md:No Pundit | pundit cancan authorize what-they-avoid.md:Service Objects | service object what-they-avoid.md:ViewComponent | viewcomponent component what-they-avoid.md:GraphQL | graphql api what-they-avoid.md:Sidekiq | sidekiq job what-they-avoid.md:React/Vue | react vue spa frontend