Skip to content

Commands ​

All commands run from the repository root. Use Node 20.19+ or 22.12+.

npm scripts ​

CommandWhat it does
npm installInstall dependencies from the lockfile scopes
npm run devVite dev server with HMR; runs sync:bimr and gen:modules first
npm run buildProduction build to dist/; runs prebuild first
npm run previewServe the production build
npm run typechecktsc --noEmit; runs gen:modules first
npm run gen:modulesRegenerate src/modules/registry.generated.ts from package.json
npm run sync:bimrRefresh the BIMR MicroPython runtime and viewer bundle
npm run proxyRun the forge proxy standalone
npm run test:proxyUnit-test the forge proxy
npm run test:modulesModule contract and prompt-composition tests
npm run test:e2ePlaywright smoke and report tests
npm run docs:devVitePress dev server for this site
npm run docs:buildBuild this site to docs/.vitepress/dist
npm run docs:previewServe the built documentation site

predev, prebuild, pretypecheck and pretest:modules run gen:modules, so a stale registry is not a normal failure mode. predev and prebuild also run sync:bimr.

Make targets ​

CommandWhat it does
make installnpm install
make devnpm run dev
make serveBuild and serve the Studio shell on port 8090
make serve-appServe one saved app standalone (port 8091)
make buildnpm run build
make previewnpm run preview
make typechecknpm run typecheck
make syncnpm run sync:bimr
make testnpm run test:e2e
make cleanRemove dist, node_modules, test output

make serve sets VITE_FORGE_PROXY=/forge-proxy/, builds, then runs the preview server on 127.0.0.1:8090.

make serve-app accepts APP and APP_PORT:

bash
make serve-app
make serve-app APP=rennes-parks APP_PORT=8092

Test commands ​

SuiteCommand
Forge proxynpm run test:proxy
Module registry and promptsnpm run test:modules
Browser smoke and reportsnpm run test:e2e

The Playwright suite needs a browser install (npx playwright install) and a running preview server where the test expects one.

Documentation ​

bash
npm run docs:dev       # http://localhost:5173 (VitePress)
npm run docs:build     # static output
npm run docs:preview   # serve the built site

The build fails on a dead internal link, so add pages before linking them.

Release and maintainer commands ​

The release process lives in RELEASE.md in the repository. It is stripped from public source snapshots and is not part of this site.

Next steps ​

Released under the MIT license.