Skip to content

What is Capell?

Latest Version on Packagist GitHub Tests Action Status Total Downloads Documentation

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.

Capell admin dashboard

PackageComposer namePackage docsPractical job
Corecapell-app/coreCore docsSites, pages, languages, page URLs, settings, package registry, install and upgrade flow
Admincapell-app/adminAdmin docsFilament resources, dashboards, settings UI, users, media UI, and admin extension points
Frontendcapell-app/frontendFrontend docsPublic request resolution, cache-aware page rendering, and frontend extension points
Installercapell-app/installerInstaller docsBrowser installer guide and installer cleanup flow
Marketplacecapell-app/marketplaceMarketplace docsExtension 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:

Choose the path that matches what you are doing:

I want to…Read this first
Try Capell in a fresh Laravel appQuickstart
Install Capell into a real appInstall guide
See interactive content deliveryCapell Interactions
Understand the package architectureHow Capell works
Work in this monorepoDevelopment docs
Build or maintain an add-on packagePackage authoring docs
Operate an installed siteOperations docs
Check the package catalogueApproved packages

The full documentation map lives at docs/README.md.

For a disposable local trial:

Terminal window
composer create-project laravel/laravel music-store
cd music-store
composer require capell-app/capell -W
php artisan filament:install --panels
php artisan capell:install --demo --url=http://localhost:8000
php -S 127.0.0.1:8000 -t public public/index.php

Open 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.

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 page

Writes 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.

  • 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.

SectionAudience
Getting startedDevelopers evaluating or installing Capell
AdminDevelopers working with the Filament admin surface
FrontendDevelopers working with public rendering
PackagesPackage authors and maintainers
PerformanceDevelopers tuning caches, assets, and rendering
OperationsOperators handling deploys, upgrades, and incidents
ReferenceLookup material, glossary, ERDs, and credits

Historical implementation plans and internal review notes do not belong in the public docs tree.

This repository uses Composer scripts for the common maintenance loop:

CommandPurpose
composer prepareDiscover Testbench packages
composer testRun the Pest test suite
composer test:fastRun the sharded fast Pest command
composer lintRun changed-file Pint formatting
composer analyzeRun the fast PHPStan configuration
composer preflightRun PHPStan and changed-file formatting
composer preflight:allRun Composer path checks, Rector, Pint, Prettier, ESLint, PHPStan, and Pest
composer serveBuild and serve the Testbench workbench at localhost

For local package path setup and matching branch guidance, see Development.