CLI Reference
ingot -m <PATH>... [OPTIONS]
Required
Option |
Description |
|---|---|
|
Path to TOML data model file(s) or
directory of TOML files. Repeatable —
multiple |
Output & Target
Key Filtering
Option |
Description |
|---|---|
|
YAML list of keys to include (whitelist); all others are excluded |
|
YAML list of keys to exclude (blacklist); all others are included |
|
YAML list of keys that should be marked persistent |
|
YAML map of per-key property overrides
( |
--include-list and --exclude-list are mutually exclusive.
Key names in filter lists are matched with underscore-normalized comparison,
so both STATEOFCHARGE and STATE_OF_CHARGE will match the same key.
Variant Overrides
Option |
Description |
|---|---|
|
Product variant for per-variant default
overrides (e.g. |
Verbosity
Targets
Value |
Platform |
Mutex |
Notes |
|---|---|---|---|
|
32-bit ARM STM32 |
None (bare-metal) |
4-byte alignment |
|
ESP32 Xtensa |
FreeRTOS semaphore |
|
|
ESP32 RISC-V |
FreeRTOS semaphore |
|
|
8-bit MCU |
None (bare-metal) |
1-byte alignment, 16-bit pointers |
|
64-bit Linux |
pthread mutex |
|
Thread-safe keys are protected by the target’s mutex mechanism. Keys without
thread_safe = true bypass locking entirely.
Examples
Generate from a single model file:
ingot -m device.toml -o src/dm/ -t stm32
Merge a directory of namespace TOML files:
ingot -m models/ -o gen/udm -t linux64
Merge files from multiple locations:
ingot -m common/base.toml -m project/overrides.toml -o gen/
Use include list and persistent keys:
ingot -m models/ --include-list conf/include.yml \
--persistent-keys conf/persist.yml -o gen/
Apply per-key property overrides:
ingot -m models/ --property-override-list conf/overrides.yml -o gen/
Generate for a specific product variant:
ingot -m models/ --variant peabodyv0 -o gen/