Skip to content

Developer Guide ​

This page is for people building lcom-ng itself: runtime code, 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 student-facing copy

Source Map ​

PathOwnership
runtime/C++ host runtime and devices
runtime/cli/setup, lab catalog, tests, CLI support
sdk/include/lcom/public C headers copied into workspaces
sdk/client/C client linked into student programs
course/labs/templates/starter contracts
course/labs/docs/source lab handouts
docs-site/public website
dev/lab-solutions/reference implementations
dev/lab-tests/predefined lab checks

Test Gate ​

sh
devenv shell -- lcom-ng-verify

Docs Site ​

The public site uses VitePress:

sh
bun install
bun run docs:dev
bun run docs:build
bun run deploy:docs

Cloudflare Pages deploys from docs-site/.vitepress/dist. Push-to-deploy uses .github/workflows/docs.yml and requires CLOUDFLARE_API_TOKEN plus CLOUDFLARE_ACCOUNT_ID repository secrets.

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