Skip to content

meerzulee/jumbo-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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
Trailblazer Business logic organization framework --skip-trailblazer

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-trailblazer

# 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

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •