Skip to content

CLI Reference

The public release exposes a Python CLI named culsma.

Install

bash
python -m pip install "culsma @ git+https://github.com/culsma/culsma.git@v1.0.0"

From a source checkout:

bash
python -m pip install -e ".[dev]"

culsma run

Run one or more .culs source files through the pipeline.

bash
culsma run --input examples/minimal/public_minimal.culs --artifacts-dir tmp/run

Equivalent module form:

bash
python -m culsma.cli run \
  --input examples/minimal/public_minimal.culs \
  --artifacts-dir tmp/run

If you only want the primary user-facing result JSON, use --output instead:

bash
culsma run --input examples/minimal/public_minimal.culs --output tmp/result.json

Options:

OptionMeaning
--inputPath to a .culs source file. Repeatable for multi-file merge.
--outputOptional path for the primary result JSON.
--artifacts-dirOutput directory for debug and intermediate JSON artifacts.
--fail-opStub driver failure injection by operation name. Repeatable.
--material-state-jsonOptional initial material state JSON payload.
--inventory-checkEnable strict inventory validation and material checks.
--library-rootOptional directory containing importable library .culs modules. Repeatable.

culsma replay

Replay runtime state from a saved run artifact.

bash
culsma replay --run-json tmp/run/run.json --out tmp/replayed_state.json

Options:

OptionMeaning
--run-jsonPath to run.json.
--outOutput JSON path for reconstructed state.

Run Tests

From a source checkout:

bash
python -m pytest -q

Released under the Apache-2.0 license.