Writing a course
Quickstart
A course is a GitHub repository. There is no submission form and nothing waits for approval. You push a repo, give the school its URL, and the school reads the repo, checks that it is laid out correctly, and either lists it or tells you exactly what is wrong.
- Make a public repository named
course-your-topic, laid out as the next page shows. - Register it by pasting the URL into the register box, or with
POST /api/coursesand a body of{ "repo_url": "…" }. - The school fetches it at its current commit, validates it, and lists it. That commit is pinned, so later pushes never change a diploma someone has already earned.
Validation runs every time you register, and the reasons for a failure come back in
the response. The quickest way to check a course is simply to try to register it.
To publish a change, raise the version in course.yaml and
register again.