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](configuration/spec.md). ## Database `omlink.sql` is a MySQL dump for the `omlink` 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](conventions-database.md) and [integrations/index.md](integrations/index.md).