DevToolBox

Advanced developer tools for Git integration, workflow automation, sandboxed execution, issue triage, and CI/CD monitoring

v4.0.0

Architecture

DevToolBox Integration
DEVTOOLBOX ECOSYSTEM Git Forges GitHub GitLab Gitea Skills Code Review Test Generation Doc Generation Automations Git Triggers Webhooks Schedules Sandboxes Docker Containers Resource Limits Network Isolation Agent Orchestration Layer (Swarm + Parallel Execution) Data Worker Storage Issue Triage CI/CD Monitor

Quick Start Examples

Get started with DevToolBox in minutes. Here are practical examples for common workflows.

Example 1: Automated PR Review Pipeline

Set up automatic code review for every pull request:

# 1. Add your GitHub forge
/git add github https://github.com --token ghp_your_token --alias gh

# 2. Create a code-review skill
/skill create pr-review

# 3. Create automation triggered on PR open
curl -X POST http://dataworker:8892/api/v1/automations \
  -H "Content-Type: application/json" \
  -d '{
    "name": "auto-review-pr",
    "trigger": {"type": "git_pr_opened", "forge": "gh", "repo": "myorg/myrepo"},
    "actions": [
      {"skill": "code-review", "inputs": {"repo": "{{trigger.repo}}", "pr": "{{trigger.pr_number}}"}},
      {"type": "comment", "target": "{{trigger.pr_url}}", "body": "## AI Review\n{{skill.output.report}}"}
    ]
  }'

# 4. Every new PR now gets automatic review!

Example 2: Sandboxed Code Execution

Safely run untrusted code in isolated containers:

# Create a Python sandbox with resource limits
curl -X POST http://dataworker:8892/api/v1/sandboxes \
  -H "Content-Type: application/json" \
  -d '{
    "name": "python-dev",
    "image": "python:3.12-slim",
    "limits": {"cpu": "2", "memory": "2g", "timeout_seconds": 300},
    "network": {"mode": "restricted", "allowed_hosts": ["pypi.org"]}
  }'

# Execute code in the sandbox
curl -X POST http://dataworker:8892/api/v1/sandboxes/sbx-abc123/exec \
  -H "Content-Type: application/json" \
  -d '{
    "command": "pip install numpy && python -c \"import numpy; print(numpy.random.rand(3,3))\""
  }'

# Response:
{
  "exit_code": 0,
  "output": "[[0.123 0.456 0.789]\n [0.234 0.567 0.890]\n [0.345 0.678 0.901]]",
  "duration_ms": 2340
}

Example 3: Issue Triage with AI

Automatically analyze and label issues:

# Analyze a GitHub issue
curl -X POST http://dataworker:8892/api/v1/triage/analyze \
  -H "Content-Type: application/json" \
  -d '{"issue": "github:myorg/myrepo#42"}'

# Response:
{
  "labels": ["bug", "security", "high-priority"],
  "priority": "P1",
  "category": "security-vulnerability",
  "suggested_assignees": ["alice", "bob"],
  "related_issues": [38, 41],
  "duplicate_of": null,
  "fix_suggestion": {
    "description": "SQL injection in user input - sanitize query parameters",
    "files": ["src/api/users.py:145", "src/api/users.py:167"],
    "confidence": 0.92,
    "code_snippet": "# Replace:\nquery = f\"SELECT * FROM users WHERE id = {user_id}\"\n# With:\nquery = \"SELECT * FROM users WHERE id = %s\"\ncursor.execute(query, (user_id,))"
  }
}

Example 4: CI/CD Failure Analysis

Diagnose and fix build failures automatically:

# Monitor a repository's CI/CD
/cicd add github:myorg/myrepo

# When a build fails, analyze it
curl -X POST http://dataworker:8892/api/v1/cicd/analyze \
  -H "Content-Type: application/json" \
  -d '{"repo": "github:myorg/myrepo", "run_id": "12345"}'

# Response:
{
  "status": "failed",
  "failed_job": "test",
  "failed_step": "Run pytest",
  "error_type": "test_failure",
  "error_summary": "2 tests failed in tests/test_api.py",
  "root_cause": "Missing mock for external API call in test_user_creation",
  "fix_suggestion": {
    "description": "Add mock for external service",
    "file": "tests/test_api.py",
    "line": 45,
    "patch": "@mock.patch('app.services.external_api.create_user')\ndef test_user_creation(mock_create):\n    mock_create.return_value = {'id': 1, 'status': 'created'}\n    ..."
  },
  "similar_failures": [
    {"run_id": "12340", "date": "2024-02-01", "same_root_cause": true}
  ]
}

Example 5: Custom Multi-Agent Skill

Create a skill that combines multiple agents:

# Create a "security-audit" skill
curl -X POST http://dataworker:8892/api/v1/skills \
  -H "Content-Type: application/json" \
  -d '{
    "id": "security-audit",
    "name": "Security Audit",
    "description": "Comprehensive security review of codebase",
    "version": "1.0.0",
    "inputs": [
      {"name": "repo", "type": "git_repo", "required": true},
      {"name": "severity_threshold", "type": "string", "default": "medium"}
    ],
    "steps": [
      {
        "id": "scan",
        "agent": "explorer",
        "action": "find_files",
        "params": {"patterns": ["*.py", "*.js", "*.ts"]},
        "output": "source_files"
      },
      {
        "id": "analyze",
        "agent": "coder",
        "action": "security_scan",
        "input": "source_files",
        "params": {"checks": ["sql_injection", "xss", "secrets", "dependencies"]},
        "output": "vulnerabilities"
      },
      {
        "id": "prioritize",
        "agent": "validator",
        "action": "rank_issues",
        "input": "vulnerabilities",
        "params": {"threshold": "{{severity_threshold}}"},
        "output": "prioritized_issues"
      },
      {
        "id": "report",
        "agent": "planner",
        "action": "generate_report",
        "input": "prioritized_issues",
        "output": "security_report"
      }
    ],
    "outputs": ["security_report", "prioritized_issues"]
  }'

# Run the skill
/skill run security-audit --repo github:myorg/myrepo --severity_threshold high

Git Forge Integration

Unified interface for GitHub, GitLab, and Gitea. Clone repositories, manage issues and PRs, and trigger automations from any forge.

GitHub

Full GitHub API integration including repos, issues, PRs, Actions, and webhooks.

  • OAuth and token authentication
  • GitHub Actions integration
  • PR review automation

GitLab

GitLab CE/EE support with CI/CD pipelines and merge request automation.

  • Self-hosted and cloud
  • CI/CD pipeline triggers
  • Merge request automation

Gitea

Self-hosted Git with Gitea Actions support and lightweight deployment.

  • Self-hosted control
  • Gitea Actions support
  • Lightweight footprint

CLI Commands

# Add a Git forge
/git add github https://github.com --token ghp_xxxx

# Add GitLab forge with alias
/git add gitlab https://gitlab.com --token glpat-xxxx --alias gl

# Add self-hosted Gitea
/git add gitea https://git.example.com --token your-token

# List configured forges
/git list

# Clone repository to Data Worker
/git clone github:org/repo

# Sync repository (pull latest)
/git sync github:org/repo

# List issues
/git issues github:org/repo

# Create pull request
/git pr create github:org/repo --title "Fix bug" --branch feature-branch

Configuration

Git forges are configured in ~/.config/eldric/git_forges.json:

{
  "forges": [
    {
      "id": "github-main",
      "type": "github",
      "url": "https://github.com",
      "alias": "gh",
      "auth": {
        "type": "token",
        "token": "ghp_xxxxxxxxxxxx"
      }
    },
    {
      "id": "gitlab-work",
      "type": "gitlab",
      "url": "https://gitlab.company.com",
      "alias": "gl",
      "auth": {
        "type": "token",
        "token": "glpat-xxxxxxxxxxxx"
      }
    }
  ]
}

Skills System

Reusable, multi-step agent workflows. Skills combine multiple agents into coordinated pipelines for complex tasks.

Built-in Code Review

Automated code review with Explorer, Coder, and Validator agents.

  • Security vulnerability detection
  • Code style analysis
  • Performance suggestions

Built-in Test Generation

Generate unit tests for your codebase automatically.

  • Framework detection
  • Edge case coverage
  • Mocking strategies

Built-in Documentation

Generate documentation from code analysis.

  • API documentation
  • README generation
  • Inline comments

Custom Your Skills

Create custom skills tailored to your workflow.

  • JSON definition format
  • Multi-agent pipelines
  • Input/output parameters

Skill Definition Format

{
  "id": "code-review",
  "name": "Code Review",
  "description": "Review code changes for issues and improvements",
  "version": "1.0.0",
  "inputs": [
    {"name": "repo", "type": "git_repo", "required": true},
    {"name": "branch", "type": "string", "default": "main"},
    {"name": "focus", "type": "string", "default": "security,performance"}
  ],
  "steps": [
    {"agent": "explorer", "action": "list_changes", "output": "changed_files"},
    {"agent": "coder", "action": "analyze_code", "input": "changed_files", "output": "analysis"},
    {"agent": "validator", "action": "check_issues", "input": "analysis", "output": "report"}
  ],
  "outputs": ["report", "suggestions"]
}

CLI Commands

# List available skills
/skill list

# Run a skill
/skill run code-review --repo github:org/repo --branch main

# Create custom skill
/skill create my-skill

# Edit skill definition
/skill edit my-skill

# Delete skill
/skill delete my-skill

# Show skill details
/skill show code-review

Automations

Event-driven workflows triggered by Git events, schedules, webhooks, or file changes.

Trigger Types

Git Events

  • Push to branch
  • Pull request opened/merged
  • Issue created
  • Tag created

Other Triggers

  • Cron schedule
  • Webhook POST
  • File system changes
  • Manual invocation

Automation Definition

{
  "id": "auto-review-pr",
  "name": "Auto Review Pull Requests",
  "enabled": true,
  "trigger": {
    "type": "git_pr_opened",
    "forge": "github",
    "repo": "org/repo"
  },
  "conditions": [
    {"type": "file_pattern", "pattern": "src/**/*.ts"},
    {"type": "label_absent", "label": "skip-review"}
  ],
  "actions": [
    {
      "skill": "code-review",
      "inputs": {
        "repo": "{{trigger.repo}}",
        "branch": "{{trigger.branch}}"
      }
    },
    {
      "type": "comment",
      "target": "{{trigger.pr_url}}",
      "body": "{{skill.output.report}}"
    }
  ]
}

CLI Commands

# List automations
/auto list

# Create automation
/auto create pr-review

# Enable/disable automation
/auto enable pr-review
/auto disable pr-review

# Trigger automation manually
/auto trigger pr-review --pr github:org/repo#123

# View automation logs
/auto logs pr-review

# Delete automation
/auto delete pr-review

Sandboxed Execution

Isolated Docker containers for safe code execution with resource limits and network isolation.

Docker Containers

Each sandbox runs in an isolated Docker container with configurable base images.

Resource Limits

Configure CPU, memory, and disk limits for each sandbox.

Network Isolation

Control network access - allow, deny, or restrict to specific hosts.

Sandbox Configuration

{
  "name": "python-sandbox",
  "image": "python:3.12-slim",
  "limits": {
    "cpu": "2",
    "memory": "2g",
    "disk": "10g",
    "timeout_seconds": 300
  },
  "network": {
    "mode": "restricted",
    "allowed_hosts": ["pypi.org", "github.com"]
  },
  "mounts": [
    {"source": "/data/workspace", "target": "/workspace", "readonly": false}
  ],
  "env": {
    "PYTHONDONTWRITEBYTECODE": "1"
  }
}

CLI Commands

# Create sandbox
/sandbox create python-dev --image python:3.12 --cpu 2 --memory 2g

# List active sandboxes
/sandbox list

# Execute command in sandbox
/sandbox exec python-dev "pip install numpy && python script.py"

# Get sandbox status
/sandbox status python-dev

# Destroy sandbox
/sandbox destroy python-dev

# Destroy all sandboxes
/sandbox destroy-all

Issue Triage

AI-powered issue analysis for automatic labeling, priority assignment, and fix suggestions.

Features

  • Automatic label suggestions
  • Priority classification (P0-P4)
  • Suggested assignees based on expertise
  • Related issue detection
  • Fix suggestions with code references
  • Duplicate detection

Triage Output

{
  "labels": ["bug", "security", "urgent"],
  "priority": "P1",
  "suggested_assignees": ["alice", "bob"],
  "related_issues": [123, 456],
  "fix_suggestion": {
    "description": "Sanitize user input",
    "files": ["src/api/handler.ts:45"],
    "confidence": 0.87
  }
}

CLI Commands

# Analyze a specific issue
/triage analyze github:org/repo#123

# Analyze all open issues
/triage analyze-all github:org/repo --limit 50

# Auto-label issues
/triage auto-label github:org/repo#123

# Find related issues
/triage related github:org/repo#123

# Suggest fix
/triage suggest-fix github:org/repo#123

CI/CD Monitor

Monitor build pipelines, analyze failures, and get AI-powered fix suggestions.

CI System Status Monitoring Failure Analysis Auto-fix
GitHub Actions Full Full Yes
GitLab CI Full Full Yes
Gitea Actions Full Full Yes
Jenkins Full Basic Limited

CLI Commands

# Get pipeline status
/cicd status github:org/repo

# List recent builds
/cicd builds github:org/repo --limit 10

# Analyze failed build
/cicd analyze github:org/repo --run 12345

# Get fix suggestions for failure
/cicd fix github:org/repo --run 12345

# Re-run failed build
/cicd rerun github:org/repo --run 12345

# Monitor builds in real-time
/cicd watch github:org/repo

License Tiers

DevToolBox features are available across all license tiers with increasing limits.

Feature Free Standard Professional Enterprise
Git Forges 1 3 10 Unlimited
Skills 5 20 100 Unlimited
Automations 2 10 50 Unlimited
Sandboxes (concurrent) 1 3 10 Unlimited
Issue Triage - Basic Full Full
CI/CD Monitor - - Yes Yes

API Reference

DevToolBox features are accessible via the Data Worker REST API.

Endpoint Method Description
/api/v1/git/forges GET/POST List/add git forges
/api/v1/git/repos GET/POST List/clone repositories
/api/v1/git/repos/{id}/sync POST Sync repository
/api/v1/skills GET/POST List/create skills
/api/v1/skills/{id}/execute POST Execute skill
/api/v1/automations GET/POST List/create automations
/api/v1/sandboxes GET/POST List/create sandboxes
/api/v1/sandboxes/{id}/exec POST Execute in sandbox
/api/v1/triage/analyze POST Analyze issue
/api/v1/cicd/status GET Get CI/CD status

Web Dashboard

Access DevToolBox features visually through the Data Worker dashboard.

Dashboard URL: http://dataworker:8892/dashboard/devtoolbox

The dashboard provides a visual interface for managing Git forges, skills, automations, sandboxes, issue triage, and CI/CD monitoring.