Skip to main content

Overview

The Culvii CLI (culvii) is the command-line interface for the Culvii Kit platform. It handles two distinct responsibilities:

Human identity (OAuth track): Interactive commands that require a logged-in developer — workspace management, key management, audit, and any operation that writes to production. Initiated with culvii login. Tokens stored in ~/.culvii/config.json (mode 0600).

Machine identity (API key track): Programmatic commands used by the SDK, CI/CD pipelines, and the live dev loop. Authenticated via x-api-key header. Keys created with culvii key create.

Both tracks feed the same audit trail.

Installation

npm install -g @culvii/cli

Requires Node.js 18+. Supported on macOS (arm64, x64), Linux (x64, arm64). Windows support is planned for a future release; WSL2 is an acceptable workaround in the interim.

Config file

The CLI stores context in ~/.culvii/config.json (permissions: 0600 on POSIX).

Shape:

{
"version": 1,
"active": "acme",
"endpoints": {
"dev": "https://api-dev.culvii.com",
"sandbox": "https://api-sandbox.culvii.com",
"prod": "https://api.culvii.com"
},
"contexts": {
"acme": {
"tenant_id": "org_01HXYZ...",
"tenant_slug": "acme",
"workspace_id": "wsp_01HXYZ...",
"workspace_slug": "dev-alice",
"environment": "dev"
}
}
}

The active key names the context in use. culvii config use-context switches it. Per-command --env and --workspace flags override context for that invocation only; they do not write to the file.

Three environments

EnvironmentAPI basePurpose
devhttps://api-dev.culvii.comLive development loop. Personal per-developer workspace.
sandboxhttps://api-sandbox.culvii.comPre-production integration testing. Realistic seed data.
prodhttps://api.culvii.comLive customer workloads.

Each environment runs its own separate database. There is no shared or centralised cross-environment database.