lattice-php / lattice
Server-driven React components for Laravel and Inertia.
Requires
- php: ^8.4
- illuminate/http: ^11.0 || ^12.0 || ^13.0
- illuminate/support: ^11.0 || ^12.0 || ^13.0
- inertiajs/inertia-laravel: ^3.0
- spatie/laravel-package-tools: ^1.16 || ^2.0
- spatie/php-attribute-reader: ^1.1
- spatie/php-structure-discoverer: ^2.4
- symfony/html-sanitizer: ^8.1
- ueberdosis/tiptap-php: ^2.1
Requires (Dev)
- bambamboole/extended-faker: ^0.8.0
- bambamboole/laravel-i18next: ^0.6.0
- barryvdh/laravel-ide-helper: ^3.7
- fruitcake/laravel-debugbar: ^4.3
- larastan/larastan: ^3.0
- laravel/boost: ^2.4
- laravel/pint: ^1.16
- laravel/reverb: ^1.10
- lattice-php/signature-example: @dev
- league/flysystem-aws-s3-v3: ^3.34
- mrpunyapal/peststan: ^0.2.10
- orchestra/testbench: ^9.0 || ^10.0 || ^11.0
- pestphp/pest: ^4.0
- pestphp/pest-plugin-browser: ^4.3
- pestphp/pest-plugin-laravel: ^4.0
- rector/rector: ^2.4
- spatie/laravel-typescript-transformer: ^3.2
Suggests
- spatie/laravel-typescript-transformer: Only needed to run `php artisan lattice:typescript` when your app defines custom PHP wire types (components, fields, columns, filters, effects)
This package is auto-updated.
Last update: 2026-07-20 15:25:18 UTC
README
Server-driven React components for Laravel and Inertia.
Lattice lets you describe your interface — pages, forms, tables, actions, and menus — in PHP on the server and render it with real React components on the client over Inertia. You keep building the way you already do in Laravel, while your users get a polished React front end, with no hand-wired API and no UI contract duplicated across two languages.
Installation
composer require lattice-php/lattice npm install @lattice-php/lattice
See Installation for the full setup. No Node toolchain? Lattice also ships prebuilt assets — publish them with php artisan lattice:assets and skip the npm step entirely; see No-build setup.
Documentation
Full documentation, guides, and examples live at latticephp.com.
Generating types for custom wire classes
If you define your own Lattice components, fields, columns, filters, or effects in PHP, regenerate the matching TypeScript so the React side stays in lockstep:
php artisan lattice:typescript
Projects that use only Lattice's bundled components never need this — the command detects it and no-ops. Generating custom types requires the dev dependency spatie/laravel-typescript-transformer.
License
The MIT License (MIT). See LICENSE.md for details.