RailsReactStarter

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.

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-01View source

What stands out

A quick read of the recorded project description.

01

Rails backend and React + TypeScript frontend integrated via Inertia.js

02

Integrates the shadcn/ui component library

03

Built-in user authentication system based on Authentication Zero

04

Deployment with Kamal, with optional SSR support

05

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.

RailsReactStarter kit

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. 1

    After cloning the repository, run bin/setup to install dependencies and start the service, then visit http://localhost:3000

  2. 2

    SSR is off by default; set config.ssr_enabled = true in config/initializers/inertia_rails.rb

  3. 3

    For production images, pass SSR_ENABLED=true at build time; for Kamal deployment, add it to builder.args in config/deploy.yml

  4. 4

    In development, simply enabling ssr_enabled is enough; Vite provides SSR and HMR through the development endpoint

  5. 5

    Changes to the application itself should be submitted to inertia-rails/generator; most files in this repository are overwritten on sync

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This 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

This starter kit ships SSR-ready but turned off.

Original README
https://github.com/inertia-rails/react-starter-kit/blob/main/LICENSEhttps://github.com/inertia-rails/react-starter-kit/blob/main/README.md

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).
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.