Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Simspace lab

An interactive, fully in-browser lab built on Simspace. Everything in the terminal is simulated — no real Docker, backend, or network — so it runs the same for everyone, with nothing to install.

You edit the lab under lab/; the app that runs it is a prebuilt image, and the lab is loaded at runtime, so there's no build step for content.

Author locally

You only need Docker.

docker compose up dev              # live preview at http://localhost:5173
docker compose run --rm validate   # lint the lab (fails on errors)

Edit the files in lab/ and refresh the browser to see changes:

  • lab/labspace.yaml — title, terminals, seed files, sections, variables
  • lab/simulator.yaml — what each command does (scenarios)
  • lab/*.md — one file per section of instructions

Pin the toolchain to a released version for reproducibility:

export SIMSPACE_AUTHORING_IMAGE=dockersamples/simspaceweb-authoring:1

Deploy

GitHub Pages (default): enable Pages (Settings → Pages → Source: "GitHub Actions"), then push to main. The workflow in .github/workflows/deploy.yml validates the lab and publishes it. Pin runtime-tag there to a released version for a stable lab. Pull requests are validated first by .github/workflows/validate.yml.

As a container: the Dockerfile bases on the runtime image and swaps in your lab.

docker build -t my-lab .
docker run --rm -p 8080:80 my-lab    # http://localhost:8080

Authoring with an AI agent

This repo is set up for agent authoring. In Claude Code, an authoring-lab skill (under .claude/) knows the workflow, docker compose / validate-lab are pre-allowed, and a hook auto-validates the lab after every edit under lab/. CLAUDE.md loads the guide automatically.

Learn more

See AGENTS.md for an authoring cheat-sheet, and the Simspace specs for the full simulator.yaml / labspace.yaml reference.

Releases

Packages

Contributors

Languages