CLI Commands Reference
This reference documents every command, subcommand, and flag registered in @modelscript/cli (apps/cli/src/main.ts and apps/cli/src/commands/). All commands can be invoked via modelscript or its shorthand alias msx, and any command can be accelerated with the global --daemon flag.
Compilation, Simulation & Optimization
compile / flatten
Compiles and flattens a hierarchical Modelica class into a canonical Differential-Algebraic Equation (DAE) representation in linear WebAssembly memory (DAEBuilder). flatten is an exact alias for compile.
msx compile <name> [paths..]
msx flatten <name> [paths..]
msx convert <name> [paths..]
msx flatten <name> [paths..]
msx convert <name> [paths..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --output, --out | string | output file path for compiled representation | |
-t, --to | dae | modelica | sysml2 | sysml | ssp | fmu | "dae" | target output representation (dae, modelica, sysml2, ssp, fmu) |
-m, --model | string | explicit class/system name when first positional argument is a file | |
-l, --language, --lang | string | explicit language ID override | |
-L, --modelica-path | string | directories to search for Modelica libraries (colon-separated) | |
-F, --flattener | ts | wasm | hybrid | diff | "hybrid" | Flattener backend: 'ts' (reference TS), 'wasm' (zero-GC kernel), 'hybrid' (WASM with TS fallback), or 'diff' (parity comparison) |
--timing | boolean | false | report timing information for each stage as JSON to stderr |
--memory-profile | boolean | false | profile memory usage across phases and report as JSON to stderr |
# Flatten a model using the hybrid WASM kernel with timing breakdowns
msx flatten Modelica.Electrical.Analog.Examples.ChuaCircuit -L ./libraries --timinginstantiate
Instantiates a Modelica class via the Salsa QueryEngine and prints the resolved component hierarchy, inherited modifications, and bindings prior to DAE index reduction.
msx instantiate <name> <paths...>simulate
Compiles a model, performs Block Lower Triangular (BLT) Pantelides index reduction and tearing, and executes a numerical time-domain or steady-state simulation locally or on a remote Slurm HPC cluster.
msx simulate <name> [paths..]
msx sim <name> [paths..]
msx sim <name> [paths..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --output, --out | string | output file path for simulation results | |
-m, --model | string | explicit class/system name when first positional argument is a file | |
-l, --language, --lang | string | explicit language ID override | |
--start-time | number | override experiment start time | |
--stop-time | number | override experiment stop time | |
--tolerance | number | override experiment tolerance | |
--interval, --step-size, --output-interval | number | override experiment output interval / step size | |
-f, --format | csv | json | none | "csv" | output format |
--solver | euler | rk4 | dopri5 | tsit5 | trbdf2 | rodas4p | bdf | auto | cvode | webgpu | "dopri5" | ODE solver to use |
--interface-type | cs | me | auto | FMI interface type when simulating an FMU: 'cs', 'me', or 'auto' | |
--start-value | string[] | override FMU variable start value as name=value (repeatable) | |
--input-file | string | CSV file providing time-varying input trajectories (time,u1,u2,...) | |
--output-variable | string[] | variable name(s) to record in FMU simulation output (repeatable) | |
--initial-fmu-state-file | string | restore serialized FMU state from file before stepping | |
--final-fmu-state-file | string | save serialized FMU state to file after simulation finishes | |
--log-fmi-calls | boolean | false | log all FMI C API calls and logger callbacks to stderr |
--realtime | number | run simulation in real-time mode with given scale factor (e.g., 1.0 for 1x) | |
--engine | js | arena | wasm | c | jit | "js" | simulation backend: js (pure JavaScript), arena (arena-native DoD), wasm (WebAssembly via emcc), c (native compiled), jit (in-memory JIT) |
--jit | boolean | false | enable in-memory JIT compilation engine (sub-15ms execution) |
--timing | boolean | false | report timing information for each stage as JSON to stderr |
--memory-profile | boolean | false | profile memory usage across phases and report as JSON to stderr |
--jacobian | dense | sparse | fd | "sparse" | Jacobian calculation method |
-F, --flattener | ts | wasm | hybrid | diff | "hybrid" | Flattener backend: 'ts' (reference TS), 'wasm' (zero-GC kernel), 'hybrid' (WASM with TS fallback), or 'diff' (parity comparison) |
--steady-state | boolean | false | Solve steady-state initial equilibrium only without time integration |
--cloud | boolean | false | dispatch simulation to ModelScript Cloud HPC cluster |
--profile | string | "standard" | cloud compute profile (standard, high-memory, gpu-a100, hpc-mpi-64) |
--async | boolean | false | submit cloud job asynchronously and return immediately with Job ID |
--poll-interval | number | 1500 | polling interval in milliseconds for cloud simulation status |
--output-dir | string | "./results" | directory to write downloaded simulation result file |
--api-url | string | override ModelScript API base URL |
# Run a stiff DAE simulation using the 4th-order Rosenbrock solver and sparse symbolic Jacobians
msx simulate RLC_Circuit circuit.mo --stop-time 10.0 --solver rodas4p --engine arena --jacobian sparse --format csv > trajectory.csv
# Dispatch a heavy multi-domain simulation to the Cloud HPC cluster
msx simulate ThermalGrid plant.mo --cloud --profile high-cpu --stop-time 3600 --output-dir ./runs/thermaloptimize
Formulates and solves a nonlinear Dynamic Optimization / Optimal Control Problem (OCP) over a flattened DAE using direct collocation and sequential quadratic programming (SQP).
msx optimize <name> <paths..>| Option | Type | Default | Description |
|---|---|---|---|
--objective | string | cost integrand expression (e.g. "u^2") | |
--controls | string | control variable names (comma-separated) | |
--control-bounds | string | control bounds as var:min:max (comma-separated) | |
--start-time | number | override start time | |
--stop-time | number | override stop time | |
--num-intervals | number | 50 | number of collocation intervals |
--tolerance | number | 0.000001 | NLP convergence tolerance |
--max-iterations | number | 200 | maximum SQP iterations |
--format | csv | json | "csv" | output format |
msx optimize EV_BatteryPack vehicle.mo \
--objective energyLoss \
--controls currentCommand \
--control-bounds "currentCommand:-200:200" \
--stop-time 600 \
--num-intervals 100 \
--format json > optimal_profile.jsongrad
Computes forward, adjoint, or central finite-difference parameter sensitivities (
msx grad <name> <paths..>| Option | Type | Default | Description |
|---|---|---|---|
--params | string | comma-separated list of parameter names to differentiate | |
--target | string | target state variable name to compute terminal sensitivity for (default: first state) | |
--start-time | number | override experiment start time | |
--stop-time | number | override experiment stop time | |
--step | number | communication step size | |
--json | boolean | false | output results as JSON |
surrogate
Executes a Design of Experiments (DoE) campaign over a physics model, trains a Reduced-Order Model (ROM) surrogate, attaches convex-hull/bounding-box extrapolation guardrails, and exports standalone C, ONNX, or Modelica .mo blocks.
msx surrogate <name> [paths..]| Option | Type | Default | Description |
|---|---|---|---|
--inputs | string | input parameter names (comma-separated) | |
--input-bounds | string | input bounds as var:min:max (comma-separated) | |
--outputs | string | output variable names (comma-separated) | |
--strategy | full-factorial | latin-hypercube | sobol | central-composite | "latin-hypercube" | Design of Experiments (DoE) sampling strategy |
--num-samples | number | 50 | number of samples to generate |
--architecture | mlp | polynomial | rbf | "mlp" | Reduced Order Model (ROM) architecture |
--start-time | number | override start time | |
--stop-time | number | override stop time | |
--format | c | onnx | mo | all | "c" | target export format: C/WASM ('c'), ONNX graph ('onnx'), Modelica block ('mo'), or all ('all') |
--from-onnx | string | path to external ONNX JSON model file to import instead of training from Modelica source | |
--extrapolation-guardrails | boolean | true | embed Modelica assertion guardrails for input bounds |
--extrapolation-level | warning | error | "warning" | severity level of Modelica extrapolation assertions |
--extrapolation-flag | boolean | true | emit Boolean isExtrapolating output variable in Modelica |
--out-file | string | output file name (defaults to <model>_surrogate.<ext>) | |
--replace-component | string | name of component declaration in Modelica model to replace with surrogate | |
--replace-out | string | output path for modified Modelica model with replaced component | |
--report | string | "report.json" | output report JSON file |
msx surrogate HeatExchanger thermal.mo \
--inputs "massFlow,inletTemp" \
--input-bounds "massFlow:0.1:5.0,inletTemp:280:380" \
--outputs "outletTemp,pressureDrop" \
--strategy sobol \
--num-samples 128 \
--architecture mlp \
--format all \
--out-file build/hx_rommc
Runs high-throughput Monte Carlo uncertainty propagation across stochastic parameter distributions using worker threads and the linear-memory WASM evaluator.
msx mc <name> <paths..>| Option | Type | Default | Description |
|---|---|---|---|
--runs | number | 1000 | Number of Monte Carlo runs |
--threads | number | 1 | Number of parallel threads |
--params | string | Random variables in format name:dist:arg1:arg2 (comma-separated) | |
--seed | number | PRNG seed | |
--lhs | boolean | false | Use Latin Hypercube Sampling |
--format | csv | json | "json" | Output format |
--output | string | Output file path (defaults to stdout if not provided) | |
--engine | wasm | js | "wasm" | simulation backend: wasm or js |
msx mc RLC_Filter filter.mo \
--params "R:gaussian:100:5,C:uniform:1e-6:1.2e-6" \
--runs 5000 \
--lhs \
--threads 8 \
--seed 42 \
--output mc_summary.jsoncsg
Extracts Constructive Solid Geometry (CSG) primitives and kinematic frame transformations from a Modelica class, writes build/csg/execution_graph.json, and invokes the OpenCASCADE (@modelscript/cad) worker to generate 3D CAD meshes.
msx csg <name> <paths...>Linting, Formatting, Diffing & Compiler Inspection
lint
Executes the static analysis pipeline (WASM GLR parse validation, CST lint rules, Salsa semantic queries, unit checking, and control-flow analysis) across one or more files or directories.
msx lint <path> [paths...]
msx check <path> [paths...]
msx validate <path> [paths...]
msx check <path> [paths...]
msx validate <path> [paths...]| Option | Type | Default | Description |
|---|---|---|---|
-l, --language, --lang | string | Filter to specific language (e.g. modelica, sysml2, owl2, scad, ssp, cfd, fea, pscad, fortran, easy5, rocets, lps, sima, gtsuite) | |
-f, --format | terminal | json | "terminal" | Output format: terminal or json |
--profile | DL | EL | "DL" | OWL 2 ontology profile to validate against (DL or EL) |
--strict | boolean | false | Treat warnings as errors |
# Lint an entire polyglot workspace and emit JSON for CI processing
msx lint ./models ./requirements --format jsonparse
Parses a file using its registered native WebAssembly GLR parser (parser.wasm) and prints the concrete syntax tree (CST), node byte offsets, or parse errors.
msx parse <file>| Option | Type | Default | Description |
|---|---|---|---|
-l, --language | string | Explicit language override (e.g. modelica, sysml2, scad, step, owl2, csv) | |
--encoding | utf8 | utf16le | utf16be | utf32le | utf32be | "utf8" | Input encoding to use |
format
Formats source files canonically using the grammar's CST-preserving pretty-printer while preserving comments and annotations.
msx format <files..>| Option | Type | Default | Description |
|---|---|---|---|
-w, --write | boolean | false | Edit files in place |
-c, --check | boolean | false | Check if files are formatted without writing (exits with code 1 if unformatted) |
-l, --language | string | Explicit language override (e.g. modelica, sysml2, scad, step) | |
--indent-size | number | 2 | Number of spaces per indentation level |
--preserve-formatting | boolean | false | Preserve original token layout where grammar permits |
unparse
Parses a source file into linear CST memory and unparses it back into text to verify lossless round-trip grammar rules.
msx unparse <file>| Option | Type | Default | Description |
|---|---|---|---|
-o, --output | string | Output file path (default prints to stdout) | |
-l, --language | string | Explicit language override | |
--indent-size | number | 2 | Number of spaces per indentation level |
diff
Computes a structural CST/AST and semantic DAE comparison between two files (oldFile and newFile), identifying added/removed components, modified parameter bindings, and altered equations regardless of whitespace formatting.
msx diff <file1> <file2>| Option | Type | Default | Description |
|---|---|---|---|
-l, --language | string | Explicit language override (e.g. modelica, sysml2, scad) | |
--order-agnostic | boolean | true | Ignore child order changes in declarative sections (e.g. equation sets) |
--breaking-only | boolean | false | Only report breaking changes (API modifications, deleted connectors, type switches) |
--format | terminal | json | summary | visual-html | visual-svg | pr-comment | "terminal" | Output format |
-o, --output | string | Output file path for visual formats |
pr-diff
Generates visual schematic/architectural diffs (highlighting added components in green, modified in amber, and deleted in red) and PR review summaries between two Git revisions.
msx pr-diff [file]| Option | Type | Default | Description |
|---|---|---|---|
-b, --base | string | "HEAD~1" | Base Git reference (branch, tag, or commit hash) |
--head | string | Head Git reference (branch, commit hash, or omit for working tree) | |
-f, --format | visual-html | visual-svg | pr-comment | json | terminal | "visual-html" | Output format for the visual diff |
-o, --output | string | Output file path (defaults to stdout or visual-diff.html / visual-diff.svg) | |
-v, --view | string | "All" | SysML v2 viewpoint projection filter (e.g. All, BDD, IBD, StateMachine) |
--breaking-only | boolean | false | Only report breaking changes |
--open | boolean | false | Automatically open generated visual HTML in default web browser |
i18n
Extracts translatable descriptions, documentation strings, and identifier aliases from models (extract), compiles translation catalogs (compile), or translates a model into a target locale (translate).
msx i18n <paths..>| Option | Type | Default | Description |
|---|---|---|---|
-o, --output | string | path to the output .pot file |
Formal Verification, Safety & Test Synthesis
verify
Unified formal verification and simulation validation for SysML v2 and Modelica: decision tables, assume-guarantee contracts, state machines, and optional flowpipe reachability. Results can be emitted as terminal output or as JSON, CTRF, JUnit, SARIF, HTML, or DHF reports for CI/CD and compliance workflows.
msx verify [target] [paths..]| Option | Type | Default | Description |
|---|---|---|---|
--all | boolean | false | execute all applicable formal verification stages |
--decisions | boolean | true | verify decision table exhaustiveness and determinism |
--contracts | boolean | true | verify assume-guarantee contract compatibility and refinement |
--state-machines | boolean | true | verify state machine and activity workflow soundness/deadlock-freedom |
--flowpipe | boolean | false | enable validated continuous/hybrid reachability flowpipes |
--order | number | 4 | Taylor model flowpipe expansion order |
--dt | number | time step size in seconds for flowpipe reachability | |
--horizon | number | time horizon (stop time) in seconds for flowpipe reachability | |
--initial-set | string | initial state set bounds (e.g. 'x=[0.9,1.1],y=[-0.1,0.1]') | |
--barriers | boolean | false | enable sum-of-squares barrier certificate synthesis |
--falsify | boolean | false | enable adversarial requirement falsification |
--simulation | boolean | true | verify dynamic simulation trajectory requirements |
--clearance | boolean | false | enable 3D CAD clearance and physical collision verification |
--mcdc | boolean | false | synthesize 100% MC/DC independent condition test pairs |
--b2b | boolean | false | verify Back-to-Back MiL-vs-SiL equivalence against standalone C99 |
--b2b-tol | number | 0.0001 | maximum allowable numerical tolerance between MiL and SiL |
--b2b-compiler | gcc | clang | tcc | arm-none-eabi-gcc | "gcc" | host/target C compiler for SiL compilation |
--b2b-dt | number | fixed integration step size in seconds for SiL RK4 | |
--algorithms | boolean | true | execute sound algorithmic abstract interpretation for zero RTEs |
--format | terminal | json | ctrf | junit | sarif | html | dhf | "terminal" | output report format: terminal, json, ctrf, junit, sarif, html, or dhf |
--report | string | write test report to specified file path | |
--export | string | comma-separated list of formal spec export formats: smt2, nuxmv, ocra, mos | |
--export-dir | string | "." | target directory for exported formal specifications |
-F, --flattener | ts | wasm | hybrid | diff | "hybrid" | Flattener backend: 'ts', 'wasm', 'hybrid', or 'diff' |
--engine | wasm | js | "wasm" | simulation backend: wasm or js |
--timing | boolean | false | output timing JSON to stderr |
--update-hypergraph | boolean | false | synchronize verification verdicts directly into digital thread hypergraph |
# Verify a controller and emit a GitHub Code Scanning SARIF report
msx verify BrakingController brake.mo --format sarif --report results.sariffalsify
Performs optimization-guided falsification of Signal Temporal Logic (STL) safety properties (
msx falsify| Option | Type | Default | Description |
|---|---|---|---|
--property | string | Name of the target SysML requirement or property | |
--sysml | string | Path to SysML v2 model file (.sysml) | |
--modelica | string | Path to Modelica DAE model file (.mo) | |
--cad | string | Path to CAD procedural file (.scad or .ts) | |
--params | string | JSON array or file path containing parameter bounds | |
--formula | string | STL formula JSON or predicate shorthand (e.g. 'stress <= 200') | |
--algorithm | de | cem | cmaes | cma-es | pso | "de" | Falsification global optimization algorithm |
--generations | number | 10 | Maximum optimization generations |
--population | number | 12 | Population size per generation |
--outTrace | string | Path to output CanonicalTraceRecord JSON | |
--outCad | string | Path to output counterexample CAD model file |
export-formal
Translates SysML v2 models into external formal verification formats: SMT-LIB2, nuXmv, and OCRA contract specifications.
msx export-formal <paths..>| Option | Type | Default | Description |
|---|---|---|---|
-f, --format | smt2 | nuxmv | ocra | "smt2" | Target formal representation: 'smt2' (SMT-LIB v2.6), 'nuxmv' (nuXmv .smv), or 'ocra' (OCRA .oss) |
-o, --output | string | Output file path (prints to stdout if omitted) | |
--logic | QF_LRA | QF_NRA | QF_IDL | ALL | SMT-LIB logic directive (default: auto-detected QF_LRA or QF_NRA) | |
-m, --module | string | "System" | Module name for nuXmv or top-level component name for OCRA |
-s, --scope | string | Scope filter for extracted constraints or state machines | |
--invariants | string[] | Additional safety invariants (INVARSPEC) to emit for nuXmv | |
--ltl | string[] | Temporal logic specifications (LTLSPEC) to emit for nuXmv | |
--minimize | string[] | Parametric optimization objectives to minimize in SMT-LIB2 | |
--maximize | string[] | Parametric optimization objectives to maximize in SMT-LIB2 |
# Export a SysML v2 controller to a nuXmv model
msx export-formal acc.sysml --format nuxmv -o acc.smvverify-decisions
Evaluates Architectural Decision Records (ADRs) and SysML v2 trade-study constraints against flattened simulation parameters and formal bounds.
msx verify-decisions <paths..>| Option | Type | Default | Description |
|---|---|---|---|
--json | boolean | false | Output verification results in structured JSON format |
decompose
Performs structural subsystem partitioning and Assume-Guarantee (
msx decompose <paths..>| Option | Type | Default | Description |
|---|---|---|---|
-r, --max-regions | number | 64 | Maximum number of regions to partition (default: 64) |
-d, --max-depth | number | 8 | Maximum branch condition exploration depth (default: 8) |
--json | boolean | false | Output regions in JSON format |
generate-tests
Synthesizes deterministic test vectors and stimulus harnesses from model guard conditions and assertions to achieve Modified Condition/Decision Coverage (MC/DC) and boundary-value coverage.
msx generate-tests <paths..>| Option | Type | Default | Description |
|---|---|---|---|
-f, --format | terminal | json | ctrf | junit | modelica | "terminal" | Output report format (terminal, json, ctrf, junit, modelica) |
--mcdc | boolean | true | Enforce 100% MC/DC condition-outcome test pair synthesis |
-o, --output | string | Write generated test suite to file instead of stdout | |
-m, --model | string | "Model" | Target model name when generating Modelica .mos simulation scripts |
Polyglot Digital Thread, Co-Simulation & Standards Interop
render
Renders headless, publication-grade SVG diagrams for Modelica component icons/schematics, SysML v2 architectural views, and PSCAD Single-Line Diagrams (SLDs) using @modelscript/diagram.
msx render <name> [paths..]| Option | Type | Default | Description |
|---|---|---|---|
-i, --icon | boolean | false | render icon (Modelica) |
-v, --view | string | diagram view/projection (e.g. All, BDD, IBD, StateMachine, Activity, SLD, Taxonomy, Properties) | |
-t, --theme | dark | light | blueprint | "light" | color theme for polyglot SVG export (dark, light, blueprint) |
-o, --output | string | output SVG file path (defaults to stdout) |
# Render a SysML v2 Internal Block Diagram in blueprint theme
msx render SpacecraftPower spacecraft.sysml --view IBD --theme blueprint -o docs/ibd.svgfmu
Exports a Modelica class as a Functional Mock-up Unit (.fmu ZIP archive) compliant with FMI 2.0 and/or FMI 3.0 for Model Exchange (me) and Co-Simulation (cs), or imports/inspects an existing .fmu via msx fmu import <file.fmu>. export-fmu is an alias for fmu.
msx fmu <name> [paths..]
msx export-fmu <name> [paths..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --output | string | output file path (default: <name>.fmu or <name>.fmu.xml) | |
--description | string | model description string | |
--start-time | number | default experiment start time | |
--stop-time | number | default experiment stop time | |
--step-size, --output-interval | number | default experiment step size / output interval | |
--tolerance | number | solver relative tolerance | |
--xml-only | boolean | false | output only the modelDescription.xml (no archive) |
--type | me | cs | both | "both" | FMU type: 'me' (Model Exchange), 'cs' (Co-Simulation), 'both' (default) |
--interface-type | cs | me | auto | FMI interface type when simulating an FMU: 'cs', 'me', or 'auto' | |
--solver | string | "rk4" | ODE solver when simulating an FMU in Model Exchange mode ('euler', 'rk4', 'cvode') |
--start-value | string[] | override FMU variable start value as name=value (repeatable) | |
--input-file | string | CSV file providing time-varying input trajectories (time,u1,u2,...) | |
--output-variable | string[] | variable name(s) to record in simulation output (repeatable) | |
--initial-fmu-state-file | string | restore serialized FMU state from file before stepping | |
--final-fmu-state-file | string | save serialized FMU state to file after simulation finishes | |
--log-fmi-calls | boolean | false | log all FMI C API calls and logger callbacks to stderr |
--format | csv | json | none | "csv" | simulation output format ('csv', 'json', 'none') |
--target | wasm | c | js | all | "all" | export target: 'wasm' (WebAssembly), 'c' (C sources), 'js' (JavaScript), or 'all' (multi-target) |
--source | boolean | true | include C source files in the FMU archive |
--compile | boolean | false | compile C sources into a shared library using the system C compiler |
--fmi-version | 2 | 3 | both | "both" | FMI version to include: '2', '3', or 'both' |
--wasm | boolean | false | compile model to WebAssembly and include in the FMU archive |
-F, --flattener | ts | wasm | hybrid | diff | "hybrid" | Flattener backend: 'ts' (reference TS), 'wasm' (zero-GC kernel), 'hybrid' (WASM with TS fallback), or 'diff' (parity comparison) |
--golden | string | path to golden CSV trajectory for 'verify' subcommand | |
--timing | boolean | false | report timing information for each stage as JSON to stderr |
# Export an FMI 3.0 Co-Simulation FMU with embedded C sources and WebAssembly binary
msx fmu DC_Motor motor.mo --fmi-version 3 --type cs --wasm --output build/DC_Motor.fmuimport-fmu
Unpacks an external FMI 2.0 or FMI 3.0 .fmu archive, parses its modelDescription.xml, and generates a strongly typed Modelica wrapper block (and optional SSP system binding) so the FMU can be connected and simulated inside ModelScript. fmu-import is an alias for import-fmu.
msx import-fmu <fmu>
msx fmu-import <fmu>| Option | Type | Default | Description |
|---|---|---|---|
-o, --output | string | Output path for the generated .mo file | |
-p, --package | string | Enclosing package name (e.g. ImportedFMUs) | |
-v, --verbose | boolean | false | Verbose output |
cosim
Manages distributed FMI/SSP Co-Simulation master orchestration sessions, participant FMUs, recorded trajectory histories, and adaptive communication step-size optimization against the ModelScript Hub / Co-Simulation service.
msx cosim Options for cosim replay
| Option | Type | Default | Description |
|---|---|---|---|
--session | string | Session ID to replay | |
--speed | number | 1 | Playback speed factor (1.0 = real-time) |
--from | string | Replay start time (ISO 8601) |
Options for cosim optimize
| Option | Type | Default | Description |
|---|---|---|---|
--params | string | Parameter bounds formatted as 'kp:0.1:10.0,kd:0.01:1.0' or JSON array | |
--objective | string | Simulation objective signal or loss variable to minimize (e.g. 'error_integral') | |
--algorithm | de | cma-es | cmaes | pso | "de" | Optimization algorithm (de, cma-es, cmaes, pso) |
--generations | number | 15 | Maximum optimization generations |
--population | number | 12 | Population / swarm size per generation |
--seed | number | 42 | Random seed for reproducible optimization |
| Option | Type | Default | Description |
|---|---|---|---|
--api-url | string | "http://localhost:3000" | ModelScript API base URL |
| Subcommand | Arguments | Description |
|---|---|---|
status | — | Display health and active worker metrics of the Co-Simulation master orchestrator. |
sessions | — | List active and completed distributed Co-Simulation sessions. |
participants | <sessionId> | List connected FMU/simulator participants, port couplings, and current simulation time |
fmus | — | List registered FMU artifacts available in the Co-Simulation repository. |
upload | <path.fmu> | Upload a local .fmu archive to the Co-Simulation registry. |
replay | <sessionId> | Deterministically replay a recorded Co-Simulation session from its saved input/coupling log. |
history | <sessionId> | Fetch step-by-step coupling residuals, rollbacks, and trajectory history for a session. |
optimize | <sessionId> | Run post-mortem Richardson extrapolation analysis on a session to recommend optimal communication step sizes |
pscad
Provides full lifecycle tooling for Manitoba Hydro PSCAD electromagnetic transient (EMT) workspaces (.pscx cases and .pswx workspaces), including domain-specific electrical linting, Single-Line Diagram (SLD) generation, EMT simulation, IEEE Std 2800-2022 grid interconnection verification, and conversion to Modelica/SSP.
msx pscad <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path (for diagram SVG, Modelica, SSD, CSV, or COMTRADE export) | |
--tstop, --stop-time, --duration | number | 1 | Simulation duration in seconds |
--step, --step-size, --dt | string | "20us" | Simulation fixed time step (e.g. '20us' or 20e-6) |
-f, --format | pscad | psout | comtrade | comtrade-bin | cff | "pscad" | Result format for 'sim' with --out (base path): pscad (.out/.inf), psout (.psout), comtrade, comtrade-bin, cff |
| Action | Description |
|---|---|
lint | Validate .pscx/.pswx schematics against electrical EMT rules (M6001–M6011, including floating nodes, transformer winding ratios, CSMF unconnected inputs, and traveling-wave line |
diagram | Render a publication-quality SVG Single-Line Diagram (SLD) from a .pscx project. |
diff | Compute a topological and parameter diff between two .pscx revisions. |
sim | Execute a fixed-step nodal admittance ( |
verify-ieee2800 | Run automated IEEE Std 2800-2022 Inverter-Based Resource (IBR) compliance checks (Low/High Voltage Ride-Through LVRT/HVRT, frequency ride-through, and reactive current injection step response). |
export-modelica | Translate a .pscx schematic into an equivalent Modelica .mo model using Modelica.Electrical. |
export-ssp | Package a .pswx multi-project workspace into an SSP 1.0 .ssp architecture container. |
# Verify IEEE 2800-2022 LVRT/HVRT compliance on a solar plant PSCAD case
msx pscad verify-ieee2800 SolarPlant_250MW.pscx --tstop 3.0 --step 20us -o ieee2800_report.jsonpolyglot
Queries the unified multi-language WorkspaceIndex, verifies cross-domain traceability links (@satisfies, @verifies, @allocates), inspects digital threads, and monitors operational digital twin drift across all 44 supported languages.
msx polyglot <action> Options for polyglot project
| Option | Type | Default | Description |
|---|---|---|---|
--target | sysml2 | modelica | owl2 | step | csv | scad | json-schema | Target domain identifier | |
--out | string | Output file destination path | |
--strict | boolean | false | Enforce strict CPA confluence and type validation |
Options for polyglot verify
| Option | Type | Default | Description |
|---|---|---|---|
--strict | boolean | false | Enforce strict CPA: fail on any cyclic conflict or ambiguous rule overlap |
Options for polyglot query
| Option | Type | Default | Description |
|---|---|---|---|
--workspace | string | Path to workspace directory containing polyglot models | |
--domain | string | Target domain filter (modelica, sysml2, step, owl2, scad, csv) | |
--check-parity | boolean | true | Validate physical quantity and unit parity for linked twins |
--json | boolean | false | Output results in JSON format |
Options for polyglot check-twins
| Option | Type | Default | Description |
|---|---|---|---|
--workspace | string | Workspace root directory | |
--strict | boolean | false | Exit with code 1 if any twin is broken or unit parity fails |
--json | boolean | false | Output results in JSON format |
Options for polyglot index
| Option | Type | Default | Description |
|---|---|---|---|
--workspace | string | Workspace root directory | |
--out | string | "salsa-index.db" | Output path for the generated salsa-index.db |
--json | boolean | false | Output summary in JSON format |
| Subcommand | Description |
|---|---|
project [dir] | Summarize all indexed languages, files, symbols, and cross-language bindings in a workspace. |
verify [dir] | Verify cross-language dimensional consistency, port types, requirement satisfaction, and digital thread integrity. |
thread <symbol> | Trace the upstream/downstream polyglot digital thread for a symbol (from OWL2 ontology |
query <expr> | Execute a cross-language symbol or FLWOR query against the unified WorkspaceIndex. |
check-twins [dir] | Compare live telemetry streams or CSV logs against nominal model predictions to detect parameter drift and anomalies. |
index [dir] | Build and serialize the workspace-wide polyglot symbol and dependency index (polyglot-index.json). |
align
Executes the Triple Graph Grammar (TGG) and Critical Pair Analysis (CPA) bidirectional synchronization engine across paired architectural, physical, and geometric models.
msx align <source> <target>| Option | Type | Default | Description |
|---|---|---|---|
--min-confidence | number | 0.6 | Minimum confidence score to display candidates (0.0 - 1.0) |
--threshold | number | 0.85 | Confidence threshold to auto-seed into Digital Thread Hypergraph |
--apply | boolean | false | Auto-seed matching pairs into Digital Thread Hypergraph |
--hypergraph | string | Path to existing hypergraph state JSON to update | |
--json | boolean | false | Output raw JSON candidates |
sysml
Provides dedicated interoperability workflows between OMG SysML v2 (.sysml) and Modelica (.mo) models.
msx sysml <action> Options for sysml export
| Option | Type | Default | Description |
|---|---|---|---|
-f, --format | sysmlx | ssp | fmu | "sysmlx" | Export format (sysmlx = OMG JSON-LD, ssp = SSP package, fmu = Monolithic FMU) |
-o, --output | string | Target output filepath | |
-d, --description | string | System or interchange description metadata | |
--include-stdlib | boolean | false | Include KerML standard library symbols in export |
Options for sysml import
| Option | Type | Default | Description |
|---|---|---|---|
-o, --output | string | Target output .sysml file path (default prints to stdout if not specified) | |
--indent | number | 2 | Indentation depth in spaces |
Options for sysml check
| Option | Type | Default | Description |
|---|---|---|---|
-f, --format | terminal | json | "terminal" | Output format |
--strict | boolean | false | Treat warnings as errors |
Options for sysml info
| Option | Type | Default | Description |
|---|---|---|---|
-f, --format | table | json | "table" | Output display format |
| Subcommand | Description |
|---|---|
export <file.mo> | Project a Modelica class hierarchy into a SysML v2 .sysml part def / port def / connection architecture model. |
import <file.sysml> | Synthesize executable Modelica .mo skeleton classes, connectors, and connect() equations from a SysML v2 file. |
check <files...> | Validate SysML v2 @satisfies requirement constraints. |
info <file.sysml> | Print package metrics (part definitions, ports, state machines, requirements, and constraint blocks). |
sync <file.sysml> <file.mo> | Synchronize structural changes and parameter values bi-directionally between .sysml and .mo files. |
oslc
Exposes workspace models and requirements as OASIS OSLC 3.0 Linked Data resources (Requirements Management oslc_rm and Architecture Management oslc_am) with TRS 3.0 (Tracked Resource Set) changelog feeds for IBM DOORS Next, Polarion, and Jira integration.
msx oslc <action> Options for oslc export
| Option | Type | Default | Description |
|---|---|---|---|
-i, --input | string | Path to input file (e.g. .reqif, .json) | |
-d, --domain | rm | qm | am | all | "all" | OSLC domain to export: rm (Requirements), qm (Quality/Tests), am (Architecture), or all |
-f, --format | turtle | jsonld | "turtle" | RDF serialization format: turtle or jsonld |
-o, --output | string | Output file path (prints to stdout if not specified) |
Options for oslc serve
| Option | Type | Default | Description |
|---|---|---|---|
-i, --input | string | Optional initial requirements or thread file to populate | |
-p, --port | number | 8080 | Port to bind HTTP server |
-H, --host | string | "localhost" | Host interface to listen on |
| Subcommand | Description |
|---|---|
export [path] | Serialize workspace symbols, requirements, and traceability links as static OSLC 3.0 RDF documents. |
serve [path] | Start an HTTP OSLC 3.0 Service Provider catalog, delegated UI preview server, and TRS 3.0 change log endpoint. |
reqif
Imports and exports OMG ReqIF 1.2 (Requirements Interchange Format .reqif XML and .reqifz archives), translating specification hierarchies and attributes directly to and from SysML v2 requirement def blocks.
msx reqif <action>| Action | Description |
|---|---|
import | Import and inspect OMG ReqIF 1.2 requirements document with hierarchy and traceability relations |
export | Export SysML v2 requirements or model specs into OMG ReqIF 1.2 XML format |
lint | Lint OMG ReqIF document for missing attributes, dangling relations, and unbounded contracts |
verify | Formally verify requirements decomposition completeness or multi-domain physics compliance using Nelson-Oppen |
to-sysml | Translate ReqIF requirements and satisfaction relations into SysML v2 definitions |
to-modelica | Translate ReqIF requirements contracts into a Modelica plant monitor verification block |
Options for reqif import
| Option | Type | Default | Description |
|---|---|---|---|
--to-sysml | string | Generate SysML v2 requirement definition file | |
--to-modelica | string | Generate Modelica verification block file | |
--format | table | json | "table" | Output display format |
Options for reqif export
| Option | Type | Default | Description |
|---|---|---|---|
-o, --output | string | Path to output .reqif file | |
-t, --title | string | "Exported Requirements" | Document title for ReqIF specification |
Options for reqif verify
| Option | Type | Default | Description |
|---|---|---|---|
-d, --deck | array | One or more physics simulation decks (.raw, .inp, .cfg, .json) to verify against | |
--psse | string | Path to PSS/E .raw power-flow case | |
--pscad | string | Path to PSCAD / COMTRADE case or IEEE 2800 report | |
--sima | string | Path to SIMA .inp mooring case | |
--fea | string | Path to FEA .inp / .bdf structural case | |
--cfd | string | Path to CFD .cfg / .su2 / .foam aerodynamics case | |
--format | pretty | json | "pretty" | Output format |
Options for reqif to-sysml
| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output .sysml file path |
Options for reqif to-modelica
| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output .mo file path |
ddp
Inspects, packs, and converts ISO/PAS 81346 Digital Data Packages (.ddp) and IDTA Asset Administration Shell (AAS v3.0) packages (.aasx) for industrial digital twin handover.
msx ddp <action> Options for ddp inspect
| Option | Type | Default | Description |
|---|---|---|---|
--format | table | json | "table" | Output format |
Options for ddp pack
| Option | Type | Default | Description |
|---|---|---|---|
-o, --output | string | Output file path (default: package.ddp) | |
-f, --files | array | Additional files to bundle into package |
Options for ddp to-aasx
| Option | Type | Default | Description |
|---|---|---|---|
-o, --output | string | Output .aasx file path | |
--kind | Type | Instance | "Type" | Asset kind (Type or Instance) |
| Subcommand | Description |
|---|---|
inspect <file.ddp> | Validate and list reference designations (=, +, - aspect trees), models, and documents inside a .ddp archive. |
pack <dir> | Bundle a workspace directory into a signed ISO/PAS 81346 .ddp archive. |
to-aasx <file.ddp> | Convert a .ddp package or workspace manifest into an IDTA AAS v3.0 .aasx Digital Twin package with TechnicalData and SimulationModels submodels. |
dhf
Generates, inspects, and cryptographically audits Design History File (DHF) compliance dossiers structured for FDA 21 CFR Part 820.30, ISO 13485, ISO 26262, and DO-178C regulatory submissions.
msx dhf <action> [paths..]| Option | Type | Default | Description |
|---|---|---|---|
-f, --format | markdown | json | html | "markdown" | Output format |
-o, --output | string | File path to save the generated DHF dossier | |
-t, --title | string | "Design History File (DHF) — IEC 62304 / ISO 14971 Compliance Dossier" | Dossier Title |
-d, --device | string | "Safety-Critical Cyber-Physical System (Class C)" | Target medical device or safety-critical system name |
-a, --author | string | "ModelScript Verification Engineering Team" | Author name |
| Subcommand | Description |
|---|---|
export [path] | Compile requirements traceability matrices (RTM), formal verification proofs, simulation summaries, and SHA-256 artifact hashes into a DHF dossier. |
status [path] | Report requirement verification coverage, unverified hazards, and suspect links across the workspace. |
audit [file] | Verify the cryptographic SHA-256 hash chain and Ed25519 signatures of an exported DHF bundle. |
simulink
Inspects, lints, compiles into linear DAEs, and projects MATLAB Simulink control block diagrams (.slx zip packages and .mdl structured text).
msx simulink <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
--from-modelica | string | Path to modified Modelica file for bidirectional synchronization | |
--strategy | target-wins | source-wins | physics-simplex | "target-wins" | Conflict reconciliation strategy |
-o, --out, --output | string | Output file path for generated code or export |
| Action | Description |
|---|---|
inspect | Dump subsystem block tree, parameters, solver settings, and line routing. |
lint | Run pre-flight static analysis (algebraic loops M7202, unconnected ports M7201, divide-by-zero risks M7209). |
to-modelica | Translate block diagram into standard acausal Modelica.Blocks models. |
to-dae | Lower continuous states and transfer functions directly into the WebAssembly DAE arena. |
msx simulink inspect CruiseControl.slx
msx simulink lint EngineGovernor.mdl
msx simulink to-modelica Suspension.slx --out=Suspension.moautosar
Inspects, lints, projects, and simulates AUTOSAR Classic and Adaptive (.arxml) software component architectures and Virtual Run-Time Environment (RTE) runnables.
msx autosar <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path for generated code or export | |
--duration | number | 0.1 | Simulation duration for Virtual RTE [s] |
--step | number | 0.01 | Simulation timestep for Virtual RTE [s] |
| Action | Description |
|---|---|
inspect | Inspect software component types, port prototypes, runnables, timing events, and network PDUs. |
lint | Detect unconnected R-ports (M7401), interface mismatches (M7402), WCET budget overflows (M7405), and PDU bit overlap (M7406). |
to-modelica | Generate Modelica standard interface blocks for SIL plant co-simulation. |
to-sysml | Project software architecture into OMG SysML v2 part def hierarchies. |
to-dae | Lower software states and calibrated parameters into ModelScript linear-memory DAE arena. |
simulate-rte | Execute the discrete event Virtual RTE scheduler and route signals across assembly connectors. |
msx autosar inspect Powertrain.arxml
msx autosar lint BrakeController.arxml
msx autosar to-sysml Steering.arxml --out=Steering.sysml
msx autosar simulate-rte PowertrainSystem.arxml --duration=0.5 --step=0.01 --out=rte_trace.jsonolga
Provides complete command-line tooling for Schlumberger OLGA transient multiphase flow models (.opi, .key, .genkey, .tab, .tpl, .ppl), including drift-flux hydrodynamic simulation, severe slugging analysis, PVT flash, autonomous history matching, and flow assurance verification.
msx olga <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path (e.g. for trajectory CSV, SVG diagram, or .fmu archive) | |
-d, --duration, --stop-time, --tstop | number | Simulation duration in seconds [s] | |
--dt, --step, --step-size | number | Simulation time step in seconds [s] | |
--diameter | number | Pipeline internal diameter in meters [m] for bathymetry survey | |
--cell-length | number | Maximum control volume cell length in meters [m] for bathymetry survey | |
--restart | string | Path to checkpoint (.rst or .json) file to warm restart simulation from | |
--checkpoint-out | string | Path to write simulation state checkpoint (.rst) at completion or periodically | |
--checkpoint-interval | number | Periodic checkpoint snapshot interval in seconds [s] | |
--tune | string | Comma-separated list of parameters to calibrate in 'tune' action (e.g. 'roughness,choke_cd,u_ambient') | |
--max-evals | number | 150 | Maximum number of objective evaluations during history matching optimization |
--report | string | Path to write tuning Markdown report | |
--view | string | "profile" | Diagram view type: 'profile', 'schematic', 'pvt', 'wellbore', 'slug', 'bathy' |
--to | genkey | opi | sysml2 | "genkey" | Target format for conversion ('genkey', 'opi', 'sysml2') |
--maop | number | 250 | Maximum Allowable Operating Pressure limit in bar [bar] |
--margin | number | 3 | Required hydrate avoidance subcooling margin in Kelvin [K] |
--capacity | number | 150 | Topside slug catcher maximum liquid surge capacity in m³ [m³] |
--min-vel | number | 0.5 | Minimum gas turndown velocity in m/s [m/s] |
--max-surge | number | 85 | Maximum allowable topside slug catcher surge volume in m³ [m³] |
--min-hydrate-margin | number | 3 | Minimum required hydrate avoidance subcooling margin in Kelvin [K] |
--max-wax | string | "2mm" | Maximum allowable wax deposition layer thickness in mm [mm] |
--max-corrosion | string | "0.1mm/yr" | Maximum allowable internal sweet CO2 corrosion rate in mm/year [mm/yr] |
--out-report | string | Path to write Flow Assurance Gate Markdown summary report | |
--fmi-version | 2.0 | 3.0 | both | "2.0" | FMI specification version for FMU export: '2.0', '3.0', or 'both' |
--macro-step | number | 1 | Co-simulation communication step size in seconds [s] (default: 1.0) |
--algorithm | gauss-seidel | jacobi | "gauss-seidel" | Co-simulation coupling algorithm ('gauss-seidel' | 'jacobi') |
--comp | string | Feed composition string for EOS flash (e.g. 'C1:0.75,C2:0.10,C3:0.08,nC4:0.04,C7:0.03') | |
--p | number | 50 | Operating pressure in bar [bar] for flash (default: 50.0) |
--t | number | 300.15 | Operating temperature in Kelvin or Celsius for flash (default: 300.15 K) |
--model | pr | srk | "pr" | Cubic equation of state model ('pr' | 'srk') |
--envelope | boolean | false | Trace two-phase saturation envelope (cricondenbar & cricondentherm) |
--anti-slug | boolean | false | Enable active subsea topside closed-loop anti-slug controller during simulation |
--slug-setpoint | number | 50 | Anti-slug riser base pressure setpoint in bar [bar] (default: 50.0) |
--slug-kp | number | 0.0000015 | Anti-slug PI proportional gain [1/Pa] (default: 1.5e-6) |
--slug-ti | number | 30 | Anti-slug PI integral time constant in seconds [s] (default: 30.0) |
--slug-washout | number | 20 | Anti-slug high-pass washout filter time constant in seconds [s] (default: 20.0) |
--slug-choke | number | 0.5 | Anti-slug baseline nominal choke opening [0..1] (default: 0.50) |
--trip | string | Dynamic well trip event specification (e.g. 'WELL_1:20' for shut-in at t=20s) | |
--junction-vol | number | 5 | Gathering manifold junction accumulator volume in m³ [m³] (default: 5.0) |
| Action | Description |
|---|---|
inspect | Dump flowpath pipe discretization, valve configurations, sources, and boundary conditions. |
lint | Run pre-flight flow assurance checks (M7001–M7013: CFL violations, severe slugging, pig stuck hazards, wax/asphaltene precipitation). |
simulate | Execute transient 1D drift-flux simulation with Lagrangian slug tracking and scraper pig dynamics. |
verify | Check formal regulatory limits (MAOP, hydrate subcooling margin, slug surge volume, erosion limits). |
diagram | Render SVG schematics, seabed bathymetry elevation profiles, PVT envelopes, or slug statistics. |
tune | Run automated history matching against field measurement CSV telemetry. |
flash | Compute Peng-Robinson (PR) or Soave-Redlich-Kwong (SRK) thermodynamic vapor-liquid equilibrium (VLE) flash. |
network | Solve coupled gathering network transients across multiple branches and subsea manifolds. |
cosim | Run multi-rate SSP co-simulation coupling flowlines with topside process facilities. |
to-dae | Lower flowline equations into ModelScript DAE arena. |
to-modelica | Translate pipe and boundary networks into Modelica.Fluid models. |
msx olga simulate subsea_tieback.opi --duration=3600 --out=traj.csv
msx olga lint deepwater_riser.genkey
msx olga diagram tieback.opi --view=profile --out=profile.svg
msx olga flash --comp="C1:0.75,C2:0.10,C3:0.08,nC4:0.04,C7:0.03" --p=50 --t=295.15 --envelopesimpack
Tooling for Dassault Systèmes SIMPACK multibody dynamics (.spck XML and .sim ASCII decks), including Grübler mobility analysis, 3D kinematic joint evaluation, Berg elastomeric bushings, and Craig-Bampton flexible body lowering.
msx simpack <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path | |
-f, --format | html | sarif | junit | ctrf | "html" | Report format: html | sarif | junit | ctrf |
--stop-time, --tstop, --duration | number | 5 | Simulation stop time [s] |
--step, --step-size, --dt | number | 0.005 | Simulation time step [s] |
| Action | Description |
|---|---|
lint | Check for dangling marker references, kinematic loops, and parameter inconsistencies. |
mobility | Calculate mechanism spatial degrees of freedom ( |
to-modelica | Project the mechanism into standard Modelica.Mechanics.MultiBody components. |
simulate | Lower the multibody model to a DAE and integrate it in time. |
to-fmu | Package the multibody assembly as an FMI 2.0 Co-Simulation FMU. |
report | Generate a homologation-style report for the model. |
msx simpack lint DoubleWishbone.spck
msx simpack mobility Suspension.spck
msx simpack to-modelica Mechanism.sim --out=Mechanism.mogensys
Tooling for GENSYS railway vehicle dynamics (.calc, .geom, .track), including FASTSIM wheel-rail contact mechanics, Polach non-linear creep, ERRI B176 track irregularities, Sperling ride comfort, and EN 14363 / UIC 518 running safety homologation.
msx gensys <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path | |
-f, --format | html | sarif | junit | ctrf | "html" | Report format: html | sarif | junit | ctrf |
--stop-time, --tstop, --duration | number | 5 | Simulation stop time [s] |
--step, --step-size, --dt | number | 0.005 | Simulation time step [s] |
--y-force | number | 25 | Lateral wheel force Y [kN] for EN 14363 verification |
--q-force | number | 80 | Vertical wheel force Q [kN] for EN 14363 verification |
--axle-load | number | 160 | Nominal axle load 2*Q0 [kN] for Prud'homme limit |
--wz-vert | number | Sperling vertical ride comfort index Wz | |
--wz-horiz | number | Sperling horizontal ride comfort index Wz | |
--unloading | number | EN 14067-6 crosswind wheel unloading ratio Delta Q / Q0 | |
--conicity | number | Wheel-rail equivalent conicity lambda_eq |
| Action | Description |
|---|---|
lint | Validate vehicle inertial and geometric parameters against railway engineering rules. |
to-modelica | Project the vehicle model into Modelica. |
verify | Evaluate EN 14363 derailment quotient (--y-force, --q-force, --axle-load. |
simulate | Lower the vehicle model to a DAE and integrate it in time. |
to-fmu | Package the vehicle model as an FMI Co-Simulation FMU. |
report | Write an EN 14363 homologation report (--format html | sarif | junit | ctrf). |
msx gensys lint ManchesterBenchmark.calc
msx gensys verify --y-force 40 --q-force 80 --axle-load 160
msx gensys report ManchesterBenchmark.calc --format html --out homologation.htmlspice
Analog circuit simulation and netlist analysis for SPICE (.cir, .sp, .net, .lib), including DC operating point, transient, and AC analyses (AC sweep parameters come from the netlist .AC directive), and ECAD graph generation.
msx spice <action>| Action | Description |
|---|---|
simulate | Simulate SPICE netlist with DC operating point (.OP), transient (.TRAN), or AC frequency response (.AC) |
lint | Perform pre-flight structural and electrical rule checks on SPICE netlist |
inspect | Inspect circuit topology, component breakdown by kind, nodes, models, subcircuits, and directives |
to-modelica | Translate SPICE netlist to idiomatic Modelica 3.x electrical components and connections |
to-ecad | Project SPICE netlist to ECAD NetlistGraph for PCB routing and design rule checking |
to-dae | Lower SPICE netlist directly into zero-GC linear-memory DAE arena |
diagram | Render SPICE circuit schematic diagram to standalone vector SVG or JSON graph |
sync | Synchronize tuned parameters and topology from Modelica 3.x back into SPICE netlist |
Options for spice simulate
| Option | Type | Default | Description |
|---|---|---|---|
-a, --analysis | op | tran | ac | Analysis type (op, tran, ac). Defaults to directives defined in netlist | |
--tstep | number | Transient step size (seconds) | |
--tstop | number | Transient stop time (seconds) | |
-f, --format | table | json | csv | "table" | Output format |
-o, --out | string | Write results to output file |
Options for spice lint
| Option | Type | Default | Description |
|---|---|---|---|
-f, --format | pretty | json | "pretty" | Output format |
Options for spice inspect
| Option | Type | Default | Description |
|---|---|---|---|
-f, --format | pretty | json | "pretty" | Output format |
-o, --out, --output | string | Write summary to output JSON file |
Options for spice to-modelica
| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output .mo file path |
Options for spice to-ecad
| Option | Type | Default | Description |
|---|---|---|---|
-o, --out | string | Output JSON file path |
Options for spice to-dae
| Option | Type | Default | Description |
|---|---|---|---|
-f, --format | pretty | json | "pretty" | Output format |
-o, --out, --output | string | Output JSON file for DAE metadata |
Options for spice diagram
| Option | Type | Default | Description |
|---|---|---|---|
-f, --format | svg | json | "svg" | Output format (svg or json) |
-o, --out | string | Output file path (e.g., schematic.svg or graph.json) |
Options for spice sync
| Option | Type | Default | Description |
|---|---|---|---|
--from-modelica | string | Path to Modelica model file to synchronize from | |
--strategy | target-wins | source-wins | physics-simplex | "target-wins" | Conflict reconciliation strategy |
-o, --out | string | Output file path (default: in-place) |
msx spice simulate LowPassFilter.cir --analysis op
msx spice simulate PowerSupply.cir --analysis tran --tstep 1e-6 --tstop 0.02 --out transient.csv
msx spice simulate AudioAmplifier.sp --analysis ac --format csv --out bode.csvadams
Tooling for MSC Adams mechanism datasets (.adm) and command files (.cmd), including 3D Euler/Cardan kinematics, Grübler spatial mobility analysis, and cross-domain SIMPACK / Modelica projections.
msx adams <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path | |
--stop-time, --tstop, --duration | number | 5 | Simulation stop time [s] |
--step, --step-size, --dt | number | 0.005 | Simulation time step [s] |
--stabilization | baumgarte | algebraic | "baumgarte" | Constraint stabilization method |
| Action | Description |
|---|---|
lint | Check the dataset for dangling references and parameter inconsistencies. |
mobility | Calculate mechanism degrees of freedom and detect overconstraints. |
to-modelica | Project the mechanism into Modelica.Mechanics.MultiBody components. |
to-simpack | Convert the Adams dataset into SIMPACK .spck XML. |
simulate | Lower to a DAE (Baumgarte or algebraic stabilization via --stabilization) and integrate it in time. |
msx adams mobility FourBarLinkage.adm
msx adams lint LandingGear.adm
msx adams to-simpack RobotArm.adm --out=RobotArm.spckurdf
Robotics compiler tooling for ROS URDF (.urdf) and Xacro (.xacro) descriptions, featuring Featherstone recursive dynamics (ABA forward dynamics, RNEA inverse dynamics), joint limit verification, and 3D CAD projections.
msx urdf <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path | |
--gravity | number | 9.80665 | Gravitational acceleration [m/s^2] |
| Action | Description |
|---|---|
lint | Validate kinematic tree acyclicity (M7504), joint limits (M7508), and inertia tensors (M7506). |
rnea | Evaluate inverse dynamics (RNEA) at test joint coordinates. |
to-modelica | Generate a Modelica.Mechanics.MultiBody robotic system. |
to-simpack | Project the robot description into SIMPACK .spck XML. |
to-adams | Project the robot description into an MSC Adams .adm dataset. |
to-dae | Lower kinematic state equations directly into the DAEBuilder arena. |
msx urdf rnea KukaIiwa14.urdf
msx urdf lint Manipulator.xacro
msx urdf to-modelica PandaArm.urdf --out=PandaArm.moeasy5
Tooling for Boeing / MSC EASY5 dynamic models (.ez5, .ezm, .ezd), including linear state-space analysis, User General (UG) Fortran routines, tabular map interpolation, and Modelica/SSP projections.
msx easy5 <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
--from-modelica | string | Path to modified Modelica file for bidirectional synchronization | |
--strategy | target-wins | source-wins | physics-simplex | "target-wins" | Conflict reconciliation strategy |
-o, --out, --output | string | Output file path (for code generation or SVG diagram) | |
--min-freq | number | 0.01 | Minimum frequency for Bode response (rad/s) |
--max-freq | number | 1000 | Maximum frequency for Bode response (rad/s) |
--num-points | number | 60 | Number of frequency logarithmic evaluation points |
--max-iter | number | 50 | Maximum Newton-Raphson iterations for trim equilibrium |
--tol | number | 0.000001 | Convergence tolerance for trim equilibrium |
-f, --format | terminal | json | "terminal" | Output format: 'terminal' or 'json' |
--json | boolean | false | Emit JSON output |
| Action | Description |
|---|---|
inspect | Dump component blocks, connection topology, and parameter tables. |
lint | Check for dangling connections, missing table files, and rate limits. |
to-modelica | Project continuous block diagram to Modelica 3.x. |
to-ssp | Package model as an FMI SystemStructure.ssd container. |
to-dae | Lower continuous and discrete equations into DAEBuilder arena. |
gtsuite
Tooling for Gamma Technologies GT-SUITE powertrain and engine models (.gtm, .gtd), including crank-slider kinematics, Wiebe combustion, Woschni heat transfer, Zeldovich NOx emissions, and DAE lowering.
msx gtsuite <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path (for code generation, trajectories, or SVG diagrams) | |
--speed | number | Engine speed override in RPM | |
--duration | number | 0.5 | Simulation duration in seconds |
--view | schematic | pv | "schematic" | Diagram view: 'schematic' or 'pv' |
--max-bsfc | number | 240 | Verification ceiling for BSFC in g/kWh |
--max-boost | number | 2.8 | Verification ceiling for boost pressure in bar |
--max-nox | number | 60 | Verification ceiling for NOx concentration in ppm |
--min-knock | number | 0.05 | Verification floor for knock safety margin |
-f, --format | terminal | json | "terminal" | Output format: 'terminal' or 'json' |
| Action | Description |
|---|---|
inspect | Inspect engine cylinders, intake/exhaust manifolds, valves, and turbochargers. |
lint | Detect compressor surge (M9002), invalid compression ratio (M9005), and acoustic CFL limits. |
simulate | Execute in-WASM Mean-Value Engine Model (MVEM) transient simulation. |
to-modelica | Project 1D powertrain architecture to Modelica standard blocks. |
to-dae | Lower engine thermodynamics and flow dynamics into DAEBuilder arena. |
sima
Tooling for DNV / SINTEF SIMA marine systems (.inp, .sima, .sys, .hyd), including Cummins equation 6-DOF floater dynamics, catenary mooring solvers, and DNV-OS-E301 station-keeping verification.
msx sima <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path (for code generation or exported manifests) | |
--consequence-class | number | 2 | DNV consequence class (1 or 2, default: 2) |
| Action | Description |
|---|---|
inspect | Inspect marine vessels, mooring lines, catenary segments, and environmental loads. |
lint | Check negative metacentric height (M7001), line underflow (M7002), and attachment nodes. |
summary | Print a model summary: vessels, lines, and environment. |
verify | Verify DNV-OS-E301 / DNV-ST-0119 line tension safety factors. |
offset | Report vessel watch-circle and offset limits. |
to-modelica | Project marine system into acausal Modelica physical components. |
to-ssp | Export an SSP SystemStructure.ssd. |
to-sysml2 | Export a SysML v2 model. |
to-dae | Lower hydrodynamics and mooring tension equations into DAEBuilder arena. |
rocets
Tooling for NASA ROCETS liquid rocket engine transient decks (.roc, .deck, .map), including turbopump flow balance, CEA equilibrium combustion, supersonic nozzle expansion, and Bartz throat heat transfer.
msx rocets <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path (for code generation or SVG diagram) | |
--target-pc | number | Target chamber pressure in Pascals for balance solve | |
--mr | number | Target oxidizer-to-fuel mixture ratio for balance solve | |
--t-end | number | 2 | End time for transient trajectory simulation (seconds) |
-f, --format | terminal | json | "terminal" | Output format: 'terminal' or 'json' |
--json | boolean | false | Emit JSON output |
| Action | Description |
|---|---|
inspect | Inspect turbopumps, combustion chambers, regenerative cooling channels, and valves. |
lint | Detect extreme mixture ratios (M8011), turbine overspeed (M8013), and negative chamber pressure. |
simulate | Solve steady-state flow balance or transient rocket engine ignition start sequence. |
to-modelica | Project cryogenic fluid networks and turbomachinery into Modelica 3.x. |
to-dae | Lower propulsion governing equations into DAEBuilder arena. |
psse
Tooling for Siemens PSS/E power transmission cases (.raw, .dyr, .sav), including bus/branch netlist extraction, Full-Newton AC power flow solving, and Modelica / PSCAD EMT projections.
msx psse <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path (e.g. for SVG diagram) | |
--algorithm, --alg | nr | fdpf | "nr" | Power flow algorithm: 'nr' (Newton-Raphson) or 'fdpf' (Fast Decoupled) |
--tol | number | 0.0001 | Convergence tolerance in p.u. |
--max-iter | number | 25 | Maximum allowable power flow iterations |
| Action | Description |
|---|---|
inspect | Dump bus count, generators, transmission lines, transformers, and load summary. |
lint | Validate bus voltage bounds, check for isolated buses, and verify generator |
solve | Solve steady-state AC power flow on the nodal admittance matrix |
summary | Print a base-case summary. |
diagram | Export a single-line diagram as SVG. |
netlist | Extract the bus/branch netlist. |
to-modelica | Project power grid into acausal Modelica transmission lines and generators. |
to-dae | Lower bus injection equations and generator swing dynamics into DAEBuilder arena. |
lps
Tooling for Energy Solutions PipelineStudio gas and liquid pipeline networks (.lps, .tgx, .tlx, .psg), including AGA-8 / GERG-2008 natural gas compressibility, hydrogen blending (
msx lps <action> [files..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out, --output | string | Output file path (e.g. for SysML or Modelica export) | |
-f, --format | terminal | json | "terminal" | Output format: terminal or json |
--json | boolean | false | Output results in JSON format |
--duration, --stop-time, --tstop | number | 3600 | Simulation duration in seconds for transient run |
--step, --step-size, --dt | number | 10 | Transient simulation timestep in seconds |
--restart | string | Path to .sav checkpoint file to resume simulation from | |
--save-checkpoint | string | Path to write output .sav state snapshot | |
--eos | AGA8 | GERG2008 | PENG_ROBINSON | IDEAL | Equation of state to use (AGA8, GERG2008, PENG_ROBINSON, IDEAL) | |
--soil | boolean | false | Run 1D radial cylindrical soil thermal conduction simulation |
--slack | boolean | false | Evaluate open-channel slack line gravity flow on downhill pipes |
| Action | Description |
|---|---|
inspect | Dump pipeline pipes, compressors, pumps, delivery regulators, and receipt nodes. |
lint | Check for MAOP overpressure (M8001), compressor surge (M8002), and high hydrogen blend ratios. |
simulate | Run transient fluid network pressure propagation and inventory line pack calculations. |
solve | Solve the steady-state network. |
linepack | Compute pipeline inventory (line pack). |
sysml | Project pipeline topology and control station hierarchies into OMG SysML v2. |
verify | Run design and safety verification on the steady-state solution. |
to-modelica | Project pipe network into Modelica.Fluid gas/liquid transmission models. |
to-dae | Lower Euler gas/liquid equations directly into DAEBuilder arena. |
Language Workbench, Daemon & IDE Tooling
daemon
Controls the lifecycle of the persistent background ModelScript compiler daemon (~/.modelscript/daemon.sock).
msx daemon <action>| Subcommand | Description |
|---|---|
start | Spawn the background compiler daemon if not already running. |
stop | Gracefully shut down the running daemon and remove its socket file. |
status | Report whether the daemon is running, its PID, uptime, and cached workspace count. |
restart | Stop any active daemon instance and immediately start a fresh one. |
build
Compiles a @modelscript/dsl grammar definition into a zero-dependency native WebAssembly GLR parser (parser.wasm) along with strongly typed TypeScript CST node definitions.
msx build [entry]| Option | Type | Default | Description |
|---|---|---|---|
--target | wasm | native | "native" | Compilation target (wasm or native) |
--register | boolean | false | Register the compiled language into the user catalog (~/.modelscript/languages/) |
generate
Scaffolds a new WebAssembly GLR parser (parser) or a complete standalone VS Code language extension (extension including TextMate grammars, LSP wiring, and package.json contributions) from a @modelscript/dsl language definition.
msx generate [target] [entries..]| Option | Type | Default | Description |
|---|---|---|---|
--entry | string | "src/language.ts" | Path to primary language spec file |
-o, --outdir | string | "build/src-gen" | Output directory |
--vsix | boolean | false | Package into a .vsix extension bundle |
language
Manages the dynamic polyglot language registry (lang is an alias for language).
msx language <action> [target]
msx lang <action> [target]
msx lang <action> [target]| Subcommand | Description |
|---|---|
list | List all registered languages (.mo, .sysml, .msx, .pscx, .scad, .stp, .owl, .ssp, .csv, .su2, .inp, .gbr) and their loaded .wasm parser states. |
register <path> | Dynamically register a custom language plugin module into ~/.modelscript/languages.json. |
unregister <id> | Remove a dynamically registered language plugin by language ID. |
lsp
Starts the multi-language ModelScript Language Server Protocol (@modelscript/lsp) server.
msx lsp| Option | Type | Default | Description |
|---|---|---|---|
--stdio | boolean | true | Run language server over standard I/O (default for VS Code, Neovim, Emacs) |
--port | number | Run language server over a TCP port |
playground
Launches a local interactive web playground server for live grammar authoring, GLR parse tree visualization, Salsa query inspection, and DAE simulation.
msx playgroundsandbox
Executes untrusted .msx scripts or .mo simulations inside a memory-capped, capability-isolated WebAssembly sandbox with no host filesystem or network access.
msx sandbox [entries..]| Option | Type | Default | Description |
|---|---|---|---|
-o, --outdir | string | "build/src-gen" | output directory for extension build artifacts |
--open | boolean | true | Open the browser automatically |
Package Registry, Cloud HPC & Hub Administration
init
Initializes a new modelscript.json package manifest in the current directory.
msx init [path]| Option | Type | Default | Description |
|---|---|---|---|
-y, --yes | boolean | false | Accept all defaults without prompts |
login, logout, whoami
Manages authentication sessions against the Ansatz Package Registry or self-hosted Ansatz / ModelScript hub node. Credentials and signing keys are stored in ~/.ansatzrc (or ~/.modelscriptrc).
msx login| Option | Type | Default | Description |
|---|---|---|---|
-e, --email | string | Email address or username | |
-p, --password | string | Password (recommended only in non-interactive/automated environments) | |
-t, --token | string | Authenticate directly with a personal access token or API token | |
--otp | string | Two-factor authentication code (TOTP or backup recovery code) | |
-r, --registry | string | Registry API URL |
msx logout| Option | Type | Default | Description |
|---|---|---|---|
-r, --registry | string | Registry API URL to log out from | |
--all | boolean | false | Clear all saved registry preferences and credentials |
msx whoami| Option | Type | Default | Description |
|---|---|---|---|
-r, --registry | string | Registry API URL to query against | |
--json | boolean | false | Output in JSON format |
install
Resolves semantic version constraints, verifies SHA-256 content-addressable digests and Ed25519 publisher signatures, and installs Modelica/SysML/ModelScript packages into modelica_modules/ while updating msx.lock.
msx install [package]
msx i [package]
msx add [package]| Option | Type | Default | Description |
|---|---|---|---|
-s, --save | boolean | true | Save installed package to package.json dependencies |
--frozen-lockfile, --frozen, --ci | boolean | false | Enforce zero-trust installation against msx.lock (fails if lockfile is missing, out of sync, or tampered) |
--dry-run | boolean | false | Simulate transitive dependency resolution without writing packages or lockfile to disk |
pack, publish, unpublish
Packages, cryptographically signs, and publishes libraries to the Ansatz Package Registry.
msx pack [path]| Option | Type | Default | Description |
|---|---|---|---|
-o, --out | string | Output directory for the generated archive | |
-d, --dry-run | boolean | false | Inspect files and archive details without creating the file |
--json | boolean | false | Output archive metadata as JSON |
msx publish <path>| Option | Type | Default | Description |
|---|---|---|---|
--signature | string | Cryptographic detached signature for supply chain verification | |
-d, --dry-run | boolean | false | Report files and archive metadata without publishing to the registry |
-t, --tag | string | "latest" | Registers the published package with the given dist-tag |
--no-verify | boolean | false | Skip pre-flight syntax and manifest verification |
msx unpublish [path]| Option | Type | Default | Description |
|---|---|---|---|
-n, --name | string | Library name (used with --version instead of a path) |
cloud
Manages remote high-performance computing (HPC) simulation sweeps, Slurm batch jobs, and organization compute credit wallets on Ansatz Cloud HPC.
msx cloud <action> [target]| Option | Type | Default | Description |
|---|---|---|---|
-p, --profile | string | Compute profile ID (standard, high-memory, gpu-a100, hpc-mpi-64) | |
-d, --domain | string | Simulation domain (modelica, cfd, fea, monte-carlo) | |
-f, --follow | boolean | Follow log stream in real time | |
-o, --output | string | Output path for downloaded artifacts | |
--api-url | string | ModelScript API server URL |
| Subcommand | Arguments | Description |
|---|---|---|
profiles | — | List available CPU/GPU hardware execution profiles (standard, high-cpu, gpu-a100, slurm-mpi) and credit burn rates. |
balance / wallet | — | Display current organization compute credit balance, active reservations, and ledger history. |
jobs / list | — | List recent and running cloud simulation jobs. |
status | <jobId> | Query real-time queue state (QUEUED, RUNNING, COMPLETED, FAILED) and progress percentage for a job. |
logs | <jobId> | Stream stdout/stderr compiler and solver logs from a cloud worker. |
cancel | <jobId> | Terminate a queued or running cloud job and refund unused reserved credits. |
download | <jobId> [outDir] | Download completed trajectory CSV/Parquet artifacts and diagnostic reports. |
dispatch | <name> <paths...> | Directly submit a containerized simulation or DoE sweep job to the cloud queue. |
hub, db, archive
Administrative CLI commands for operators managing a self-hosted ModelScript Enterprise Hub instance (see Platform Administration Guide).
msx hub <command>
msx ansatz <command>
msx node <command>| Action | Description |
|---|---|
init | Initialize a ModelScript hub node with tailored profile configurations |
status | Query the compliance and health readiness probe of a ModelScript node |
upgrade | Orchestrate a safe zero-downtime rolling upgrade with pre-upgrade backup and automatic rollback |
accounts | Manage local and remote accounts (tootctl accounts equivalent: list, modify, prune) |
domains | Manage federation domain policies (list, block, silence, allow, purge) |
prune-remote | Prune unengaged remote posts, cached remote media, and stale remote actor profiles (tootctl statuses/media remove) |
relay | Manage ActivityPub relay subscriptions (list, add, pause, resume, remove) |
Options for hub init
| Option | Type | Default | Description |
|---|---|---|---|
-p, --profile | standalone | internal | corporate | federated | federated-lite | flagship | Deployment profile: 'standalone' | 'internal' | 'corporate' | 'federated' | 'federated-lite' | 'flagship' | |
-d, --dir | string | "." | Target directory to write configuration files into |
--port | number | 3000 | API server port |
--domain | string | Public domain for federated or internal node | |
--admin-user | string | "admin" | Initial administrator username |
--admin-email | string | "[email protected]" | Initial administrator email address |
--admin-pass | string | Initial administrator password | |
--tunnel-token | string | Cloudflare Tunnel token for zero-open-ports ingress | |
-y, --yes | boolean | false | Skip interactive prompts and accept all defaults |
Options for hub upgrade
| Option | Type | Default | Description |
|---|---|---|---|
--tag | string | "latest" | Target Docker IMAGE_TAG to deploy |
--profile | string | "federated-lite" | Docker Compose profile to run |
--compose-dir | string | "." | Directory containing docker-compose.yml and docker-compose.prod.yml |
--dry-run | boolean | false | Print upgrade steps and compose commands without mutating state |
--token | string | Admin Bearer JWT token for maintenance lock and hot backup (or set MSX_TOKEN) |
Options for hub accounts
| Option | Type | Default | Description |
|---|---|---|---|
--user-id | number | Explicit numeric user ID | |
--role | user | moderator | auditor | admin | Assign staff role | |
--status | active | frozen | suspended | Assign account status | |
--days | number | 90 | Inactivity window in days when pruning unreferenced remote accounts |
--url | string | "http://localhost:3000" | Base URL of the hub node |
--token | string | Admin Bearer JWT token (or set MSX_TOKEN) |
Options for hub domains
| Option | Type | Default | Description |
|---|---|---|---|
--tier | allow | silence | suspend | Explicit federation tier | |
--reason | string | Public or administrative moderation comment | |
--reject-media | boolean | Strip and refuse remote media/artifact attachments from this domain | |
--reject-reports | boolean | Ignore incoming ActivityPub Flag reports from this domain | |
--obfuscate | boolean | Partially obfuscate domain name on public blocklist | |
--url | string | "http://localhost:3000" | Base URL of the hub node |
--token | string | Admin Bearer JWT token (or set MSX_TOKEN) |
Options for hub prune-remote
| Option | Type | Default | Description |
|---|---|---|---|
--days | number | 90 | Retain unengaged remote statuses for N days |
--media-days | number | 14 | Retain cached remote media/artifacts for N days |
--account-days | number | 90 | Retain unreferenced remote accounts for N days |
--url | string | "http://localhost:3000" | Base URL of the hub node |
--token | string | Admin Bearer JWT token (or set MSX_TOKEN) |
Options for hub relay
| Option | Type | Default | Description |
|---|---|---|---|
--url | string | "http://localhost:3000" | Base URL of the hub node |
--token | string | Admin Bearer JWT token (or set MSX_TOKEN) |
msx db <action>Actions:status, upgrade, rollback, plan, verify, doctor, support-bundle, backup, backups, restore, prune, export-bundle, import-bundle
| Option | Type | Default | Description |
|---|---|---|---|
--db | string | Path to local SQLite database file for offline air-gapped maintenance | |
--dry-run | boolean | false | Preview pending migrations without applying changes |
--skip-backup | boolean | false | Skip automated pre-flight hot snapshot (not recommended for production) |
--label | string | Optional snapshot label when creating a hot backup (`msx db backup --label pre-release`) | |
--file | string | Backup snapshot or bundle file path (`msx db restore --file ...` / `msx db import-bundle --file ...`) | |
--keep | number | 7 | Number of most recent snapshots to keep when pruning (`msx db prune --keep 7`) |
--api-url | string | ModelScript API server URL |
msx archive [action] [users..]| Option | Type | Default | Description |
|---|---|---|---|
--format | zip | json | "zip" | Archive payload format: zip (default) or json |
-c, --concurrency | number | Maximum concurrent worker jobs (default: 2 or ARCHIVE_CONCURRENCY env) | |
-o, --output | string | Destination path or file for single-user archive | |
--output-dir | string | Destination directory for batch archives (default: ./data/archives) | |
--wait | boolean | true | Wait and stream download after queueing completes |
--api-url | string | ModelScript Hub API endpoint URL |
# Initialize Hub configuration or query cluster service health
msx hub <init|status> [--api-url <url>]
# Inspect database migration state, plan schema upgrades, or verify relational and physical integrity (online or offline air-gapped)
msx db <status|upgrade|rollback|plan|verify> [--db <file.sqlite>] [--dry-run] [--skip-backup]
# Request, poll, or download long-term regulatory cold-storage archives
msx archive <request|status|download> <targetId> [-o <path>]
