PHPackages                             marekmiklusek/laravel-starter-kit-react - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. marekmiklusek/laravel-starter-kit-react

ActiveProject[Framework](/categories/framework)

marekmiklusek/laravel-starter-kit-react
=======================================

Laravel React starter kit with code quality tools pre-configured.

v1.2.3(1w ago)07MITTypeScriptPHP ^8.4CI passing

Since Mar 3Pushed 2mo agoCompare

[ Source](https://github.com/marekmiklusek/laravel-starter-kit-react)[ Packagist](https://packagist.org/packages/marekmiklusek/laravel-starter-kit-react)[ RSS](/packages/marekmiklusek-laravel-starter-kit-react/feed)WikiDiscussions main Synced today

READMEChangelog (6)Dependencies (82)Versions (22)Used By (0)

🚀 Laravel React Starter Kit
===========================

[](#-laravel-react-starter-kit)

[Laravel's official React starter kit](https://laravel.com/docs/12.x/starter-kits#react) enhanced with development workflow tools, code quality standards, and additional developer experience improvements from [laravel-starter-kit](https://github.com/marekmiklusek/laravel-starter-kit). ✨

Built with **Inertia.js**, **React**, **Tailwind CSS**, and **Laravel Wayfinder**.

📋 Requirements
--------------

[](#-requirements)

- PHP &gt;= 8.4.0
- Composer
- Node.js &amp; NPM
- MySQL (or your preferred database)

🚀 Quick Start
-------------

[](#-quick-start)

Note

- In `config/database.php`, `'engine' => 'InnoDB',` is used as the default for both `mysql` and `mariadb` connections.
- In `config/essentials.php`, models are unguarded by default via `Unguard::class => true`. This allows mass assignment without explicitly defining `$fillable` properties. You can change this setting if you prefer to use guarded models.

### 📦 Installation

[](#-installation)

Create a new Laravel React project:

```
composer create-project marekmiklusek/laravel-starter-kit-react --prefer-dist app-name
```

Run the automated setup script:

```
composer setup
```

This command will:

1. Install PHP dependencies via Composer
2. Create `.env` file from `.env.example` (if not exists)
3. Generate application key
4. Run database migrations
5. Install NPM dependencies
6. Build frontend assets

### ⚙️ Additional Setup

[](#️-additional-setup)

#### 🔧 Environment Configuration

[](#-environment-configuration)

After running `composer setup`, configure your `.env` file with your database credentials:

```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password
```

#### 🌐 Browser Testing Setup (Optional)

[](#-browser-testing-setup-optional)

If you plan to use Pest's browser testing capabilities, install Playwright:

```
npm install playwright
npx playwright install
```

This installs the necessary browser binaries for running browser tests.

💻 Development
-------------

[](#-development)

### 🖥️ Running the Development Server

[](#️-running-the-development-server)

Start all development services concurrently:

```
composer dev
```

This starts:

- **Laravel development server** (port 8000) - Your Inertia + React application
- **Queue listener** - Background job processing
- **Vite dev server** - Hot Module Replacement for React/CSS/JS

Your application will be available at `http://localhost:8000` 🎉

#### SSR Mode

[](#ssr-mode)

To run with server-side rendering:

```
composer dev:ssr
```

### 🔐 Authentication

[](#-authentication)

#### Enable / Disable Registration

[](#enable--disable-registration)

User self-registration is controlled by a single switch via the `FORTIFY_REGISTRATION_ENABLED` env variable:

```
FORTIFY_REGISTRATION_ENABLED=true   # default — registration is open
FORTIFY_REGISTRATION_ENABLED=false  # disable registration
```

When set to `false`:

- The `/register` route is not registered and returns **404**
- The "Don't have an account? Sign up" link on the login page is hidden automatically

The flag is also exposed as `config()->boolean('fortify.registration_enabled')` if you need to read it elsewhere in the application.

🌍 Localization
--------------

[](#-localization)

The starter kit ships with full multilingual support. **English** (`en`) and **Czech** (`cs`) are included out of the box, and every user-facing string in the React frontend goes through the translator.

### 🔧 Switching the Locale

[](#-switching-the-locale)

Set the locale in your `.env` file:

```
APP_LOCALE=cs
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=cs_CZ
```

After saving, the entire UI — auth pages, settings, dashboard, navigation, validation messages — renders in the selected language. No build step is needed for translation changes; the JSON dictionary is loaded server-side per request.

### 📁 Language Files

[](#-language-files)

```
lang/
├── en.json              # English UI strings (key → translation)
├── cs.json              # Czech UI strings
├── en/
│   ├── auth.php         # Laravel auth messages
│   ├── pagination.php
│   ├── passwords.php
│   └── validation.php   # Laravel validation messages
└── cs/
    ├── auth.php
    ├── pagination.php
    ├── passwords.php
    └── validation.php

```

`*.json` holds the application-level strings keyed by their English source text (Laravel's idiomatic JSON translation format). The PHP files cover Laravel's framework-level messages.

### ⚛️ Using Translations in React

[](#️-using-translations-in-react)

The current locale and translations dictionary are shared as Inertia props by `HandleInertiaRequests`. Use the `useTranslations` hook in any component:

```
import { useTranslations } from '@/hooks/use-translations';

export default function MyComponent() {
    const __ = useTranslations();

    return {__('Welcome')};
}
```

The hook also supports `:placeholder` interpolation:

```
__('Hello :name', { name: 'Marek' });
```

### ➕ Adding a New Language

[](#-adding-a-new-language)

1. Create `lang/{locale}.json` with the same keys as `lang/en.json`.
2. Create `lang/{locale}/` and translate `auth.php`, `pagination.php`, `passwords.php`, `validation.php`.
3. Set `APP_LOCALE={locale}` in `.env`.

🔍 Code Quality
--------------

[](#-code-quality)

### 🧹 Linting &amp; Formatting

[](#-linting--formatting)

Fix code style issues:

```
composer lint
```

This runs:

- Rector (PHP refactoring)
- Laravel Pint (PHP formatting)
- ESLint &amp; Prettier (frontend formatting)

### 🧪 Testing

[](#-testing)

Run the full test suite:

```
composer test
```

This includes:

- Type coverage (100% minimum)
- Code coverage (100% required)
- Unit and feature tests (Pest)
- Code style validation
- Static analysis (PHPStan)

### 🌐 Browser Testing

[](#-browser-testing)

This starter kit includes Pest 4 with browser testing capabilities. Create browser tests in `tests/Browser/`:

```
it('displays the login page', function () {
    $page = visit('/login');

    $page->assertSee(__('Log in to your account'))
        ->assertNoJavascriptErrors();
});
```

📜 Available Scripts
-------------------

[](#-available-scripts)

### 🎼 Composer Scripts

[](#-composer-scripts)

- `composer setup` - Initial project setup
- `composer dev` - Run all development services
- `composer dev:ssr` - Run with server-side rendering
- `composer lint` - Fix code style issues
- `composer test` - Run full test suite
- `composer test:unit` - Run Pest tests only
- `composer test:types` - Run PHPStan analysis
- `composer test:type-coverage` - Check type coverage
- `composer test:lint` - Validate code style
- `composer ci:check` - Run all CI checks (lint, format, types, tests)

### 📦 NPM Scripts

[](#-npm-scripts)

- `npm run dev` - Start Vite dev server
- `npm run build` - Build for production
- `npm run build:ssr` - Build for production with SSR
- `npm run lint` - Fix frontend lint issues
- `npm run lint:check` - Check frontend lint issues
- `npm run format` - Format frontend code with Prettier
- `npm run format:check` - Check frontend formatting
- `npm run types:check` - Check TypeScript types

📄 License
---------

[](#-license)

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance92

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Recently: every ~14 days

Total

21

Last Release

10d ago

Major Versions

v0.2.4 → v1.0.02026-04-27

v0.2.5 → v1.0.12026-04-27

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/112761697?v=4)[Marek Miklušek](/maintainers/marekmiklusek)[@marekmiklusek](https://github.com/marekmiklusek)

---

Top Contributors

[![marekmiklusek](https://avatars.githubusercontent.com/u/112761697?v=4)](https://github.com/marekmiklusek "marekmiklusek (39 commits)")

---

Tags

laravelreactstarter-kit

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/marekmiklusek-laravel-starter-kit-react/health.svg)

```
[![Health](https://phpackages.com/badges/marekmiklusek-laravel-starter-kit-react/health.svg)](https://phpackages.com/packages/marekmiklusek-laravel-starter-kit-react)
```

###  Alternatives

[nunomaduro/laravel-starter-kit-inertia-react

The skeleton application for the Laravel framework.

2071.1k](/packages/nunomaduro-laravel-starter-kit-inertia-react)[codewithdennis/larament

Larament is a time-saving starter kit to quickly launch Laravel 13.x projects. It includes FilamentPHP 5.x pre-installed and configured, along with additional tools and features to streamline your development workflow.

3991.8k](/packages/codewithdennis-larament)[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
