Canonical GitHub remotes for the suite (also the Cursor multi-root workspace in this project).

Repository Role
courseforge/infrastructure Orchestration: Kind installer, Tekton reuse, pins, Publish GitHub Pages (publish-github-io.yml), doc aggregation from product repos.
courseforge/course-builder Main Courseforge application; docgen bundles under docs/demos/ (recordings, long-form demos) and docs/rendered-site/ โ†’ docs/rendered/. GitHub Pages aggregation pulls only docs/rendered/ (+ index.json) from main โ€” not docs/demos/recordings/.
courseforge/github.io Deployed GitHub Pages repository; content is synced from courseforge-github-io/ in infrastructure.
jmjava/documentation-generator docgen CLI/library (Manim, TTS, validation) and this suite handbook (docs/suite/).
jmjava/tekton-dag Reusable Tekton DAG / task library; version pins and reuse notes live in infrastructure.

Site source folder versus the github.io repository

https://courseforge.github.io/ is served by GitHub Pages from the courseforge/github.io GitHub repository (usually branch main, site published from the repo root).

Day-to-day authoring of that site lives in a directory inside a different repo:

What Where Role
courseforge-github-io/ Folder at the root of courseforge/infrastructure Canonical Jekyll source in git: _config.yml, _layouts/, this handbook under docs/handbook/, the video doc index, aggregated _data/<slug>.json, and rendered assets under docs/<slug>/. Lets you change the public site in the same repo as orchestration (workflows, aggregator scripts, Kind layout).
courseforge/github.io Its own GitHub repository under the courseforge org Pages deploy target โ€” the branch GitHub builds and hosts. CI cannot use the default GITHUB_TOKEN on infrastructure to push here, so publish-github-io.yml uses BROAD_REPO_TOKEN (typically a PAT with full repo access on your suite; must be able to push main on github.io).

sync-github-io.sh rsyncs infrastructure/courseforge-github-io/ into a checkout of courseforge/github.io and pushes main. After a successful run, the github.io clone should match the folder (aside from any files that live only in github.io if the sync preserves them).

More detail: infrastructure root README.md ยง Documentation (GitHub Pages) and courseforge-github-io/README.md in that repo.

Return to the Suite handbook or Home.