Project structure¶
CLI-generated project¶
my-course/
├── lessonkit.json # schemaVersion 1 — packaging + course descriptor
├── package.json
├── vite.config.ts
├── src/
│ ├── main.tsx
│ ├── App.tsx # your course UI
│ └── styles.css
└── dist/ # after lessonkit build
lessonkit.json is the contract between your React app and @lessonkit/lxpack:
course.courseIdand everyassessments[].checkIdmust match React propslessons[].idmust match when each lesson is a separate SPA or LMS entry; withlayout: "single-spa", the manifest lists only the LMS shell lesson(s) while additional in-app step ids may exist only in React (see lxpack-golden README)course.layoutshould besingle-spaforlessonkit package(1.0.0)paths.spaDistDirpoints at the Vite output (defaultdist)
lessonkit init patches App.tsx courseId and title to match the manifest.
Monorepo layout¶
lessonkit/
├── packages/
│ ├── core/ # telemetry, identity, headless runtime
│ ├── react/ # components + provider
│ ├── xapi/
│ ├── accessibility/
│ ├── themes/
│ ├── lxpack/ # packaging adapter (Node 18+)
│ ├── cli/
│ └── studio-* # schema, renderer, builder, ui, codegen (Alpha)
├── apps/
│ └── studio-web/ # visual editor (private npm workspace)
├── examples/
│ ├── react-vite/ # RTD demos
│ ├── data-privacy/
│ ├── customer-service/
│ ├── lxpack-golden/ # packaging reference
│ ├── interactive-book/ # compound containers (1.2)
│ ├── framework-11-showcase/ # complete 1.1 catalog
│ ├── framework-12-showcase/ # complete 1.2 catalog
│ ├── assessments-p0/ # P0 assessment blocks
│ ├── studio-minimal/
│ └── studio-export/ # codegen script (not a dev server)
├── templates/ # synced with CLI template
├── library-skills/
├── e2e/
├── integration/
└── docs/ # this documentation site
When to use which package¶
Package |
Use when |
|---|---|
|
Always, for UI and runtime |
|
Custom telemetry sinks, types, identity helpers |
|
Custom LRS transports or statement inspection |
|
Extending presets consumed by |
|
Focus trap / roving tabindex in custom modals |
|
Programmatic packaging outside the CLI |
|
Standard init/dev/build/package workflow |
See CLI reference and Packaging reference.