Repository navigation
Jane v0.2.0: standalone Node server + Docker
Run the full Jane app on any computer with Node 22, or in Docker. No Cloudflare account and no API keys needed.
Highlights
- Standalone Node server (
npm start). It runs the same app code as the Cloudflare Worker (src/worker.js+src/engine.js), with static files frompublic/and file-based storage: one JSON file per key inDATA_DIR, with atomic writes. It has no runtime dependencies and aGET /healthzendpoint. - Configured by environment variables:
LEARNER_NAME,LEARNER_AGE,LEARNER_GRADE,PORT(default 8787),HOST(default 127.0.0.1) andDATA_DIR(default./local-data). - Nightly scripts work locally.
export-progress.mjs,publish-lessons.mjs,backup-progress.mjsandreset.shtake--local(orSTORAGE=file). Publish a pack and it shows up as a ✨ NEW QUEST! - Docker:
- multi-stage
Dockerfile: the runtime is Node 22 Alpine with no npm packages, runs as the non-rootnodeuser, keeps data in a/datavolume, and has a health check; docker-compose.yml: named volume, read-only root filesystem, dropped capabilities, and a localhost-only port by default;.dockerignorekeeps secrets and the learner's data out of images.
- multi-stage
npm test: an end-to-end smoke test that checks the kid app,/aboutand/parent, plays the first pizza question, publishes a quest locally and sees it as a new quest, and runs a local export.- Cloudflare deployments are unchanged.
Install
See INSTALL.md, which covers three options:
npm install && LEARNER_NAME=Sam npm start # A. Node → http://localhost:8787 (parent report: /parent)
docker compose up -d # B. Docker
./deploy.sh # C. Cloudflare Workers + KVLicensing
Code is MIT. Derived data is ODbL 1.0 / CC BY-SA 4.0, and lesson content is CC BY-SA 4.0. See LICENSING.md.
Built on the Marble Skill Taxonomy (v1) · © Generative Spark, Inc. (Marble) · https://withmarble.com · ODbL 1.0 (database) and CC BY-SA 4.0 (content).
Credits
Designed by Kent Langley and Landon, built with help from Grok Bot.
Known limitations
- No passcode on the parent page. The Node server and Docker listen on localhost only by default.
- Single learner per deployment.
- Nightly authoring happens outside the app, by a person or an assistant through the scripts.
- On Cloudflare, the Workers KV free-tier write limits still apply.
Next: see the Roadmap. Full changelog: CHANGELOG.md