Developer Guide¶
This guide covers the open-source LiDMaS+ developer workflow centered on the lidmas CLI.
Distribution Boundary¶
LiDMaS+ is split into two tracks:
- Open source: CLI engine, simulation/decoder code, schemas, and reproducible workflows.
- Enterprise: internal app UI/API stack managed outside public release artifacts.
Public documentation and PyPI releases in this repository are intentionally CLI-first.
OSS Scope¶
In scope for this repository:
src/,include/,schemas/examples/reproducibility workflowshardware_integration/adapters and replay toolingdocs/for open-source usage and methods
Out of scope for public release:
- Enterprise UI/API source and deployment details
- Enterprise authentication, tenancy, and operations workflows
Local Development Setup (CLI)¶
1) Build CLI¶
cmake -S . -B build
cmake --build build -j
./build/lidmas --help
2) Run sanity checks¶
./build/lidmas --smoke
3) Run a reproducible workflow¶
bash examples/quick_smoke/run.sh
Public Release Guardrails¶
The repository enforces guardrails to keep enterprise sources out of public docs and packages.
Guardrail script:
bash scripts/check_oss_release_boundary.sh
Artifact-level validation (sdist/wheel):
bash scripts/check_oss_release_boundary.sh dist/*.tar.gz dist/*.whl
Publish Checklist (OSS)¶
- Build + help:
./build/lidmas --help- Smoke:
./build/lidmas --smoke- Docs:
mkdocs build --strict- Boundary checks:
bash scripts/check_oss_release_boundary.sh- Artifacts:
- sdist/wheel checks show no enterprise paths
Documentation Ownership¶
When CLI flags or workflow scripts change, update at minimum:
docs/cli-reference.mddocs/getting-started.mddocs/examples-workflows.mddocs/developer-guide.mdmkdocs.ymlnav (if page names/locations change)