Skip to content

Demo Kit

This page is generated from public package documentation in capell-4/packages and the package manifest checked into the source repository.

FieldValue
Composer packagecapell-app/demo-kit
Package slugdemo-kit
Product groupCapell Foundation
Tierfree
Bundlefoundation
Runtime contextsadmin, frontend
Capell version^4.0
Source repositorycapell-app/packages
Source pathpackages/demo-kit
Docs sourcepackages/demo-kit/docs
Manifestcapell.json

Demo content and media kit for Capell.

  • Package: capell-app/demo-kit
  • Namespace: Capell\DemoKit\
  • Surfaces: Filament admin, console
  • Service providers: packages/demo-kit/src/Providers/DemoKitServiceProvider.php
  • Capell dependencies: capell-app/admin, capell-app/core, capell-app/frontend
  • Creates repeatable demo content and media so package demos, sales reviews, screenshots, and QA runs start from known data.
  • Helps owners and stakeholders see a realistic Capell site without hand-building fixture pages every time.
  • Keeps demo creation in package Actions and setup flows so production content boundaries stay separate from presentation examples.

Generated demo content and media kit for Capell.

  • Randomised example site content and media for local Capell demos.
  • Demo content provider for admin and frontend package setup.
  • Demo assets that help validate a package install quickly.
  • A package-owned doctor command for validating generated demo installs.

For developers: Keeps Demo Kit package responsibilities isolated behind providers, actions, data objects, and package-owned resources where the package needs them.

For teams: Makes the Capell Foundation capability easier to explain, install, and verify during package selection.

This package makes its Composer dependencies visible because they are part of the value proposition, not just plumbing. When an upstream package has a public repository, its linked preview card points readers back to the maintainers so their work gets proper credit.

Capell packages used here

Open-source packages used here

  • No extra third-party Composer package beyond the Capell package stack is required here.
AreaPathPurpose
Actionspackages/demo-kit/src/ActionsDomain operations. Test these directly where possible.
Filamentpackages/demo-kit/src/FilamentAdmin resources, pages, blocks, and settings UI.
Providerspackages/demo-kit/src/ProvidersRegistration, extension hooks, routes, migrations, and resources.
Resourcespackages/demo-kit/resourcesViews, translations, assets, and package resources.
Configpackages/demo-kit/configPackage configuration and publishable config.
Testspackages/demo-kit/testsPackage-level Pest coverage.
  • Pages: DemoKitPage.
  • capell:admin-demo {--user=} {--languages=} {--url=} {--sites=} {--site-count=} {--page-count=} {--seed=} (packages/demo-kit/src/Console/Commands/AdminDemoCommand.php)
  • capell:demo {--user} {--languages=} {--packages} {--sites=} {--url} {--force} (packages/demo-kit/src/Console/Commands/DemoCommand.php)
  • capell:demo-kit-full-demo {--url=} {--user=} {--languages=} {--sites=} {--site-count=} {--page-count=} {--seed=} {--force} (packages/demo-kit/src/Console/Commands/FullDemoCommand.php)
  • capell:demo-kit-doctor {--json} validates the package-owned demo health checks.

Demo Kit keeps publishable config focused on scale and archive safety. The actual demo content pools live in code so the package can generate varied demos without forcing a huge static page tree into application config.

Useful options:

  • --site-count=5 creates a random set of site names from the package pool.
  • --page-count=30 creates that many generated pages per site.
  • --languages=all, --languages=en,fr, or --languages=random:3 controls the language pool.
  • --seed=1234 makes the generated plan repeatable for screenshots, tests, and bug reports.

Omit --seed for a fresh random demo on each run.

Demo Kit must keep saved CMS content portable. DemoCreator should only persist minimal editable copy in content fields: simple paragraphs, headings, lists, links, and light emphasis are fine. Do not store designed HTML, utility classes, component classes, layout wrappers, tables, cards, pricing grids, hero sections, or other presentation structures in page or block translations.

When demo content needs a designed public surface, create or reuse a Capell Layout Builder block and render it from package Blade under packages/demo-kit/resources/views. The seeded database record should point at that block or view through Capell metadata, while the Blade view owns the markup and classes.

Current examples:

  • demo-page-content renders designed demo pages through capell-demo-kit::components.block.demo-page-content.
  • Homepage demo sections render through capell-demo-kit::components.block.homepage-section.
  • Config: packages/demo-kit/config/capell-demo-kit.php.
  • Content pools: packages/demo-kit/src/Support/DemoContentPool.php.
  • Generated plan: packages/demo-kit/src/Actions/BuildDemoGenerationPlanAction.php.
  • Designed public markup: packages/demo-kit/resources/views/components/block.
  • Register Capell extension points, routes, migrations, settings, render hooks, and resources from service providers.
  • Install with composer require capell-app/demo-kit in the host Capell application.
  • In this repository, verify package changes with vendor/bin/pest; do not use php artisan.

Run package tests from the repository root:

Terminal window
vendor/bin/pest packages/demo-kit/tests --configuration=phpunit.xml
  • Put behaviour changes in src/Actions/; UI classes, commands, and controllers should call actions instead of owning domain logic.