Installation

Install the Riven CLI, SDKs, and verify your development environment.

System Requirements

Ensure your development environment meets the following minimum requirements:

ComponentMinimum VersionRequired For
Node.js22+CLI, TypeScript SDK
Python3.13+Python SDK
Docker24+Container builds, local dev
kubectl1.28+Cluster management

CLI Installation

The Riven CLI is the primary tool for creating, building, and deploying projects. The recommended install method is the install script:

curl -fsSL https://docs.riven-ai.dev/api/install | bash

This detects your OS and architecture, downloads the latest binary, and adds it to your PATH.

Manual install via npm

If you prefer, install globally with npm:

Terminal
bash
npm install -g @riven-private/riven-cli

On macOS and Linux, you may need sudo depending on your Node.js installation. Alternatively, configure npm to use a user-level prefix.

Verify Installation

After installing, confirm the CLI is available:

Terminal
bash
riven --version
Expected output
text
@riven-private/riven-cli v0.2.10

Then run the built-in diagnostics to check all dependencies:

Terminal
bash
riven doctor
Expected output
text
✓ Node.js        22.14.0
✓ Docker          27.5.1
✓ kubectl         1.32.3
✓ Auth            logged in ([email protected])
✓ Proto registry  https://proto.riven.dev — reachable
 
All checks passed.

If any checks fail, the output includes remediation steps. You can also reach out on the Riven community Discord for help.

Shell Completions

Enable tab completions for your shell:

Bash
bash
riven completions bash >> ~/.bashrc
source ~/.bashrc
Zsh
bash
riven completions zsh >> ~/.zshrc
source ~/.zshrc
Fish
bash
riven completions fish > ~/.config/fish/completions/riven.fish

SDK Setup

Riven provides SDKs for both TypeScript and Python to interact with platform APIs programmatically.

TypeScript SDK

Add the TypeScript SDK to your project:

Terminal
bash
npm install @riven/sdk
src/index.ts
ts
import { RivenClient } from "@riven/sdk";
 
const client = new RivenClient({
  apiKey: process.env.RIVEN_API_KEY,
  clusterUrl: process.env.RIVEN_CLUSTER_URL,
});
 
const services = await client.services.list();
console.log(services);

Python SDK

Install the Python SDK using pip or uv:

Terminal
bash
pip install riven-sdk
# or with uv
uv add riven-sdk
main.py
python
from riven import RivenClient
 
client = RivenClient(
    api_key=os.environ["RIVEN_API_KEY"],
    cluster_url=os.environ["RIVEN_CLUSTER_URL"],
)
 
services = client.services.list()
print(services)

Docker Images

Riven provides optimized base images for building services. These images include pre-configured health checks, signal handling, and observability instrumentation.

Dockerfile
dockerfile
# TypeScript service
FROM ghcr.io/riven-private/js-service-base:latest
 
# Python service
FROM ghcr.io/riven-private/python-service-base:latest

Next Steps

Once everything is verified, proceed to Configuration to set up your environment variables and cluster connection.