Thanks for your interest in contributing. LearnKit is a static-file course framework — contributions range from fixing a typo in a course module to building new framework features.
- Content fixes — typos, outdated commands, broken examples in
courses/cpp-drone/pages/ - New course — open Claude Code in the repo, ask Claude to create a course on any topic, open a PR
- Framework improvements — new components, mobile fixes, performance changes in
core/ - Skill improvements — better prompt logic in
.claude/skills/
No install step. Open a terminal in the repo root:
python3 -m http.server 8000Open http://localhost:8000/courses/cpp-drone/ to see the included course.
core/js/framework.js ← all runtime logic (shared)
core/css/styles.css ← design system (136 CSS variables)
courses/template/ ← copy this to start a new course
courses/cpp-drone/ ← reference course
.claude/skills/ ← Claude Code skills
- No npm, no build tools, no external CDN links — zero-dependency is a hard constraint
- Do not modify
core/files to fix course-specific content; only change the relevant module page - New CSS must use existing variables from
:root; add new variables there rather than hardcoding values - Checkbox IDs must be globally unique across a course; use the convention
sN-taskname - Do not add comments explaining what code does — only add them when the WHY is non-obvious
- Fork the repo
- Create a branch:
git checkout -b your-branch-name - Make your changes
- Open a pull request against
main - Fill in the PR template
For large changes (new framework feature, major content rewrite), open an issue first to discuss the approach.