Skip to main content

Aragora CLI Reference

Complete command-line interface reference for Aragora - Control Plane for Multi-Agent Vetted Decisionmaking.

Installation

pip install aragora

Global Options

aragora [--version] [--db PATH] [--verbose] <command> [options]
OptionDescription
-V, --versionShow version number
--db PATHSQLite database path (default: agora_memory.db)
-v, --verboseEnable verbose output

Note: --db controls the local CritiqueStore file. To keep runtime data out of the repo root, set ARAGORA_DATA_DIR and pass --db "$ARAGORA_DATA_DIR/agora_memory.db".

Environment Variables

VariableDescriptionDefault
ARAGORA_API_URLAPI server URLhttp://localhost:8080
ANTHROPIC_API_KEYAnthropic API key for anthropic-api-
OPENAI_API_KEYOpenAI API key for openai-api-
GEMINI_API_KEYGoogle Gemini API key-
XAI_API_KEYxAI Grok API key-
MISTRAL_API_KEYMistral API key (mistral-api, codestral)-
OPENROUTER_API_KEYOpenRouter key (OpenRouter agents)-
KIMI_API_KEYMoonshot/Kimi API key-
OLLAMA_HOSTOllama server URLhttp://localhost:11434
OLLAMA_MODELDefault Ollama modelllama3.2
DEEPSEEK_API_KEYDeepSeek CLI key (deepseek-cli)-

See ENVIRONMENT for the full configuration reference.


Commands

ask - Run Debates

Run a decision stress-test (debate engine) on a task or question.

aragora ask "Design a rate limiter" --agents anthropic-api,openai-api --rounds 3

Arguments:

ArgumentDescription
taskThe task or question to debate

Options:

OptionDefaultDescription
-a, --agentscodex,claudeComma-separated agents. codex,claude are CLI agents; use anthropic-api,openai-api if you only have API keys
-r, --rounds3Number of debate rounds
-c, --consensusmajorityConsensus mechanism: majority, unanimous, judge, none
--context-Additional context for the task
--no-learn-Don't store patterns in memory
--demo-Run with demo agents (no API keys required)

Agent Spec Formats:

FormatExampleDescription
provideranthropic-apiJust the provider, role assigned by position
provider:roleclaude:criticProvider with explicit role
provider|model|persona|roleanthropic-api|claude-opus|philosopher|proposerFull pipe format

Valid roles: proposer, critic, synthesizer, judge

Examples:

# Basic debate with default agents
aragora ask "Should we use microservices or monolith?"

# Recommended default if you only have API keys configured
aragora ask "Should we use microservices or monolith?" --agents anthropic-api,openai-api

# Specify agents with explicit roles (colon format)
aragora ask "Design an auth system" -a "anthropic-api:proposer,openai-api:critic,gemini:synthesizer"

# Full pipe format with model and persona
aragora ask "Design an auth system" -a "anthropic-api|claude-opus|philosopher|proposer,openai-api|||critic"

# Quick demo without API keys
aragora ask "Rate limiter design" --demo

testfixer - Automated Test Repair Loop

Run an automated test-fix loop that iterates on the first failing test until tests pass or a maximum iteration count is reached.

aragora testfixer /path/to/repo --test-command "pytest tests/ -q --maxfail=1"

Arguments:

ArgumentDescription
repo_pathRepository root path

Options:

OptionDefaultDescription
--test-commandpytest tests/ -q --maxfail=1Test command to run
--agentscodex,claudeComma-separated agents for propose/critique/synthesis
--max-iterations10Maximum fix iterations
--min-confidence0.5Minimum confidence to apply a fix
--min-confidence-auto0.7Minimum confidence for auto-apply without manual review
--timeout-seconds300Test run timeout per iteration
--attempt-store-Path to JSONL file to record fix attempts
--require-consensus-Require multi-agent consensus before applying
--no-revert-Do not revert failed fixes
--artifacts-dir-Directory for per-run artifacts (default: .testfixer/runs)
--no-diagnostics-Disable crash diagnostics and artifact collection

Examples:

# Basic loop with default agents
aragora testfixer . --test-command "pytest tests/ -q --maxfail=1"

# Use API agents and persist attempts
aragora testfixer . --agents "anthropic-api,openai-api" --attempt-store .testfixer/attempts.jsonl

# Custom artifact path
aragora testfixer . --artifacts-dir /tmp/testfixer-runs

gauntlet - Adversarial Stress-Testing

Run comprehensive adversarial stress-testing on documents (specs, architecture, policies, code).

aragora gauntlet spec.md --input-type spec --profile thorough

Arguments:

ArgumentDescription
inputPath to input file

Options:

OptionDefaultDescription
-t, --input-typespecType: spec, architecture, policy, code, strategy, contract
-a, --agentsanthropic-api,openai-apiAgents for stress-testing
-p, --profiledefaultProfile: default, quick, thorough, code, policy, gdpr, hipaa, ai_act, security, sox
--persona-Regulatory persona for compliance testing
-r, --roundsvariesNumber of deep audit rounds
--timeoutvariesMaximum duration in seconds
-o, --output-Output path for Decision Receipt
-f, --formathtmlOutput format: json, md, html
--verify-Enable formal verification (Z3/Lean)
--no-redteam-Disable red-team attacks
--no-probing-Disable capability probing
--no-audit-Disable deep audit

Examples:

# Quick spec review
aragora gauntlet api-spec.md -p quick

# Thorough architecture audit
aragora gauntlet architecture.md -t architecture -p thorough -o receipt.html

# GDPR compliance check
aragora gauntlet privacy-policy.md -t policy --persona gdpr

# Security code review with formal verification
aragora gauntlet auth.py -t code -p security --verify

review - AI Code Review

Run multi-agent AI code review on a diff or PR.

aragora review https://github.com/owner/repo/pull/123

Arguments:

ArgumentDescription
pr_urlGitHub PR URL (optional if using --diff-file or stdin)

Options:

OptionDefaultDescription
--diff-file-Path to diff file (alternative to PR URL)
--agentsanthropic-api,openai-apiAgents for review
--rounds2Number of debate rounds
--focussecurity,performance,qualityFocus areas
--output-formatgithubFormat: github, json, html
--output-dir-Directory to save output artifacts
--demo-Demo mode (no API keys required)
--share-Generate a shareable link

Examples:

# Review a GitHub PR
aragora review https://github.com/myorg/myrepo/pull/42

# Review a local diff file
aragora review --diff-file changes.diff

# Review from stdin
git diff main | aragora review

# Security-focused review
aragora review PR_URL --focus security --rounds 3

serve - Live Debate Server

Run the live debate server for real-time streaming and audience participation.

aragora serve --api-port 8080 --ws-port 8765

Options:

OptionDefaultDescription
--api-port8080HTTP API port
--ws-port8765WebSocket port
--hostlocalhostHost to bind to

batch - Batch Processing

Process multiple debates from a JSONL or JSON file.

aragora batch debates.jsonl --output results.json

Arguments:

ArgumentDescription
inputPath to JSONL or JSON file with debate items

Options:

OptionDefaultDescription
-s, --server-Submit to server batch API instead of local processing
-u, --urlhttp://localhost:8080Server URL
-t, --token-API authentication token
-w, --webhook-Webhook URL for completion notification
--wait-Wait for batch completion (server mode)
-a, --agentsanthropic-api,openai-apiDefault agents
-r, --rounds3Default rounds
-o, --output-Output path for results JSON

Input File Format:

{"question": "Design a rate limiter", "agents": "anthropic-api,openai-api"}
{"question": "Implement caching", "rounds": 4}
{"question": "Security review", "priority": 10}

repl - Interactive Mode

Start an interactive debate session.

aragora repl --agents anthropic-api,openai-api

Options:

OptionDefaultDescription
-a, --agentsanthropic-api,openai-apiAgents for debates
-r, --rounds3Debate rounds

init - Initialize Project

Initialize an Aragora project in a directory.

aragora init ./my-project

Arguments:

ArgumentDescription
directoryTarget directory (default: current)

Options:

OptionDescription
-f, --forceOverwrite existing files
--no-gitDon't modify .gitignore

config - Manage Configuration

Manage Aragora configuration settings.

aragora config show
aragora config set api_url http://localhost:8080

Arguments:

ArgumentDescription
actionAction: show, get, set, env, path
keyConfig key (for get/set)
valueConfig value (for set)

stats - Memory Statistics

Show memory and learning statistics.

aragora stats

status - Environment Health

Show environment health and agent availability.

aragora status --server http://localhost:8080

Options:

OptionDefaultDescription
-s, --serverhttp://localhost:8080Server URL to check

agents - List Agents

List available agents and their configuration status.

aragora agents --verbose

Options:

OptionDescription
-v, --verboseShow detailed descriptions

patterns - Learned Patterns

Show patterns learned from previous debates.

aragora patterns --type security --limit 20

Options:

OptionDefaultDescription
-t, --type-Filter by issue type
--min-success1Minimum success count
-l, --limit10Max patterns to show

demo - Quick Demo

Run a quick demo debate without API keys.

aragora demo rate-limiter

Arguments:

ArgumentDescription
nameDemo name: rate-limiter, auth, cache

templates - Debate Templates

List available debate templates.

aragora templates

export - Export Artifacts

Export debate artifacts to various formats.

aragora export --debate-id abc123 --format html --output ./exports

Options:

OptionDefaultDescription
-d, --debate-id-Debate ID to export
-f, --formathtmlFormat: html, json, md
-o, --output.Output directory
--demo-Generate a demo export

replay - Replay Debates

Replay stored debates from session recordings.

aragora replay list
aragora replay show abc123
aragora replay play abc123 --speed 2.0

Arguments:

ArgumentDescription
actionAction: list, show, play
idReplay ID (for show/play)

Options:

OptionDefaultDescription
-d, --directory-Replays directory
-n, --limit10Max replays to list
-s, --speed1.0Playback speed

bench - Benchmark Agents

Benchmark agent performance on standardized tasks.

aragora bench --agents anthropic-api,openai-api --iterations 5

Options:

OptionDefaultDescription
-a, --agentsanthropic-api,openai-apiAgents to benchmark
-n, --iterations3Iterations per task
-t, --task-Custom benchmark task
-q, --quick-Quick mode (1 iteration)

doctor - Health Checks

Run system health checks and diagnostics.

aragora doctor --validate

Options:

OptionDescription
-v, --validateValidate API keys by making test calls

validate - Validate API Keys

Validate API keys by making test API calls.

aragora validate

improve - Self-Improvement Mode

Run self-improvement analysis on a codebase.

aragora improve --path ./my-project --focus performance

Options:

OptionDescription
-p, --pathPath to codebase (default: current dir)
-f, --focusFocus area for improvements
-a, --analyzeAnalyze codebase structure

badge - Generate Badges

Generate Aragora badges for your README.

aragora badge --type reviewed --style flat-square

Options:

OptionDefaultDescription
-t, --typereviewedType: reviewed, consensus, gauntlet
-s, --styleflatStyle: flat, flat-square, for-the-badge, plastic
-r, --repo-Link to specific repo

mcp-server - MCP Server

Run the MCP (Model Context Protocol) server for Claude integration.

aragora mcp-server

Configure in claude_desktop_config.json:

{
"mcpServers": {
"aragora": {
"command": "aragora",
"args": ["mcp-server"]
}
}
}

Exposed Tools (current set):

  • Core: run_debate, run_gauntlet, list_agents, get_debate, search_debates
  • Agent stats: get_agent_history, get_consensus_proofs, list_trending_topics
  • Memory: query_memory, store_memory, get_memory_pressure
  • Forks: fork_debate, get_forks
  • Genesis: get_agent_lineage, breed_agents
  • Checkpoints: create_checkpoint, list_checkpoints, resume_checkpoint, delete_checkpoint
  • Verification: verify_consensus, generate_proof
  • Evidence: search_evidence, cite_evidence, verify_citation

See aragora/mcp/tools.py for the authoritative list and parameter schemas.


knowledge - Knowledge Base Operations

Query, search, and manage the knowledge base.

aragora knowledge query "What are the payment terms?"
aragora knowledge facts --workspace default
aragora knowledge search "contract expiration"
aragora knowledge process document.pdf

Subcommands:

SubcommandDescription
queryAsk a question about the knowledge base
factsList, show, or verify facts
searchSearch document chunks using semantic similarity
processProcess and ingest documents
jobsList processing jobs

query Options:

OptionDefaultDescription
-w, --workspacedefaultWorkspace ID
--debate-Use multi-agent debate for synthesis
-n, --limit5Max facts to include
--json-Output as JSON

facts Options:

OptionDefaultDescription
actionlistAction: list, show, verify
-w, --workspacedefaultWorkspace ID
-t, --topic-Filter by topic
-s, --status-Filter by status: unverified, contested, majority_agreed, byzantine_agreed, formally_proven
--min-confidence0.0Minimum confidence (0-1)

document-audit - Document Auditing

Audit documents using multi-agent analysis.

aragora document-audit upload --input ./docs/
aragora document-audit scan --input ./docs/ --type security
aragora document-audit status --session abc123
aragora document-audit report --session abc123 --output report.json

Subcommands:

SubcommandDescription
uploadUpload documents for processing
scanScan documents for issues
statusCheck audit session status
reportGenerate audit report

upload Options:

OptionDefaultDescription
-i, --input-Path to file or directory
-r, --recursive-Process directories recursively
--chunkingautoChunking strategy
--chunk-size-Chunk size in tokens
--chunk-overlap-Overlap between chunks

scan Options:

OptionDefaultDescription
-i, --input-Path to file or directory
-t, --type-Scan type: security, compliance, quality

documents - Document Management

Upload, list, and manage documents for auditing and analysis.

aragora documents upload ./files/*.pdf
aragora documents upload ./folder/ --recursive
aragora documents list
aragora documents show doc-123

Subcommands:

SubcommandDescription
uploadUpload files or folders for processing
listList uploaded documents
showShow document details

upload Options:

OptionDefaultDescription
-r, --recursive-Recursively upload folder contents
--max-depth10Maximum folder depth for recursive uploads (-1 for unlimited)
--exclude-Exclude patterns (gitignore-style, can be repeated)
--include-Include only files matching patterns (can be repeated)
--max-size500mbMaximum total upload size (e.g., 500mb, 1gb)
--max-file-size100mbMaximum size per file
--max-files1000Maximum number of files to upload
--agent-filter-Use AI agent to filter files by relevance
--filter-prompt-Custom prompt for agent-based filtering
--filter-modelgemini-2.0-flashModel to use for agent filtering
--dry-run-Show what would be uploaded without uploading
--config-Path to YAML config file for upload settings
--follow-symlinks-Follow symbolic links (default: skip them)
--json-Output results as JSON

list Options:

OptionDefaultDescription
-n, --limit50Maximum documents to show
--json-Output as JSON

show Options:

OptionDefaultDescription
doc_id-Document ID (required)
--chunks-Show document chunks
--json-Output as JSON

Examples:

# Upload a single file
aragora documents upload contract.pdf

# Upload multiple files via glob
aragora documents upload ./contracts/*.pdf

# Recursively upload a folder with exclusions
aragora documents upload ./project/ -r --exclude "*.log" --exclude "node_modules"

# Dry run to preview what would be uploaded
aragora documents upload ./data/ -r --dry-run

# Upload with AI-powered relevance filtering
aragora documents upload ./mixed-docs/ -r --agent-filter --filter-prompt "Include only financial documents"

# List all uploaded documents
aragora documents list --limit 100

# Show document details with chunks
aragora documents show doc-abc123 --chunks --json

publish - Generate Shareable Reports

Generate shareable, interactive reports from debate traces.

aragora publish <debate-id> --format html --output ./reports/
aragora publish latest --format md

Arguments:

ArgumentDescription
debate_idDebate ID or latest for most recent

Options:

OptionDefaultDescription
-f, --formathtmlOutput format: html, md, json
-o, --output.Output directory

training - Model Training Operations

Export training data and manage fine-tuning jobs for models trained on Aragora debate data.

aragora training export-sft -o training_data.jsonl
aragora training export-dpo -o dpo_data.jsonl
aragora training train-sft --output-dir ./models/
aragora training list-models

Subcommands:

SubcommandDescription
export-sftExport SFT (Supervised Fine-Tuning) training data
export-dpoExport DPO (Direct Preference Optimization) data
export-gauntletExport gauntlet runs as training data
export-allExport all training data types
train-sftRun SFT training job
train-dpoRun DPO training job
train-combinedRun combined SFT+DPO training
list-modelsList available fine-tuned models
sampleSample from training data
statsShow training data statistics
test-connectionTest training infrastructure connection

export-sft Options:

OptionDefaultDescription
-o, --outputsft_training_data.jsonlOutput file path
--min-confidence0.7Minimum debate confidence
--min-success-rate0.6Minimum pattern success rate
--limit1000Maximum records to export
--db-pathagora_memory.dbDatabase path

Agent Types

Available agent types for the --agents option. The full catalog and defaults live in AGENTS.md.

Direct API agents

AgentDescriptionAPI Key Required
anthropic-apiClaude via Anthropic APIANTHROPIC_API_KEY
openai-apiOpenAI via APIOPENAI_API_KEY
geminiGoogle GeminiGEMINI_API_KEY
grokxAI GrokXAI_API_KEY
mistral-apiMistral direct APIMISTRAL_API_KEY
codestralMistral code modelMISTRAL_API_KEY
ollamaLocal Ollama modelsOLLAMA_HOST
kimiMoonshot/KimiKIMI_API_KEY
demoDemo agent (no API required)-

OpenRouter agents

AgentModelAPI Key Required
deepseekDeepSeek V3 (chat)OPENROUTER_API_KEY
deepseek-r1DeepSeek R1 (reasoning)OPENROUTER_API_KEY
llamaLlama 3.3 70BOPENROUTER_API_KEY
mistralMistral LargeOPENROUTER_API_KEY
qwenQwen 2.5 CoderOPENROUTER_API_KEY
qwen-maxQwen MaxOPENROUTER_API_KEY
yiYi LargeOPENROUTER_API_KEY

CLI agents (local binaries required)

AgentCLI ToolNotes
claudeclaudeAnthropic Claude CLI (claude-code)
codexcodexOpenAI Codex CLI
openaiopenaiOpenAI CLI
gemini-cligeminiGoogle Gemini CLI
grok-cligrokxAI Grok CLI
qwen-cliqwenQwen CLI
deepseek-clideepseekDeepSeek CLI
kilocodekilocodeKiloCode CLI

Agent Roles:

  • proposer - Generates initial proposals
  • critic - Critiques and finds weaknesses
  • synthesizer - Synthesizes consensus

Role Assignment:

# Explicit roles
aragora ask "Design auth" -a "anthropic-api:proposer,openai-api:critic,gemini:synthesizer"

# Auto-assigned roles (first=proposer, last=synthesizer, middle=critic)
aragora ask "Design auth" -a "anthropic-api,openai-api,gemini"

Exit Codes

CodeMeaning
0Success
1General error
2Invalid arguments
3API key missing
4Network error

Quick Start Examples

# Run your first debate
aragora demo rate-limiter

# Run a real debate with API keys configured
aragora ask "Design a microservices architecture for e-commerce"

# Stress-test a specification
aragora gauntlet api-spec.md -t spec -p thorough

# Review a PR
aragora review https://github.com/org/repo/pull/123

# Start the live server
aragora serve

# Check system health
aragora doctor --validate

See Also