-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Tools for running a GitHub-backed classroom: a teacher CLI, a student CLI, reusable GitHub Actions workflows, and starter assignment templates. Everything is installable from a single repo clone.
-
New here? Read Installation — install Go,
gh, and the two CLI extensions in a few commands. -
Teaching a class? Walk through the Teacher Guide: set up the org, run
gh teacher init, add a classroom, manage the roster, invite students, download submissions. - Taking a class? Walk through the Student Guide: accept an assignment, submit your work.
-
Looking up a flag? Skim the per-command references for
gh teacherandgh student. - Building an assignment template? See Assignment Templates.
- Something broken? See Troubleshooting.
gh teacher and gh student are gh CLI extensions that wrap the GitHub REST API and git to automate the classroom lifecycle:
- A teacher bootstraps a per-org
classroom50config repo (gh teacher init), scaffolds one or more classrooms inside it (gh teacher classroom add), invites students to a GitHub org, and downloads their submissions in bulk. - A student accepts an assignment (which provisions a private repo from a template) and submits work as commits.
There is no separate server. All state lives in GitHub: org membership, per-student private repos, and a small .classroom50.yml metadata file inside each student repo.
This wiki is auto-synced from the wiki/ folder of the development repo on every merge to v1. Edit pages there, not here — direct edits will be overwritten on the next sync. Add a page by dropping a new .md file into wiki/; the filename (without extension, dashes shown as spaces) becomes the page name.