PHPackages                             marekmiklusek/laravel-starter-kit-livewire - 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-livewire

ActiveProject[Framework](/categories/framework)

marekmiklusek/laravel-starter-kit-livewire
==========================================

A Laravel livewire starter kit with code quality tools pre-configured.

v1.4.3(1w ago)19MITPHPPHP ^8.4.0CI passing

Since Nov 6Pushed 2mo agoCompare

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

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

🚀 Laravel Livewire Starter Kit
==============================

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

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

📋 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 Livewire project:

```
composer create-project marekmiklusek/laravel-starter-kit-livewire --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. Create `.env.production` file from `.env.example` (if not exists)
4. Generate application key
5. Run database migrations
6. Install NPM dependencies
7. 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.

#### 🌍 Localization

[](#-localization)

The starter kit ships with English (`en`) and Czech (`cs`) translations. Translation files live in the `lang/` directory:

```
lang/
├── en.json              # UI strings (English)
├── cs.json              # UI strings (Czech)
├── en/
│   ├── auth.php         # Authentication messages
│   ├── passwords.php    # Password reset messages
│   ├── pagination.php   # Pagination labels
│   └── validation.php   # Validation messages
└── cs/
    ├── auth.php
    ├── passwords.php
    ├── pagination.php
    └── validation.php

```

Switch the active language by setting `APP_LOCALE` in your `.env` file:

```
APP_LOCALE=cs
APP_FALLBACK_LOCALE=en
```

To add another language, create a new `lang/{locale}.json` for UI strings and a matching `lang/{locale}/` directory for the framework files.

#### 🔐 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.

#### 🔑 Enable / Disable Two-Factor Authentication

[](#-enable--disable-two-factor-authentication)

Two-factor authentication is controlled by a single switch via the `FORTIFY_2FA_ENABLED` env variable:

```
FORTIFY_2FA_ENABLED=true   # default — 2FA is available
FORTIFY_2FA_ENABLED=false  # disable 2FA
```

When set to `false`:

- The `/settings/two-factor` route is not registered and returns **404**
- The "Two-Factor Auth" link in the settings sidebar is hidden automatically
- Fortify's `/two-factor-*` endpoints (challenge, enable, confirm, recovery codes) are not registered

The `TwoFactorAuthenticatable` trait stays on the `User` model — it is inert without the feature registered, and removing it would break factories that fill 2FA columns. Tests always run with 2FA enabled regardless of `.env` (forced via `phpunit.xml`), so the 100% coverage gate is not affected by toggling this flag locally.

#### 🚀 Production Environment

[](#-production-environment)

The setup script automatically creates a `.env.production` file. Configure it with production-specific settings:

```
# Edit .env.production with your production settings
```

Configure production environment variables:

- Set `APP_ENV=production`
- Set `APP_DEBUG=false`
- Configure production database credentials
- Set secure `APP_KEY` (generated during setup)
- Configure mail, cache, queue, and session drivers
- Set proper logging channels

💻 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 Livewire application
- **Queue listener** - Background job processing
- **Log viewer (Pail)** - Real-time log monitoring
- **Vite dev server** - Hot Module Replacement for CSS/JS

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

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

[](#-code-quality)

### 🧹 Linting &amp; Formatting

[](#-linting--formatting)

Fix code style issues:

```
composer lint
```

This runs:

- Rector (PHP refactoring)
- Laravel Pint (PHP formatting)
- 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')
        ->assertNoJavascriptErrors();
});
```

### 🧪 Testing Livewire Components

[](#-testing-livewire-components)

Test your Livewire components with Pest's built-in Livewire testing:

```
use Livewire\Livewire;

it('can update user profile', function () {
    $user = User::factory()->create();

    Livewire::actingAs($user)
        ->test(\App\Livewire\Settings\Profile::class)
        ->set('name', 'New Name')
        ->call('save')
        ->assertHasNoErrors()
        ->assertDispatched('profile-updated');

    expect($user->fresh()->name)->toBe('New Name');
});
```

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

[](#-available-scripts)

### 🎼 Composer Scripts

[](#-composer-scripts)

- `composer setup` - Initial project setup
- `composer dev` - Run all development services
- `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 update:requirements` - Update all dependencies

### 📦 NPM Scripts

[](#-npm-scripts)

- `npm run dev` - Start Vite dev server
- `npm run build` - Build for production
- `npm run lint` - Format frontend code
- `npm run test:lint` - Check frontend code style

📄 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

Maintenance91

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity62

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 ~11 days

Total

21

Last Release

11d ago

### 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 (34 commits)")

---

Tags

frameworklaravel

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

### Embed Badge

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

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

###  Alternatives

[unopim/unopim

UnoPim Laravel PIM

10.5k2.4k](/packages/unopim-unopim)[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)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[nunomaduro/laravel-starter-kit-inertia-react

The skeleton application for the Laravel framework.

2071.1k](/packages/nunomaduro-laravel-starter-kit-inertia-react)[ercogx/laravel-filament-starter-kit

This is a Filament v5 Starter Kit for Laravel 13, designed to accelerate the development of Filament-powered applications.

461.7k](/packages/ercogx-laravel-filament-starter-kit)

PHPackages © 2026

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