Create self-contained, browser-based adaptive learning apps from any course material.
file://, no server neededFrom a URL:
text
1. Fetch the course page, extract topic list and resource links
2. Download HW/Discussion/Lecture PDFs to ~/COURSE_NAME/
From a local folder:
text
1. List files, identify PDFs and documents
2. Read/parse to understand topics and content
Create questions.json with this schema:
json
[{
"id": "unique-id",
"topic": "Topic Name",
"topicIndex": 0,
"difficulty": 1,
"question": "Supports $LaTeX$ via KaTeX",
"answer": "Supports $LaTeX$ and \\n for line breaks",
"tags": ["tag1", "tag2"]
}]
Guidelines:
$...$ inline, $$...$$ block) for math\\n for line breaks in question/answer texttopicIndex controls topic ordering (0-based)Run the bundler script:
bash
bash SKILL_DIR/scripts/generate-course.sh <course-id> <questions.json> <output-dir>
Then register the course in engine.js COURSE_REGISTRY:
javascript
{ id: 'course-id', name: 'Course Name', desc: 'Description', school: 'School', term: 'Term' }
Open <output-dir>/index.html in a browser. Verify:
FilePurposeindex.htmlMain page with course selector + learning UIstyle.cssDark theme, responsive stylesengine.jsFSRS + BKT engine, question selection, state managementts-fsrs.umd.jsFSRS algorithm library (UMD build of ts-fsrs)
To add a new course to an existing adaptive-learning setup at ~/adaptive-learning/:
questions.json to ~/adaptive-learning/courses/<id>/bash scripts/generate-course.sh <id> questions.json ~/adaptive-learning/framework/COURSE_REGISTRY in engine.js