{"id":50687734,"url":"https://github.com/redmodd/tessera-demo-courses","last_synced_at":"2026-06-09T00:04:19.368Z","repository":{"id":362167622,"uuid":"1257608334","full_name":"redmodd/tessera-demo-courses","owner":"redmodd","description":"Example Tessera workspace, multiple courses in one repo","archived":false,"fork":false,"pushed_at":"2026-06-02T23:32:02.000Z","size":5755,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-03T01:14:13.657Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redmodd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-02T20:56:41.000Z","updated_at":"2026-06-02T23:32:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/redmodd/tessera-demo-courses","commit_stats":null,"previous_names":["redmodd/tessera-demo-courses"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/redmodd/tessera-demo-courses","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redmodd%2Ftessera-demo-courses","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redmodd%2Ftessera-demo-courses/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redmodd%2Ftessera-demo-courses/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redmodd%2Ftessera-demo-courses/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redmodd","download_url":"https://codeload.github.com/redmodd/tessera-demo-courses/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redmodd%2Ftessera-demo-courses/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34085335,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-09T00:04:17.183Z","updated_at":"2026-06-09T00:04:19.360Z","avatar_url":"https://github.com/redmodd.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tessera Demo Courses\n\nAn example [Tessera](https://tesseralearn.dev) **workspace**: \na reference project showing what courses built on the framework can look like. It\nholds demo courses under `courses/`.\n\nYou can see these demos running live at **[tesseralearn.dev](https://tesseralearn.dev)**.\n\nIf you're learning Tessera or want a working starting point to copy from, this is\nthe repo to read. The framework's full authoring guide ships inside the dependency\nat `node_modules/tessera-learn/AGENTS.md` (also linked from `CLAUDE.md`).\n\n## The courses\n\nThe demos being added to this repo are deliberately different, so that collectively they \nexercise most of the framework, navigation modes, completion modes, export targets, custom layouts\nand quiz shells, custom question widgets, persistence, theming, and accessibility.\nMore demos will be added over time.\n\n### `courses/road-sign-demo`: \"Road Sign Match\"\n\nA fast, timed road-sign recognition **game**. It leans on Tessera's extension points heavily:\n\n- Custom `layout.svelte` and `quiz.svelte` (replaces the default chrome and quiz UI)\n- Custom components — countdown ring, confetti, leaderboard, sound effects, sign cards\n- MUTCD road-sign SVGs and a sound-effect library under `assets/`\n- **Quiz-mode completion** (`completion.mode: \"quiz\"`), free navigation\n\n### `courses/solar-system-demo`: \"Solar System Explorer\"\n\nA rich, content-driven tour of the planets, closer to a polished interactive article:\n\n- A library of custom presentation components under `lib/` (chaptered histories,\n  reveal-on-scroll, comparison diagrams, a starfield, modals, a cosmic challenge)\n- NASA imagery per planet under `assets/`\n- **Manual completion** (`completion.mode: \"manual\"`), custom branding and theming\n\n## The shared design system\n\n`shared/` is a workspace-wide design system (`Button.svelte`, `tokens.css`) that any\ncourse can import as `$shared`. It is bundled into each course's export at build\ntime, so it ships in every package with no extra wiring.\n\n## Running a course\n\nThis is a single `pnpm` workspace: one `package.json` and one `node_modules` shared\nby every course. Commands take the course name — a bare command lists the available\ncourses rather than picking one.\n\n```bash\npnpm install                      # first time only\n\npnpm dev road-sign-demo           # dev server at http://localhost:5173\npnpm dev solar-system-demo\n\npnpm validate \u003ccourse\u003e            # fast structural + static a11y checks (no build)\npnpm check \u003ccourse\u003e               # validate, then the runtime axe accessibility audit\npnpm export \u003ccourse\u003e              # build the LMS/web package into the course's dist/\npnpm new \u003cname\u003e                   # scaffold a new course under courses/\u003cname\u003e/\n```\n\nThe runtime accessibility audit (`pnpm check`) drives Playwright and needs a browser\nbinary once per machine:\n\n```bash\npnpm exec playwright install chromium\n```\n\nYou can also `cd courses/\u003cname\u003e` and run the bare `pnpm exec tessera \u003ccommand\u003e`.\n\n## Layout\n\n```\ntessera-demo-courses/\n├── package.json              # the one package — owns tessera-learn, svelte, scripts\n├── shared/                   # design system shared across courses (imported as $shared)\n├── courses/\n│   ├── road-sign-demo/       # custom layout, quiz, components, sfx\n│   └── solar-system-demo/    # manual completion, custom lib/\n├── CLAUDE.md / AGENTS.md     # pointers to the framework's authoring guide\n└── README.md\n```\n\n## Learn more\n\n- Website: \u003chttps://tesseralearn.dev\u003e\n- Authoring guide: `node_modules/tessera-learn/AGENTS.md` (after `pnpm install`)\n- Framework on npm: \u003chttps://www.npmjs.com/package/tessera-learn\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredmodd%2Ftessera-demo-courses","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredmodd%2Ftessera-demo-courses","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredmodd%2Ftessera-demo-courses/lists"}