Production-ready Rails 8.1 in one command.
curl -fsSL rails.mrz.sh | sh -s myappOr using the full command:
rails new myapp --skip-js -d=postgresql -m=https://rails.mrz.sh/tThe template includes 5 optional feature groups. By default, all features are included.
| Feature | Description | Skip Flag |
|---|---|---|
| Inertia Rails | React + TypeScript + Tailwind + shadcn/ui + Vite | --skip-inertia |
| Multi-staging | Kamal + Docker + multi-DB + staging/production | --skip-multistaging |
| Authentication | authentication-zero gem | --skip-auth |
| Developer Tools | RuboCop + Annotaterb + Zellij + Letter Opener | --skip-devtools |
| Trailblazer | Business logic organization framework | --skip-trailblazer |
# Interactive mode - prompts for each feature
rails new myapp --skip-js -d=postgresql -m=https://rails.mrz.sh/t
# Accept all features (no prompts)
rails new myapp --skip-js -d=postgresql -m=https://rails.mrz.sh/t -y
# Skip specific features (auto-accepts the rest)
rails new myapp --skip-js -d=postgresql -m=https://rails.mrz.sh/t --skip-auth
# Skip multiple features
rails new myapp --skip-js -d=postgresql -m=https://rails.mrz.sh/t --skip-auth --skip-trailblazer
# With curl installer
curl -fsSL rails.mrz.sh | sh -s myapp --skip-inertia --skip-devtools- Inertia.js + React - SPA experience without the complexity
- TypeScript - Type-safe frontend development
- Tailwind CSS - Utility-first styling
- shadcn/ui - Beautiful, accessible UI components
- Vite - Lightning-fast HMR and bundling
- Bun - Fast package manager
- Rails 8.1 with PostgreSQL
- Solid Queue - Database-backed Active Job backend
- Solid Cache - Database-backed caching
- Solid Cable - Database-backed Action Cable
- Kamal - Zero-downtime deployments
- Multi-stage environments - Development, staging, and production
- Environment-specific credentials - Separate encrypted credentials per environment
- Environment-specific seeds - Organized seed files per environment
- Procfile.dev - Run Rails + Vite simultaneously
- pgreset - Quick PostgreSQL database reset
- annotaterb - Auto-annotate models with schema
- letter_opener - Preview emails in browser
Replace the placeholders:
APP_NAME- Your application nameREGISTRY_USERNAME- Your Docker registry username
Replace the placeholders:
STAGING_SERVER_IP- Your staging server IPstaging.example.com- Your staging domaindeploy- Your SSH username22- Your SSH port (if different)
Replace the placeholders:
PRODUCTION_SERVER_IP- Your production server IPexample.com- Your production domaindeploy- Your SSH username22- Your SSH port (if different)
Configure .kamal/secrets:
KAMAL_REGISTRY_PASSWORD- Docker registry passwordRAILS_MASTER_KEY- Fromconfig/credentials/production.keyPOSTGRES_PASSWORD- PostgreSQL password
# Deploy to staging
kamal deploy -d staging
# Deploy to production
kamal deploy -d production- React shadcn/ui components
- Add Claude skills
- Website: https://rails.mrz.sh
- GitHub: https://github.com/meerzulee/jumbo-template
Working on the template itself:
# Build dist/ from src/ and public/
make build
# Run local dev server
make dev
# Deploy to Cloudflare
make deploy
# Clean build output
make cleansrc/
├── template.rb # Rails template file → dist/t
└── template/ # Template files → dist/template/
public/ # Static assets → dist/
dist/ # Build output (gitignored)
MIT