🧰 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

Command Description
runi 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

Command Description
runi contract gen --struct <pkg.Type> Generate a contract from Go struct
runi contract diff --old v1.json --new v2.json Show schema drift between versions
runi contract rollback Revert to previous contract version
runi contract history --name <contract> Show all versions and changelog entries

πŸ§ͺ Testing & Data Validation

Command Description
runi test --scenario <file> Run tests using golden files
runi synth --contract <contract.json> Generate synthetic golden test data
runi verify-contract --contract <file> Validate pipeline against contract

πŸ” Security, Publishing & Compliance

Command Description
`runi secure [–sbom –sign
runi publish Push metadata, lineage, and contracts to registry
runi sbom export [--format spdx] Export SPDX-compliant software bill of materials
runi changelog gen Generate changelogs from contract/feature diffs

πŸ” Observability & Lineage

Command Description
runi lineage --run-id <uuid> Show DAG lineage for a run
runi lineage track --source A --sink B Manually link lineage metadata
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)

Command Description
`runi deploy –target <k8s bigmachine>`
runi start --slice <file> --herd <namespace> Start execution of a scenario remotely
runi kill --run-id <uuid> Terminate running scenario

πŸ”„ Introspection & Visualization

Command Description
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.dsl Compare feature files and show logic drift

πŸ§ͺ REPL & Exploratory Commands

Command Description
runi repl Launch 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

Command Description
runi gen --dsl input.json Generate feature from sample input
runi contract from-feature <file> Extract contract from .dsl spec
runi schema hash Generate contract fingerprint
runi bump Auto-increment contract version with changelog

🧩 Plugins & Extensions

Command Description
runi plugin install <url> Install external plugin
runi plugin list List installed extensions
runi plugin run <name> Execute a plugin subcommand

πŸ“¦ Packaging & CI/CD

Command Description
runi build Compile pipeline bundle for remote use
runi pack Zip workspace for deployment/distribution
runi upgrade Self-update the CLI and plugins
runi doctor Diagnose CLI and project setup

πŸ”„ Runtime Lifecycle

Command Description
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

Command Description
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

Command Description
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

Command Description
`runi trigger –on <webhook s3
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

Command Description
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

Command Description
runi lineage graph --out file.dot Export lineage graph in DOT format
runi knowledge export --format turtle Export contract and DAG metadata as RDF
runi query lineage Run SQL-style queries across lineage metadata

πŸ§ͺ Experimental / LLM-integrated

Command Description
runi openai audit --contract <file> Use LLM to summarize or describe schema changes
runi sandbox --scenario <file> Run pipeline in ephemeral namespace sandbox
runi simulate --input <file> --window 5m Replay stream input over a time window
runi mint-token --role <name> Mint temporary JWT token scoped to herd/contract

πŸ’¬ 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.