This repository contains a set of lightweight web apps that can be deployed straight to GitHub Pages.
- Install dependencies
npm install
- Start the development server
npm start
By default this serves the wbs-via-pddl app. The server loads the app at http://localhost:3000. Future apps can be served by setting APP=<app-name>.
-
Run tests
npm testThis launches Vitest in watch mode.
-
Create a production build
npm run build
The build script iterates over every folder in
apps/and writes the optimised output underdocs/apps/<app-name>. -
Validate app index links and baseline HTML conventions
npm run check:app-links
This verifies every app is linked from
app-index.html, includes a back link, and checks baselineindex.htmlconventions. -
Preview the production build locally
npm run preview
Pass
APP=<app-name>to preview a specific build.
apps/<app-name>/– individual applications with their ownsrcandindex.html.src/common/– shared utilities likeindex.css,reportWebVitals.jsand test setup.vite.config.js– uses theAPPenvironment variable to select which app to serve or build.scripts/build-all.js– builds every app found inapps/.
- Create
apps/<app-name>/with asrcfolder andindex.html. Include<a href="../../index.html">Back to app index</a>in the HTML. - Add a screenshot as
pics/<number>.pngand a row toapp-index.csvwith the same number in the#column. - Run and test locally with
APP=<app-name> npm startandnpm test. - Build with
npm run buildwhen ready.
- Use the shared
common.cssstylesheet with a relative path in every static app. common.cssimports the Inter font and defines base spacing, heading rules and.btnclasses.- Include a viewport meta tag and design layouts responsively.
- Keep asset paths relative (avoid leading
/). React apps should setbasename={import.meta.env.BASE_URL}on the router. - Embed small datasets inline so pages open without a server.
Push your changes to the main branch and enable GitHub Pages in the repo settings using Deploy from branch with the root folder. Each app folder then becomes available at:
https://<org>.github.io/<repo>/<app-folder>/
This project is licensed under the MIT License.