Skip to content

Latest commit

 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jumbo

Production-ready Rails 8.1 in one command.

Quick Start

curl -fsSL rails.mrz.sh | sh -s myapp

Or using the full command:

rails new myapp --skip-js -d=postgresql -m=https://rails.mrz.sh/t

Feature Groups

The 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
Operations Business logic framework (ApplicationOperation + Result) --skip-operations

Operations add-on modules

When Operations is enabled, four optional base classes can be installed via --operations-include. The default is all modules.

Module Installs Directory
policies ApplicationPolicy app/policies/
validators ApplicationValidator app/validators/
queries ApplicationQuery app/queries/
gateways ApplicationGateway app/gateways/
# Only Operation + Result + Policy + Gateway
rails new myapp ... --operations-include=policies,gateways

# Just the core (Operation + Result), no add-ons
rails new myapp ... --operations-include=

Usage Examples

# 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-operations

# Pick a subset of Operation modules
rails new myapp --skip-js -d=postgresql -m=https://rails.mrz.sh/t --operations-include=policies,gateways

# With curl installer
curl -fsSL rails.mrz.sh | sh -s myapp --skip-inertia --skip-devtools

What's Included

Frontend Stack

  • 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

Backend Stack

  • Rails 8.1 with PostgreSQL
  • Solid Queue - Database-backed Active Job backend
  • Solid Cache - Database-backed caching
  • Solid Cable - Database-backed Action Cable

Deployment

  • 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

Developer Experience

  • Procfile.dev - Run Rails + Vite simultaneously
  • pgreset - Quick PostgreSQL database reset
  • annotaterb - Auto-annotate models with schema
  • letter_opener - Preview emails in browser

Before Deploying

1. Update config/deploy.yml

Replace the placeholders:

  • APP_NAME - Your application name
  • REGISTRY_USERNAME - Your Docker registry username

2. Update config/deploy.staging.yml

Replace the placeholders:

  • STAGING_SERVER_IP - Your staging server IP
  • staging.example.com - Your staging domain
  • deploy - Your SSH username
  • 22 - Your SSH port (if different)

3. Update config/deploy.production.yml

Replace the placeholders:

  • PRODUCTION_SERVER_IP - Your production server IP
  • example.com - Your production domain
  • deploy - Your SSH username
  • 22 - Your SSH port (if different)

4. Set up Kamal secrets

Configure .kamal/secrets:

  • KAMAL_REGISTRY_PASSWORD - Docker registry password
  • RAILS_MASTER_KEY - From config/credentials/production.key
  • POSTGRES_PASSWORD - PostgreSQL password

5. Deploy

# Deploy to staging
kamal deploy -d staging

# Deploy to production
kamal deploy -d production

Roadmap

  • React shadcn/ui components
  • Add Claude skills

Links

Development

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 clean

Project Structure

src/
├── template.rb     # Rails template file → dist/t
└── template/       # Template files → dist/template/

public/             # Static assets → dist/
dist/               # Build output (gitignored)

License

MIT

About

Rails 8.1 template

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages