| Crates.io | oxify-cli |
| lib.rs | oxify-cli |
| version | 0.1.0 |
| created_at | 2026-01-19 06:12:05.448807+00 |
| updated_at | 2026-01-19 06:12:05.448807+00 |
| description | Command-line interface for OxiFY AI orchestration and workflow automation |
| homepage | |
| repository | https://github.com/cool-japan/oxify |
| max_upload_size | |
| id | 2053835 |
| size | 391,446 |
Command-line interface for OxiFY workflow development and execution.
Status: ✅ Functional - Most features implemented
CLI tool for:
# Validate workflow structure
oxify workflow validate <file.json> [--strict]
# Create workflow (parse and validate)
oxify workflow create <file.json>
# Import workflow from file or URL
oxify workflow import <source> [--output file.json] [--validate]
# Export workflow to different format
oxify workflow export <file.json> --output <out.yaml> [--format yaml|json]
# Package workflow with dependencies
oxify workflow package <file.json> --output <package.tar.gz> [--include-deps]
# Create new workflow version
oxify workflow version <file.json> --output <new.json> --bump major|minor|patch --message "Change description"
# Show workflow information
oxify workflow info <file.json>
# Compare two workflows
oxify workflow diff <file1.json> <file2.json> [--verbose]
# Run workflow locally
oxify run <workflow.json> [--vars key=value] [--output results.json]
# Create from template
oxify init <template> [--output file.json]
# Available templates: simple, rag, chain, parallel, conditional, loop, error-handling, agent
# Interactive workflow scaffolding
oxify scaffold [--output file.json]
# Analyze workflow for optimization opportunities
oxify analyze <workflow.json> --analysis-type structure|batching|optimize
# Estimate execution costs
oxify cost <workflow.json> [--breakdown]
# Compare costs of multiple workflows
oxify cost --compare workflow1.json workflow2.json workflow3.json
# Run workflow tests
oxify test <workflow.json> <test-file.yaml> [--verbose] [--timeout 60]
# Run single test
oxify test <workflow.json> --name "test-name" --input key=value --expect "expected-output"
# Visualize workflow structure
oxify visualize <workflow.json> [--format ascii|dot] [--output diagram.dot]
# List all available node types
oxify nodes list
# Show schema for a node type
oxify nodes schema LLM
oxify nodes schema Retriever
# Show example configuration
oxify nodes example LLM [--format json|yaml]
oxify nodes example Code --format yaml
# Show workflow statistics
oxify stats workflow <workflow.json> [--detailed]
# Compare multiple workflows
oxify stats compare <workflow1.json> <workflow2.json> <workflow3.json>
# Generate shell completion scripts
oxify completion bash > /etc/bash_completion.d/oxify
oxify completion zsh > ~/.zsh/completion/_oxify
oxify completion fish > ~/.config/fish/completions/oxify.fish
oxify completion powershell > oxify.ps1
# Initialize config file
oxify config init
# Show current configuration
oxify config show
# Set configuration value
oxify config set <key> <value>
# Unset configuration value
oxify config unset <key>
# Deploy workflow
oxify deploy <workflow.json> [--env production]
# Manage schedules
oxify schedule create <workflow-id> --cron "0 0 * * *"
oxify schedule list
oxify schedule pause <schedule-id>
# Manage secrets
oxify secret set <key> <value>
oxify secret list
# Manage checkpoints
oxify checkpoint save <execution-id>
oxify checkpoint restore <checkpoint-id>
# Manage webhooks
oxify webhook create <workflow-id> --url https://api.example.com
oxify webhook list
# Version management
oxify version list <workflow-id>
oxify version compare <v1> <v2>
# Watch and reload on changes
oxify run <workflow.json> --watch
# Debug workflow execution with breakpoints
oxify run <workflow.json> --debug --breakpoint llm_node
# Lint for best practices
oxify lint <workflow.json>
# Execute remote workflow (requires API server)
oxify execute --id workflow_123 --input '{"query": "test"}'
# Workflow execution logs and monitoring
oxify execution logs <execution-id> [--follow]
oxify execution list [--workflow <id>] [--status running|completed|failed]
oxify execution get <id>
# Dry run mode
oxify dry-run <workflow.json>
# Performance profiling
oxify profile <workflow.json>
# Generate workflow from description (AI-powered)
oxify generate --description "A RAG pipeline for customer support"
Config file: ~/.oxify/config.toml
[server]
url = "https://api.oxify.io"
api_key = "your_api_key"
[llm]
default_provider = "openai"
openai_api_key = "sk-..."
anthropic_api_key = "sk-ant-..."
[vector]
default_provider = "qdrant"
qdrant_url = "http://localhost:6333"
Workflows are defined in JSON:
{
"metadata": {
"name": "Simple Chat",
"version": "1.0.0",
"description": "Basic chatbot workflow"
},
"nodes": [
{
"id": "start",
"name": "Start",
"type": "Start"
},
{
"id": "llm",
"name": "ChatGPT",
"type": "LLM",
"config": {
"provider": "openai",
"model": "gpt-4",
"prompt_template": "{{user_input}}"
}
}
],
"edges": [
{
"from": "start",
"to": "llm"
}
]
}
Available workflow templates (use with oxify init <template>):
simple - Basic LLM workflowrag - Retrieval-Augmented Generation with vector searchchain - Multi-step LLM processing chainparallel - Parallel execution exampleconditional - Conditional routing with Switch nodeloop - Loop/iteration with ForEacherror-handling - Try-Catch-Finally patternagent - AI agent with reasoning and tool useTest file format (test.yaml):
tests:
- name: "Test basic query"
workflow: "./workflow.json"
inputs:
query: "What is Rust?"
assertions:
- path: "result.answer"
contains: "programming language"
- path: "result.confidence"
gt: 0.8
timeout: 30
- name: "Test error handling"
workflow: "./workflow.json"
inputs:
invalid_input: true
expect_error: true
Run tests:
# Run test suite
oxify test <workflow.json> <test.yaml> --verbose
# Run single test
oxify test <workflow.json> --name "Test basic query" \
--input query="What is Rust?" \
--expect "programming language"
oxify-model: Workflow data structuresoxify-engine: Local execution engineoxify-api: Remote API server