Everyday commands
pnpm install # workspace install
pnpm dev # turbo dev (all apps)
pnpm --filter website dev # one app
pnpm build # turbo build (all apps)
pnpm typecheck # tsc across apps + packages
pnpm lint # eslint across appsEngine tests
The vector engine's regression battery runs in plain Node (it compiles the TypeScript source to a temporary CommonJS build first):
cd packages/engines/vector-processing && bash tests/run.shConventions
- Packages export TypeScript source directly; apps consume them via transpilePackages. Keep relative imports extensionless.
- The website never imports workspace packages — its token system is an adapted copy of @shawweb/core.
- No fabricated content anywhere: statuses, metrics, and screenshots reflect reality.
- Website assets regenerate through the asset pipeline (pnpm assets:build) rather than manual exports.
- Screenshot capture needs a one-time browser install: pnpm --filter @shaw/asset-pipeline exec playwright install chromium.