About new-rails-project
A skill for generating new Rails projects with a prescribed Rails and React stack. It guides developers through project setup, database and job-processing choices, testing, and verification.
Key features
- 01Rails 8, PostgreSQL, and Inertia.js
- 02React, Vite, and Tailwind CSS
- 03Sidekiq jobs with Redis
- 04UUID keys and encrypted fields
- 05minitest and security scanning
Use cases
- 01Create a Rails project in the current directory
- 02Set up an application with the specified stack
- 03Establish testing and code conventions
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ shpigford/ skills --skill new-rails-projectAfter installing, type/new-rails-projectin Claude Code to confirm it loaded.
Details
From the project READMEGenerate a new Rails project named $1 in the current directory. You may reference @CLAUDE.md for general guidance, though the guidance here takes precedence.
Tech Stack
Set up the following tech stack:
- Rails ~8 with PostgreSQL - Server-side framework and database
- Inertia.js ~2.3 - Bridges Rails and React for SPA-like experience without API
- React ~19.2 - Frontend UI framework
- Vite ~5 - JavaScript bundler with HMR
- Tailwind CSS ~4 - Utility-first CSS framework
- Sidekiq 8 - Background job processing with scheduled jobs via sidekiq-scheduler
- Redis - Sessions, caching, and job queue
Rails guidance
- Do not use Kamal or Docker
- Do not use Rails "solid_*" components/systems
- Development should generally match production settings where possible
- Use Redis for caching
Database
- All tables use UUID primary keys (pgcrypto extension)
- Timestamps use
timestamptzfor timezone awareness - JSONB columns for flexible metadata storage
- Comprehensive indexing strategy for performance
- Encrypted fields for sensitive data (OAuth tokens, API keys)
Background jobs
- Use Sidekiq 8 with Redis
Testing
- Always use minitest
- Use
mochagem and VCR for external services (only in the providers layer) - Prefer
OpenStructfor mock instances - Only mock what's necessary
Code maintenace
- Run
bundle exec rubocop -aafter significant code changes - Use
.rubocop.ymlfor style configuration - Security scanning with
bundle exec brakeman
Frontend
- All React components and views should be TSX
General guidance
- Ask lots of clarifying questions when planning. The more the better. Make extensive use of AskUserQuestionTool to gather requirements and specifications. You can't ask too many questions.
Verify
Verify the boilerplate is working by running bin/rails server and accessing the application at http://localhost:3000 via playwright MCP.
Comments
Markdown supported