What is Capell?
Capell is a package-based CMS foundation for Laravel teams building structured websites. It provides the core content model, a Filament admin surface, public frontend rendering, and package-safe extension points without forcing every product feature into one application.
This repository is the 4.x host monorepo for Capell core packages.

What This Repository Contains
Section titled “What This Repository Contains”| Package | Composer name | Package docs | Practical job |
|---|---|---|---|
| Core | capell-app/core | Core docs | Sites, pages, languages, page URLs, settings, package registry, install and upgrade flow |
| Admin | capell-app/admin | Admin docs | Filament resources, dashboards, settings UI, users, media UI, and admin extension points |
| Frontend | capell-app/frontend | Frontend docs | Public request resolution, cache-aware page rendering, and frontend extension points |
| Installer | capell-app/installer | Installer docs | Browser installer guide and installer cleanup flow |
| Marketplace | capell-app/marketplace | Marketplace docs | Extension marketplace browsing, acquisition, and package install authorization records |
The umbrella package is capell-app/capell. Package-specific READMEs cover the lower-level shape of each host package:
Start Here
Section titled “Start Here”Choose the path that matches what you are doing:
| I want to… | Read this first |
|---|---|
| Try Capell in a fresh Laravel app | Quickstart |
| Install Capell into a real app | Install guide |
| See interactive content delivery | Capell Interactions |
| Understand the package architecture | How Capell works |
| Work in this monorepo | Development docs |
| Build or maintain an add-on package | Package authoring docs |
| Operate an installed site | Operations docs |
| Check the package catalogue | Approved packages |
The full documentation map lives at docs/README.md.
Quick Local Demo
Section titled “Quick Local Demo”For a disposable local trial:
composer create-project laravel/laravel music-storecd music-storecomposer require capell-app/capell -Wphp artisan filament:install --panelsphp artisan capell:install --demo --url=http://localhost:8000php -S 127.0.0.1:8000 -t public public/index.phpOpen http://localhost:8000/admin for the admin panel and http://localhost:8000 for the frontend. The quickstart includes database setup, queue notes, screenshots, and first-run fixes.
Core Ideas
Section titled “Core Ideas”Capell gives a Laravel app the foundations most CMS builds end up recreating:
- structured page trees and localized page URLs
- multi-site and multi-language records
- a Filament admin surface for content, settings, media, users, and package screens
- a frontend request pipeline with cache-aware rendering
- interaction triggers that can lazy-load widgets and Layout Builder fragments
- package-driven extension points for admin, frontend, settings, migrations, assets, and operations
The normal content path is:
Site -> Page -> Layout and content fields -> Rendered frontend pageWrites should go through Actions, and structured boundary state should use Data objects. This keeps domain rules out of Filament resources, Livewire components, controllers, and frontend templates.
Main Extension Points
Section titled “Main Extension Points”CapellCore::registerPageType(...)CapellAdmin::contributeToAdminSurface(...)CapellAdmin::registerAdminBridge(...)SettingsSchemaRegistry::register(...)CapellAdmin::registerDashboardWidget(...)CapellAdmin::registerWidget(...)- tagged admin extenders such as
PageSchemaExtender::TAG RenderHookRegistry::register(...)WidgetRegistry::register(...)CacheInvalidationRegistry::registerDependency(...)
Add-on packages should use these surfaces rather than patching host package classes.
Documentation Structure
Section titled “Documentation Structure”| Section | Audience |
|---|---|
| Getting started | Developers evaluating or installing Capell |
| Admin | Developers working with the Filament admin surface |
| Frontend | Developers working with public rendering |
| Packages | Package authors and maintainers |
| Performance | Developers tuning caches, assets, and rendering |
| Operations | Operators handling deploys, upgrades, and incidents |
| Reference | Lookup material, glossary, ERDs, and credits |
Historical implementation plans and internal review notes do not belong in the public docs tree.
Development Commands
Section titled “Development Commands”This repository uses Composer scripts for the common maintenance loop:
| Command | Purpose |
|---|---|
composer prepare | Discover Testbench packages |
composer test | Run the Pest test suite |
composer test:fast | Run the sharded fast Pest command |
composer lint | Run changed-file Pint formatting |
composer analyze | Run the fast PHPStan configuration |
composer preflight | Run PHPStan and changed-file formatting |
composer preflight:all | Run Composer path checks, Rector, Pint, Prettier, ESLint, PHPStan, and Pest |
composer serve | Build and serve the Testbench workbench at localhost |
For local package path setup and matching branch guidance, see Development.