Getting Started

Getting Started

Getting Started with Runink

Welcome to Runink! This quick-start guide will help you get up and running with Runink to effortlessly build, test, and run data pipelines.


πŸš€ 1. Installation

Make sure you have Go installed (v1.20 or later). Then install Runink:

go install github.com/runink/runink@latest

Ensure $GOPATH/bin is in your $PATH.


πŸ›  2. Initialize Your Project

Create a new Runink project in seconds:

runi init myproject
cd myproject

This command generates:

  • Initial Go module
  • Sample contracts
  • Example .dsl files
  • Golden file tests
  • Dockerfile and CI/CD configs

πŸ“‹ 3. Explore the Project Structure

Your project includes:

myproject/
β”œβ”€β”€ bin/                  -> CLI
β”œβ”€β”€ contracts/            -> Schema contracts and transformation logic on Go structs
β”œβ”€β”€ features/             -> Scenarios definitions for each feature from the `.dsl` files
β”œβ”€β”€ golden/               -> Golden files used in regression testing with examples and synthetic data
β”œβ”€β”€ dags/                 -> Generated DAG code from the contracts and features to be executed by Runi
β”œβ”€β”€ herd/                 -> Domain Service Control Policies (Herd context isolation)
β”œβ”€β”€ barn/                 -> Runi Agent manager: cgroups, metrics, logs, gRPC control plane
β”œβ”€β”€ docs/                 -> Markdown docs, examples, use cases, and playbooks
└── .github/workflows/    -> CI/CD and test pipelines

βš™οΈ 4. Compile and Run Pipelines

Compile your first pipeline:

runi compile --scenario features/example.dsl --out pipeline/example.go --herd my-data-herd

Execute a scenario:

runi run --scenario features/example.dsl --herd my-data-herd

βœ… 5. Test Your Pipelines

Use built-in golden testing to ensure correctness:

runi audit --scenario features/example.dsl --herd my-data-herd
runi synth --scenario features/example.dsl --herd my-data-herd

If logic changes are intentional, update golden files:

runi update --scenario features/example.dsl --update --herd my-data-herd

πŸ” 6. Interactive REPL

Explore and debug data interactively:

runi fetch --scenario features/example.dsl --herd my-data-herd

Example REPL commands:

load csv://data/input.csv
apply MyTransform
show

πŸ“š 7. Next Steps


🚧 Support & Community

Need help or have suggestions?

Let’s build secure, fast, and auditable pipelines β€” the Go-native way, with Runink.