Files
flowmaster-mission-control-…/README.md
T
shad 1df3122eef
build-and-publish / test (push) Has been cancelled
build-and-publish / image (push) Has been cancelled
feat(canvas): strip demo data, EA2 is the only source (#3)
2026-06-14 21:08:48 +00:00

62 lines
2.1 KiB
Markdown

# FlowMaster — Canvas
**Live at https://canvas.flow-master.ai** · operations cockpit for every process the company runs.
Canvas is the FlowMaster operator surface. Industrial-blueprint doctrine:
paper canvas, navy frame, amber accent, 1px hairlines, square edges,
monospace operational density. People, Finance, Procurement, and IT in
one frame.
## What it is
- React 19 single-page app (Vite + ReactFlow + cmdk + framer-motion +
zustand + dagre).
- Connected directly to EA2 in the browser via the API client at
`src/lib/api.ts`. There is one data source: live EA2. No bundled
snapshot, no synthetic blueprints.
- Scenes: Landing, Mission Control, Run History, Process Studio, Hubs,
Agent, Settings, Login, SSO callback.
- Agent scene has a chat surface with per-tenant local memory (`src/lib/agentMemory.ts`)
and three intents: navigate, retain a fact, start a process draft.
- Hubs surface departmental lenses (People, Finance, Procurement, IT).
- Three view-as personas (CEO, Head of People, Head of IT) re-sign in
under the persona's email so the operator UI reflects the seat.
## Run, test, build
```bash
pnpm install
# dev (with backend proxy for live mode)
pnpm dev # → http://127.0.0.1:5173
# tests
pnpm test # vitest
# build
pnpm build # tsc + vite, single chunk ~234 KB gz
```
## Deploy
Deployment is tracked in `FM06/flowmaster-ops`, overlay
`manifests/overlays/demo/`:
- `mc-deployment.yaml` — replicated nginx Deployment
- `mc-service.yaml` — ClusterIP service on port 80
- `mc-ingress.yaml` — Traefik ingress at `canvas.flow-master.ai` with
cert-manager DNS-01 cert
nginx in the image reverse-proxies `/api/*` to `https://demo.flow-master.ai`
so the SPA is same-origin (no CORS).
```bash
pnpm build
docker buildx build --platform linux/amd64 \
-f Dockerfile.runtime \
-t gitea.flow-master.ai/shad/mission-control-demo:sha-<git> \
--load .
docker push gitea.flow-master.ai/shad/mission-control-demo:sha-<git>
# Then bump the image pin in manifests/overlays/demo/mc-deployment.yaml.
```