πŸ”€ Multi-Agent Orchestration

Run Claude Code, OpenAI Codex, and Gemini CLI in parallel. Get diverse perspectives from multiple AI models and synthesize them into unified recommendations.

architecture-review.yaml
parallel-process: claude-analysis: input: STDIN model: claude-code action: "Analyze architecture and trade-offs" output: $CLAUDE_RESULT gemini-analysis: input: STDIN model: gemini-cli action: "Identify patterns and best practices" output: $GEMINI_RESULT codex-analysis: input: STDIN model: openai-codex action: "Focus on implementation structure" output: $CODEX_RESULT synthesize: input: | Claude: $CLAUDE_RESULT Gemini: $GEMINI_RESULT Codex: $CODEX_RESULT model: claude-code action: "Combine into unified recommendation" output: STDOUT

πŸ” Agentic Loops

Iterative refinement until the LLM decides work is complete. Perfect for code generation, document writing, and any task that benefits from self-improvement.

iterative-implementation.yaml
implement: agentic_loop: max_iterations: 5 exit_condition: llm_decides allowed_paths: [./src, ./tests] tools: [Read, Write, Edit, Bash] input: STDIN model: claude-code action: | Iteration {{ loop.iteration }}. Previous: {{ loop.previous_output }} Implement, test, and refine. Say DONE when complete. output: STDOUT

⚑ Parallel Processing

Run independent steps concurrently for faster workflows. Automatically waits for all parallel steps before continuing.

model-comparison.yaml
parallel-process: gpt4: input: NA model: gpt-4o action: "Write a function to parse JSON" output: gpt4-solution.py claude: input: NA model: claude-3-5-sonnet-latest action: "Write a function to parse JSON" output: claude-solution.py compare: input: [gpt4-solution.py, claude-solution.py] model: gpt-4o-mini action: "Compare these implementations" output: STDOUT

πŸ› οΈ Tool Execution

Run shell commands, scripts, and CLIs within your workflows. Integrate with grep, jq, git, or any command-line tool.

git-workflow.yaml
get-diff: tool: bash input: "git diff HEAD~1" output: $DIFF review: input: $DIFF model: claude-code action: "Review these changes for issues" output: STDOUT

πŸ“Š Workflow Visualization

See the structure of any workflow at a glance. Understand parallel branches, sequential steps, and data flow.

$ comanda chart workflow.yaml
╔════════════════════════════════════════════════╗ β•‘ WORKFLOW: agentic-explore.yaml β•‘ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β• β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ INPUT: None required β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ βœ“ explore_codebase β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ Model: claude-code-sonnet β”‚ β”‚ Explore this codebase and provide β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ OUTPUT: STDOUT β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ╔════════════════════════════════════════════════╗ β•‘ STATISTICS β•‘ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ Steps: 1 total, 0 parallel β”‚ β”‚ Valid: 1/1 β”‚ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

🌐 Multi-Provider Support

Connect to any LLM provider. Cloud APIs, local models via Ollama, or agentic coding toolsβ€”all in the same workflow.

Cloud APIs

OpenAI, Anthropic, Google, X.AI, DeepSeek, Moonshot

Local Models

Ollama, vLLM, any OpenAI-compatible endpoint

Agentic Tools

Claude Code, OpenAI Codex, Gemini CLI

πŸ“ Advanced I/O

Process files, URLs, databases, and images. Batch operations with wildcards. Chunking for large files.

File Processing

Wildcards (*.go), chunking, multi-file input

Web Scraping

Fetch URLs, take screenshots, extract content

Database

Read from and write to PostgreSQL

Vision

Analyze images and screenshots with vision models

πŸ“š Codebase Indexing

Generate rich code context for AI workflows. Index codebases once, reuse across workflows. Compare multiple projects or aggregate context from several repos.

Terminal
# Index and register a codebase $ comanda index capture ~/my-project -n myproject # List all registered indexes $ comanda index list NAME PATH LAST INDEXED FORMAT FILES myproject ~/my-project 2024-02-25 15:00 structured 142 # Check what changed since last index $ comanda index diff myproject
multi-codebase-analysis.yaml
# Load indexes from registry load_context: codebase_index: use: [project1, project2] aggregate: true compare: input: | Compare these codebases: ${INDEX:project1} ${INDEX:project2} model: claude-code action: "Identify shared patterns and differences" output: comparison.md

πŸš€ Server Mode

Turn any workflow into an HTTP API. Perfect for integrating comanda into your existing services and CI/CD pipelines.

Terminal
# Start the server $ comanda server # Call any workflow via HTTP $ curl -X POST "http://localhost:8080/process?filename=review.yaml" \ -d '{"input": "code to review"}'

Ready to Get Started?

Install comanda and build your first workflow in minutes.