Worky Demo
The demo workshop is included in the worky repository under demo/. It’s the fastest way to see worky in action.
Run it now
Section titled “Run it now”Just Go:
git clone https://github.com/davideimola/workycd worky/demogo mod tidygo run . serve --openThe workshop server starts on http://localhost:8080 and opens in your browser.
Chapters
Section titled “Chapters”Chapter 00 — Getting Started
Section titled “Chapter 00 — Getting Started”Verifies your environment is ready.
Checks:
done.txtexists in the current directoryWORKSHOP_USERenvironment variable is set
touch done.txtexport WORKSHOP_USER=yournamego run . checkChapter 01 — Hello Worky
Section titled “Chapter 01 — Hello Worky”A simple file creation and content check.
Checks:
hello.txtexistshello.txtcontains the text"Hello, Worky!"
echo "Hello, Worky!" > hello.txtgo run . checkChapter 02 — Finishing Up
Section titled “Chapter 02 — Finishing Up”The final chapter.
Checks:
complete.mdexistscomplete.mdcontains"# Workshop Complete"
echo "# Workshop Complete" > complete.mdgo run . checkWhat you’ll see
Section titled “What you’ll see”As each check passes, the sidebar icons in your browser update live — no refresh needed. The status command shows your overall progress:
go run . status
✅ Chapter 00: Getting Started ✅ Chapter 01: Hello Worky 🔓 Chapter 02: Finishing UpWhen all chapters are complete, a banner appears in the browser.
Reset and replay
Section titled “Reset and replay”go run . resetgo run . status
🔓 Chapter 00: Getting Started 🔒 Chapter 01: Hello Worky 🔒 Chapter 02: Finishing UpSource code
Section titled “Source code”The demo main.go shows a minimal but complete worky setup using the checks sub-package:
worky.New(worky.Config{ Name: "Worky Demo", HomeDir: ".worky-demo", Port: 8080, SiteFS: site, Chapters: []worky.Chapter{ { ID: "00", Name: "Getting Started", Slug: "00-getting-started", Checks: []worky.Check{ { Description: "done.txt exists in current directory", Run: checks.FileExists("done.txt"), }, { Description: "WORKSHOP_USER environment variable is set", Run: checks.EnvVarSet("WORKSHOP_USER"), }, }, }, // ... },}).Run()