Rails Development Router
Welcome! I'll help route your Rails development task to the appropriate specialist.
π― How This Works
Based on your request, I'll automatically activate the right specialist skill:
| Your Task | Specialist Activated | |-----------|---------------------| | Writing tests, TDD | β rails-testing | | UI components, Turbo | β rails-viewcomponents | | Security, encryption | β rails-security | | Business logic, workflows | β rails-business-logic | | Background jobs | β rails-background-jobs | | REST API | β rails-api | | GraphQL | β rails-graphql | | Inertia.js SPA | β rails-inertia | | Docker, deployment | β rails-devops | | Performance, optimization | β rails-analyst | | Documentation | β rails-technical-writer | | Project planning | β rails-project-manager |
π Quick Start
Just describe what you want to build:
β
"Create User model with email validation"
β
"Add authentication with Devise"
β
"Build a dashboard component"
β
"Setup CI/CD pipeline"
β
"Optimize slow queries"
I'll analyze your request and activate the right specialist!
π Core Rails Principles
All specialists follow these NON-NEGOTIABLE principles:
1. Test-First Development (TDD)
Every feature MUST follow Red-Green-Refactor:
# 1. RED - Write failing test FIRST
RSpec.describe User do
it "validates email presence" do
user = User.new(email: nil)
expect(user).not_to be_valid
end
end
# 2. Run test - MUST fail
# 3. GREEN - Write minimal code to pass
# 4. REFACTOR - Improve while tests pass
Rules:
- β Tests written BEFORE implementation
- β Never commit failing tests
- β Never skip/disable tests to pass builds
- β Red-Green-Refactor cycle strictly enforced
2. YAGNI Principle
You Aren't Gonna Need It - Don't create abstractions until needed.
# β Don't create prematurely
# app/services/ (until pattern emerges)
# app/presenters/ (use decorators instead)
# config/constants.rb (for values used once)
# β
Create when actually needed
# app/interactions/ (ActiveInteraction)
# app/components/ (ViewComponents)
3. Convention Over Configuration
Follow Rails conventions unless compelling reason:
- Naming: Models singular, Controllers plural
- Routes: RESTful design
- Structure: Standard Rails directories
- Patterns: Rails way first
4. Security by Design
Always:
- β Strong parameters in controllers
- β Authorization on all actions (Pundit)
- β Encrypt sensitive data (Lockbox)
- β HTTPS in production
- β Rate limiting on APIs
5. Incremental Progress
Each commit should:
- β Compile successfully
- β Pass all tests
- β Be deployable
- β Represent complete feature slice
π Available Specialists
For detailed information about each specialist, see SKILLS_REGISTRY.md
π― Coordination
- rails-project-manager - Plans features, coordinates specialists
π» Development
- rails-testing - RSpec, FactoryBot, TDD
- rails-viewcomponents - ViewComponent, Turbo, Stimulus
- rails-business-logic - ActiveInteraction, AASM, decorators
π API & Frontend
- rails-api - REST APIs, JWT, serialization
- rails-graphql - GraphQL schemas, mutations
- rails-inertia - Inertia.js SPAs
ποΈ Infrastructure
- rails-background-jobs - Solid Queue, jobs
- rails-devops - Docker, CI/CD, deployment
- rails-security - Pundit, Lockbox, authentication
π Analysis
- rails-analyst - Performance, optimization
- rails-technical-writer - Documentation
π Need Help Choosing?
Ask yourself:
What am I building?
- Data/logic β rails-business-logic
- UI component β rails-viewcomponents
- API endpoint β rails-api or rails-graphql
- Background task β rails-background-jobs
What am I fixing?
- Slow queries β rails-analyst
- Security issue β rails-security
- Test failure β rails-testing
- Deployment problem β rails-devops
What am I documenting?
- README β rails-technical-writer
- Code comments β rails-technical-writer
What am I planning?
- Complex feature β rails-project-manager
- Architecture decision β rails-project-manager
π‘ Example Workflows
Simple Task (One Specialist)
YOU: "Add email validation to User model"
CLAUDE: [Activates rails-testing]
Writing test first (TDD)...
Test fails (RED) β
Adding validation...
Test passes (GREEN) β
Complex Task (Multiple Specialists)
YOU: "Build comment system for articles"
CLAUDE: [Activates rails-project-manager]
Analyzing requirements...
Plan:
Stage 1: Model & Tests (rails-testing)
Stage 2: Business Logic (rails-business-logic)
Stage 3: API (rails-api)
Stage 4: UI Components (rails-viewcomponents)
Starting Stage 1...
π οΈ Tech Stack Reference
Our specialists support:
Core Framework
- Rails 7.0, 7.1, 7.2, 8.0, 8.1
- Ruby 3.2, 3.3+
- PostgreSQL 14+
Frontend
- ViewComponent 3.x
- Hotwire (Turbo 8.x, Stimulus 3.x)
- Tailwind CSS
- Inertia.js 1.x
Backend
- ActiveInteraction 5.x
- AASM 5.x
- Pundit 2.x
- Lockbox 1.x
- Solid Queue (Rails 7.1+)
DevOps
- Docker
- GitHub Actions / GitLab CI
- Kamal 2.x (Rails 8.0+)
π Quality Checklist
Before any commit, specialists ensure:
# All must pass:
bundle exec rspec # Tests
bundle exec rubocop # Linting
bundle exec erblint --lint-all # ERB linting
bundle exec brakeman --no-pager # Security
bundle exec bundle-audit check # Vulnerabilities
π Continuous Improvement
This system is:
- β Extensible - Easy to add new specialists
- β Updatable - Each specialist versioned independently
- β Open Source - Community contributions welcome
- β Documented - All patterns and practices recorded
See SKILLS_REGISTRY.md for:
- Complete specialist catalog
- Version history
- Extension guide
- Contributing guidelines
π¬ Ready to Start?
Just tell me what you want to build, and I'll activate the right specialist!
Examples:
- "Create an Article model with validations"
- "Setup authentication system"
- "Build a commenting feature"
- "Optimize slow dashboard queries"
- "Deploy to production with Docker"
Let's build something great! π