larasell-dev/admin
A Laravel admin panel package that gives you a ready-made dashboard, resource CRUD screens, authentication and access control so you can ship back-office tooling fast without building the UI from scratch.
The package ships an Inertia-powered admin panel (sidebar layout, mobile off-canvas header, login, profile page, and table components) built on @larasell-dev/ui. Treat v0.3.2 as still pre-1.0: the public surface is stabilizing, but config keys, NavigationItem, page resolution, and table behavior can still move between minors.
composer require larasell-dev/admin and confirm your app already runs Inertia — the package relies on Inertia page resolvers, shared validation errors, and an Inertia progress loader. A non-Inertia app is not the target.php artisan vendor:publish) and run any migrations shipped with it — the profile page and avatar upload imply user/profile persistence.@larasell-dev/ui 0.1.14 (v0.3.2 bumped it from the earlier 0.1.5 line). The login page relies on UI props like fullWidth, the loader relies on a UI color token, and table rendering now depends on newer UI table behavior./admin), log in through the package login page, and confirm the sidebar + mobile header render before touching anything else.Where to look first, in order: the package service provider (routes, middleware, guard, route prefix), the config file (navigation registration, layout options), then NavigationItem — it remains the main public extension surface — and finally any table/action-column configuration if you render custom admin tables.
First real use case: register one NavigationItem pointing at one of your own Inertia pages, confirm it appears in the sidebar and mobile off-canvas nav, then render a simple package table on that page and check the action column alignment. That loop exercises routing, layout, navigation, and the table surface changed in v0.3.2.
Register navigation declaratively. Build your sidebar from NavigationItem objects rather than editing package views. The improved misconfiguration errors from the 0.1.x line should still be your first debugging stop for invalid route names, missing labels, or bad icons.
Let the package own the chrome. Custom admin pages should render inside the provided layout (sidebar + mobile header), not re-implement it. Duplicating the shell is the fastest way to diverge on upgrade, especially around the mobile header and fixed-position layering.
Extend the profile page, don't replace it. You get name/email updates and avatar upload for free. Add fields via the package's form/controller extension points where available, and keep your own user-update logic out of a parallel route so the user menu and profile stay consistent.
Read validation errors from shared props. The package shares validation errors with admin pages, so custom pages can rely on the standard Inertia errors prop. If you already share errors yourself in HandleInertiaRequests, keep the shape identical and avoid clobbering package props.
Reuse @larasell-dev/ui for custom screens. Using the UI kit's Button (including fullWidth), form controls, color tokens, and table primitives keeps your pages visually consistent and inherits theme changes. Since v0.3.2 moved the UI package to 0.1.14, use the UI version the admin package pins rather than an older lockfile resolution.
Use package tables for action columns. v0.3.2 fixed keeping the table's action column at the right edge. If you build custom tables or custom action columns, model them on the package table conventions instead of hand-rolling sticky/absolute positioning — that is exactly where the regression lived.
Keep the Inertia page resolver conventional. The resolver is typed and expects a predictable pages directory/glob. If you customize page resolution, keep components in the location the package expects or explicitly configure the resolver rather than patching it ad hoc.
Local/dev workflow. The repo includes an Amp orb that serves the panel over HTTPS. Mirror that locally (Herd/Valet/Sail with TLS) if you're testing secure cookies, asset URLs, or anything guard/session related — mixed http/https is a common source of phantom auth bugs.
NavigationItem API, config keys, page resolver, and table/action-column markup are all still candidates for change. Pin the admin package and @larasell-dev/ui to exact versions and read changelogs before bumping.@larasell-dev/ui to 0.1.14. A mismatched UI version surfaces as missing props (fullWidth), undefined color tokens, or table layout regressions rather than a clear error. If the action column looks wrong after an upgrade, check the UI version first.auth middleware must agree on the guard. If login succeeds but you bounce straight back, check the guard name in the package config against your config/auth.php.php artisan storage:link, and upload_max_filesize/post_max_size. These fail quietly and look like a UI bug.errors. Now that the package shares validation errors with admin pages, a custom HandleInertiaRequests that also shares errors can produce conflicts or stale errors across admin/non-admin pages.php artisan route:list --path=admin for route/name sanity, Inertia devtools for page props, published views for template overrides, the NavigationItem exceptions for nav config, and the package table markup for action-column issues. php artisan about is a quick way to confirm the package and its providers are loaded.NavigationItem registration, the profile page, and the package table/action-column conventions. Prefer these over forking package classes — at 0.3.x you'll still be re-merging otherwise.How can I help you explore Laravel packages today?