PHPackages                             sirserik/admin-core - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. sirserik/admin-core

ActiveLibrary[Admin Panels](/categories/admin)

sirserik/admin-core
===================

Headless admin panel core for META University sites (Inertia + Vue 3 + Tiptap). Provides base Inertia controllers, Resource API, block library, and reusable Vue components.

v1.10.0(1mo ago)0121proprietaryPHPPHP ^8.2

Since Apr 17Pushed 1mo agoCompare

[ Source](https://github.com/sirserik/meta-admin-core)[ Packagist](https://packagist.org/packages/sirserik/admin-core)[ RSS](/packages/sirserik-admin-core/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (6)Versions (113)Used By (1)

meta/admin-core
===============

[](#metaadmin-core)

Headless admin panel core for Laravel sites. Drives a full admin SPA (Inertia + Vue 3 + Tiptap) from a **declarative Resource API** — new admin modules are added with a single call in a service provider, with no controller or Vue page to write for the common case.

```
AdminCore::resource('articles', [
    'model'        => \App\Models\Article::class,
    'label'        => 'Статьи',
    'menu'         => 'Контент',
    'icon'         => 'fa-newspaper',
    'image_field'  => 'featured_image',
    'translatable' => ['title', 'excerpt', 'content'],
    'fields' => [
        ['name' => 'title',   'type' => 'text',     'label' => 'Заголовок', 'required' => true],
        ['name' => 'excerpt', 'type' => 'textarea', 'label' => 'Краткое описание'],
        ['name' => 'content', 'type' => 'editor',   'label' => 'Содержимое'],
    ],
    'attributes' => [
        ['name' => 'slug',         'type' => 'text',           'label' => 'Slug'],
        ['name' => 'is_published', 'type' => 'boolean',        'label' => 'Опубликована'],
        ['name' => 'published_at', 'type' => 'datetime-local', 'label' => 'Дата публикации'],
    ],
]);
```

That call produces:

- Sidebar entry under **Контент**
- `/admin/articles` — paginated list with search
- `/admin/articles/create` — form with locale tabs (RU/KK/EN), Tiptap editor for the `content` field, image upload, sidebar with plain attributes
- `/admin/articles/{id}/edit` — pre-filled edit form
- Auto-generated validation from types
- CRUD routes dispatched through a single generic controller
- Toggle-publish action

No `ArticleController`. No `Articles/Index.vue`. No `Articles/Form.vue`. All driven by the config.

Features
--------

[](#features)

- **Declarative resources** — full CRUD from one config array
- **Translatable fields** with per-locale inputs (RU/KK/EN by default)
- **Typed attributes** (text, email, url, number, date, select, boolean, color…) with auto-generated validation
- **Dynamic FK selects** via closure-based `options`
- **Rich-text editing** — Tiptap / ProseMirror (replaces TinyMCE)
- **Image uploads** — single image per resource, with storage, URL helpers, delete-on-destroy
- **Pluggable** — per-resource Vue page overrides, custom controllers, mixed legacy + declarative resources
- **Sidebar composition** — resources + ad-hoc `menuItem()` entries, grouped by section, ordered
- **Dashboard stats** — pluggable card providers
- **Inertia + Vue 3** — modern SPA admin over a Laravel backend
- **Package-discoverable** — drop it in, boot, go

Installation — one command
--------------------------

[](#installation--one-command)

In a fresh or existing Laravel 11/12 app:

```
composer require meta/admin-core
php artisan admin-core:install
```

That's it. The installer will:

1. Publish `config/admin-core.php` + Inertia root view
2. Scaffold `resources/js/admin-spa.js` + `resources/css/admin-spa.css`
3. Register `HandleInertiaRequests` middleware in `bootstrap/app.php`
4. Patch `vite.config.js` (adds `admin-spa.{js,css}` + `@admin-core` alias + `preserveSymlinks`)
5. Run migrations
6. Create an admin user (`admin@example.com` / `password`)
7. Install npm deps + run `npm run build`

Then open `http://your-site/admin` and log in. Start registering resources in `AppServiceProvider::boot()`:

```
use Meta\AdminCore\Facades\AdminCore;

AdminCore::resource('articles', [
    'model' => \App\Models\Article::class,
    // ...
]);
```

Full setup options: `php artisan admin-core:install --help`. See also [docs/installation.md](docs/installation.md) for the long-form walkthrough.

Register middleware in `bootstrap/app.php`:

```
$middleware->web(append: [
    \Meta\AdminCore\Http\Middleware\HandleInertiaRequests::class,
]);
```

Vite entry:

```
import { bootAdminCore } from '@admin-core/admin-spa.js';
import AdminLayout from '@admin-core/layouts/AdminLayout.vue';

const sitePages = import.meta.glob('./admin-spa/pages/**/*.vue');
const corePages = import.meta.glob('../../vendor/meta/admin-core/resources/js/pages/**/*.vue');

bootAdminCore({ sitePages, corePages, AdminLayout, title: 'My Admin' });
```

Documentation
-------------

[](#documentation)

Full reference lives in [`docs/`](docs/README.md):

### Getting started

[](#getting-started)

- [Installation](docs/installation.md)
- [Quickstart: first resource](docs/quickstart.md)

### Core concepts

[](#core-concepts)

- [Resource API reference](docs/resources.md)
- [Translatable fields](docs/fields.md)
- [Attribute types](docs/attributes.md)
- [Dynamic FK selects](docs/select-options.md)
- [Images](docs/images.md)
- [Navigation &amp; dashboard](docs/navigation.md)
- [Validation](docs/validation.md)
- [Routing](docs/routing.md)

### Customisation

[](#customisation)

- [Custom Vue pages](docs/custom-pages.md)
- [Extending the core](docs/extending.md)

### Reference

[](#reference)

- [Architecture](docs/architecture.md)
- [Migration from legacy Spa controllers](docs/migration.md)
- [Upgrade guide](docs/upgrade.md)
- [Troubleshooting](docs/troubleshooting.md)

### Contributing

[](#contributing)

- [Package development](docs/development.md)

Requirements
------------

[](#requirements)

StackVersionPHP`^8.2`Laravel`^11.0 || ^12.0`inertiajs/inertia-laravel`^2.0 || ^3.0`Node.js`^18`Vue`^3.4`Vite`^5` or `^6`Status
------

[](#status)

v0.x — in active use by META University sites. Config shape is stable within `0.2+` but breaking changes may still happen at minor-version bumps until `1.0`.

See [CHANGELOG](CHANGELOG.md) for release history.

License
-------

[](#license)

Proprietary. Available under the VCS at [sirserik/meta-admin-core](https://github.com/sirserik/meta-admin-core).

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance90

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity63

Established project with proven stability

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

112

Last Release

52d ago

Major Versions

v0.56.0 → 1.0.02026-05-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/a652c2aa72f1714a2f60bf61e9ca44e574fbea2c6fb36bb83314785a8d303913?d=identicon)[sirserik](/maintainers/sirserik)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/sirserik-admin-core/health.svg)

```
[![Health](https://phpackages.com/badges/sirserik-admin-core/health.svg)](https://phpackages.com/packages/sirserik-admin-core)
```

###  Alternatives

[statamic/cms

The Statamic CMS Core Package

4.8k3.6M1.0k](/packages/statamic-cms)[backpack/crud

Quickly build admin interfaces using Laravel, Bootstrap and JavaScript.

3.4k3.7M223](/packages/backpack-crud)[code16/sharp

Laravel Content Management Framework

79164.7k9](/packages/code16-sharp)[nunomaduro/laravel-starter-kit-inertia-react

The skeleton application for the Laravel framework.

2071.1k](/packages/nunomaduro-laravel-starter-kit-inertia-react)[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3518.3k](/packages/duncanmcclean-statamic-cargo)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
