Skip to main content
pixwel is the developer command-line tool that lives in cli/. It’s a thin yargs wrapper around the commands you’d otherwise type by hand — docker-compose, the API test runners, the li3 console, and authenticated API calls — so that day-to-day local development is a handful of short verbs. It’s the same CLI that drives the Local Development setup; this page is the full command reference.

Install

The CLI is a workspace package, linked from your checkout:
cd cli
pnpm i
npm link        # puts `pixwel` on your PATH
Then point it at your platform checkout. pixwel path defaults to the current directory:
cd /path/to/platform
pixwel path
The path is stored in a configstore file named pxwl (under ~/.config/configstore/pxwl.json), so every other command works no matter which directory you run it from. If the path isn’t set, the CLI refuses to run anything but pixwel path.

Stack lifecycle

These wrap docker-compose against your checkout. They run from anywhere once the path is set.
CommandWhat it runs
pixwel updocker-compose up -d — brings up the full stack (API at http://localhost:8080).
pixwel stopdocker-compose stop — stops the containers, keeping them around.
pixwel downdocker-compose down — tears the stack down.
pixwel debugBrings the stack up with the docker-compose.debug.yml override so Xdebug is enabled.
pixwel bashOpens a shell inside the app container (docker-compose exec app bash).

Install & environment

CommandWhat it does
pixwel installOne-shot setup: unlocks git-crypt with gitcrypt.key, copies the development env into place, installs UI deps (pnpm install + gulp build), and runs composer install for the API. Fails early if gitcrypt.key is missing.
pixwel env [name]Copies docker/<name>.env into .env, faye/.env, and slurpee2/.env. Defaults to development.
pixwel migrateRuns utils/migrate.sh (requires a local mongo client).
pixwel fixRuns phpcbf inside the app container to auto-fix PHP code style.

Tests

CommandWhat it runs
pixwel kahlanRuns the API test suite (Kahlan) inside the app container. Add --debug to attach Xdebug, --watch to re-run on file changes. Any further arguments are forwarded to ./bin/kahlan (e.g. pixwel kahlan --spec=spec/cases/...).
pixwel karmaRuns the UI test suite (Karma) via npx karma start.

Running & serving

CommandWhat it runs
pixwel uiServes the UI (gulp serve). Pass --dev to point it at your local API instead of a remote environment.
pixwel li3Runs an API li3 console command inside the app container. Arguments are forwarded — e.g. pixwel li3 search reindex.

Logs

CommandWhat it tails
pixwel logsThe application logs under api/resources/tmp/logs/*.log.
pixwel dlogsThe container logs (docker-compose logs -f).

API access

The CLI can authenticate against a deployed environment and make signed API calls.
1

Log in

pixwel login prompts for a host (development, staging, or production), email, and password. It exchanges them for a session token and saves the host, email, and token to the pxwl configstore.
2

Query the API

pixwel api <path> issues an authenticated GET /api/<path> and prints the JSON response. For example, pixwel api projects.
3

Get it as a table

pixwel find <path> does the same request but renders the result as an ASCII table instead of raw JSON.
pixwel token prints the saved authentication token — handy for pasting into other tools or curl.
Requests send an X-Range: resources=0-19 header, so api and find return the first page of results. Use the path’s own paging/query parameters to page through the rest.

Command summary

CommandDescription
path [path]Set the platform checkout path (defaults to the current directory).
up / stop / downStart, stop, or tear down the full stack.
debugStart the stack with Xdebug enabled.
bashOpen a shell in the app container.
installFull local install (git-crypt, env, UI, API).
env [name]Copy an environment file into place.
migrateRun database migrations.
fixAuto-fix PHP code style.
kahlanRun API tests (--debug, --watch).
karmaRun UI tests.
uiServe the UI (--dev for the local API).
li3Run an API li3 console command.
logs / dlogsTail application or container logs.
loginAuthenticate and save a token.
api <path>Authenticated API call, JSON output.
find <path>Authenticated API call, table output.
tokenPrint the saved token.

Back to docs index | Local Development >>