How to Participate
Report problems, improve existing courses, or write a new one.
Ways to help
- Report a problem — wrong information, a typo, a confusing card — open an issue.
- Fix or improve a course — edit its
source/*.csvfiles and open a pull request. - Write a new course — see the walkthrough below.
Writing a new course
- Create
<name>/source/withmeta.csv,units.csv,cards.csv, and any images/audio they reference. - Read AUTHORING.md for this project's content guidelines — deck structure, card-type variety, how many practice cards per concept, and more.
- Add a cover image and a
meta.json— see README.md for every field. - Run the validator:
python validate_course.py <name> --source— it catches dangling references, missing media, unknown card types, and more before you open a PR. - Build the zip:
python build_course_zip.py <name>, then open a pull request.
The validate-courses GitHub Action runs the same checks
automatically on every PR.
License
Course content in this repo is licensed under PolyForm Noncommercial 1.0.0. If you're contributing a course built from a source with its own license, say so in that course's own folder rather than assuming.