Features.
Optional services in src/features/. Change what this project runs in features.config.json, then run npm run update-features — see FEATURES.md.
Use node backend
Build with the Node adapter so the app runs as a long-running server and can host on-demand endpoints. Turn this off for a purely static build served by any file host.
node-backend · default on
Portal SSO
Single sign-on against the Portal: OAuth 2.0 Authorization Code + PKCE (S256), entirely in the browser. Remembers who the user is; does not guard any route. Needs PUBLIC_PORTAL_URL and PUBLIC_OAUTH_CLIENT_ID.
portal-sso · default off
Portal APIs
Typed client for the Portal JSON APIs a website may call with its SSO token (Portal AI v1: status, models, chat). Needs Portal SSO for the credential; client-only.
portal-api · default off · needs portal-sso
Database
Postgres or SQLite via Drizzle (DB_CLIENT): a self-bootstrapping demo schema (ProgLanguages, ProgPeople) behind two read-only endpoints. Postgres needs DB_HOST/DB_NAME/DB_USER; SQLite just DB_URL (defaults to a local .tmp file).
database · default off · needs node-backend