The Orra CLI helps you manage your multi-agent apps in development and production.
Download the latest binary for your platform from our releases page:
# macOS/Linux: Move to your PATH
sudo mv ./orra /usr/local/bin/orra
chmod +x /usr/local/bin/orra
# Verify installation
orra version
# Client Version: v0.2.2
Command | Description | Example |
---|---|---|
orra projects add |
Add a new project | orra projects add my-ai-app |
orra projects ls |
List all projects | orra projects ls |
orra projects use |
Set the current project | orra projects use my-ai-app |
orra webhooks add |
Add a webhook to the project | orra webhooks add http://localhost:3000/webhook |
orra webhooks ls |
List all webhooks for a project | orra webhooks ls |
orra api-keys gen |
Generate an API key for a project | orra api-keys gen production-key |
orra api-keys ls |
List all API keys for a project | orra api-keys ls |
orra verify run |
Orchestrate an action with data parameters | orra verify run "Process order" -d orderId:1234 |
orra verify webhooks start |
Start a webhook server for testing | orra verify webhooks start http://localhost:3000/webhook |
orra ps |
List orchestrated actions for a project | orra ps |
orra inspect |
Get detailed information about an orchestration | orra inspect o_abc123 |
orra grounding apply |
Apply a grounding spec to a project | orra grounding apply -f customer-support.yaml |
orra grounding ls |
List all groundings in a project | orra grounding ls |
orra grounding rm |
Remove grounding from a project | orra grounding rm customer-support |
orra config reset |
Reset existing Orra configuration | orra config reset |
orra version |
Print the client and server version | orra version |
CLI flags:
--project
,-p
: Override the current project for a single command--config
: Specify an alternate config file path
# Create a new project
orra projects add my-ai-app
# Add a webhook to receive results (assumes the control plane is running with docker compose)
orra webhooks add http://host.docker.internal:3000/webhooks/results
# Generate an API key for your services
orra api-keys gen production-key
Use the generated API key in your Node.js services:
import { initService } from '@orra.dev/sdk';
// Initialize with the API key from step 1
const svc = initService({
name: 'customer-service',
orraUrl: process.env.ORRA_URL,
orraKey: 'sk-orra-v1-xyz...' // From orra api-keys gen
});
// Register your service
await svc.register({
description: 'Handles customer interactions',
schema: {
input: {
type: 'object',
properties: {
customerId: { type: 'string' },
message: { type: 'string' }
}
}
}
});
// Start handling tasks
svc.start(async (task) => {
// Your service logic here
// Report progress during long-running tasks
await task.pushUpdate({
progress: 25,
message: "Processing customer data..."
});
// Continue processing and report more progress
await task.pushUpdate({
progress: 50,
message: "Analyzing request..."
});
// Complete the task with final result
return { success: true, data: { /* your result */ } };
});
Once your services are running:
# Test the orchestration
orra verify run "Help customer with delayed order" \
-d customerId:CUST123 \
-d orderId:ORD123
# Watch the orchestration progress
orra ps
# ◎ o_abc123 Help customer... processing 5s ago
# Inspect the details
orra inspect o_abc123
Now your services are integrated with Orra and ready for orchestration!
Projects are containers for orchestration of your multi-agent applications.
# Create a new project
orra projects add my-ai-app
# List all projects
orra projects ls
# * my-ai-app Current project
# customer-service ID: p_xyz123
# Switch to another project
orra projects use customer-service
Webhooks allow Orra to send orchestration results back to your applications.
# Add a webhook to receive results
orra webhooks add http://localhost:3000/webhook
# List all configured webhooks
orra webhooks ls
# Start a local webhook server for testing
orra verify webhooks start http://localhost:3000/webhook
API keys are used to authenticate your services with Orra.
# Generate a new API key
orra api-keys gen staging-key
# List all API keys
orra api-keys ls
# - production-key
# KEY: sk-orra-v1-abc...
# - staging-key
# KEY: sk-orra-v1-xyz...
Manage and monitor the running of your multi-agent orchestrations.
# Submit an action with data
orra verify run "Process refund for order" \
-d orderId:ORD123 \
-d amount:99.99
# List all orchestrations
orra ps
# ◎ o_abc123 Process refund processing 2m ago
# ● o_xyz789 Update inventory completed 5m ago
# ✕ o_def456 Charge card failed 8m ago
# Get detailed information about an orchestration
orra inspect o_abc123
# Get comprehensive details with inputs/outputs
orra inspect -d o_abc123
# View progress updates for tasks
orra inspect -d o_abc123 --updates
# View complete progress details for long-running tasks
orra inspect -d o_abc123 --long-updates
Grounding helps define domain-specific behaviors for your Orra applications.
# Apply a grounding spec from a YAML file
orra grounding apply -f customer-support.grounding.yaml
# List all applied groundings
orra grounding ls
# Remove a specific grounding
orra grounding rm customer-support
# Remove all groundings
orra grounding rm --all
# Reset the CLI configuration
orra config reset
◎ Processing Task is running
● Completed Successfully finished
✕ Failed Error occurred
○ Pending Waiting to start
⊘ Not Viable Action cannot be completed
⏸ Paused Temporarily paused
- Local Development
# Start webhook server in one terminal
orra verify webhooks start http://localhost:3000/webhook
# Monitor actions in another
orra ps
- Debugging Failed Actions
# Get detailed execution info
orra inspect -d o_failed123
# Shows full task history, inputs, and outputs
orra inspect -d o_failed123 --updates
# View all progress updates for problematic tasks
orra inspect -d o_failed123 --long-updates
- Multiple Projects or environments
# Switch between projects
orra projects use proj-staging
orra projects use proj-production
# Or use -p flag for one-off commands
orra ps -p proj-production
The CLI stores configuration in ~/.orra/config.json
:
{
"current_project": "my-ai-app",
"projects": {
"my-ai-app": {
"id": "p_abc123",
"cli_auth": "sk-orra-v1-xyz...",
"api_keys": {
"production": "sk-orra-v1-789..."
},
"server_addr": "http://localhost:8005"
}
}
}
Reset if needed:
orra config reset
-
Check action status:
orra inspect -d <action-id>
-
View task progress and updates:
orra inspect -d <action-id> --updates
-
View recent actions:
orra ps
-
Visit our documentation: https://orra.dev/docs