SystemLink CLI (slcli) is a cross-platform Python CLI for SystemLink integrators, providing comprehensive management of SystemLink resources via REST APIs.
- 20+ resource types — test results, assets, systems, specifications, work items, notebooks, feeds, tags, files, users, policies, webapps, and more
- DataFrame tables — inspect schema, query rows, export CSV, append data, and manage DataFrame table metadata
- Systems state lifecycle — list saved states, inspect versions, and import or export portable
.slscontent - Multi-platform — supports SystemLink Enterprise (SLE) and SystemLink Server (SLS) with automatic detection
- Multi-profile — manage dev, staging, and prod environments with named profiles
- AI agent skills — bundled skills for most AI agents (Copilot, Codex, etc.) and Claude, currently unavailable
- Demo provisioning — curated example datasets for training, demos, and evaluation
- WebApp lifecycle — scaffold Nimble Angular projects, pack, publish, and manage web applications
- Professional CLI — consistent error handling, colored table/JSON output, shell completion
# pipx (recommended cross-platform Python install)
pipx install systemlink-cli
# Verify the CLI is on your PATH
slcli --help
# macOS / Linux (Homebrew — https://brew.sh)
brew tap ni-kismet/homebrew-ni && brew install slcli
# Windows (Scoop — https://scoop.sh)
scoop bucket add ni-kismet https://github.com/ni-kismet/scoop-ni && scoop install slcli
# Standalone binary — macOS (no package manager needed)
curl -fsSL https://github.com/ni-kismet/systemlink-cli/releases/latest/download/slcli-macos.tar.gz | tar xz
sudo mv slcli/slcli /usr/local/bin/
# Standalone binary — Linux
curl -fsSL https://github.com/ni-kismet/systemlink-cli/releases/latest/download/slcli-linux.tar.gz | tar xz
sudo mv slcli/slcli /usr/local/bin/
# pip (fallback for virtualenvs, CI, or managed Python workflows)
pip install systemlink-cli# Authenticate
slcli login
# Explore resources
slcli testmonitor result list --summary --group-by status
slcli asset list --calibratable --summary
slcli system list --state CONNECTED
slcli spec list --product <product> --workspace all
# Scaffold the SystemLink Angular starter (AI skills currently unavailable)
slcli webapp init ./my-dashboard
# Open the project and follow START_HERE.md or PROMPTS.md
# Create Plugin Manager packaging config
slcli webapp manifest init ./my-dashboard \
--description "A dashboard for monitoring fleet health and calibration status." \
--section Dashboard \
--maintainer "Your Name <you@example.com>" \
--license MIT \
--icon-file ./icon.svg
# Package the app and generate the thin submission manifest.json
slcli webapp pack --config ./my-dashboard/nipkg.config.json
# AI skills are currently unavailable
# Provision a demo environment
slcli example install demo-complete-workflow --workspace Trainingslcli auto-detects terminal color support for tables, status lines, and JSON output.
SLCLI_COLOR=alwaysforces color when you want ANSI output even through wrappers or pseudo-terminals.SLCLI_COLOR=neverdisables Rich color output explicitly.NO_COLOR=1also disables color output and takes precedence over auto-detection.
slcli resolves runtime connection settings in this order:
- Profile selection:
--profile, thenSLCLI_PROFILE, then the current profile in config. - API URL, API key, and Web URL:
SLCLI_API_URL/SLCLI_API_KEY/SLCLI_WEB_URL, then the legacySYSTEMLINK_*aliases, then the active profile, then legacy keyring fallbacks.
Use slcli info to see the effective source for each value and whether environment overrides are active. Use slcli config view to inspect the stored profile values on disk.
| Section | Description |
|---|---|
| Getting Started | Installation, authentication, profiles, AI integration |
| Command Reference | Complete docs for all command groups and options |
| Workflows | Building webapps with AI, demo provisioning, multi-env ops |
See CONTRIBUTING.md for development setup, coding standards, and contribution guidelines.
MIT