Rapyd Admin is an open-source admin panel for Laravel: a light alternative to Nova, Filament and Backpack for teams building SaaS products, and for development with AI agents. Plain Livewire + Blade files that live in your codebase, auth and multi-tenancy included, one command to start.
- Plain code, no DSL. No resource classes to learn: the generators write ordinary Livewire components and Blade views into
app/Modules, yours to edit. A unifiedx-rpd::component set gives every table, form and detail page the same shape. - Built for SaaS. Login, registration, 2FA and Google sign-in (Fortify + Socialite), roles and permissions (Spatie), multi-tenant Companies with 1–3 tiers, activity log, workflows. All bundled, all optional.
- Agent-friendly. Flat, self-contained module folders with consistent naming,
php artisan rpd:contextto brief an agent, and a verification loop (tests, browser) an agent can run by itself.
Requires PHP 8.2+, Laravel 12 or 13 and Livewire 4.
composer create-project laravel/laravel myapp && cd myapp
composer require zofe/rapyd-admin:^9 -W
php artisan rpd:make:setup # .env, database, configs, migrations, admin user, home page
php artisan serveLog in with admin@laravel / admin. You get a sidebar with Users, Companies, Roles & Permissions and Logs, a landing
page, and an app/Modules folder ready for your own modules.
-Wlets Composer downgrade Guzzle to 7 on Laravel 13:laravel/socialitestill requires it throughleague/oauth1-client. Google sign-in appears on the login page as soon asGOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRETare set, see docs/AUTH.md.
| Module | What it gives you |
|---|---|
| Auth | Fortify login, registration, password reset, email verification, 2FA; Google sign-in; users, roles and permissions pages; impersonation |
| Companies | Multi-tenant company hierarchy (1–3 tiers), owner/member role, data scoping through Limit and Authorize |
| Addresses | Postal addresses attachable to any model, with an embeddable editor |
| Workflow | Symfony Workflow state machines on your models, with transition buttons and history embeds |
| Log | Application log viewer with error analysis by AI, and an activity log of what users do |
| Search | Global search box in the navbar across the models you configure |
| Layout | Bootstrap 5.3 admin shell (sidebar, topbar, dark mode), the reference theme |
Every module can be copied into your app with php artisan rpd:eject Module when you need to change it deeply.
Details in docs/MODULES.md.
php artisan rpd:make all Article --module=Blogcreates app/Modules/Blog with a table, a detail page and a form for Article, its routes and a sidebar entry
(if the model does not exist yet, the command asks for its fields and creates it):
app/Modules/Blog/
├── Livewire/ArticlesTable.php ArticlesView.php ArticlesEdit.php
├── Views/articles_table.blade.php articles_view.blade.php articles_edit.blade.php menu.blade.php
├── config.php layout, menu entry and position
└── routes.php
The views are short because the work is done by the components:
<x-rpd::table title="Articles" :items="$items">
<x-slot name="filters">
<x-rpd::input col="col-8" model="search" placeholder="search..." />
</x-slot>
<table class="table">
<thead><tr><th><x-rpd::sort model="id" label="id" /></th><th>title</th></tr></thead>
<tbody>
@foreach ($items as $article)
<tr><td>{{ $article->id }}</td><td>{{ $article->title }}</td></tr>
@endforeach
</tbody>
</table>
</x-rpd::table><x-rpd::edit title="Article">
<x-rpd::input model="article.title" label="Title" />
<x-rpd::rich-text model="article.body" label="Body" />
</x-rpd::edit>Tables, detail pages, forms, every field type and the navigation components are documented in docs/COMPONENTS.md.
Colours, from .env, no build step (quote the values: an unquoted # is a comment):
RAPYD_PRIMARY="#6a1c9a" # buttons, links, active items
RAPYD_SIDEBAR_BG="#1e293b" # optional: sidebar, topbar and content backgrounds
RAPYD_SIDEBAR_TEXT="#f8fafc"Brand: RAPYD_BRAND, RAPYD_LOGO_SIDEBAR, RAPYD_LOGO_LOGIN, RAPYD_FAVICON, RAPYD_CUSTOM_CSS.
RAPYD_THEME=<name> activates an installed theme, RAPYD_THEME_SWITCH=true lets each visitor pick one from the navbar (see docs/THEMES.md).
RAPYD_AUTH_LINKS=false hides the Login / Register links of the frontend navbar (the routes stay, e.g. a public site whose login is reached from /login).
A different look: the admin shell is a theme, a folder of Blade layouts plus compiled assets activated with
RAPYD_THEME. Start from any Bootstrap 5 template, follow the contract in docs/THEMES.md and check
it with php artisan rpd:theme:check. Ready to use: zofe/theme-tabler, the
Tabler template (composer require zofe/theme-tabler, then RAPYD_THEME=tabler).
A single view: publish it to resources/views/vendor/rpd (components) or resources/views/vendor/layout
(layouts) and edit the copy. A whole module: php artisan rpd:eject Auth.
php artisan rpd:context # JSON brief: modules, routes, models, config, extension patterns
php artisan rpd:context --format=text --no-routesPaste it at the start of a session, or add to your CLAUDE.md / AGENTS.md:
Rapyd Admin app. Run `php artisan rpd:context --format=text` before changing modules.
New modules: `php artisan rpd:make all Model --module=Name`; follow the structure of app/Modules/*.
Verify with `vendor/bin/phpunit` and a browser check of the page you touched.
The package itself is developed this way: see docs/AI.md for the agent brief, the AI error analysis in the log viewer and the browser verification loop.
Anything beyond the bundle is a Composer package with the same structure as a bundled module: composer require,
php artisan migrate, done. Available today: zofe/shop-module, zofe/payments-module (Stripe, GoCardless, Paddle),
zofe/ai-module. Premium modules and themes will be distributed through a private Composer repository for subscribers.
How to write one: docs/MODULES.md.
vendor/bin/phpunit # in the package: PHPUnit + Orchestra Testbench, the same suite as CI- docs/COMPONENTS.md — tables, detail pages, forms, fields, navigation
- docs/MODULES.md — module structure, generators, config and menu, eject, Companies, Livewire 4 notes
- docs/AUTH.md — Fortify, Google sign-in, roles and permissions, impersonation
- docs/THEMES.md — the layout contract, design tokens, building a theme
- docs/AI.md —
rpd:context, AI error analysis, verification loop - CHANGELOG.md

