Skip to content

ni-kismet/systemlink-cli

Repository files navigation

SystemLink CLI

Full documentation →

SystemLink CLI (slcli) is a cross-platform Python CLI for SystemLink integrators, providing comprehensive management of SystemLink resources via REST APIs.

Features

  • 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 .sls content
  • 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

Quick Install

# 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

Quick Start

# 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 Training

Color Output

slcli auto-detects terminal color support for tables, status lines, and JSON output.

  • SLCLI_COLOR=always forces color when you want ANSI output even through wrappers or pseudo-terminals.
  • SLCLI_COLOR=never disables Rich color output explicitly.
  • NO_COLOR=1 also disables color output and takes precedence over auto-detection.

Authentication Overrides

slcli resolves runtime connection settings in this order:

  • Profile selection: --profile, then SLCLI_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 legacy SYSTEMLINK_* 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.

Documentation

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

Contributing

See CONTRIBUTING.md for development setup, coding standards, and contribution guidelines.

License

MIT

About

CLI tool for managing SystemLink resources

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors