Orizu CLI
Overview
Execute end-to-end Orizu workflows from the terminal using the orizu CLI.
Prefer explicit flags in automation and CI; use interactive prompts only in TTY sessions.
Prerequisites
- Ensure Node.js 20+ is installed.
- Ensure Orizu API is running (
http://localhost:3000by default) or setORIZU_BASE_URL. - Build CLI from source when needed:
bun install bun x tsc -p packages/cli/tsconfig.json node packages/cli/dist/index.js --help - Use
orizudirectly when globally installed; otherwise runnode packages/cli/dist/index.js ....
Core Workflow
- Authenticate:
orizu login orizu whoami - Set up workspace:
orizu teams create --name "Ops Eval" orizu projects create --name "Support QA" --team ops-eval - Upload dataset:
orizu datasets upload --project ops-eval/support-qa --file ./datasets/support.jsonl --name "Support Batch 1" - Optionally append new rows later:
orizu datasets append --dataset <datasetId> --file ./datasets/support-additional.jsonl - Optionally delete incorrect rows:
orizu datasets delete-rows --dataset <datasetId> --row-ids <rowId1,rowId2> - Create or update app from file (dataset is required):
orizu apps create \ --project ops-eval/support-qa \ --name "Support Labeler" \ --dataset <datasetId> \ --file ./apps/SupportLabeler.tsx \ --input-schema ./schemas/support-input.json \ --output-schema ./schemas/support-output.json - Optionally link a different dataset to an existing app version:
orizu apps link-dataset --app <appId> --dataset <datasetId> - Run task lifecycle (task create requires assignees and creates assignments immediately):
orizu tasks create --project ops-eval/support-qa --dataset <datasetId> --app <appId> --title "Support QA Round 1" --assignees <userId1,userId2> orizu tasks status --task <taskId> orizu tasks export --task <taskId> --format csv --out ./support-round1.csv
Interactive vs Non-Interactive
- Use interactive fallback only when running in a TTY and flags are omitted.
- Provide explicit identifiers in scripts/CI:
--team,--project,--app,--task,--dataset,--assignees.
- For
tasks assign, pass user IDs (comma-separated), not emails. - Export defaults:
--formatdefaults tojsonl.- output defaults to
<taskId>.<format>.
- Dataset row mutation:
datasets appendaccepts--filein.csv,.json, or.jsonl.datasets delete-rowsrequires at least one of--row-idsor--row-indices.
Auth and Error Handling
- On auth failure, run
orizu loginand confirm withorizu whoami. - Login requires localhost callback availability on
127.0.0.1:43123. - Credentials are stored in
~/.config/orizu/credentials.json. - In non-interactive contexts, avoid prompt-dependent commands; pass required flags explicitly.
Command Coverage
- Auth:
login,logout,whoami - Teams: list/create, members list/add/remove/role
- Projects: list/create
- Apps: list/create/update/link-dataset
- Datasets: upload/download/append/delete-rows (
.csv,.json,.jsonl) - Tasks: list/create/assign/status/export
References
- Read
references/cli-reference.mdfor complete command examples and end-to-end flows. - Read
docs/cli.mdfor the authoritative project-local CLI guide when working in this repository.