WebGME app with monorepo-managed extension packages.
- Start MongoDB locally (
mongod). - Install dependencies from the repository root:
npm install
- Build all packages:
npm run build
- Start WebGME from the repository root:
npm start(loads.envif present via Node--env-file-if-exists)- Or pass any file explicitly:
node --env-file=./path/to.env app.js
- Open:
http://localhost:8888
- WebGME loads
config/config.<NODE_ENV>.js(seeconfig/README.md). Example:NODE_ENV=jarvisusesconfig.jarvis.js(MongoDB URI for that stack). LLM_*in.env(see.env.example; use.env.<profile>.examplewhen it matchesconfig.<profile>.js, e.g..env.jarvis.example). Do not commit API keys.- WebGME can still apply
WEBGME_*overrides from the environment (seeconfig/index.js).
This repository uses npm workspaces (packages/*). Each component has a TypeScript source package that compiles directly into the standard src/ paths WebGME expects. Components are registered via webgme-cli.
- Build all packages:
npm run build - Clean compiled output:
npm run clean - Refresh generated WebGME config:
npx webgme-cli refresh - List recognized WebGME components:
npx webgme-cli ls
- Endpoint:
GET /cback/test - Full local URL after login:
http://localhost:8888/cback/test
webgme-cback(packages/cback)- TypeScript router package
- Source:
src/cback.ts→ compiles tosrc/routers/cback/cback.js
webgme-gmebot(packages/gmebot)- TypeScript widget package
- Source:
src/Widget.ts→ compiles tosrc/visualizers/widgets/GMEBot/Widget.js(AMD) - Added to footer via
config/components.json(GenericUIFooterControlsPanel.extraWidgets)
GMEBot is attached to the generic footer panel using component settings in config/components.json:
GenericUIFooterControlsPanel.extraWidgets.GMEBotWidget.path = "widgets/GMEBot/Widget"