Getting started
Install the SPLENT development environment.
Table of contents
- System requirements
- Configure Git
- Create the workspace
- Clone repositories
- Start Docker
- Check the installation
- Next steps
System requirements
SPLENT runs on Linux and macOS. On Windows, work inside WSL and run every command in its Linux terminal, not in PowerShell.
You need Git, Docker and GNU Make.
Give Docker at least 4 CPUs and 8 GB of memory, and keep about 20 GB of free disk for images and volumes. A running product is several containers at once (the CLI, the web app, MariaDB, Redis and a Selenium grid), and a smaller Docker VM tends to make product:derive stop halfway.
| Docker | Where to set the resources |
|---|---|
| Docker Desktop (macOS, Windows) | Settings, then Resources |
| colima (macOS) | colima start --cpu 4 --memory 8, after colima stop if it is running |
| WSL (Windows) | The memory and processors keys of .wslconfig in your Windows user folder |
| Docker Engine (Linux) | Nothing to set, it uses the machine’s resources |
On Windows, Docker Desktop must be integrated with WSL. The per-platform guides cover each step.
Every SPLENT repository is public, so cloning works over HTTPS without an account. You need an SSH key registered on git.splent.io, or a token, only to push and release your own features.
Configure Git
The CLI container bind-mounts your ~/.gitconfig and ~/.ssh from the host. If ~/.gitconfig does not exist, Docker creates it as an empty directory, which breaks Git inside the container and makes feature:clone and feature:install fail.
Create the file and set your identity before make setup. The first line removes ~/.gitconfig only when it is a directory.
[ -d ~/.gitconfig ] && rm -rf ~/.gitconfig
touch ~/.gitconfig
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
Check that it is a regular file, not a directory.
ls -l ~/.gitconfig
make preflightchecks~/.gitconfigand~/.sshfor you, andmake setupandmake clirun it first.
Create the workspace
The workspace is the directory where the framework, the CLI and your products live side by side. You develop products there. A server that only runs a finished product needs none of it, just Docker and a clone of the product (see Deploying from a clone).
mkdir splent_workspace
cd splent_workspace
Clone repositories
git clone https://git.splent.io/splent-io/splent_framework.git
git clone https://git.splent.io/splent-io/splent_cli.git
If you have SSH access, clone via SSH instead.
git clone ssh://git@git.splent.io:2223/splent-io/splent_framework.git git clone ssh://git@git.splent.io:2223/splent-io/splent_cli.git
Your workspace now looks like this.
splent_workspace/
splent_framework/ # Runtime core
splent_cli/ # Command-line interface
Your products will sit next to them. Each product records in its pyproject.toml the DOI of the variability model it derives from, and the CLI downloads that model once from UVLHub into .splent_cache/spls/. The CLI already knows sample_splent_spl, the product line the tutorials use.
Features are cloned from git.splent.io, over SSH when your key is registered there and over HTTPS otherwise. There is nothing to configure.
Start Docker
cd splent_cli
make setup
This builds the CLI container and drops you into its shell.
(detached) /workspace$
The first run takes several minutes. It builds the CLI image from scratch (Python 3.13, Java and PlantUML, Node.js, the Docker CLI and every dependency). Later runs are cached and start almost at once. If the terminal looks idle, the build is still working.
Every command from here on runs inside this container.
Check the installation
splent version
SPLENT workspace snapshot
────────────────────────────────────────────────────────
CLI 1.34.1
Framework 1.18.2 ✔ compatible
Python 3.13.16
Product (not selected)
────────────────────────────────────────────────────────
Fingerprint <hash>
splent spl:list
SPL models (1)
sample_splent_spl not fetched v4
Sample SPLENT app, the product line the tutorials use
not fetched is expected. The model is downloaded from UVLHub the first time a product uses it, in Tutorial 1.
Type exit to leave the container, and run make cli from splent_cli to come back.
Next steps
Go to the Tutorials and create your first product.