commands.md 2.2 KB

Read this when you need the supported setup, build, packaging, or configuration commands.

Commands

Dependencies

Purpose Command Source
Install PHP dependencies composer install composer.json / composer.lock
Install Node dependencies npm ci package-lock.json

Frontend

Purpose Command Effect
Development build npm run buildDev Vite development-mode build to assets/app/.
Production build npm run buildProd Vite production-mode build to assets/app/.
Watch build npm run watch Rebuilds assets/app/ on source changes.
Package npm pack Creates an npm package using package.json files.

Configuration

cfg/config.ini.example is the tracked placeholder template. Copy it to the ignored cfg/config.ini, provide deployment-specific values, and provision the required cfg/config.bin outside the repository. No configuration-generation script is tracked.

Purpose Command Constraint
Migrate role catalog php scripts/migrate-role-catalog.php Creates missing role/inventory schema and seeds, then converts legacy serialized user roles; review and run manually against the intended database.

The application bootstrap requires cfg/config.bin. Its base64+gzip encoding is reversible and must not be treated as cryptographic protection. See configuration/spec.md.

Database

phengine.sql is a MySQL dump for the phengine database. It contains DROP DATABASE, CREATE DATABASE, and sample user data; review it before importing and never run it against a database that must be preserved.

The role-catalog migration is an explicit data-changing CLI operation. It is not run during boot, has no automatic rollback, and must be reviewed before execution.

Not Declared

No test, lint, format, development server, deployment, or release command is declared in the tracked manifests. The role-catalog migration is the only documented schema/data migration command; use the repository's established operational process for all other database work.

See conventions-database.md and integrations/index.md.