eminiarts / aura-cms
Aura CMS for Laravel
Requires
- php: ^8.4
- illuminate/support: ^12.0|^13.0
- intervention/image: ^3.0
- lab404/laravel-impersonate: ^1.7.5
- laravel/fortify: ^1.20
- laravel/prompts: ^0.3
- laravel/sanctum: ^4.0
- livewire/livewire: ^4.0
- spatie/laravel-package-tools: ^1.16
- symfony/html-sanitizer: ^7.4.12|^8.0.12
Requires (Dev)
- intervention/image-laravel: ^1.0
- larastan/larastan: ^2.0|^3.0
- laravel/framework: ^12.0|^13.0
- laravel/pint: ^1.18
- nunomaduro/collision: ^8.1
- orchestra/testbench: ^10.0|^11.0
- pestphp/pest: ^3.0|^4.0
- pestphp/pest-plugin-browser: ^4.3
- pestphp/pest-plugin-laravel: ^3.0|^4.0
- pestphp/pest-plugin-livewire: ^4.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0|^2.0
- spatie/laravel-ray: ^1.32
- spatie/ray: ^1.37
- spatie/test-time: ^1.3
Suggests
- laravel/octane: To run Aura on a long-running worker (Swoole/RoadRunner). Aura flushes its process-level static state on each Octane RequestReceived/TaskReceived/TickReceived event so fields, resource registrations, team scope and the user model stay isolated between requests. Requires ^2.0.
This package is auto-updated.
Last update: 2026-07-20 17:33:56 UTC
README
Aura CMS
A content management system for Laravel developers. Define your content types as PHP classes — Aura generates the admin panel around them: forms, tables, search, media, and permissions. Built on the TALL stack (Tailwind CSS, Alpine.js, Laravel, Livewire).
How it works
A resource is an Eloquent model that declares its fields. This class is a complete, working content type:
<?php namespace App\Aura\Resources; use Aura\Base\Resource; class Article extends Resource { public static string $type = 'Article'; public static ?string $slug = 'article'; public static function getFields() { return [ [ 'type' => 'Aura\\Base\\Fields\\Text', 'name' => 'Title', 'slug' => 'title', 'validation' => 'required|max:255', ], [ 'type' => 'Aura\\Base\\Fields\\Wysiwyg', 'name' => 'Content', 'slug' => 'content', ], [ 'type' => 'Aura\\Base\\Fields\\BelongsTo', 'name' => 'Author', 'slug' => 'author_id', 'resource' => 'Aura\\Base\\Resources\\User', ], ]; } }
Drop it in app/Aura/Resources and /admin/article serves a full CRUD interface — index table with sorting, filtering and search, create/edit forms with validation, and policy-based permissions. No migration needed: fields are stored as meta by default, and you can move a resource to its own table when it grows.
Features
- 42 field types — text, dates, media, relationships, repeaters, tabs and panels — plus your own via
php artisan aura:field - Table views — list, grid, and kanban, with saved filters and per-user column settings
- Media manager — drag-and-drop uploads with automatic thumbnails
- Roles & permissions — per-resource permissions enforced by policies
- Teams — optional multi-tenancy with automatic scoping of every resource
- Global search — Cmd+K across all resources, with bookmarks and recent pages
- Visual resource editor — edit fields in the browser during local development; changes are written back to your PHP classes
- Plugins — package resources, fields, and pages with
php artisan aura:plugin
Requirements
- PHP 8.4+
- Laravel 12 or 13
- Livewire 4
Installation
composer require eminiarts/aura-cms php artisan vendor:publish --tag=aura-config php artisan aura:install-config php artisan aura:extend-user-model php artisan vendor:publish --tag=aura-migrations php artisan migrate php artisan aura:publish php artisan aura:user
These commands publish and configure Aura, connect your application user model, run the package migration, publish the frontend assets, and create the first administrator. Then log in and open /admin.
Aura 1.0 is a fresh baseline rather than an automated upgrade from 0.x. Existing 0.x applications should read UPGRADING.md before changing constraints.
Documentation
Full documentation at aura-cms.com/docs — from the 15-minute quick start to the complete field reference.
Working with an AI assistant? The docs are LLM-friendly: aura-cms.com/llms.txt indexes every page, and every page is available as raw markdown by appending .md to its URL.
Testing
composer test
Contributing
Please see CONTRIBUTING for details.
Security
Please follow the private reporting process in SECURITY.md.
Credits
Built by Emini Arts and all contributors. Aura CMS runs production applications for agencies and startups.
License
MIT. See LICENSE.

