This repository is intended to serve as a template to help bootstrap a new Labspace.
This repo includes a Claude Code slash command that can scaffold your entire labspace automatically — all section markdown files, labspace.yaml, compose.override.yaml, and starter project files.
Prerequisites: Claude Code installed
- Clone your newly created repo to your local machine
- Open the repo in Claude Code
- Run:
/labspace-author Teach Docker networking using bridge and overlay networks
- Claude will ask a few questions (audience, tech stack, GitHub repo URL) and then generate all the files
You can also run
/labspace-authorwith no arguments and Claude will guide you through it interactively.
-
Create a new repository using this repo as the template (docs here).
NOTE: After creating the repo, a GHA workflow will run to do some additional bootstrapping. The bootstrapping workflow file will be removed during bootstrapping.
-
Clone your newly created repo to your local machine
-
Start the local development mode:
# On Mac/Linux
CONTENT_PATH=$PWD docker compose up --watch
# On Windows with PowerShell
$Env:CONTENT_PATH = (Get-Location).Path; docker compose up --watch-
Update the
labspace/labspace.yamlwith your Labspace's title and description -
Write your Labspace! Being in dev mode, your changes should be visible in the interface without a restart. Feel free to edit either on your host machine or in the Labspace itself!
Add any supporting application files or resources directly into the Labspace. This repo will be cloned into the Labspace at startup.
Be sure to check out the docs for additional information and guidelines.
The template repo contains a workflow file to make it easy to publish your Labspace.
- Add GitHub Action Secrets in your new repo for the following:
DOCKERHUB_USERNAME- the username to authenticate to Docker Hub withDOCKERHUB_TOKEN- a personal or organization access token to use for authentication
- In the
.github/workflows/publish-labspace.yaml.tempfile, update theDOCKERHUB_REPOwith the name of the Docker Hub repo you want to publish to. - Rename the workflow file to remove the
.tempextension.
mv .github/workflows/publish-labspace.yaml.temp .github/workflows/publish-labspace.yaml