Skip to content

Developer guide ​

For people building lcom-ng itself: runtime code, SDKs, lab scaffolding, docs, tests, examples, and releases.

Audience boundaries ​

AudienceStable surfaceKeep out
Studentsgenerated workspace, SDK headers, lab handouts, lcom-ng testCMake, runtime C++, CI, reference solutions
Instructorslabs, examples, scripts, adoption docs, selected testsaccidental protocol internals
Developerswhole repositoryunclear or internal-only copy in public pages

Source map ​

PathOwnership
runtime/C++ host runtime and devices
runtime/embedded/in-process runtime shared by web and Android exports
runtime/cli/CLI file operations and lab catalog helpers
sdk/include/lcom/public C headers copied into workspaces
sdk/client/C client linked into student programs
sdk/export/export configuration and shared source discovery
sdk/android/Android packaging and launcher
sdk/compat/Minix/LCF compatibility SDK and project builder
course/labs/templates/starter contracts
course/labs/docs/source lab handouts
collections/arcade/Arcade manifest, metadata, galleries and publisher
examples/community/pinned student sources and UPSTREAM.json provenance
docs-site/public website
dev/lab-solutions/reference implementations
dev/lab-tests/predefined lab checks

Architecture explains how these pieces fit together. Runtime and CLI covers day-to-day commands.

Test gate ​

sh
devenv shell -- lcom-ng-verify

lcom-ng-test runs the complete runtime and lab suite. During C/C++ iteration, lcom-ng-build builds the tree, then run a focused target inside the Devenv shell with ctest --test-dir build -R <name> --output-on-failure.

Docs site ​

The public site is VitePress, deployed from docs-site/ to Cloudflare Pages. Build, asset sync, checks, and deployment details live in Docs site.

Course/docs licensed CC BY 4.0. Code licensed MIT.