Skip to content

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)

#!/bin/bash
# Start backend, frontend, and database (example)
docker-compose up --build

3. Test Runner (test.sh)

#!/bin/bash
pytest tests/

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)

#!/bin/bash
docker exec -t <db_container> pg_dumpall -c -U user > db_backup.sql

Restore Database (restore_db.sh)

#!/bin/bash
docker exec -i <db_container> psql -U user -d meta_agent < db_backup.sql

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!