Rails backend and React + TypeScript frontend integrated via Inertia.js
react-starter-kit — Rails Starter Template
By inertia-rails
A full-stack Inertia.js starter based on Rails and React, with built-in user authentication, shadcn/ui components, Vite, and Kamal deployment configuration, plus optional SSR.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 2
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
Integrates the shadcn/ui component library
Built-in user authentication system based on Authentication Zero
Deployment with Kamal, with optional SSR support
Generated by inertia-rails/generator and automatically synced
Template Details
This is a full-stack Inertia.js starter application with a Rails backend and React frontend, built along the lines of the Laravel React Starter Kit; the repository is generated by inertia-rails/generator and automatically synced.
Technically, the project uses Inertia Rails and Vite Rails for frontend-backend integration and asset building, with a React + TypeScript frontend and the shadcn/ui component library; the user authentication system is based on Authentication Zero; deployment uses Kamal. SSR is off by default but ready to enable: a Puma plugin manages the Node.js renderer in-process, with no separate companion service required.
To use it, clone the repository, run bin/setup, and visit local port 3000. For SSR, set config.ssr_enabled = true in config/initializers/inertia_rails.rb and pass SSR_ENABLED=true when building the image; in development, simply toggling ssr_enabled is enough, and Vite provides SSR and HMR through the development endpoint.
Note that most files in the repository are overwritten by the generator on each sync; changes to the application itself should be submitted to inertia-rails/generator, and only the README and deployment workflow are maintained in this repository. If you need a different framework, JavaScript instead of TypeScript, or a different feature combination, you can generate your own using rails new with the generator template.
Is it right for your project?
Use Cases
- Quickly scaffolding a full-stack Rails + React application
- Integrated frontend-backend projects that need Inertia.js rather than a separate API
- React frontends that want to use shadcn/ui and TypeScript directly
- Starter projects that need built-in user authentication and Kamal deployment configuration
Suitable For
- Developers familiar with Rails who want to add a React frontend
- Teams that need an Inertia.js full-stack approach rather than a decoupled architecture
- Projects that want to customize framework or language options via the generator
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, run bin/setup to install dependencies and start the service, then visit http://localhost:3000
- 2
SSR is off by default; set config.ssr_enabled = true in config/initializers/inertia_rails.rb
- 3
For production images, pass SSR_ENABLED=true at build time; for Kamal deployment, add it to builder.args in config/deploy.yml
- 4
In development, simply enabling ssr_enabled is enough; Vite provides SSR and HMR through the development endpoint
- 5
Changes to the application itself should be submitted to inertia-rails/generator; most files in this repository are overwritten on sync
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version of the public repository under the MIT license; the free scope is the code of that version and does not imply that external services or third-party assets are free.
Must comply with when using
- You may use, modify, commercialize, and distribute the code of this version for free.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Most files in the repository are generated by inertia-rails/generator and overwritten on each sync; changes to the application itself must be submitted to the generator repository, and only the README and deployment workflow are maintained in this repository.
- SSR is off by default; to enable it, set config.ssr_enabled = true in config/initializers/inertia_rails.rb and pass SSR_ENABLED=true when building the production image.
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
To contribute changes to the app itself, open a PR against the generator
Original README
https://github.com/inertia-rails/react-starter-kit/blob/main/LICENSEhttps://github.com/inertia-rails/react-starter-kit/blob/main/README.mdThis starter kit ships SSR-ready but turned off.
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-02. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- GitHub
- Documentation and maintenance reference score
- More documented · 96 / 100
- Technologies
- Rails · React
- Website type
- Starter
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-09-25
- Screenshot last checked
- 2026-10-02
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Rails as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Automatically checked against source and license rules; no manual editorial review.
Inspect the recorded source material
SHA-256: 7970360c4cc92b9a6c0595b8c57b7457dc0d7d5577dbc5aba360a3d6bbfda7c6
2026-10-02T03:15:48.414Z
Source file / repository# Inertia Rails React Starter Kit
A modern full-stack starter application with Rails backend and React frontend using Inertia.js based on the [Laravel Starter Kit](https://github.com/laravel/react-starter-kit).
## About this repo
This starter kit is generated output of [inertia-rails/generator](https://github.com/inertia-rails/generator):
each generator release regenerates the app and opens an automated sync PR here, so most files in this repo
are overwritten on every sync. **To contribute changes to the app itself, open a PR against the generator** —
only this README and the deploy workflow are kit-owned.
Prefer different options (framework, JavaScript instead of TypeScript, feature set)? Generate your own app:
```sh
rails new myapp -m https://raw.githubusercontent.com/inertia-rails/generator/dist/template.rb
```
## Features
- [Inertia Rails](https://inertia-rails.dev) & [Vite Rails](https://vite-ruby.netlify.app) setup
- [React](https://react.dev) frontend with TypeScript & [shadcn/ui](https://ui.shadcn.com) component library
- User authentication system (based on [Authentication Zero](https://github.com/lazaronixon/authentication-zero))
- [Kamal](https://kamal-deploy.org/) for deployment
- Optional SSR support
See also:
- [Svelte Starter Kit](https://github.com/inertia-rails/svelte-starter-kit) for Inertia Rails with Svelte
- [Vue Starter Kit](https://github.com/inertia-rails/vue-starter-kit) for Inertia Rails with Vue
<a href="https://evilmartians.com/?utm_source=inertia-rails-react-starter-kit&utm_campaign=project_page">
<img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg" alt="Built by Evil Martians" width="236" height="54">
</a>
## Setup
1. Clone this repository
2. Setup dependencies & run the server:
```bash
bin/setup
```
3. Open http://localhost:3000
## Enabling SSR
This starter kit ships SSR-ready but turned off. The Puma plugin
([`plugin :inertia_ssr`](config/puma.rb)) manages the Node.js renderer
in-process — no separate accessory required.
To turn SSR on, flip two switches:
1. Set `config.ssr_enabled = true` in [`config/initializers/inertia_rails.rb`](config/initializers/inertia_rails.rb).
2. Build the image with `SSR_ENABLED=true` so the SSR bundle ships
alongside the app. Two ways:
**With Kamal** — add to [`config/deploy.yml`](config/deploy.yml):
```yml
builder:
args:
SSR_ENABLED: true
```
**By hand** — pass the build arg directly:
```bash
docker build --build-arg SSR_ENABLED=true -t react_starter_kit .
```
That's it. Puma boots the SSR process automatically when
`ssr_enabled` is true, and Inertia falls back to client-side
rendering if it ever fails (see `config.on_ssr_error`).
In development, flipping `ssr_enabled` is enough — Vite serves SSR
via its own dev endpoint with HMR. The Docker build arg only matters
for production images.
## License
The project is available as open source under the terms of the [MIT License](LICENSE).
Explore similar templates
Compare previews and descriptions within the same stack and category.

rails-tabler-starter
A free, open-source Ruby on Rails backend starter using Tabler (Bootstrap 5) with Hotwire/Turbo.
Rails · Admin dashboard

plutonium-core
Plutonium is a Rails-based admin and starter template that uses generators to write CRUD, authentication, authorization, multi-tenancy, portals, search and filtering, and bulk actions directly into project code.
Rails · Admin dashboard

ace-template
Ace Template is a Rails application template applied via rails new, supporting interactive mode and command-line options, with SQLite, Postgres, and MySQL support, Tailwind or Bootstrap styling, and deployment instructions for Kamal, Fly.io, and Heroku.
Rails · Starter

kern
Kern is a Rails engine that provides foundational SaaS features: authentication and user settings based on Rails' authentication generator, multi-tenancy via Workspace and Member with multiple Roles, team invitations, Stripe subscription billing configured through plans.yml and credentials, plus a form builder, basic…
Rails · SaaS

rails-react-starter
Rails React Starter is an MIT-licensed starter that pairs a Rails JSON API backend with a React frontend, including TailwindCSS and Docker configuration.
Rails · Starter

SknServices
SknServices is a Rails 5 starter application focused on authentication and authorization, demonstrating content-level permission models through both XML files and a PostgreSQL database.
Rails · Starter
