Skip to content

Artisan Commands Reference

This reference covers commands shipped by the host packages in this repository: Core, Admin, and Frontend. Optional packages add their own commands; check their README or run php artisan list capell in the target app.

Runs the main install workflow. It can seed default data, run extension install workflows, configure a theme, create users, clear caches, generate sitemaps when a sitemap command is available, and install developer tooling.

Terminal window
php artisan capell:install
php artisan capell:install --demo --url=https://example.test [email protected]
php artisan capell:install --package-mode=custom --packages=capell-app/blog,capell-app/navigation

For a non-interactive local or CI install that runs every Composer-installed Capell package and installs AI / Agent Bridge developer tooling:

Terminal window
php artisan capell:install \
--no-interaction \
--url="${APP_URL}" \
--all-packages \
--developer-tooling

Use --no-boost-install when you only want Composer to install Laravel Boost and Capell Agent Bridge without regenerating local Boost guidelines, skills, or MCP files:

Terminal window
php artisan capell:install \
--no-interaction \
--url="${APP_URL}" \
--all-packages \
--developer-tooling \
--no-boost-install

In non-interactive mode, always pass --url. If the app already has users, pass --user with an existing user ID or email. If the app has no users yet, pass --name, --email, and --password instead.

OptionUse it for
--demoSeed demo content during install
--freshClear existing Capell content before installing
--package-mode=core|all|customChoose how extension packages are selected
--packages=Comma-separated package names for custom installs
--all-packagesInstall all composer-installed Capell packages
--theme=Activate a theme key when themes are available
--languages=Comma-separated demo language codes
--sites=Comma-separated demo site names
--no-seed-default-dataSkip default site, language, content type, and page setup
--url=Site URL, defaulting to APP_URL
--user=Existing user email or ID used as default author
--name= / --email= / --password=First user details when the installer creates a user
--role-usersCreate example users for common admin roles
--role-user-password=Password for example role users
--no-side-effectsShow the install flow without running real side effects
--clear-cacheClear caches without prompting
--generate-sitemapRun sitemap generation when the command exists
--install-welcome-routeRemove the Laravel welcome home route when present
--developer-toolingInstall Laravel Boost and Capell Agent Bridge developer tooling
--no-boost-installInstall developer tooling packages without running boost:install

Runs the host upgrade flow: migration phase, registered upgrade steps, cache cleanup, and upgrade ledger checks.

Terminal window
php artisan capell:upgrade
php artisan capell:upgrade --dry-run
php artisan capell:upgrade --only-steps --force-step=2026_05_01_example
OptionUse it for
--dry-runShow the plan without making changes
--forceSkip interactive confirmations
--force-downgradeContinue when Composer reports an older version than the ledger
--no-clear-cacheSkip cache clearing after upgrade
--caches=Comma-separated cache list: all, page, config, views
--skip-migrationsSkip migration publishing and running
--skip-stepsSkip registered upgrade steps
--only-migrationsRun only the migration phase
--only-stepsRun only registered upgrade steps
--force-step=*Re-run a specific step ID

Rolls back a recorded upgrade step.

Terminal window
php artisan capell:rollback --step=2026_05_01_example --dry-run
php artisan capell:rollback --step=2026_05_01_example --force

Use --dry-run before a real rollback. Use --force only when the impact is already understood.

Runs install workflows for extension packages that are already present in Composer.

Terminal window
php artisan capell:extension-install
php artisan capell:extension-install capell-app/blog --url=https://example.test --languages=en --sites=Main
php artisan capell:extension-install --all --dry-run
OptionUse it for
extensionPackage name to install; omit to choose interactively
--allInstall every extension not already marked installed
--include-installedRe-run install workflow for an installed extension
--dry-runShow the install plan without running commands
--url=Forward a site URL to packages that declare a URL install param
--languages=*Forward language values to packages that declare language params
--sites=*Forward site values to packages that declare site params
--user=Forward a user value to packages that declare a user param
--assets=*Forward asset values to packages that declare asset params
--param=*Forward dynamic params as name=value, --name=value, or package-scoped values

Validates a package directory, capell.json, or package directory collection against Capell extension contracts.

Terminal window
php artisan capell:extension-audit packages/example
php artisan capell:extension-audit packages/example/capell.json

Inspects an extension package or manifest without installing it.

Terminal window
php artisan capell:extension-playground capell-app/blog --path=../packages-repository/packages

Scaffolds a local extension package and manifest.

Terminal window
php artisan capell:make-extension vendor/example --name="Example Extension" --path=packages
php artisan capell:make-extension vendor/pro-extension --premium

Lists or runs makers registered in MakerRegistry.

Terminal window
php artisan capell:make --dry-run
php artisan capell:make core.action --name=PublishPage --dry-run
OptionUse it for
makerRegistered maker key
--name=Primary generated name
--type=Optional type, schema, or component type
--source=Optional source schema/component key
--livewireGenerate Livewire files when the maker supports it
--databaseAllow database writes when the environment permits them
--dry-runPreview without writing
--forceOverwrite existing files after warning

These commands still exist for scripts and muscle memory:

Terminal window
php artisan capell:make-action CreatePage --data
php artisan capell:make-data PageAuthoringInput
php artisan capell:make-extender HeroFields AfterTitle
php artisan capell:make-schema LandingPage
php artisan capell:make-type LandingPage

Prefer capell:make for new docs and examples because it shows registered makers and supports dry runs.

Terminal window
php artisan capell:package-cache
php artisan capell:package-cache:clear

Use these after changing installed package metadata, manifests, or local Composer path repositories.

Terminal window
php artisan capell:publish-components
php artisan capell:cache-components
php artisan capell:clear-components-cache

Publishing components is an override path. Prefer package extension points when you only need to add behaviour.

Terminal window
php artisan capell:publish-migrations
php artisan capell:publish-migrations --type=settings
php artisan capell:publish-migrations --items=create_sites_table --path=database/migrations

Use package install commands for normal installs. Reach for direct migration publishing when building packages or debugging install flow.

Installs Admin package requirements and can integrate Capell into a Filament panel.

Terminal window
php artisan capell:admin-install --admin-panel-changes=auto --panel=admin
php artisan capell:admin-install --admin-panel-changes=manual

Runs admin setup and Filament panel integration.

Terminal window
php artisan capell:admin-setup --panel=admin --configurators=auto
php artisan capell:admin-setup --integration-only --preview

Common options:

  • --url=, --user=, --languages=, --sites=, and --theme= seed initial admin context.
  • --integration-only edits the panel without running the wider setup.
  • --skip-panel-integration leaves the Filament panel untouched.
  • --configurators=auto discovers configurators automatically.
  • --no-colors, --no-widgets, and --no-navigation skip those panel changes.
  • --skip-permission-sync skips the permission sync that normally follows admin install.
  • --preview shows proposed file changes without writing.
  • --force skips confirmation prompts.

See Admin setup for the panel integration flow.

Terminal window
php artisan capell:admin-clear-cache
php artisan capell:admin-cache-widgets
php artisan capell:admin-clear-widgets-cache
php artisan capell:admin-cache-configurators
php artisan capell:admin-clear-configurators-cache
php artisan capell:admin-publish-resources --type=page --force

capell:admin-publish-resources is an advanced escape hatch. Most package work should use resources, extenders, configurators, bridges, and settings schemas instead of publishing host resources.

Terminal window
php artisan capell:admin-upgrade
php artisan capell:admin-upgrade-summary-email

Upgrade summary email recipients come from CAPELL_UPDATE_NOTIFICATION_EMAILS.

Terminal window
php artisan capell:frontend-install
php artisan capell:frontend-install --dev
php artisan capell:frontend-after-install
php artisan capell:frontend-after-install --dev
php artisan capell:frontend-upgrade

--dev runs the Vite development build path instead of the production build where supported.

Terminal window
php artisan capell:faker --count=25 --packages --sites=Main --languages=en --force
php artisan capell:core-faker --count=10 --sites=Main --languages=en

These create local content for development and testing. Do not run them against production data.

Commands such as static-site generation, sitemap generation, package-specific demo commands, and frontend Tailwind aggregation are provided by optional packages in a consuming app. Keep those commands in the package README or package docs that own them.

CommandPackage
capell:static-sitecapell-app/html-cache
capell:xml-sitemapcapell-app/site-discovery
capell:frontend-tailwind-assetscapell-app/foundation-theme
capell:admin-democapell-app/demo-kit
capell:demo-kit-full-democapell-app/demo-kit

The source of truth in any app is:

Terminal window
php artisan list capell