React + TypeScript app that is always embedded inside the Flowgear Console. All data access goes through the Flowgear SDK, and the dev server is wired to open the console in debug mode automatically.
- React 19.1 + React DOM 19.1 with the React Compiler enabled
- Vite 7.1 (TypeScript 5.9) with
@vitejs/plugin-reactand@vitejs/plugin-basic-ssl - Flowgear SDK:
flowgear-webapp@1.4.3(Flowgear.Sdk.invoke,init,setAlert, etc.) - UI: Bootstrap 5.3.8 and Sass
- Linting: ESLint 9.x (see
eslint.config.js)
- Call workflows via
Flowgear.Sdk.invoke(method, relativePath, payload?, headers?, tenant?). - Discover available endpoints in
openapi.yml, but ignoreservers,components, andsecurity; only the method and relative URL are passed toinvoke. - Do not call APIs directly with
fetch/axiosbecause the console provides the auth cookie on your behalf.
- Set
.env.localvalues:FG_DEV_TENANTandFG_DEV_SITE(required)- Optional:
FG_DEV_PROTOCOL(httpsdefault),FG_DEV_HOST(localhost),FG_DEV_PORT(3000)
- Install and run:
npm install npm run dev
- The dev server starts on a self-signed HTTPS host and opens two tabs:
- Local app URL (accept the certificate)
- Flowgear Console debug URL:
https://app.flowgear.net/#t-{tenant}/sites/{site}/apps/debug/?debugUrl={encoded-local-url}
- Update
public/app.json(manifest, embed mode, menu placement) and bumpVersion. - Provide the icon at
public/icon.svg. - Build and package:
npm run build, then zip thebuilddirectory contents for upload.
- ESLint (VS Code extension) to surface lint feedback from the existing config.
- Codex (CLI or VS Code extension) to develop with the guidance in
AGENTS.mdand keep API calls routed throughFlowgear.Sdk.invoke.