What is Capell?

Capell is a CMS layer for Laravel, built on Filament. It gives your app the content model most teams rebuild on every project — pages, multi-site, multi-language URLs, media, redirects, roles, settings — while leaving the public frontend entirely in your hands.
You keep Laravel: Eloquent models, queues, Blade, Composer, tests, and your deploy pipeline. Capell adds the CMS, an editor workspace, and clean extension points, so a content site never turns into an endless series of one-off page builds.

See Capell In Practice
Section titled “See Capell In Practice”Capell’s admin is a Filament workspace for real content operations: page trees, media, settings, theme workflows, diagnostics, and package-backed tools all sit inside the Laravel app you already deploy.
| Surface | What it shows |
|---|---|
| Admin interface | Dashboard, Pages, Media, Settings, Theme Library, and Site Health screenshots with notes on when editors use each screen. |
| Create your first page | A step-by-step page authoring flow with screenshots for site selection, parent pages, slug previews, content, draft saves, and settings. |
| Music store CMS example | A realistic content model showing how Capell maps pages, articles, events, products, artists, and navigation into a Laravel project. |
Why Capell
Section titled “Why Capell”- Stay in Laravel. Content lives in your database as normal Eloquent models — no separate CMS product to sync with.
- The frontend stays yours. Render with Blade, Livewire, Inertia, Vue, static HTML, or your own stack. Capell supplies the content context; you own the output.
- Multi-site and multi-language are first-class, not bolted on — site domains, translated URLs, URL history, and redirects are built in.
- Features arrive as packages, not patches. Add fields, widgets, themes, and workflows through stable extension points without forking core.
- Built for the long haul. Page moves, slug redirects, draft previews, per-site editor scoping, and targeted cache invalidation are defaults, not afterthoughts.
New to the idea? Why Capell compares it head-to-head with a custom Filament build, Statamic, and rolling your own — and is honest about when not to choose it.
Core Concepts
Section titled “Core Concepts”Capell’s content model is a small set of nouns. Learn these and the rest of the system follows:
| Concept | What it is |
|---|---|
| Site | A publishing surface with its own domain(s), languages, and settings. |
| Language | A translation scope within a site; drives translated URLs and fields. |
| Page | The primary routable content entity. Pages form a tree and belong to a site. |
| Page URL | A page’s per-language address, with URL history and automatic redirect records. |
| Blueprint | The reusable definition behind a page, theme, site, or element type. |
| Layout | The theme-aware template structure a page renders into. |
| Theme | The presentation layer: templates, assets, and named layout areas. |
| Media | Uploaded files (images, documents) with a swappable storage backend. |
| Translation | Translatable field values, keyed per language. |
| Settings | Typed, schema-driven configuration surfaced on the admin Settings page. |
The path from authoring to a public page:
Site → Language → Page → Layout + widgets + assets → your frontend outputDefinitions for every term — editor-facing and developer-facing — live in the Glossary. For the model in depth, read How Capell works.
Quick Local Demo
Section titled “Quick Local Demo”For a disposable local trial with demo content:
composer create-project laravel/laravel music-storecd music-storecomposer require capell-app/installerphp 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 covers database setup, queue notes, screenshots, and first-run fixes.
Start Here
Section titled “Start Here”Pick the path that matches what you are doing. The full route map lives at docs/README.md.
| I want to… | Read this |
|---|---|
| Try Capell in a fresh Laravel app | Quickstart |
| Install Capell into an existing app | Install guide |
| Learn the core concepts in order | Capell Learn |
| Understand the developer architecture | How Capell works |
| Build or extend a Capell package | Packages |
| Spend my first session as an editor | First session |
| Build with Inertia, Vue, or interactivity | Inertia runtime · Interactions |
What This Repository Contains
Section titled “What This Repository Contains”This repo is the 4.x host monorepo: the five foundation packages every Capell site is built on. First-party feature packages (themes, SEO, Publishing Studio, and more) live separately and install via Composer — browse the package catalogue.
| Package | Composer name | What it owns | Docs |
|---|---|---|---|
| Core | capell-app/core | The content model: sites, languages, pages, URLs, layouts, themes, media, translations, settings, registries | Overview |
| Admin | capell-app/admin | The Filament editor workspace: resources, dashboards, settings, media, users, admin extension points | Overview |
| Frontend | capell-app/frontend | Public routing, site context, themes, assets, render hooks, response delivery, optional cache/static output | Overview |
| Installer | capell-app/installer | The browser installer and installer cleanup flow | Overview |
| Marketplace | capell-app/marketplace | Extension discovery, install authorization, and package acquisition | Overview |
Each package also ships a source README: core · admin · frontend · installer · marketplace.
Installing
Section titled “Installing”Recommended — the installer
Section titled “Recommended — the installer”Require the installer and run the guided flow. The installer pulls in capell-app/core, then capell:install composer-requires the admin and frontend packages you choose (default: all installable) and writes them into your app’s composer.json. It is removable once setup finishes.
composer require capell-app/installerphp artisan capell:installThe full walkthrough — requirements, panel scaffolding, model patches, and headless/CI flags — is in the install guide.
Manual — require packages directly
Section titled “Manual — require packages directly”Skip the installer and require exactly the packages you want. capell-app/core is the only hard dependency; admin and frontend are optional and each depend on core.
# Full stack, no installercomposer require capell-app/core capell-app/admin capell-app/frontend -W
# Headless / core onlycomposer require capell-app/core -W
# Core + admin, no public frontendcomposer require capell-app/core capell-app/admin -WThen run php artisan capell:install to apply migrations and setup; pass --packages= to scope it (for example --packages=capell-app/admin). capell-app/capell is the host monorepo repository, not an install target.
How Capell Works
Section titled “How Capell Works”Capell draws deliberate package boundaries so concerns stay separate and replaceable:
- Core owns the reusable content model and the registries packages extend. It depends on nothing opinionated.
- Admin gives editors a Filament workspace over that model.
- Frontend connects the model to the public site through routing, site context, themes, assets, render hooks, and response delivery — then hands the final HTML to your app.
- Packages add fields, widgets, integrations, themes, workflows, and tools as normal Laravel packages.
Two conventions keep this clean: domain writes go through Actions, and structured boundary state uses Data objects. That keeps business rules out of Filament resources, Livewire components, controllers, and templates.
One safety rule underpins frontend output: anonymous and non-admin HTML must never leak authoring markup, model IDs, selectors, signed editor URLs, or package internals. See the Public HTML safety contract.
Extension Points
Section titled “Extension Points”Packages and apps add behaviour through registries instead of patching host classes:
| Surface | Entry point |
|---|---|
| Page types | CapellCore::registerPageType(...) |
| Admin surfaces & widgets | CapellAdmin::contributeToAdminSurface(...), registerDashboardFilamentWidget(...), registerWidget(...) |
| Form field schemas | tagged extenders such as PageSchemaExtender::TAG |
| Settings | SettingsSchemaRegistry::register(...) |
| Frontend render hooks | RenderHookRegistry::register(...) |
| Cache dependencies | CacheInvalidationRegistry::registerDependency(...) |
Not sure which to reach for? Use the Extension point chooser, the API reference, or build one end to end.
Requirements
Section titled “Requirements”| Tool | Supported versions |
|---|---|
| PHP | 8.4+ |
| Laravel | 12.41.1+ or 13.x |
| Filament | 4.7+ or 5.2+ |
| Database | MySQL 8+, MariaDB 10.3+, SQLite, or your configured Laravel database |
| Node.js | 20+ |
| Composer | 2.7+ |
See the install guide for required PHP extensions, permissions, and install paths.
Contributing To This Repository
Section titled “Contributing To This Repository”This section is for working inside this monorepo. Installing Capell into your own app does not require any of it — start with the Quickstart instead.
Common Composer scripts:
| Command | Purpose |
|---|---|
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 | Full non-mutating quality gate (checks, PHPStan, audit, Pest) |
composer serve | Build and serve the Testbench workbench at localhost |
A Docker harness is available when you need a clean shell for agent, CI, or local verification (docker compose up -d, then docker compose exec app composer test). It is a CLI package-development harness, not an application runtime, and provides MariaDB, Redis, Mailpit, Node, and the required PHP extensions.
For local path-repository setup, branch guidance, and the contribution workflow, see CONTRIBUTING.md and the Development docs.
License, Pricing & Support
Section titled “License, Pricing & Support”Capell is commercial, proprietary software ("license": "proprietary"). Each licensed copy may run in one production environment at a time, and the license does not include updates or support unless those are part of the commercial agreement. See LICENSE.md for the full terms.
Public pricing, trial access, and what the free Foundation tier includes versus premium packages are published at capell.app. Some packages in the catalogue are premium add-ons that require a separate entitlement.
- Questions and discussion: GitHub Discussions
- Documentation: docs.capell.app
- Security: report privately via SECURITY.md — do not open a public issue for an undisclosed vulnerability.