This isn’t another CMS.
Capell is an open-source CMS for Laravel, built on Filament.
Capell starts where most custom CMS builds end. Reusable page patterns, previews, revision history, rollback, roll-forward and safe upgrades are already built and ready to extend.
Underneath is a slim, strictly typed and well-tested core. Filament editing and public rendering stay completely separate, while new capabilities plug in through normal Laravel packages instead of core patches.
Capell is not a hosted CMS and does not ship a public content-delivery API. Your pages render inside your Laravel application through Blade, Livewire, Inertia, Vue, or your own stack. Because that content stays structured and permissioned, it is ready for search engines and AI without scraping or admin leakage.
Install it into an existing Laravel application with two commands:
composer require capell-app/installer
php artisan capell:installOpen the live demo · See all features · Follow the verified quickstart · Build a page · Read the fit guide
These captures show Capell administering capell.app — the Capell website is itself a Capell site, so what you see below is the product managing real production pages.
| Editing a page | What visitors see |
|---|---|
![]() |
![]() |
The guided demo explains its reset and read-only boundaries before sending you to the shared environment. Continue with Create your first page for the full field-by-field journey.
The real CMS test starts after the first launch. Someone edits the homepage at 4:55pm on a Friday. Someone asks "who approved this?". An upgrade lands and nobody is sure what it changed. A year later the project is handed over and the CMS decisions are folklore. Capell exists for those moments, so the answers are product features rather than heroics:
- A recoverable page beats a perfect handover document. Page changes have append-only history, readable diffs, rollback preview, validated roll back, and roll forward. Standard recovery is page-scoped; it is not a database or media backup.
- Upgrades are a command, not a project.
capell:install,capell:upgrade --dry-run, andcapell:doctorgive every team the same repeatable operating path, with recorded steps and rollback where a step declares it safe. - The frontend stays yours. Editors compose approved structure in Filament; anonymous visitors receive clean HTML with no authoring markers, editor controls, or admin leakage.
- Leaving must be possible. Export and exit are documented contracts, not an afterthought.
Capell keeps its core lean and grows through packages, so the CMS can expand with the application instead of arriving as a monolith. The free core stands on its own; the paid packages add the power tools. These are the ten headline features from capell.app/features:
| Feature | What it gives you |
|---|---|
| Extendable core | A lean, fast core you grow through verified packages, each with a production footprint you can inspect before it installs |
| Safe upgrades and page recovery | Every change is reversible: compare revisions and roll a page back or forward with its audit trail intact |
| Multi-site and multilingual | Run many sites and languages from one Laravel app, with each site's content kept distinct |
| Quality, tested code | Built and tested in the open: every quality claim traces to a live CI result you can check yourself |
| AI-ready | Built to be driven by AI and served to AI through governed extension points |
| AI Command Centre | Say the outcome in plain language, see the exact change previewed, and approve it before anything happens |
| Agent Delivery | Optional marketplace package for publishing clean, RAG-ready JSON to answer engines; Foundation supplies the structured, permissioned source content |
| SEO Suite | Live scoring, schema, redirects, and Search Console, all inside the admin |
| Site search | Relevance-tuned results with synonyms and typo tolerance, plus a report of what visitors search for and cannot find |
| Performance pipeline | Pages are cached and each ships route-specific critical CSS generated from your real stylesheet |
Optional capabilities arrive as Laravel packages you add when the work needs them. Before installing one, verify its distribution channel, maturity, supported Capell/Laravel/Filament versions, data access, migrations, support terms, and removal path — the package catalogue distinguishes foundation contracts from optional package documentation, and the live extensions directory is the authority for what is currently installable.
Package authors should start with the extension-point chooser and package authoring guide. Capell packages extend registries and lifecycle contracts instead of patching host classes.
There is no separate runtime and no parallel framework to learn. Capell is plain Laravel — Eloquent models, Actions, events, queues, and Filament resources — developed in this open monorepo and published to Packagist as ordinary Composer packages. Page schemas are defined by blueprints: define a page type's fields once, then extend the schema per project instead of writing another bespoke resource. Capell Foundation is MIT-licensed and installs from public Packagist repositories without a Capell account. Paid marketplace packages remain commercially licensed and use separate commercial terms and entitlement-scoped Composer access; the licensing page explains the split.
The public foundation is five packages:
| Package | Composer name | Responsibility |
|---|---|---|
| Core | capell-app/core |
Sites, languages, pages, URLs, layouts, themes, media, translations, settings, revision history, upgrade foundations, and registries |
| Admin | capell-app/admin |
Filament resources, editor workflows, page recovery UI, settings, users, diagnostics, and admin extension points |
| Frontend | capell-app/frontend |
Public routing, site context, themes, typed resources, render hooks, and response delivery |
| Installer | capell-app/installer |
Guided browser and CLI installation, health review, and installer cleanup |
| Marketplace | capell-app/marketplace |
Extension discovery, install authorisation, and package acquisition contracts |
Start from a fresh supported Laravel application. The installer adds the selected foundation packages, runs each package lifecycle, creates the first site and administrator, generates frontend assets, synchronises permissions, and finishes only when its required health summary passes.
composer create-project laravel/laravel capell-site
cd capell-site
# Configure APP_URL and a supported database in .env first.
composer require capell-app/installer
php artisan capell:install --demoThe guided command asks for the site URL and first administrator. A successful run ends with All checks passed followed by Installation complete. If a required step fails, the command exits non-zero and does not print the success message.
The canonical installation entry point for an existing Laravel application is capell-app/installer. The capell-app/capell package is the supported, version-aligned foundation aggregate for the Core, Admin, Frontend, Installer, and Marketplace code line; it does not replace the guided Installer workflow.
Then run the application using your normal Laravel development workflow and open:
/adminto sign in with the administrator created during installation;/to inspect the seeded public page;- Pages in Admin to make and publish the first change.
Do not run filament:install --panels before requiring Capell: the installer brings in and configures the selected Admin package. See the Quickstart for SQLite and queue setup, expected prompts, health checks, and first-run recovery.
An active Capell Membership organisation can request a short-lived private Composer command from its Capell account. Run the generated commands in the Laravel application, then use the same Installer flow:
composer config repositories.capell composer https://capell.app/composer
composer config bearer.capell.app <short-lived-token>
composer require capell-app/capell
php artisan capell:installcapell-app/capell is the root aggregate for the aligned Core, Admin, Frontend, Installer, and Marketplace code line. Marketplace then authorises the Membership catalogue for the connected organisation. The token is scoped, expires within 30 minutes, and is redacted from account serialization. Do not paste it into tickets, logs, source control, or shared shell history; request a new command when it expires.
Installed themes use one Admin path: Theme Library → Customize → Preview → Apply. Preview a change against real content before making it active, and keep theme presentation in the Laravel application rather than in page records.
Read Theme Library to operate installed themes or Creating custom themes to own the Blade, assets, settings, and compatibility contract yourself. Marketplace themes are only installable when their listing states a released distribution path and compatible Capell line; the theme gallery shows what each ships on the public web.
Preview upgrades before applying them:
php artisan capell:upgrade --dry-run
php artisan capell:upgrade
php artisan capell:doctorRollback is available only for recorded upgrade steps that implement a safe rollback:
php artisan capell:rollback --step=<step-id> --dry-run
php artisan capell:rollback --step=<step-id> --forceBackups are a separate operational contract. Configure database and media backups, offsite retention, monitoring, and scratch restores in the host application; then use Capell's backup health and restore tooling to verify that configuration. Page history does not recover a lost database or media store.
Read these before production:
- Upgrading and rollback
- Database and media backups
- Site health
- Lockdown and break-glass access
- Export and exit
| Tool | Supported versions |
|---|---|
| PHP | 8.4+ |
| Laravel | 12.41.1+ in the 12.x line or Laravel 13.x |
| Filament | 5.6.8+ (~5.6.8) |
| Database | MySQL 8+, MariaDB 10.3+, SQLite, or the configured Laravel database |
| Node.js | 20+ |
| Composer | 2.7+ |
| Runtime | PHP-FPM or Laravel Octane (Swoole, RoadRunner, or FrankenPHP) |
Required PHP extensions and writable paths are listed in the Install guide. The shipped product line is 1.x; use the latest compatible tag rather than a branch name in customer applications.
For the shipped 1.x line, each minor receives security fixes for 24 months from its release date, and the latest 1.x minor is always supported. See the security policy and Core support policy for the exact contract.
- Current pricing and commercial availability
- Licensing and package access
- Support boundaries
- Security policy
- MIT licence
Commercial facts live on the Capell website so this README does not preserve stale prices, package counts, discounts, or checkout claims. Capell Foundation is MIT-licensed. Paid marketplace packages remain commercially licensed under their separate terms; public visibility never grants protected package access. See LICENSE.md for the Foundation terms.
This source monorepo contains the five foundation packages and their release-contract tests. It is not the package name installed into customer applications.
composer test
composer lint
composer analyze
composer preflightSee CONTRIBUTING.md for repository setup, Docker harness use, path repositories, release checks, and pull-request expectations.



