Repositories
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.