Skip to content

Development

Director is a Vite-built browser webapp written in TypeScript. It depends on @open-matrix/core (for MatrixActorHtmlElement, RequestReply, browser bootstrap helpers) and @open-matrix/chat-component (for the lazy-loaded conversation surface).

Pages

  • Local dev — running Director against a real Host or against a worker container.
  • Package boundaries — what's allowed to import what.
  • UI architecture — Pattern A page-actor + projected children.
  • Testing — unit (Node test runner), Playwright e2e in tests/ (when present).
  • Plugin surfaces — how the chat-component conversation surface is loaded as a lazy chunk and what target-state plugin loading would look like.

Quick reference

bash
# Build (Vite)
cd projects/matrix-3/packages/director
node build.mjs                    # equivalent to: npx tsc -p tsconfig.json && vite build

# Dev (against a running Host)
MATRIX_DAEMON_ORIGIN=http://127.0.0.1:3100 pnpm dev

# Type check
pnpm type-check

# Tests
pnpm test:ci                      # runs services/__tests__/*.spec.ts via run-node-tests.cjs

The build output is dist/ and is served by the Host gateway under /apps/director/ per the webapp.distDir declaration in matrix.json.

Source: projects/matrix-3/packages/director/build.mjs, vite.config.ts, package.json, RUN-IN-PLACE.md.