LibreUni Project Overview
LibreUni is a free learning platform built around plain content, static rendering, and interactive components. Lessons are written as MDX, courses are described with small JSON files, and the app turns that material into searchable course pages, lesson pages, exports, exercises, diagrams, and code labs.
The project is intentionally contributor-friendly. A useful change can be a new lesson, a better explanation, a fixed diagram, a more focused quiz, a clearer code sample, or an accessibility improvement.
Repository Map
Click the diagram to open the overlay. Large diagrams should keep their proportions, scale down when needed, and expand cleanly on demand.
What Contributors Usually Touch
| Area | Common files | Good contribution shape |
|---|---|---|
| Course metadata | apps/main/src/content/courses/*.json | Clear title, description, icon, color, image |
| Lesson content | apps/main/src/content/lessons/**.mdx | Focused lesson with examples, checks, and references |
| Interactive widgets | apps/main/src/components/* | Reusable feature with stable props |
| Build and tests | tests/**, tools/** | Verifies behavior without slowing normal authorship |
| Documentation | docs/**, README.md | Helps the next contributor make fewer guesses |
Contribution Mindset
A good LibreUni contribution is small enough to review, rich enough to teach, and boring enough to maintain. Prefer one clear idea per lesson section. Use visual and interactive elements when they make the concept easier to understand, not as decoration.
A new contributor notices that a lesson explains state machines only in prose. They can either rewrite the entire UML course, add one focused diagram and quiz to the state-machine lesson, or start by changing the homepage layout.