Shipping to an LMS¶
Packaging turns your preview app into a file your LMS can import.
Requirements¶
Node.js 18+ for
lessonkit packageA finished course that passes
lessonkit buildYour LMS admin’s target format (often SCORM 1.2)
Before you package¶
LMS bridge — In
src/courseConfig.ts, setlxpack: { bridge: "auto", allowedParentOrigins: ["https://your-lms.example"] }so scores and completions reach the LMS. Production requires the allowlist; the init template uses"off"for local preview.Production runtime — Copy
.env.exampleto.env, setVITE_ANALYTICS_URLandVITE_XAPI_PROXY_URL, then rebuild—or temporarily settracking: { enabled: false }andxapi: { enabled: false }for a first test export only. See LMS Go-Live.
Steps¶
cd my-phishing-course
lessonkit build
lessonkit package --target scorm12
The CLI prints the output path (default: .lxpack/course/.lxpack/out/course-scorm12.zip relative to your project root).
Targets¶
|
Typical use |
|---|---|
|
Widest LMS compatibility |
|
Newer SCORM hosts |
|
Host as a static site / zip |
|
xAPI-enabled LRS workflows |
|
cmi5-capable platforms |
Your admin knows which to request. If unsure, start with scorm12.
What to send your LMS administrator¶
The generated ZIP (SCORM) or folder (standalone)—use the path the CLI prints
Course title and expected duration (your estimate)
Note: “Single-SPA LessonKit export; one SCO; navigation inside the package.”
Prompt for the AI if build fails¶
lessonkit build failed. Read the terminal error, fix only the files needed,
and explain the fix in plain language. Do not change courseId or lessonIds.
Prompt for packaging errors¶
lessonkit package --target scorm12 failed.
Compare lessonkit.json assessments checkIds with Quiz checkId props in App.tsx.
Fix mismatches and validate layout is single-spa.
More detail: Packaging reference · Troubleshooting