
capell-app/admin is the Filament panel package for Capell CMS. It adds the authenticated editor and operator surface for managing Core records, settings, package state, dashboards, permissions, and admin extension points.
Use this package when a Capell install needs a back-office UI. It depends on capell-app/core and should not be used to render public frontend output.
Admin owns:
Admin does not own:
ImportEntryRegistry and own the execution behind those entriesAdmin depends on capell-app/core and is optional. The recommended path is the installer (composer require capell-app/installer → php artisan capell:install), which adds Admin when you select it. To add it manually to an existing Capell app:
composer require capell-app/admin
php artisan capell:admin-install
php artisan capell:admin-setup
The full foundation installer may call Admin setup for you. On existing apps, use:
php artisan capell:admin-upgrade
php artisan capell:admin-clear-cache
The admin entrypoint is controlled by CAPELL_ADMIN_PATH; CAPELL_ADMIN_DOMAIN can move the panel to a dedicated host. Clear config cache after changing either value.
Capell\Admin\Providers\AdminServiceProviderconfig/capell-admin.phpCapell\Admin\Support\AdminPanelEntrypointroutes/web.phpActivityResource, BlueprintResource, LanguageResource, LayoutResource, MediaResource, PageResource, PageUrlResource, RedirectResource, SiteResource, ThemeResource, UserResourceExtensionsPage, SettingsPage, SiteHealthPage, SitemapPage, UpgradePagecapell:admin-install, capell:admin-setup, capell:admin-upgrade, capell:admin-clear-cache, capell:admin-cache-widgets, capell:admin-cache-configuratorsActivityResource includes a detail view that expands nested JSON changes into readable before-and-after rows for audit review.
Admin routes include a signed theme preview route and authenticated internal API routes under the configured admin path. Theme preview URLs are temporary admin URLs with signed middleware, site access checks, and no-store response headers; do not embed them into public output, cached HTML, or long-lived editor content.
Use the documented extension points instead of extending Filament resources directly:
| Need | Extension point |
|---|---|
| Contribute a resource or page | CapellAdmin::contributeToAdminSurface(...) |
| Register a dashboard Filament widget | CapellAdmin::registerDashboardFilamentWidget(...) |
| Add page form fields | PageSchemaExtender::TAG |
| Add site form fields | SiteSchemaExtender::TAG |
| Add admin toolbar actions | AdminToolItem::TAG |
| Adjust tables, edit pages, exports, or relation managers | the matching tagged extender interface |
| Add settings UI | SettingsSchemaRegistry::register() from the owning package |
Normal extension work should use the extenders and registries above. The advanced php artisan capell:admin-publish-resources [--type=<group>] [--resource=<label-or-class>] [--force] command publishes registered admin resources into the host application for direct customization. Published copies become host-maintained and can drift from package updates.
Admin operates mostly on Core models. Admin-owned persistence is limited to settings migrations and admin-specific operational state.
Policy and permission behavior must be registered globally, not only through a Filament resource. Marketplace contributes additional permission-aware surfaces when it is installed.
All editor-facing labels, notifications, and validation messages should use package translation files. Prefer Filament label method overrides over static label properties.
From the split repository root, with development dependencies installed, run Admin package tests after changing resources, policies, settings schemas, or panel registration:
vendor/bin/pest tests
For resource or schema changes, include the matching focused test file first. For UI behavior, verify the real Filament panel with a disposable admin account rather than stopping at the login screen.
| Surface | Supported versions |
|---|---|
| PHP | ^8.4 |
| Laravel | ^13.0 |
| Filament | ^5.7.6 |
| Core | The same release as this package |
Each Capell 1.x minor receives security fixes for 24 months from its release date, and the latest 1.x minor is always supported. Upgrade all installed Capell foundation packages together to the same supported release before requesting a fix. See the Capell security policy for vulnerability reporting.
Support covers the dependency ranges above. When an upstream release reaches its own end of life earlier, upgrading that dependency may be required to receive a safe fix.
CAPELL_ADMIN_PATH, CAPELL_ADMIN_DOMAIN, and cached config.Package development and coordinated verification happen in the capell-app/capell monorepo. Split package repositories are release mirrors; use docs.capell.app for cross-package guidance. See the contribution guide, security policy, and licence.
| Page | Covers |
|---|---|
| Admin overview | Admin responsibilities and the package docs index. |
| Admin multi-language | Admin language records, translations, and user preferences. |
| Admin tool registry | Header tools and admin utility actions. |
| Dashboard Filament widget customization | Registering and overriding dashboard Filament widgets. |
| Marketing Studio | Contributing editor-focused marketing actions and widgets. |
| Event registry | Admin lifecycle event subscriptions. |
| Permissions and approval | Role and approval rules around publishing. |
| Resource registration | Contributed resources and admin surface lookup. |
| Schema hooks | Extending admin form schemas. |
| Settings schema registry | Package settings in the admin settings surface. |
| User menu registry | User menu item registration. |
| User resource customization | User form fields, panels, relation managers, and bridges. |
The complete admin, extension, and troubleshooting guides are published at docs.capell.app.
How can I help you explore Laravel packages today?