Scripts & Automation Reference
This document collects useful scripts and automation recipes to streamline your solo workflow. Copy-paste these into your /infra/scripts directory as needed.
Core Platform Scripts
1. Project Setup Script (setup.sh)
#!/bin/bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
2. Development Start Script (dev.sh)
3. Test Runner (test.sh)
4. Makefile Example
.PHONY: dev test lint build edge-deploy federated-test
dev:
docker-compose up --build
test:
pytest tests/
lint:
flake8 src/
build:
docker-compose build
edge-deploy:
./infra/scripts/edge_deploy.sh
federated-test:
./infra/scripts/federated_test.sh
5. Docker Compose Example (docker-compose.yml)
version: '3.8'
services:
backend:
build: ./backend
ports:
- "8000:8000"
env_file:
- .env
volumes:
- ./backend:/app
db:
image: postgres:15
ports:
- "5432:5432"
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: meta_agent
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
6. Advanced Scripts
Backup Database (backup_db.sh)
Restore Database (restore_db.sh)
Multi-Modal Development Scripts
7. Vision Agent Test Script (test_vision_agent.sh)
#!/bin/bash
# Test a vision agent with sample images
PYTHONPATH=. python multi-modal/vision/test_agent.py --image-dir ./test_data/images --model-path ./models/vision/model.pt
8. Audio Agent Test Script (test_audio_agent.sh)
#!/bin/bash
# Test an audio agent with sample audio files
PYTHONPATH=. python multi-modal/audio/test_agent.py --audio-dir ./test_data/audio --model-path ./models/audio/model.pt
9. Multi-Modal Integration Test (test_multimodal_workflow.sh)
#!/bin/bash
# Test a workflow that integrates text, vision, and audio agents
PYTHONPATH=. python tests/integration/test_multimodal_workflow.py
Edge Computing Scripts
10. Edge Deployment Script (edge_deploy.sh)
#!/bin/bash
# Deploy a workflow to an edge device
# Check if target device is specified
if [ -z "$1" ]; then
echo "Usage: $0 <target-device-ip>"
exit 1
fi
TARGET_IP=$1
# Build lightweight container
docker build -t meta-agent-edge -f Dockerfile.edge .
# Save container as tar
docker save meta-agent-edge > meta-agent-edge.tar
# Transfer to edge device
scp meta-agent-edge.tar user@$TARGET_IP:/tmp/
# SSH into device and load container
ssh user@$TARGET_IP "docker load < /tmp/meta-agent-edge.tar && docker run -d --restart always meta-agent-edge"
echo "Deployment to $TARGET_IP complete"
11. Edge Resource Monitor (monitor_edge_resources.sh)
#!/bin/bash
# Monitor resource usage on edge devices
# Check if target device is specified
if [ -z "$1" ]; then
echo "Usage: $0 <target-device-ip>"
exit 1
fi
TARGET_IP=$1
# SSH into device and collect metrics
ssh user@$TARGET_IP "echo 'CPU Usage:' && top -bn1 | grep 'Cpu(s)' && echo 'Memory Usage:' && free -m && echo 'Disk Usage:' && df -h"
12. Edge Sync Script (sync_edge_data.sh)
#!/bin/bash
# Sync data between edge device and central platform
# Check if target device is specified
if [ -z "$1" ]; then
echo "Usage: $0 <target-device-ip>"
exit 1
fi
TARGET_IP=$1
# Sync data from edge to central
rsync -avz user@$TARGET_IP:/opt/meta-agent/data/ ./edge_data/
# Process and merge data
python edge/process_edge_data.py --data-dir ./edge_data/
# Sync updated workflows to edge
rsync -avz ./edge_workflows/ user@$TARGET_IP:/opt/meta-agent/workflows/
echo "Sync with $TARGET_IP complete"
Federated Collaboration Scripts
13. Federated Test Setup (federated_test_setup.sh)
#!/bin/bash
# Set up a local federated testing environment with multiple organizations
# Create organization directories
mkdir -p test_orgs/org1 test_orgs/org2 test_orgs/org3
# Generate test keys for each organization
openssl genrsa -out test_orgs/org1/private.key 2048
openssl rsa -in test_orgs/org1/private.key -pubout -out test_orgs/org1/public.key
openssl genrsa -out test_orgs/org2/private.key 2048
openssl rsa -in test_orgs/org2/private.key -pubout -out test_orgs/org2/public.key
openssl genrsa -out test_orgs/org3/private.key 2048
openssl rsa -in test_orgs/org3/private.key -pubout -out test_orgs/org3/public.key
# Start federated test environment
docker-compose -f docker-compose.federated-test.yml up -d
echo "Federated test environment ready"
14. Federated Workflow Test (test_federated_workflow.sh)
#!/bin/bash
# Test a federated workflow across multiple organizations
PYTHONPATH=. python tests/federated/test_workflow.py --orgs org1,org2,org3 --workflow-file ./test_data/federated_workflow.json
15. Secure Data Sharing Test (test_secure_sharing.sh)
#!/bin/bash
# Test secure data sharing between organizations
PYTHONPATH=. python tests/federated/test_secure_sharing.py --sender org1 --receiver org2 --data-file ./test_data/sensitive_data.json
Marketplace Scripts
16. Agent Package Script (package_agent.sh)
#!/bin/bash
# Package an agent for the marketplace
# Check if agent directory is specified
if [ -z "$1" ]; then
echo "Usage: $0 <agent-directory>"
exit 1
fi
AGENT_DIR=$1
AGENT_NAME=$(basename $AGENT_DIR)
# Create package directory
mkdir -p ./marketplace/packages/$AGENT_NAME
# Copy agent files
cp -r $AGENT_DIR/* ./marketplace/packages/$AGENT_NAME/
# Generate metadata
python marketplace/tools/generate_metadata.py --agent-dir ./marketplace/packages/$AGENT_NAME --output ./marketplace/packages/$AGENT_NAME/metadata.json
# Create package archive
tar -czf ./marketplace/packages/$AGENT_NAME.tar.gz -C ./marketplace/packages $AGENT_NAME
echo "Agent packaged at ./marketplace/packages/$AGENT_NAME.tar.gz"
Add more scripts as your workflow evolves!