PHPackages                             monorailphp/monorail - 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. [Admin Panels](/categories/admin)
4. /
5. monorailphp/monorail

ActiveLibrary[Admin Panels](/categories/admin)

monorailphp/monorail
====================

Server-Driven UI (SDUI) framework for Laravel + Inertia.js + React + shadcn/ui.

v0.4.1(1mo ago)511MITPHPPHP ^8.2CI passing

Since May 6Pushed 1mo agoCompare

[ Source](https://github.com/monorailphp/monorail)[ Packagist](https://packagist.org/packages/monorailphp/monorail)[ GitHub Sponsors](https://github.com/sponsors/maherelgamil)[ RSS](/packages/monorailphp-monorail/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (5)Dependencies (6)Versions (21)Used By (0)

Monorail
========

[](#monorail)

A **Server-Driven UI (SDUI)** framework for Laravel + Inertia.js + React + shadcn/ui.

```
┌───────────┐    UI Schema (JSON)     ┌───────────┐
│  Laravel  │ ──────────────────────► │   React   │
│   (PHP)   │     "render this"       │  (client) │
└───────────┘                         └───────────┘

```

Monorail sends widget definitions, table schemas, form configurations, and page blocks from PHP. The React layer is *stateless* — it renders whatever it receives. One source of truth, no duplicated validation, no client-side API surface to design.

**[→ Read the docs](docs/README.md)**

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 11 / 12 / 13
- Inertia.js v3 (`inertiajs/inertia-laravel`)
- Tailwind CSS v4 in the host app
- React 19 + `@inertiajs/react`
- Node.js 18+ (for npm)

Install
-------

[](#install)

```
composer require monorailphp/monorail
npm install monorailphp
```

Or use the install command (recommended):

```
php artisan monorail:install
```

Then wire up Tailwind and Vite — see the [Installation guide](docs/getting-started/installation.md).

Quick look
----------

[](#quick-look)

```
php artisan monorail:make-panel Admin
php artisan monorail:make-resource User
```

```
use App\Models\User;
use Monorail\Resources\Resource;
use Monorail\Tables\Columns\TextColumn;
use Monorail\Tables\Table;

final class UserResource extends Resource
{
    protected static string $model = User::class;

    public static function table(Table $table): Table
    {
        return $table
            ->columns([
                TextColumn::make('id')->sortable(),
                TextColumn::make('name')->sortable(),
                TextColumn::make('email')->sortable()->copyable(),
            ])
            ->searchable(['name', 'email']);
    }
}
```

Visit `/admin/users` — you get a sortable, searchable, paginated table, policy-gated and ready to extend. Add a `form()` to unlock create/edit. Full walkthrough: [Quick Start](docs/getting-started/quick-start.md).

Features
--------

[](#features)

- **Resources** — auto-generated list, create, edit, view pages
- **Tables** — columns, filters, row + bulk actions, pagination, search
- **Forms** — 12 field types, layout grouping (Section / Tabs), server-side validation
- **Widgets** — stats, charts, tables, recent records, activity feeds
- **Relation managers** — manage related records inline on edit/view
- **Custom pages** — drop a class in `Pages/`, it's auto-discovered
- **Authorization** — policy-gated at every level (nav, page, action)
- **Global search** — `Cmd+K` across resources
- **Notifications** — bell in the header, backed by `Notification::send()`
- **Theming** — primary/accent color, font, radius, density per panel
- **i18n + RTL** — locale switcher, JSON translations, automatic RTL
- **Panel auth** — opt-in self-contained login, registration, password reset, email verification, and profile pages per panel
- **Import / export** — Filament-style CSV importers and exporters, queued via batched jobs

Full reference in [docs/](docs/README.md).

Docs
----

[](#docs)

[Installation](docs/getting-started/installation.md)Requirements and wiring[Quick Start](docs/getting-started/quick-start.md)Your first panel + resource[Panel Configuration](docs/panels/configuration.md)Every `->` method, default, and behavior[Resources](docs/resources/overview.md)Model binding, pages, navigation[Tables](docs/tables/columns.md)Columns, filters, actions[Forms](docs/forms/fields.md)Field types, validation, layout[Widgets](docs/widgets/overview.md)Dashboard + resource widgets[Authorization](docs/authorization.md)Policies and visibility[i18n &amp; RTL](docs/i18n.md)Locale switcher, translations, logical layout[Configuration](docs/configuration.md)`config/monorail.php` reference and `vendor:publish` tagsTesting
-------

[](#testing)

```
git clone https://github.com/monorailphp/monorail.git
cd monorail
composer install
./vendor/bin/pest
```

Contributing
------------

[](#contributing)

PRs welcome — see the [contributing guide](docs/contributing.md).

License
-------

[](#license)

MIT © Maher El Gamil

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance89

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

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

Total

12

Last Release

57d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/36c2155f42ace990363515c144c4903ae8eca6d69742f74ad329ec4feb721709?d=identicon)[maherbusnes](/maintainers/maherbusnes)

---

Top Contributors

[![maherelgamil](https://avatars.githubusercontent.com/u/6294478?v=4)](https://github.com/maherelgamil "maherelgamil (68 commits)")

---

Tags

laravelinertiaadminreactpanel

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/monorailphp-monorail/health.svg)

```
[![Health](https://phpackages.com/badges/monorailphp-monorail/health.svg)](https://phpackages.com/packages/monorailphp-monorail)
```

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.6M1.0k](/packages/statamic-cms)[dcat-plus/laravel-admin

dcat-plus admin

1474.1k10](/packages/dcat-plus-laravel-admin)

PHPackages © 2026

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