alex-kudrya / adminix
Fast deployment, easy configurable admin panel for Laravel apps
Requires
- php: >=8.2
- ext-mbstring: *
- ext-pdo: *
- ext-simplexml: *
- illuminate/contracts: ^12.0|^13.0
- illuminate/http: ^12.0|^13.0
- illuminate/support: ^12.0|^13.0
- laravel/framework: ^12.0|^13.0
- nesbot/carbon: ^2.67|^3.0
- symfony/http-foundation: ^6.3|^7.0|^8.0
Requires (Dev)
- ext-pdo_sqlite: *
- laravel/pint: ^1.13
- orchestra/testbench: ^10.0|^11.0
- phpunit/phpunit: ^10.5|^11.0
Suggests
- ext-mongodb: Required only for optional MongoDB support; tested with 2.3.3.
- mongodb/laravel-mongodb: Required only for Level 1 MongoDB Eloquent model data sources; tested with 5.8.2.
Provides
None
Conflicts
None
Replaces
None
- dev-master
- v2.79.1
- v2.78.8
- v2.78.7
- v2.78.6
- v2.78.5
- v2.78.4
- v2.78.3
- v2.78.2
- v2.78.1
- v2.78.0
- v2.77.0
- v2.76.5
- v2.76.4
- v2.76.3
- v2.76.2
- v2.76.1
- v2.76.0
- v2.75.1
- v2.75.0
- v2.74.0
- v2.73.2
- v2.73.1
- v2.73.0
- v2.72.0
- v2.71.0
- v2.70.0
- v2.69.0
- v2.68.0
- v2.67.0
- v2.66.0
- v2.65.6
- v2.65.5
- v2.65.4
- v2.65.3
- v2.65.2
- v2.65.1
- v2.65.0
- v2.64.0
- v2.63.0
- v2.62.0
- v2.61.0
- v2.60.0
- v2.59.0
- v2.58.0
- v2.57.2
- v2.57.1
- v2.57.0
- v2.56.0
- v2.55.0
- v2.54.0
- v2.53.0
- v2.52.0
- v2.51.0
- v2.50.0
- v2.49.0
- v2.48.0
- v2.47.0
- v2.46.1
- v2.46.0
- v2.45.0
- v2.44.20
- v2.44.19
- v2.44.18
- v2.44.17
- v2.44.16
- v2.44.15
- v2.44.14
- v2.44.13
- v2.44.12
- v2.44.11
- v2.44.10
- v2.44.9
- v2.44.8
- v2.44.7
- v2.44.6
- v2.44.5
- v2.44.4
- v2.44.3
- v2.44.2
- v2.44.1
- v2.44.0
- v2.43.0
- v2.42.0
- v2.41.0
- v2.40.0
- v2.39.1
- v2.39.0
- v2.38.0
- v2.37.2
- v2.37.1
- v2.37.0
- v2.36.1
- v2.36.0
- v2.35.0
- v2.34.10
- v2.34.9
- v2.34.8
- v2.34.7
- v2.34.6
- v2.34.5
- v2.34.4
- v2.34.3
- v2.34.2
- v2.34.1
- v2.34.0
- v2.33.7
- v2.33.6
- v2.33.5
- v2.33.4
- v2.33.3
- v2.33.2
- v2.33.1
- v2.33.0
- v2.32.0
- v2.31.1
- v2.31.0
- v2.30.1
- v2.30.0
- v2.29.0
- v2.28.0
- v2.27.0
- v2.26.0
- v2.25.0
- v2.24.0
- v2.23.1
- v2.23.0
- v2.22.0
- v2.21.0
- v2.20.0
- v2.19.0
- v2.18.0
- v2.17.0
- v2.16.0
- v2.15.0
- v2.14.0
- v2.13.0
- v2.12.0
- v2.11.0
- v2.10.0
- v2.9.0
- v2.8.0
- v2.7.0
- v2.6.0
- v2.5.1
- v2.5.0
- v2.4.2
- v2.4.1
- v2.4.0
- v2.3.1
- v2.3.0
- v2.2.0
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.35
- v2.0.34
- v2.0.33
- v2.0.32
- v2.0.31
- v2.0.30
- v2.0.29
- v2.0.28
- v2.0.27
- v2.0.26
- v2.0.25
- v2.0.24
- v2.0.23
- v2.0.22
- v2.0.21
- v2.0.20
- v2.0.19
- v2.0.18
- v2.0.17
- v2.0.16
- v2.0.15
- v2.0.14
- v2.0.13
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.4.21
- v1.4.20
- v1.4.19
- v1.4.18
- v1.4.17
- v1.4.16
- v1.4.15
- v1.4.14
- v1.4.13
- v1.4.12
- v1.4.11
- v1.4.10
- v1.4.9
- v1.4.8
- v1.4.7
- v1.4.5
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.7
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.1
- v1.0.0
- v0.12.3
- v0.12.2
- v0.12.1
- v0.12.0
- v0.11.3
- v0.11.2
- v0.11.1
- v0.11.0
- v0.10.3
- v0.10.2
- v0.10.1
- v0.10.0
- v0.9.8
- v0.9.7
- v0.9.6
- v0.9.5
- v0.9.4
- v0.9.3
- v0.9.2
- v0.9.1
- v0.9.0
- v0.8.5
- v0.8.4
- v0.8.3
- v0.8.2
- v0.8.1
- v0.7.4
- v0.7.3
- v0.7.2
- v0.7.1
- v0.7
- v0.6.1
- v0.6
- v0.5.13
- v0.5.12
- v0.5.11
- v0.5.10
- v0.5.9
- v0.5.8
- v0.5.7
- v0.5.6
- v0.5.5
- v0.5.4
- v0.5.3
- v0.5.2
- v0.5.1
- v0.5
- v0.4.13
- v0.4.12
- v0.4.11
- v0.4.10
- v0.4.9
- v0.4.8
- v0.4.7
- v0.4.6
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.3
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.15
- v0.2.14
- v0.2.13
- v0.2.12
- v0.2.11
- v0.2.10
- v0.2.9
- v0.2.8
- v0.2.7
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1
This package is auto-updated.
Last update: 2026-08-30 08:14:27 UTC
README

Adminix is a Laravel package for building admin panels from PHP configuration. Pages, menus, lists, resources, modals, widgets, and actions are described in classes and rendered dynamically at runtime.
Highlights
- PHP-first page providers. Pages are normal PHP classes that return
AdminixPageobjects. - Runtime modules for lists, resources, details, modal CRUD, dashboards, panels, text, charts, counters, metrics, progress bars, imports, media, tenant switchers, maintenance banners, health status cards, notifications, and callback/webhook actions.
- Operational tables with search, filters, quick filters, saved table views, column ordering/widths, pinned columns, summaries, grouping, row details, row reorder, clone actions, soft deletes, and bulk actions.
- Page headers, breadcrumbs, menu links, command palette navigation, and global search are declared server-side.
- Datasources, writable fields, route params, tenant context, actions, imports, media writes, and notification state are resolved on the server.
- Multi-panel support with isolated paths, guards, middleware, menus, themes, and tenant context providers.
- Adminix Doctor checks common package setup and safety risks, including tenant-scoped datasources without server-owned tenant criteria.
- Extension APIs for custom module types, data providers, Blade components, page-scoped assets, generators, and panel-aware route hooks.
- Optional local asset mode for CDN-free installations, plus lazy CKEditor loading only on pages that need the editor.
Mental Model
- Register Adminix in a Laravel app.
- Add page providers to
config/adminix.phpor to one or moreAdminixPanelobjects. - Build each page from modules such as lists, resources, dashboards, imports, and media browsers.
- Keep permissions, tenant scope, writable fields, and route parameters server-owned.
- Run
adminix:doctor, package tests, and live browser checks for UI-facing changes.
Requirements
- Laravel 12 requires PHP
>=8.2 - Laravel 13 requires PHP
>=8.3 - PHP extensions: PDO, mbstring, SimpleXML
Installation
composer require alex-kudrya/adminix
php artisan adminix:install
Optional example pages:
php artisan adminix:install --examples
Check the installed configuration:
php artisan adminix:doctor
Security rule of thumb: browser validation is never enough. Use HTML constraints and JavaScript feedback for UX, but keep Laravel/backend validation, server-side module configuration, upload format checks, and max-size limits as the authoritative security boundary.
If the consuming Laravel application uses Laravel Boost, let Boost discover Adminix's package guidance after installing or updating Adminix:
php artisan boost:install
php artisan boost:update --discover
Adminix ships a compact Boost guideline file and an Adminix development skill at resources/boost/guidelines/core.blade.php and resources/boost/skills/adminix-development/SKILL.md.
These resources help agents follow the package's PHP-first module architecture, layered validation rules, safety rules, Doctor checks, documentation expectations, and live browser verification workflow while working in a parent Laravel project.
CDN-free installations can use the bundled local vendor assets:
ADMINIX_ASSET_MODE=local
php artisan vendor:publish --provider="AlexKudrya\Adminix\Providers\AdminixServiceProvider" --tag=laravel-assets --force
php artisan adminix:doctor --strict
Generate starter classes:
php artisan make:adminix_page OrdersPage --tests --dry-run
php artisan make:adminix_page OrdersPage --tests
php artisan make:adminix_resource ProductsPage
php artisan make:adminix_action ArchiveOrdersAction --tests
php artisan make:adminix_module AcmeCard --tests
A minimal page provider returns an AdminixPage and attaches one or more modules:
use AlexKudrya\Adminix\AdminixPage;
use AlexKudrya\Adminix\Modules\Module;
use App\Models\Order;
return AdminixPage::uri('orders')
->name('orders')
->title('Orders')
->addModule(
Module::list()
->name('orders')
->dataSource(Order::class)
->primaryKey('id')
);
Package visual QA stand
Package contributors can run the Testbench workbench and open a manual visual QA stand that covers Adminix modules, fields, lists, actions, layout surfaces, and focused edge-case pages.
./vendor/bin/testbench serve --host=127.0.0.1 --port=8097
Open http://127.0.0.1:8097/adminix/showcase/9 and click through the sidebar or the showcase map.
For a focused automated smoke check against the same rendered pages, run:
npm run e2e:showcase
Run the complete browser suite serially because the Testbench fixture intentionally shares SQLite and browser preference state across scenarios:
npm run e2e
Package database matrix
Package contributors can run the same Testbench suite against SQLite, MySQL 8.4, MariaDB 10.11.18, and PostgreSQL 18:
composer test:databases:start
composer test:databases
composer test:databases:stop
The Docker services are local test databases only. Do not reuse these commands with an application or shared database.
MongoDB Level 1 compatibility
MongoDB Level 1 supports an explicit MongoDB\Laravel\Eloquent\Model datasource while the application's default connection, authentication, package migrations, and standard Adminix storage remain SQL.
SQL-only applications do not install a MongoDB dependency.
The verified matrix uses PHP 8.2.32/8.3.32, Laravel 12.0.0/12.64.0 and 13.0.0/13.22.0, mongodb/laravel-mongodb 5.8.2, ext-mongodb 2.3.3, and MongoDB Server 8.0.28.
Laravel 12.0.0 is installed and runtime-loaded; focused Testbench SQL regressions use Laravel 12.0.1 because Testbench 10.0 starts at that patch.
MongoDB as the default Laravel connection, bare collection-string datasources, raw list/global/async search, metric/line SQL expressions, embedded relations, smart schema, built-in clone, and built-in reorder remain unsupported.
Use application handlers/providers for custom-only paths such as imports, tenant/audit storage, and MongoDB reorder through reorderUsing().
See the MongoDB Level 1 guide for installation, ObjectId/BSON behavior, the complete capability matrix, Doctor codes, replica-set requirements, upgrade checks, and rollback.
Documentation
- Documentation
- Installation
- MongoDB Level 1
- Configuration
- Global Search
- Command Palette
- Pages
- Modules
- Maintenance Banner module
- Health Status module
- Import module
- Media Browser
- Tenant Switcher
- Dashboard module
- Progress Bar module
- Panel module
- Text module
- List module
- Resource module
- Console commands
- Security
- Extension API
- Changelog