Skill

Generate New Rails Project with Opinionated Stack

A skill for bootstrapping a new opinionated Rails project with PostgreSQL, Inertia.js, React, Vite, Tailwind, and Sidekiq.

Works with railspostgresqlinertiajsreactvite

82
Spark score
out of 100
Updated today
Version 15.11.0

Add to Favorites

Why it matters

Bootstrap a new Rails project with a pre-defined, opinionated tech stack including PostgreSQL, Inertia.js, React, Vite, Tailwind CSS, Sidekiq, and Redis. This asset handles project creation, setup, and initial testing.

Outcomes

What it gets done

01

Create a new Rails project with specified dependencies.

02

Configure PostgreSQL, Inertia.js, React, Vite, Tailwind CSS, Sidekiq, and Redis.

03

Set up database conventions including UUID primary keys and timezone-aware timestamps.

04

Implement testing strategies using Minitest and Mocha.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/ag-new-rails-project | bash

Overview

Tech Stack

Bootstraps a new Rails project with an opinionated stack - PostgreSQL, Inertia.js, React, Vite, Tailwind, Sidekiq, Redis - and preset conventions for database, testing, and code style. Use when starting a brand-new project on this exact stack; not a general-purpose Rails generator for other tech choices.

What it does

This skill generates a new Rails project with a specific, opinionated tech stack already planned together: Rails ~8 with PostgreSQL as the server-side framework and database, Inertia.js ~2.3 bridging Rails and React for an SPA-like experience without a separate API layer, React ~19.2 for the frontend, Vite ~5 as the JavaScript bundler with hot module reloading, Tailwind CSS ~4 for utility-first styling, Sidekiq 8 with sidekiq-scheduler for background and scheduled jobs, and Redis for sessions, caching, and the job queue.

It encodes specific conventions rather than defaults: no Kamal or Docker, no Rails solid_* components, and development settings that generally match production. All database tables use UUID primary keys via the pgcrypto extension, timestamps use timestamptz for timezone awareness, JSONB columns handle flexible metadata, sensitive fields like OAuth tokens and API keys are encrypted, and indexing is applied comprehensively for performance. Testing standardizes on minitest, with the mocha gem and VCR reserved for external services only in the providers layer, preferring OpenStruct for mock instances, and mocking only what's necessary. Code maintenance runs bundle exec rubocop -a after significant changes (configured via .rubocop.yml) and security scanning via bundle exec brakeman. All React components and views are written in TSX.

When to use - and when NOT to

Use it when bootstrapping a brand-new Rails project that should start with this exact stack - Rails, PostgreSQL, Inertia.js, React, Vite, Tailwind, Sidekiq, and Redis - already planned together, along with setup guidance covering project creation, conventions, testing, and verification.

Use this skill only when the task clearly matches the scope described above - it is not a substitute for environment-specific validation, testing, or expert review, and you should stop and ask for clarification if required inputs, permissions, or success criteria are missing. The skill explicitly encourages asking extensive clarifying questions during planning rather than assuming requirements.

Inputs and outputs

Input is the desired project name. Output is a scaffolded Rails application matching the stack and conventions above. To verify the boilerplate is working, run:

bin/rails server

then access the application at http://localhost:3000 via a Playwright MCP check.

Who it's for

Developers and teams standardizing on this specific Rails plus Inertia.js plus React plus Sidekiq stack who want a new project bootstrapped with the right conventions from the first commit rather than retrofitted later - for example an internal tool or product MVP where the team has already committed to this exact combination of framework, background job processor, and frontend approach and wants consistent database, testing, and linting conventions applied from day one.

FAQ

Common questions

Discussion

Questions & comments ยท 0

Sign In Sign in to leave a comment.