zofe / rapyd-admin
rapyd admin for laravel
Requires
- php: ^8.2
- illuminate/config: ^11.0|^12.0|^13.0
- illuminate/contracts: ^11.0|^12.0|^13.0
- lab404/laravel-impersonate: ^1.7
- laravel/fortify: ^1.0
- laravel/framework: ^12.0|^13.0
- laravel/serializable-closure: ^2.0
- laravel/socialite: ^5.0
- livewire/livewire: ^4.0
- propaganistas/laravel-disposable-email: ^2.0
- spatie/laravel-activitylog: ^4.0
- spatie/laravel-permission: ^6.0
- zerodahero/laravel-workflow: ^6.0
Requires (Dev)
- orchestra/testbench: ^11
- phpunit/phpunit: ^11.0|^12.0
- spatie/laravel-ignition: ^2.12
Suggests
- laravel/scout: Full-text search behind Zofe\Rapyd\Traits\SSearch (set RAPYD_SEARCH_USE_SCOUT=true)
- meilisearch/meilisearch-php: Meilisearch driver for Laravel Scout
Provides
None
Conflicts
None
Replaces
None
- dev-main / 9.x-dev
- v9.13.3
- v9.13.2
- v9.13.1
- v9.13.0
- v9.12.1
- v9.12.0
- v9.11.2
- v9.11.1
- v9.11.0
- v9.10.0
- v9.9.1
- v9.9.0
- v9.8.3
- v9.8.2
- v9.8.1
- v9.8.0
- v9.7.3
- v9.7.2
- v9.7.1
- v9.7.0
- v9.6.5
- v9.6.4
- v9.6.3
- v9.6.2
- v9.6.1
- v9.6.0
- v9.5.0
- v9.4.0
- v9.3.0
- v9.2.0
- v9.1.0
- v9.0.0
- 8.0.0
- 7.0.1
- 7.0.0
- 6.0.0
- 2.8.1
- 2.8.0
- 2.7.2
- 2.7.1
- 2.7.0
- 2.6.9
- 2.6.8
- 2.6.7
- 2.6.6
- 2.6.5
- 2.6.4
- 2.6.3
- 2.6.2
- 2.6.1
- 2.6.0
- 2.2.x-dev
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.18
- 2.1.17
- 2.1.16
- 2.1.15
- 2.1.14
- 2.1.13
- 2.1.12
- 2.1.11
- 2.1.10
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.4.x-dev
- 1.3.x-dev
- 1.3.36
- 1.3.35
- 1.3.34
- 1.3.33
- 1.3.32
- 1.3.31
- 1.3.30
- 1.3.29
- 1.3.28
- 1.3.27
- 1.3.26
- 1.3.25
- 1.3.24
- 1.3.23
- 1.3.22
- 1.3.21
- 1.3.20
- 1.3.19
- 1.3.18
- 1.3.17
- 1.3.16
- 1.3.15
- 1.3.14
- 1.3.13
- 1.3.12
- 1.3.11
- 1.3.10
- 1.3.9
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.x-dev
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- 1.0.2
- 1.0.1
- v1.0.0
- 0.12.17
- 0.12.16
- 0.12.15
- 0.12.14
- 0.12.13
- 0.12.12
- 0.12.11
- 0.12.10
- 0.12.9
- 0.12.8
- 0.12.7
- 0.12.6
- 0.12.5
- 0.12.4
- 0.12.3
- 0.12.2
- 0.12.1
- 0.12.0
- 0.11.52
- 0.11.51
- 0.11.50
- 0.11.49
- 0.11.48
- 0.11.47
- 0.11.46
- 0.11.45
- 0.11.44
- 0.11.43
- 0.11.42
- 0.11.41
- 0.11.40
- 0.11.39
- 0.11.38
- 0.11.37
- 0.11.36
- 0.11.35
- 0.11.34
- 0.11.33
- 0.11.32
- 0.11.31
- 0.11.30
- 0.11.29
- 0.11.28
- 0.11.27
- 0.11.26
- 0.11.25
- 0.11.24
- 0.11.23
- 0.11.22
- 0.11.21
- 0.11.20
- 0.11.19
- 0.11.18
- 0.11.17
- 0.11.16
- 0.11.15
- 0.11.14
- 0.11.13
- 0.11.12
- 0.11.11
- 0.11.10
- 0.11.9
- 0.11.8
- 0.11.7
- 0.11.6
- 0.11.5
- 0.11.4
- 0.11.3
- 0.11.2
- 0.11.1
- 0.11.0
- 0.8.47
- 0.8.46
- 0.8.45
- 0.8.44
- 0.8.43
- 0.8.42
- 0.8.41
- 0.8.40
- 0.8.39
- 0.8.38
- 0.8.37
- 0.8.36
- 0.8.35
- 0.8.34
- 0.8.33
- 0.8.32
- 0.8.31
- 0.8.30
- 0.8.29
- 0.8.28
- 0.8.27
- 0.8.26
- 0.8.25
- 0.8.24
- 0.8.23
- 0.8.22
- 0.8.21
- 0.8.20
- 0.8.19
- 0.8.18
- 0.8.17
- 0.8.16
- 0.8.15
- 0.8.14
- 0.8.13
- 0.8.12
- 0.8.11
- 0.8.10
- 0.8.9
- 0.8.8
- 0.8.7
- 0.8.6
- 0.8.5
- 0.8.4
- 0.8.3
- 0.8.2
- 0.8.1
- v0.4.0
- dev-legacy-v8
- dev-master
- dev-rapyd-5
- dev-rapyd-7
- dev-rapyd-6
- dev-mshahamirian-master
- dev-fix-csv-on-macs
- dev-fixes53
- dev-ref
This package is auto-updated.
Last update: 2026-09-16 20:10:17 UTC
README
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.
Why Rapyd Admin
- 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.
Quick start
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 serve
Log 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.
What's included
| 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.
Your first module in two minutes
php artisan rpd:make all Article --module=Blog
creates 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.
Make it yours
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.
Working with AI agents
php artisan rpd:context # JSON brief: modules, routes, models, config, extension patterns
php artisan rpd:context --format=text --no-routes
Paste 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.
Modules and marketplace
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.
Testing
vendor/bin/phpunit # in the package: PHPUnit + Orchestra Testbench, the same suite as CI
Documentation
- 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

