Workspace and CLI
The workspace is the directory where you work on every layer, and the CLI is the tool you do it with. A server that only runs a product needs neither.
The workspace
splent_workspace/
├── splent_framework/ the framework
├── splent_cli/ the CLI
├── splent_feature_<name>/ a feature you are editing
├── splent_spl_<name>/ a product line you are editing
├── <product>/ your products
├── .splent_cache/ read-only snapshots of pinned features, and downloaded models
└── .env your tokens and workspace settings
The CLI
make setup in splent_cli/ builds the CLI’s container and opens its shell, with the workspace mounted at /workspace. Every splent command runs there, and reaches Docker to run the products.
The commands follow the layers. spl:* works on product lines, feature:* on features, product:* on products and their containers, and the release commands on delivery. splent doctor checks the whole workspace.
Sources of truth
Four files hold the state of a product, and the CLI reads and writes them for you.
| File | Holds |
|---|---|
pyproject.toml |
The product’s features, versions and settings |
| The UVL model | What the line allows |
splent.manifest.json |
The state of each feature in the product |
| The env files | How the product runs on this machine |