MicroQuest is an open-source, exercise-first learning platform. Each lesson is a short sequence of focused challenges that asks learners to recall, apply, diagnose, and build. Answers are graded immediately, mistakes become practice material, and explanations appear when they are most useful: after the learner succeeds.
The repository includes a complete AI Engineering course covering LLMs, prompt engineering, fine-tuning, RAG, context engineering, agents, and MCP.
- Practice over passive reading — lessons contain only interactive quizzes and checks.
- Feedback that teaches — retry without answer leakage, then see the reasoning after success.
- Memorable interactions — choice, true/false, text, sentence matching, and visual architecture challenges.
- Built-in reinforcement — completion tracking, mistake practice, activity habits, and review scheduling.
- Courses as code — author versionable YAML courses with optional images, videos, and code stimuli.
- Safe publishing — invalid course updates cannot replace the last valid snapshot, and public APIs never expose answer keys.
The included AI Engineering course demonstrates the full learning loop. In its RAG lessons, learners complete source-faithful sentences, diagnose grounding failures, and reconstruct retrieval architectures from query to grounded answer.
Recall a concept → apply it → diagnose a mistake → build the system
MicroQuest runs on Linux with Node.js 20+, pnpm, and Python 3.11+.
git clone https://github.com/andre-ramos/micro-quest.git
cd micro-quest
pnpm install --frozen-lockfile
python3 -m venv .venv
.venv/bin/python -m pip install -r backend/requirements.txt
pnpm run build
mkdir -p data
.venv/bin/python -m alembic upgrade head
.venv/bin/python -m uvicorn backend.app:app --host 127.0.0.1 --port 8090Open http://127.0.0.1:8090.
Runtime data is created under data/ by default. You can override the course, database, cache, data, or frontend directories with the MICROQUEST_COURSES_DIR, MICROQUEST_DATABASE_PATH, MICROQUEST_CACHE_DIR, MICROQUEST_DATA_DIR, and MICROQUEST_FRONTEND_DIR environment variables.
Courses use a small schema-v2 directory structure:
courses/my-course/
├── course.yaml
└── 01-foundations/
├── chapter.yaml
└── 01-first-lesson/
└── lesson.yaml
Every lesson is an ordered set of quiz and check exercises. Start with the course guidelines, use the exercise-writing specification, and browse courses/ai-engineering as a complete example.
The optional course-authoring folder contains portable agent skills for validating course structure and improving exercise quality. They are authoring utilities, not application dependencies.
pnpm run typecheck
pnpm test
pnpm run test:backend
pnpm run build
.venv/bin/python scripts/exercise_revision_audit.py --course courses/ai-engineeringThe frontend is React and TypeScript. FastAPI handles course importing, grading, progress, practice, and static delivery, with SQLite persistence and Alembic migrations.
MicroQuest is available under the MIT License.
