Skip to main content

Istari Digital CLI

The Istari Digital CLI (stari) provides tools and utilities to streamline the development of Istari Digital Integrations. stari also provides an interface for Istari Digital Client SDK.


Downloading the CLI

From Artifactory

Istari Digital CLI binaries are published to Artifactory for release.

Artifactory Download URLs

Replace <VERSION> with the desired version (e.g., 1.2.3):

  • Linux: https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli/<VERSION>/linux/stari
  • macOS: https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli/<VERSION>/macos/stari
  • Windows: https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli/<VERSION>/windows/stari.exe

Replace USERNAME:TOKEN with your actual credentials:

# Linux
curl -u USERNAME:TOKEN -o stari https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli/<VERSION>/linux/stari
chmod +x stari

# macOS
curl -u USERNAME:TOKEN -o stari https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli/<VERSION>/macos/stari
chmod +x stari

# Windows (PowerShell)
Invoke-WebRequest -OutFile stari.exe https://istaridigital.jfrog.io/artifactory/customer-istari-utilities/istari-digital-cli/<VERSION>/windows/stari.exe -Headers @{ Authorization = "Basic "+ [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("USERNAME:TOKEN")) }
info

Artifactory does not preserve the executable flag. After downloading on Linux or macOS, run chmod +x ./stari before executing.

Basic authentication is not considered secure and is not recommended. Artifactory recommends using a token.

Configuration

The Istari Digital CLI uses a configuration file named istari_digital_config.yaml to store your API URL and authentication token.

Default Location

By default, the CLI looks for this file at the following location, depending on your operating system:

  • Linux: ~/.config/istari_digital/istari_digital_config.yaml
  • macOS: ~/Users/<user>/Library/Application Support/istari_digital/istari_digital_config.yaml
  • Windows: %APPDATA%\istari_digital\istari_digital_config.yaml

How to Set Up

You can create or update this file automatically by running:

stari client init <registry_url> <registry_api_key> --yes

This command will prompt you for confirmation and write the configuration to the correct location.

If you wish to edit the file manually, ensure it contains the following structure:

CLI:
ISTARI_DIGITAL_REGISTRY_URL: https://your-registry-url
ISTARI_DIGITAL_REGISTRY_AUTH_TOKEN: your-api-key

Usage

Executables

If using one of the executable releases, the subsequent commands must reference the executable.

Windows:

./stari.exe --help

POSIX:

./stari --help
info

Run stari <command> --help for details on each command and its options.


CLI Commands

The CLI provides commands for interacting with the Istari Digital Platform:

Client Commands

  • Initialize configuration:

    Set up the Istari Digital Client configuration with your registry URL and API key.

    stari client init <registry_url> <registry_api_key> --yes
    • --yes is required to confirm writing configuration changes.
  • Ping the registry:

    Verify your configuration and credentials by connecting to the Istari Digital Registry Service.

    stari client ping
  • Publish a module:

    Publish a module manifest to the Istari Digital Registry Service.

    stari client publish <path/to/module_manifest.json>

Module Commands

  • Interactive Manifest Generator: Step-by-step prompts to create module_manifest.json files for Istari Digital Integrations.

    • Prompts for function schemas, authors, dependencies, scripts, and more.
    • Specify output paths and customize manifest content interactively.
    stari module create --output <path/to/module_manifest.json>
  • Lint a manifest: Validate Istari Digital module manifests for correctness and completeness.

    stari module lint <path/to/module_manifest.json>
  • Module Scaffolding (Available in the 2025.09.01 Release): Generate complete, development-ready module projects from built-in templates.

    # List available scaffold types
    stari module scaffold --list

    # Generate a Python module scaffold
    stari module scaffold my-new-module --type python-module

    # Generate with custom metadata
    stari module scaffold my-module \
    --type python-module \
    --author "Your Name" \
    --email "your.email@example.com" \
    --description "My custom module" \
    --version "1.0.0"

    Features include:

    • Complete Python module template with PyInstaller, poetry, pre-commit hooks, and testing setup
    • Smart templating with automatic placeholder replacement
    • Development environment ready setup
  • Script Execution (Available in the 2025.09.01 Release): Execute module scripts defined in module_manifest.json with cross-platform support.

    # Run a script (auto-detects current OS)
    stari module run build

    # Run script for specific OS
    stari module run build --os "Ubuntu 22.04"
    stari module run build --os windows

    # Use specific manifest
    stari module run test --manifest path/to/module_manifest.json --os linux

    Features include:

    • Cross-platform support with automatic OS detection
    • Dynamic autocomplete for available scripts and operating systems

Function Commands (Available in the 2025.09.01 Release)

Generate test files and explore functions defined in Istari Digital module manifests.

  • List available functions:

    # List functions from default manifest (module_manifest.json)
    stari function list

    # List functions from specific manifest
    stari function list --manifest path/to/module_manifest.json
  • Generate test files:

    # Generate test files for a function (interactive prompts)
    stari function generate test_files --function @istari:extract

    # Generate for specific function implementation
    stari function generate test_files --function @istari:extract --index 1

    # Generate with placeholder values (non-interactive)
    stari function generate test_files --function @istari:extract --placeholder

    # Generate test files for ALL functions with placeholder values
    stari function generate test_files --placeholder

    # Specify custom output directory
    stari function generate test_files --function @istari:extract --output-dir my_tests

    Features include:

    • Interactive mode with guided prompts for input values
    • Complex validation support for nested structures
    • Placeholder mode for batch processing
    • Auto-completion for function names and indices

For more detailed information on test file generation, see the dedicated document

Schema Commands (Available in the 2025.09.01 Release)

Access and save JSON schemas for Istari Digital module components.

  • Get a specific schema:

    # Save module manifest schema to default file (module_manifest_schema.json)
    stari schemas get module_manifest

    # Save to custom file
    stari schemas get module_manifest --output my_schema.json

    # Available schemas: module_manifest, function_schema, function_input, function_output
    stari schemas get function_input
  • List all available schemas:

    stari schemas list

    Features include:

    • Auto-save to disk with descriptive filenames
    • Custom output paths using --output