CLI Reference

CLI Reference

🧰 Runink CLI Reference (runi)

The runi CLI is the command-line interface to everything in the Runink data platform. It’s your developer-first companion for defining, testing, running, securing, and publishing data pipelines β€” all from declarative .dsl files and Go-native contracts.

This reference describes all available commands, grouped by capability.


🧱 Project & Pipeline Lifecycle

CommandDescription
runi herd init [project-name]Scaffold a new workspace with starter contracts, features, CI config
runi compile --scenario <file>Generate Go pipeline code from .dsl files
runi run --scenario <file> --contract <contract.json>Run pipelines locally or remotely
runi watch --scenario <file>Auto-compile & re-run scenario on save

πŸ“ Schema & Contract Management

CommandDescription
runi contract gen --struct <pkg.Type>Generate a contract from Go struct
runi contract diff --old v1.json --new v2.jsonShow schema drift between versions
runi contract rollbackRevert to previous contract version
runi contract history --name <contract>Show all versions and changelog entries
runi contract validate --file <file>Validate a file against a contract
runi contract catalogCreate an index of all contracts in the repo
runi contract hashGenerate contract hash for versioning

πŸ§ͺ Testing & Data Validation

CommandDescription
runi synth --dsl feature.dsl --contract feature.contract --golden input.goldenGenerate synthetic golden test data based on golden files
runi audit --dsl feature.dsl --contract feature.contract --golden input.goldenValidate pipeline against contract using golden files

πŸ” Security, Publishing & Compliance

CommandDescription
runi secure [--sbom|--sign|--scan]Run security audits and generate SBOM
runi publishPush metadata, lineage, and contracts to registry
runi sbom export [--format spdx]Export SPDX-compliant software bill of materials
runi changelog genGenerate changelogs from contract/feature diffs

πŸ” Observability & Lineage

CommandDescription
runi lineage --run-id <uuid>Show DAG lineage for a run
runi lineage track --source A --sink BManually link lineage metadata
runi lineage graph --out file.dotExport lineage graph in DOT format
runi metadata get --key <name>Retrieve stored metadata for a step
runi metadata annotate --key <name>Attach annotation to pipeline metadata
runi logs --run-id <uuid>View logs for a specific run
runi status --run-id <uuid>Check status of a pipeline execution

πŸ€– Distributed Execution (Remote)

CommandDescription
runi deploy --target <k8s|local>Deploy Runi workers to a local or remote cluster
runi start --slice <file> --herd <namespace>Start execution of a scenario remotely
runi kill --run-id <uuid>Terminate running scenario

πŸ’ͺ Control Plane & Agents

CommandDescription
runi herdctl createCreate a new Herd (namespace + quotas + policies)
runi herdctl deleteDelete a Herd
runi herdctl updateUpdate Herd quotas, RBAC, metadata
runi herdctl listList all Herds and resource states
runi herdctl quota set <herd>Update CPU/mem quotas live
runi herdctl lineage <herd>View lineage graphs scoped to a Herd
runi agentctl listList active Runi agents, resource usage, labels
runi agentctl status <agent>Detailed agent status (health, registered slices, metrics)
runi agentctl drain <agent>Mark agent as unschedulable (cordon)
runi agentctl registerManually register agent (optional bootstrap)
runi agentctl cordon <agent>Prevent slice scheduling

🌐 Worker Slice Management

CommandDescription
runi slicectl list --herd <id>List all active slices for a Herd
runi slicectl logs <slice-id>Fetch logs for a given slice
runi slicectl cancel <slice-id>Cancel a running slice gracefully
runi slicectl metrics <slice-id>Show real-time metrics for a slice
runi slicectl promote <slice-id>Checkpoint a slice mid-run

πŸ”€ Introspection & Visualization

CommandDescription
runi explain --scenario <file>Describe DAG and step resolution logic
runi graphviz --scenario <file>Render DAG as a .png, .svg, or .dot
runi diff --feature old.dsl --feature new.dslCompare feature files and show logic drift

πŸ§ͺ REPL & Exploratory Commands

CommandDescription
runi replLaunch interactive DataFrame, SQL, JSON REPL
runi json explore -f file.json -q '.email'Run jq-style query on JSON
runi query -e "SELECT * FROM dataset"Run SQL-like query on scenario input

πŸ› οΈ Dev Tools & Generators

CommandDescription
runi gen --dsl input.jsonGenerate feature from sample input
runi contract from-feature <file>Extract contract from .dsl spec
runi schema hashGenerate contract fingerprint
runi bumpAuto-increment contract version with changelog

🧹 Plugins & Extensions

CommandDescription
runi plugin install <url>Install external plugin
runi plugin listList installed extensions
runi plugin run <name>Execute a plugin subcommand

πŸ“¦ Packaging & CI/CD

CommandDescription
runi buildCompile pipeline bundle for remote use
runi packZip workspace for deployment/distribution
runi upgradeSelf-update the CLI and plugins
runi doctorDiagnose CLI and project setup

πŸ“… Runtime Lifecycle

CommandDescription
runi restart --run-id <uuid>Restart a pipeline from last successful checkpoint
runi resume --run-id <uuid>Resume paused pipeline without reprocessing
runi checkpoint --scenario <file>Create a persistent step-based checkpoint marker

πŸ’¬ Collaboration & Governance

CommandDescription
runi comment --contract <file>Leave inline comments for review (contract-level QA)
runi request-approval --contract <file>Submit contract for governance approval
runi feedback --scenario <file>Attach review notes to a scenario

πŸ›‘οΈ Privacy, Redaction & Data Escrow

CommandDescription
runi redact --contract <file>Automatically redact PII based on tags
runi escrow --run-id <uuid>Encrypt pipeline outputs for future unsealing
runi anonymize --input <file>Generate synthetic version of a sensitive input file

πŸ—“ Event-Based Execution

CommandDescription
runi trigger --on <webhook|s3|pubsub>Set up trigger-based pipeline starts
runi listen --event <type>Listen for external event to start scenario
runi subscribe --stream <source>Subscribe to stream source with offset recovery

πŸ”„ Pipeline & Contract Lifecycle

CommandDescription
runi freeze --scenario <file>Lock DAG hash and contract state as immutable
runi archive --herd <name> --keep <N>Archive old scenarios/runs beyond retention policy
runi retire --contract <file>Deprecate contract from active use

🧬 Metadata Graph & Semantic Search

CommandDescription
runi knowledge export --format turtleExport contract and DAG metadata as RDF
runi query lineageRun SQL-style queries across lineage metadata

πŸ’¬ Use runi <command> --help for flags, options, and examples.

Runink’s CLI gives you a full stack data engine in your terminal β€” from contracts to clusters, from .dsl to full observability.