Common RunAgent CLI usage patterns and workflows
# 1. Create new project
runagent init chatbot-agent --framework langgraph
# 2. Navigate to project
cd chatbot-agent
# 3. Install dependencies
pip install -r requirements.txt
# 4. Set up environment
cp .env.example .env
# Edit .env with your API keys
# 5. Test locally
runagent serve .
# 6. In another terminal, test the agent
curl -X POST http://localhost:8000/invoke \
-H "Content-Type: application/json" \
-d '{"query": "Hello!"}'
# 7. Deploy when ready
runagent deploy . --local
# List all available templates
runagent template list
# Get details about a template
runagent template info problem-solver
# Create project from specific template
runagent init my-solver --template problem-solver
# Update template to latest version
runagent template update problem-solver
# Run with debug logging
runagent serve . --log-level debug
# Test specific entrypoint
runagent serve . --entrypoint app.process_query
# Run with environment overrides
OPENAI_API_KEY=sk-test-key runagent serve .
# Check configuration validity
runagent validate .
# Deploy with specific name
runagent deploy . --name production-chatbot
# List all deployments
runagent list
# Get deployment details
runagent status 055b73d7-6239-4a94
# Stream logs from deployment
runagent logs 055b73d7-6239-4a94 --follow
# Delete deployment
runagent delete 055b73d7-6239-4a94
# Initialize project
runagent init support-bot --framework langgraph
# Add custom dependencies
cd support-bot
echo "pandas>=2.0.0" >> requirements.txt
echo "sqlalchemy>=2.0.0" >> requirements.txt
# Test with sample data
cat > test_input.json << EOF
{
"query": "I need help with my order #12345",
"user_id": "user_789",
"context": "customer_support"
}
EOF
runagent serve .
curl -X POST http://localhost:8000/invoke \
-H "Content-Type: application/json" \
-d @test_input.json
# Initialize CrewAI project
runagent init research-crew --framework crewai
# Deploy the crew
runagent deploy research-crew/ --local
# Run the crew with complex input
runagent run <deployment-id> --input '{
"task": "Research AI trends in 2024",
"agents": ["researcher", "analyst", "writer"],
"output_format": "report"
}'
# Create batch processor
runagent init batch-processor --template data-processor
# Process multiple files
for file in data/*.json; do
runagent run <deployment-id> \
--input-file "$file" \
--output "results/$(basename $file)"
done
# Or use parallel processing
ls data/*.json | parallel -j 4 \
'runagent run <deployment-id> --input-file {} --output results/{/}'
# .github/workflows/deploy.yml
name: Deploy Agent
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install RunAgent
run: pip install runagent
- name: Deploy
env:
RUNAGENT_API_KEY: ${{ secrets.RUNAGENT_API_KEY }}
run: |
runagent deploy . --env production
# Development environment
runagent serve . --env development
# Staging deployment
runagent deploy . --env staging --name staging-agent
# Production deployment with specific config
RUNAGENT_ENV=production runagent deploy .
# Watch logs with filtering
runagent logs <id> --follow --filter "ERROR"
# Export logs for analysis
runagent logs <id> --format json > agent.log
# Check health status
watch -n 5 'runagent status <id> --format json | jq .health'
# Simple alerting script
#!/bin/bash
while true; do
STATUS=$(runagent status <id> --format json | jq -r .status)
if [ "$STATUS" != "running" ]; then
echo "Agent down! Status: $STATUS" | mail -s "Agent Alert" [email protected]
fi
sleep 60
done
# Check RunAgent installation
runagent doctor
# Validate project structure
runagent validate . --verbose
# Test agent imports
runagent test-import .
# Check API connectivity
runagent ping
# Force stop local agent
runagent stop <id> --force
# Clean up orphaned processes
runagent cleanup
# Reset local configuration
runagent teardown && runagent setup
# Rebuild deployment
runagent rebuild <id>
.bashrc
or .zshrc
:
# Quick shortcuts
alias ra='runagent'
alias ras='runagent serve .'
alias rad='runagent deploy .'
alias ral='runagent logs'
alias rat='runagent template'
# Project creation function
new-agent() {
runagent init "$1" ${@:2} && cd "$1" && code .
}
# Quick test function
test-agent() {
curl -X POST http://localhost:8000/invoke \
-H "Content-Type: application/json" \
-d "$1"
}
# Pretty print JSON output
runagent list --json | jq .
# Extract specific fields
runagent status <id> --json | jq '.deployment.created_at'
# Filter deployments
runagent list --json | jq '.deployments[] | select(.status=="running")'
# Stop all local deployments
runagent list --local --json | \
jq -r '.deployments[].id' | \
xargs -I {} runagent stop {}
# Export all configurations
for id in $(runagent list --json | jq -r '.deployments[].id'); do
runagent export $id > "backup/$id.json"
done