strategy-pattern

rivettidanielrivettidaniel

Implements interchangeable algorithms with Strategy Pattern. Use when implementing payment gateways, notification channels, export formats, authentication methods, or any scenario requiring runtime algorithm selection.

193 days ago

active-storage-setup

rivettidanielrivettidaniel

Configures Active Storage for file uploads with variants and direct uploads. Use when adding file uploads, image attachments, document storage, generating thumbnails, or when user mentions Active Storage, file upload, attachments, or image processing.

193 days ago

rails-query-object

rivettidanielrivettidaniel

Creates query objects for complex database queries following TDD. Use when encapsulating complex queries, aggregating statistics, building reports, or when user mentions queries, stats, dashboards, or data aggregation.

193 days ago

action-cable-patterns

rivettidanielrivettidaniel

Implements real-time features with Action Cable and WebSockets. Use when adding live updates, chat features, notifications, real-time dashboards, or when user mentions Action Cable, WebSockets, channels, or real-time.

193 days ago

tdd-cycle

rivettidanielrivettidaniel

Guides Test-Driven Development workflow with Red-Green-Refactor cycle. Use when the user wants to implement a feature using TDD, write tests first, follow test-driven practices, or mentions red-green-refactor.

193 days ago

builder-pattern

rivettidanielrivettidaniel

Constructs complex objects step-by-step with Builder Pattern. Use when creating query builders, test data builders, configuration objects, or any object with many optional parameters requiring fluent API.

193 days ago

action-mailer-patterns

rivettidanielrivettidaniel

Implements transactional emails with Action Mailer and TDD. Use when creating email templates, notification emails, password resets, email previews, or when user mentions mailer, email, notifications, or transactional emails.

193 days ago

performance-optimization

rivettidanielrivettidaniel

Identifies and fixes Rails performance issues including N+1 queries, slow queries, and memory problems. Use when optimizing queries, fixing N+1 issues, improving response times, or when user mentions performance, slow, optimization, or Bullet gem.

193 days ago

rails-presenter

rivettidanielrivettidaniel

Creates presenter objects for view formatting using SimpleDelegator pattern with TDD. Use when extracting view logic from models, formatting data for display, creating badges/labels, or when user mentions presenters, view models, formatting, or display helpers.

193 days ago

rails-controller

rivettidanielrivettidaniel

Creates Rails controllers with TDD approach - request spec first, then implementation. Use when creating new controllers, adding controller actions, implementing CRUD operations, or when user mentions controllers, routes, or API endpoints.

193 days ago

rails-service-object

rivettidanielrivettidaniel

Creates service objects following single-responsibility principle with comprehensive specs. Use when extracting business logic from controllers, creating complex operations, implementing interactors, or when user mentions service objects or POROs.

193 days ago

authentication-flow

rivettidanielrivettidaniel

Implements authentication using Rails 8 built-in generator. Use when setting up user authentication, login/logout, session management, password reset flows, or securing controllers.

193 days ago

rails-architecture

rivettidanielrivettidaniel

Guides modern Rails 8 code architecture decisions and patterns. Use when deciding where to put code, choosing between patterns (service objects vs concerns vs query objects), designing feature architecture, refactoring for better organization, or when user mentions architecture, code organization, design patterns, or layered design.

193 days ago

chain-of-responsibility-pattern

rivettidanielrivettidaniel

Passes requests along handler chain with Chain of Responsibility Pattern. Use for approval workflows, validation chains, error handling, or when multiple objects can handle a request.

193 days ago

state-pattern

rivettidanielrivettidaniel

Manages state-dependent behavior with State Pattern (Finite State Machine). Use for order workflows, document approval, user accounts, or when object behavior changes based on internal state.

193 days ago

solid-queue-setup

rivettidanielrivettidaniel

Configures Solid Queue for background jobs in Rails 8. Use when setting up background processing, creating background jobs, configuring job queues, or migrating from Sidekiq to Solid Queue.

193 days ago

rails-model-generator

rivettidanielrivettidaniel

Creates Rails models using TDD approach - spec first, then migration, then model. Use when creating new models, adding model validations, defining associations, or setting up database tables.

193 days ago

database-migrations

rivettidanielrivettidaniel

Creates safe database migrations with proper indexes and rollback strategies. Use when creating tables, adding columns, creating indexes, handling zero-downtime migrations, or when user mentions migrations, schema changes, or database structure.

193 days ago

authorization-pundit

rivettidanielrivettidaniel

Implements policy-based authorization with Pundit for resource access control. Use when adding authorization rules, checking permissions, restricting actions, role-based access, or when user mentions Pundit, policies, authorization, or permissions.

193 days ago

template-method-pattern

rivettidanielrivettidaniel

Defines algorithm skeleton with customizable steps using Template Method Pattern. Use for data importers, exporters, multi-step processors, or any process with fixed flow but variant steps.

193 days ago

form-object-patterns

rivettidanielrivettidaniel

Creates form objects for complex form handling with TDD. Use when building multi-model forms, search forms, wizard forms, or when user mentions form objects, complex forms, virtual models, or non-persisted forms.

193 days ago

hotwire-patterns

rivettidanielrivettidaniel

Implements Hotwire patterns with Turbo Frames, Turbo Streams, and Stimulus controllers. Use when building interactive UIs, real-time updates, form handling, partial page updates, or when user mentions Turbo, Stimulus, or Hotwire.

193 days ago

rails-concern

rivettidanielrivettidaniel

Creates Rails concerns for shared behavior across models or controllers with TDD. Use when extracting shared code, creating reusable modules, DRYing up models/controllers, or when user mentions concerns, modules, mixins, or shared behavior.

193 days ago

packwerk

rivettidanielrivettidaniel

Implements modular architecture with Packwerk for Rails applications. Use when creating packages, enforcing privacy boundaries, managing dependencies, preventing circular references, or when user mentions Packwerk, packages, modularization, or architectural boundaries.

193 days ago

caching-strategies

rivettidanielrivettidaniel

Implements Rails caching patterns for performance optimization. Use when adding fragment caching, Russian doll caching, low-level caching, cache invalidation, or when user mentions caching, performance, cache keys, or memoization.

193 days ago

api-versioning

rivettidanielrivettidaniel

Implements RESTful API design with versioning and request specs. Use when building APIs, adding API endpoints, versioning APIs, or when user mentions REST, JSON API, or API design.

193 days ago

viewcomponent-patterns

rivettidanielrivettidaniel

Creates ViewComponents for reusable UI elements with TDD. Use when building reusable UI components, extracting complex partials, creating cards/tables/badges/modals, or when user mentions ViewComponent, components, or reusable UI.

193 days ago

factory-method-pattern

rivettidanielrivettidaniel

Creates objects through factory methods with Factory Method Pattern. Use for polymorphic object creation, notification systems, report generators, authentication providers, or when you need framework extensibility.

193 days ago

i18n-patterns

rivettidanielrivettidaniel

Implements internationalization with Rails I18n for multi-language support. Use when adding translations, managing locales, localizing dates/currencies, pluralization, or when user mentions i18n, translations, locales, or multi-language.

193 days ago