This repository is the APHGames static site (Docusaurus): documentation, embedded examples bundle, Reveal.js slides, gallery links, and locale-specific pages.
Before making non-trivial changes, read:
That file describes stack versions, folder layout, how web.config.js and scripts/download_data.js connect to APHGames/examples and APHGames/slides, i18n (split builds per --locale), MDX embedding (APHCanvas, lecture slide lists), and theme/plugin overrides.
- No backend in this repo; production is static output from
docusaurus build. - Examples and slides are not committed: run
npm run download_dataafter clone. - Locale: use
npm run start_en/start_cs(and matchingbuild_*). Each build targets one language; Czech-only docs use front matterexclude_en/exclude_csand sidebar filtering indocusaurus.config.js. - Embedding demos: docs import
APHCanvaswith anamematchingwindow.APHfrom the downloaded examples bundle. - Slide listings: driven by
static/slides/slides-info.jsonfrom the slides release; seedocs/learning/lectures.tsxvsdocs/courses/aph_lectures.tsx.
When you change behavior that spans content + assets + config, update aidocs/prd.md so it stays accurate.
Persistent agent instructions live in .cursor/rules/ (split by concern: project core, i18n, docs/MDX, external assets, React src). Those rules mirror this file and aidocs/prd.md for in-IDE context.