Command Reference
Built-in VelvetCMS CLI commands (`velvet` binary and Core listeners).
Run ./velvet list for the authoritative, grouped inventory.
Commands register from the velvet bootstrap (after optional commands.registering event). CoreServiceProvider appends schedule:run and queue:work.
For tenants: --tenant=<id> / --all-tenants on applicable module/database commands; you can prefix argv with --tenant= (stripped before bootstrap) or set TENANCY_TENANT.
General #
| Command |
Description |
list |
Grouped command table |
help [command] |
Help output |
| (no subcommand) |
Prints Core version + usage hints |
version |
Semantic Core version |
schedule:run |
Runs due Schedule tasks |
Queue #
| Command |
Description |
queue:work |
Worker daemon with [--queue=] [--sleep=] [--memory=] [--max-jobs=] [--timeout=] [--retry-after=] |
See Queue · Queue configuration.
Setup #
| Command |
Description |
install [--defaults] [--force] [--no-migrate] [--no-sample] |
Project installer |
System #
| Command |
Description |
serve [--port=8000] [--host=localhost] |
PHP built-in HTTP server |
diagnose [--json] |
Health / diagnostics |
optimize |
Production optimization pass |
Cache #
| Command |
Description |
cache:clear |
Flush cache backend |
Configuration #
| Command |
Description |
config:cache |
Persist merged config snapshot |
config:clear |
Remove merged snapshot |
config:list [namespace] |
List keys |
config:get {key} |
Fetch value |
config:set {key} {value} |
Persist override |
config:publish {file} |
Materialize default stub into user/config |
Module values use namespace:file.key accessors:
./velvet config:publish docs:search
./velvet config:get docs:search.enabled
Routes #
| Command |
Description |
route:cache |
Produce route artefacts when applicable |
route:clear |
Drop artefacts |
Modules #
| Command |
Description |
module:list [--tenant=] [--all-tenants] |
Discovery output |
module:info {name} |
Deep manifest diagnostics |
module:compile [--tenant=] [--all-tenants] |
Validates graph + writes compiled manifest/autoload maps |
module:provision [--tenant=] [--all-tenants] [--dry-run] |
Provision tenant artefacts |
module:enable {module} [...] |
Enable module in state |
module:disable {module} [...] |
Disable |
module:provision superseded module:migrate-artifacts (2.1 rename).
Database #
| Command |
Description |
migrate [--force] [--path=] |
Applies migrations (includes queue tables 002_create_queue_tables) |
migrate:tenants [...] |
Tenant fan-out |
Content (requires full app + pages service) #
| Command |
Description |
page:list [--status=] |
Index-backed listing |
page:make [...] |
Authoring helper |
page:publish <slug> |
Publish workflow |
page:delete <slug> [--force] |
Remove page |
index:rebuild |
Rebuild search/list index |
Generators #
| Command |
Description |
make:controller |
Controller skeleton |
make:middleware |
Middleware skeleton |
make:model |
Model skeleton |
make:command |
CLI command skeleton |
make:module |
Module scaffold |
Scheduling #
Core ships schedule:run only. There is no schedule:list. Define tasks in PHP (Schedule::command / Schedule::call) and rely on cron or WebCron.
Snippets #
./velvet page:make about --title="About" --layout=default
./velvet migrate
./velvet queue:work --timeout=120 --memory=256