Console and Composer Command Catalog
This document inventories the complete Symfony Console surface shipped by k0smos and identifies direct or related Composer scripts.
The command surface is tenant-scoped. Module commands are registered only when their module is active. This catalog includes core and module command declarations, including the committed-content recovery command added on 2026-09-13. Module availability depends on the resolved tenant; the live source of truth is always:
TENANT_ENV=k0smos.example.com php bin/console list
Use -- to forward command options through Composer. For example:
TENANT_ENV=k0smos.example.com composer app:favicons:clean-rebuild -- --dry-run
In the tables below, Direct means the Composer script invokes that exact console command. Related workflow means the Composer script changes scope or combines the command with additional operations. A dash means there is no Composer counterpart.
Symfony built-in commands
bin/console command |
Composer counterpart | Purpose |
|---|---|---|
completion |
— | Dump the shell completion script. |
help |
— | Display help for a command. |
list |
— | List commands available to the resolved tenant. |
Core application commands
bin/console command |
Composer counterpart | Purpose |
|---|---|---|
app:install |
Direct: composer app:install |
Run tests, migrations, theme-wrapper sync, theme/locale backfills, demo fixtures, and admin-role synchronization. |
cache:clear |
— | Clear the compiled cache for the current or selected tenant. |
cache:warmup |
— | Rebuild the compiled cache for the current or selected tenant. |
content:changes |
— | Count-only committed-change diagnostics; explicit --dispatch, --retry --subscriber=…, or one --reconcile=owner:type recovery step, all bounded by --limit=1..100. |
db:backup |
Related workflow: composer app:backup, composer app:backup-all |
Write a verified copy of the tenant SQLite database (VACUUM INTO, then PRAGMA integrity_check) to var/backups/tenant-{id}-{label}-{timestamp}.sqlite; --dir and --label are optional. Never overwrites a file; other drivers are refused in favour of their native dump tool. |
ci:test:integration |
Direct: composer ci:test:integration |
Run tests/Integration with the configured disposable PHPUnit bootstrap. |
generate-migration |
— | Generate a migration for the current tenant. |
k0smos:admin:grant-role |
— | Synchronize the canonical admin role and assign it to the target user. |
k0smos:fixtures:load |
Related workflow: composer app:install-demo, composer app:reinstall |
Load tenant-aware base or demo fixtures. |
k0smos:modules:sync-theme-selection |
— | Enable selected runtime theme wrappers; explicit --front and --admin prepare recovery targets. |
mcp:catalog |
— | List or validate the active tenant MCP tool catalog. |
migrate |
Related workflow: composer app:migrate, composer app:migrate-all, composer app:reinstall |
Run migrations for the resolved tenant; the Composer migration scripts can target multiple tenants. |
payment:webhooks:prune |
— | Prune old processed or failed native payment webhook events. |
queue:topology |
— | Inspect logical queues, producers, expected workers, and heartbeats. |
queue:work |
Direct: composer app:queue |
Run background queue workers. |
search:vector:rebuild |
— | Rebuild allowlisted vector projections from canonical sources. |
secrets:app-settings |
— | Inventory, protect, verify, rotate, or retirement-check AppSettings credentials. |
secrets:user-totp |
— | Inventory, protect, verify, rotate, or retirement-check user TOTP secrets. |
tenant:config:audit |
— | Classify tenant JSON keys and reject unowned runtime configuration. |
tenant:config:migrate-editable |
— | Move legacy backoffice-editable tenant JSON values into AppSettings. |
tenant:config:migrate-theme-selection |
— | Dry-run or insert the canonical JSON theme pair only when the DB aggregate is absent. |
tenant:config:migrate-locales |
— | Dry-run or insert the core/Documentation locale keys without replacing DB edits. |
tenant:theme:diagnose |
— | Preflight current theme data, wrappers and assets, including during recovery. |
tenant:theme:recover |
— | Replace a malformed aggregate with an explicitly validated front/admin pair. |
theme:audit-modules |
— | Audit public-theme module template forks. |
Module commands
Site Publish contributes site:import (read-only preview by default; exact
--confirm-checksum authorizes insert-only import), site:publish (full
snapshot and queued build, optional --retry=GENERATION), site:build --generation=GENERATION, site:status (optional --reconcile) and
site:rollback --generation=GENERATION. Mutations require --actor=USER_ID
and recheck that active user's permissions. All support --host as a tenant
host or ID, and appear only when the module is active. There are no root
Composer aliases. The offline site's own Bun tooling owns schema initialization,
standalone build, serve, handoff and rollback; see Site Publish.
These commands appear only when their owning runtime module is active.
bin/console command |
Composer counterpart | Purpose |
|---|---|---|
documentation:preview |
— | Run the loopback-only public-documentation preview. |
documentation:validate |
— | Validate documentation manifests, sources, links, and locale parity. |
ecommerce:inventory:expire-reservations |
— | Release a bounded batch of expired inventory reservations. |
ecommerce:search:rebuild |
— | Rebuild the configured external storefront product index. |
k0smos:data-exchange:export |
— | Export selected content into a deterministic versioned package. |
k0smos:data-exchange:import |
— | Validate, dry-run, or import a content package. |
k0smos:data-exchange:translate |
— | Generate target-locale package content with the configured AI provider. |
k0smos:deadline:schedule |
— | Queue deadline reminders, recap checks, and recurring ticket jobs. |
k0smos:esapi:import |
— | Import customers and invoices from EasyStore. |
k0smos:psapi:diagnostics |
— | Run read-only, redacted PrestaShop diagnostics. |
k0smos:psapi:import |
— | Import data from the PrestaShop Legacy Webservice. |
k0smos:wpapi:import |
— | Import WordPress and WooCommerce data through their REST APIs. |
media:favicons:clean-rebuild |
Direct: composer app:favicons:clean-rebuild |
Remove every generated favicon family for the tenant and recreate only the active one. |
opcua:record |
— | Poll and record enabled OPC UA nodes. |
opcua:secrets |
— | Inventory, protect, verify, rotate, or retirement-check OPC UA passwords. |
Discovery contributes two commands only while its module is active:
bin/console command |
Composer counterpart | Purpose |
|---|---|---|
discovery:work |
— | Read status; explicit --advance runs bounded graph/vector/document recovery and retention. |
discovery:projection |
— | Read corpus status or explicitly build, reconcile, validate, evaluate, switch, roll back, pause/resume or retire a generation; also graph reconciliation and wakeup. |
discovery:work --advance --steps=100 --seconds=45 is the periodic recovery path
for due work not covered by a live queue wakeup. Projection commands require
--corpus; mutations require an explicit --actor, and generation actions take
--generation. Structured configuration/report/epoch input comes from a local
JSON --input-file bounded to 16 KiB. Runtime activation and publication remain
explicit operations. See modules/Discovery/src/README.Discovery.md.
Composer workflows without a one-to-one console command
| Composer script | Behaviour |
|---|---|
composer app:install-demo |
Runs tenant migration, wrapper synchronization, exact theme/locale backfills and demo fixtures through bin/install-demo.php; aliases are deduplicated. |
composer app:backup |
Backs up every canonical tenant database (db:backup) unless TENANT_ENV selects one tenant; extra arguments such as --label=pre-migrate are forwarded. |
composer app:backup-all |
Explicitly backs up every configured tenant and ignores inherited tenant selection. |
composer app:migrate |
Migrates every canonical tenant unless TENANT_ENV selects one tenant. |
composer app:migrate-all |
Explicitly migrates every configured tenant and ignores inherited tenant selection. |
composer app:reinstall |
Runs install, tenant migration, and forced demo fixtures as one workflow. |
composer ci:docs:phpdoc |
Builds PHP API documentation with phpDocumentor. |
QA and test helpers (composer test, composer qa:*, and composer seed) are
development workflows rather than wrappers around application console
commands. Run composer run --list for the live Composer script inventory.
Maintaining this catalog
After adding, removing, or renaming a console command or an app:* Composer
script:
- run
TENANT_ENV=localhost php bin/console list --raw; - run
composer run --list; - update this catalog and the owning module documentation;
- verify any direct wrapper with its non-mutating option when one exists.