Files
ruflo/examples/development-workflow.json
T
rUv 6d3bdade2f 1. Updated version numbers from v1.0.59 to v1.0.66 throughout the document
2. Updated test commands from Deno tasks to npm scripts
  3. Updated quality metrics to reflect v1.0.66 improvements:
    - NPM publishing compatibility
    - Full CLI command functionality
    - SPARC integration with full prompt loading
    - Cross-platform support
    - Zero dependency requirements
  4. Updated development setup to use npm instead of Deno
  5. Updated acknowledgments to reference Node.js instead of Deno

  The README now accurately reflects the production-ready v1.0.66 release with all the improvements made to the CLI, including:
  - NPM publishing readiness with npx support
  - Local wrapper generation
  - Fixed all CLI commands (agent info/terminate, memory query/export/import)
  - Enhanced SPARC integration with full prompt loading (2000+ chars)
  - Working MCP status detection
  - Cross-platform compatibility
2025-06-17 13:10:34 +00:00

631 lines
18 KiB
JSON

{
"name": "Full-Stack Development Workflow",
"version": "1.5.0",
"description": "Complete development workflow with TDD, CI/CD integration, and automated testing",
"metadata": {
"author": "Claude-Flow DevOps Team",
"category": "Development",
"tags": ["development", "testing", "deployment", "automation"]
},
"variables": {
"project_name": "modern-web-app",
"tech_stack": {
"frontend": "React",
"backend": "Node.js",
"database": "PostgreSQL",
"deployment": "Docker"
},
"test_coverage_target": 90,
"enable_integration_tests": true,
"enable_e2e_tests": true,
"enable_security_scan": true,
"deployment_environment": "staging"
},
"agents": [
{
"id": "architect",
"type": "architect",
"name": "System Architect",
"config": {
"model": "claude-3",
"specialization": "system-design",
"experience_level": "senior"
},
"resources": {
"memory": "2GB",
"cpu": "1 core"
}
},
{
"id": "frontend-dev",
"type": "coder",
"name": "Frontend Developer",
"config": {
"model": "claude-3",
"specialization": "frontend",
"frameworks": ["React", "Vue", "Angular"],
"tools": ["Webpack", "Vite", "ESLint"]
},
"resources": {
"memory": "3GB",
"cpu": "2 cores"
}
},
{
"id": "backend-dev",
"type": "coder",
"name": "Backend Developer",
"config": {
"model": "claude-3",
"specialization": "backend",
"languages": ["Node.js", "Python", "Go"],
"databases": ["PostgreSQL", "MongoDB", "Redis"]
},
"resources": {
"memory": "3GB",
"cpu": "2 cores"
}
},
{
"id": "qa-engineer",
"type": "tester",
"name": "QA Engineer",
"config": {
"model": "claude-3",
"testing_types": ["unit", "integration", "e2e", "performance"],
"tools": ["Jest", "Cypress", "Playwright", "JMeter"]
}
},
{
"id": "devops-engineer",
"type": "devops",
"name": "DevOps Engineer",
"config": {
"model": "claude-3",
"platforms": ["AWS", "GCP", "Azure"],
"tools": ["Docker", "Kubernetes", "Terraform", "GitLab CI"]
}
},
{
"id": "security-specialist",
"type": "security",
"name": "Security Specialist",
"config": {
"model": "claude-3",
"focus_areas": ["OWASP", "penetration-testing", "code-analysis"],
"tools": ["SonarQube", "OWASP ZAP", "Bandit"]
}
}
],
"conditions": [
{
"id": "tests-passing",
"expression": "outputs['unit-tests.coverage'] >= variables.test_coverage_target",
"type": "javascript",
"description": "Ensure test coverage meets requirements"
},
{
"id": "security-approved",
"expression": "outputs['security-scan.vulnerabilities'] === 0",
"type": "javascript",
"description": "No security vulnerabilities found"
},
{
"id": "integration-tests-enabled",
"expression": "variables.enable_integration_tests === true",
"type": "simple"
},
{
"id": "ready-for-deployment",
"expression": "outputs['unit-tests.passed'] && outputs['integration-tests.passed'] && outputs['security-scan.passed']",
"type": "javascript"
}
],
"loops": [
{
"id": "test-retry-loop",
"type": "while",
"condition": "outputs['unit-tests.passed'] === false && iteration < 3",
"tasks": ["fix-failing-tests", "unit-tests"],
"maxIterations": 3,
"continueOnError": false
}
],
"tasks": [
{
"id": "system-design",
"name": "System Architecture Design",
"type": "architecture",
"description": "Design system architecture and component interfaces",
"assignTo": "architect",
"input": {
"project_requirements": "${project_name}",
"tech_stack": "${tech_stack}",
"scalability_requirements": "high",
"design_patterns": ["microservices", "mvc", "repository"]
},
"output": [
"architecture_diagram",
"component_specs",
"api_design",
"database_schema",
"deployment_architecture"
],
"timeout": 300000,
"priority": 1,
"tags": ["architecture", "design"]
},
{
"id": "setup-project",
"name": "Project Setup",
"type": "initialization",
"description": "Initialize project structure and dependencies",
"depends": ["system-design"],
"assignTo": "devops-engineer",
"input": {
"project_name": "${project_name}",
"architecture": "${system-design.component_specs}",
"tech_stack": "${tech_stack}"
},
"output": [
"project_structure",
"package_configs",
"ci_cd_setup",
"environment_configs"
],
"timeout": 180000,
"priority": 1
},
{
"id": "frontend-development",
"name": "Frontend Development",
"type": "implementation",
"description": "Develop frontend components and user interface",
"depends": ["setup-project"],
"assignTo": "frontend-dev",
"input": {
"ui_requirements": "${system-design.component_specs.ui}",
"api_endpoints": "${system-design.api_design}",
"framework": "${tech_stack.frontend}",
"features": [
"user-authentication",
"dashboard",
"data-visualization",
"responsive-design"
]
},
"output": [
"components",
"pages",
"styling",
"state_management",
"routing"
],
"timeout": 600000,
"retries": 2,
"priority": 2,
"parallel": true
},
{
"id": "backend-development",
"name": "Backend Development",
"type": "implementation",
"description": "Develop backend APIs and business logic",
"depends": ["setup-project"],
"assignTo": "backend-dev",
"input": {
"api_design": "${system-design.api_design}",
"database_schema": "${system-design.database_schema}",
"framework": "${tech_stack.backend}",
"features": [
"user-management",
"authentication",
"data-processing",
"api-endpoints",
"middleware"
]
},
"output": [
"api_endpoints",
"business_logic",
"database_models",
"middleware",
"authentication"
],
"timeout": 600000,
"retries": 2,
"priority": 2,
"parallel": true
},
{
"id": "database-setup",
"name": "Database Setup",
"type": "infrastructure",
"description": "Set up database and initial data",
"depends": ["system-design"],
"assignTo": "backend-dev",
"input": {
"schema": "${system-design.database_schema}",
"database_type": "${tech_stack.database}",
"migrations": true,
"seed_data": true
},
"output": [
"database_instance",
"migrations",
"seed_scripts",
"connection_config"
],
"timeout": 240000,
"priority": 2,
"parallel": true
},
{
"id": "unit-tests",
"name": "Unit Testing",
"type": "testing",
"description": "Comprehensive unit testing with coverage analysis",
"depends": ["frontend-development", "backend-development"],
"assignTo": "qa-engineer",
"input": {
"frontend_code": "${frontend-development.components}",
"backend_code": "${backend-development.api_endpoints}",
"coverage_target": "${test_coverage_target}",
"test_frameworks": ["Jest", "React Testing Library", "Mocha"]
},
"output": [
"test_results",
"coverage",
"passed",
"failed_tests",
"performance_metrics"
],
"timeout": 300000,
"retries": 1,
"priority": 3
},
{
"id": "fix-failing-tests",
"name": "Fix Failing Tests",
"type": "debugging",
"description": "Fix failing unit tests",
"assignTo": "frontend-dev",
"input": {
"failed_tests": "${unit-tests.failed_tests}",
"test_results": "${unit-tests.test_results}"
},
"output": [
"fixes_applied",
"updated_code"
],
"timeout": 180000
},
{
"id": "integration-tests",
"name": "Integration Testing",
"type": "testing",
"description": "End-to-end integration testing",
"depends": ["unit-tests", "database-setup"],
"assignTo": "qa-engineer",
"condition": "integration-tests-enabled",
"input": {
"api_endpoints": "${backend-development.api_endpoints}",
"frontend_app": "${frontend-development.components}",
"database": "${database-setup.database_instance}",
"test_scenarios": [
"user-registration-flow",
"authentication-flow",
"data-crud-operations",
"error-handling"
]
},
"output": [
"integration_results",
"passed",
"api_response_times",
"error_logs"
],
"timeout": 420000,
"priority": 3
},
{
"id": "e2e-tests",
"name": "End-to-End Testing",
"type": "testing",
"description": "Full user journey testing",
"depends": ["integration-tests"],
"assignTo": "qa-engineer",
"condition": "tests-passing",
"input": {
"application_url": "${deployment.staging_url}",
"test_scenarios": [
"complete-user-workflow",
"cross-browser-compatibility",
"mobile-responsiveness",
"performance-benchmarks"
],
"browsers": ["Chrome", "Firefox", "Safari"],
"devices": ["Desktop", "Tablet", "Mobile"]
},
"output": [
"e2e_results",
"performance_metrics",
"compatibility_report",
"screenshots"
],
"timeout": 480000,
"priority": 4
},
{
"id": "security-scan",
"name": "Security Analysis",
"type": "security",
"description": "Comprehensive security analysis and vulnerability assessment",
"depends": ["backend-development", "frontend-development"],
"assignTo": "security-specialist",
"condition": "enable_security_scan",
"input": {
"codebase": {
"frontend": "${frontend-development.components}",
"backend": "${backend-development.api_endpoints}"
},
"scan_types": [
"static-analysis",
"dependency-check",
"owasp-top-10",
"penetration-testing"
],
"compliance_standards": ["OWASP", "NIST", "ISO27001"]
},
"output": [
"vulnerabilities",
"security_score",
"passed",
"recommendations",
"compliance_report"
],
"timeout": 360000,
"priority": 4,
"parallel": true
},
{
"id": "performance-optimization",
"name": "Performance Optimization",
"type": "optimization",
"description": "Optimize application performance",
"depends": ["e2e-tests"],
"assignTo": "frontend-dev",
"input": {
"performance_metrics": "${e2e-tests.performance_metrics}",
"bottlenecks": "${e2e-tests.performance_bottlenecks}",
"optimization_targets": ["load-time", "bundle-size", "runtime-performance"]
},
"output": [
"optimizations_applied",
"performance_improvements",
"bundle_analysis"
],
"timeout": 240000,
"priority": 4
},
{
"id": "documentation",
"name": "Documentation Generation",
"type": "documentation",
"description": "Generate comprehensive project documentation",
"depends": ["system-design", "frontend-development", "backend-development"],
"assignTo": "architect",
"input": {
"architecture": "${system-design.architecture_diagram}",
"api_docs": "${backend-development.api_endpoints}",
"frontend_components": "${frontend-development.components}",
"deployment_guide": "${devops-setup.deployment_guide}"
},
"output": [
"api_documentation",
"user_guide",
"developer_guide",
"deployment_guide",
"architecture_docs"
],
"timeout": 180000,
"priority": 5
},
{
"id": "devops-setup",
"name": "DevOps Infrastructure",
"type": "infrastructure",
"description": "Set up CI/CD pipeline and deployment infrastructure",
"depends": ["setup-project"],
"assignTo": "devops-engineer",
"input": {
"deployment_architecture": "${system-design.deployment_architecture}",
"environment": "${deployment_environment}",
"containerization": "${tech_stack.deployment}",
"ci_cd_requirements": [
"automated-testing",
"security-scanning",
"deployment-automation",
"monitoring"
]
},
"output": [
"ci_cd_pipeline",
"deployment_scripts",
"infrastructure_code",
"monitoring_setup",
"staging_url"
],
"timeout": 300000,
"priority": 3,
"parallel": true
},
{
"id": "deployment",
"name": "Application Deployment",
"type": "deployment",
"description": "Deploy application to target environment",
"depends": ["performance-optimization", "security-scan", "devops-setup"],
"assignTo": "devops-engineer",
"condition": "ready-for-deployment",
"input": {
"application_bundle": {
"frontend": "${performance-optimization.optimized_frontend}",
"backend": "${backend-development.api_endpoints}"
},
"infrastructure": "${devops-setup.infrastructure_code}",
"environment": "${deployment_environment}",
"deployment_strategy": "blue-green"
},
"output": [
"deployment_status",
"application_url",
"health_checks",
"monitoring_dashboards"
],
"timeout": 240000,
"priority": 6
},
{
"id": "post-deployment-validation",
"name": "Post-Deployment Validation",
"type": "validation",
"description": "Validate deployment and run smoke tests",
"depends": ["deployment"],
"assignTo": "qa-engineer",
"input": {
"deployment_url": "${deployment.application_url}",
"health_endpoints": "${deployment.health_checks}",
"validation_tests": [
"health-check",
"smoke-tests",
"connectivity-tests",
"performance-baseline"
]
},
"output": [
"validation_results",
"deployment_success",
"issues_found",
"rollback_needed"
],
"timeout": 120000,
"priority": 6
}
],
"integrations": [
{
"id": "github-webhook",
"type": "webhook",
"config": {
"url": "https://api.github.com/repos/${GITHUB_REPO}/statuses/${COMMIT_SHA}",
"method": "POST",
"headers": {
"Authorization": "token ${GITHUB_TOKEN}",
"Content-Type": "application/json"
}
}
},
{
"id": "slack-notifications",
"type": "webhook",
"config": {
"url": "${SLACK_WEBHOOK_URL}",
"method": "POST"
}
},
{
"id": "jira-integration",
"type": "api",
"config": {
"baseUrl": "${JIRA_BASE_URL}",
"endpoints": {
"create_issue": "/rest/api/2/issue",
"update_issue": "/rest/api/2/issue/${issue_key}"
}
},
"auth": {
"type": "basic",
"credentials": {
"username": "${JIRA_USER}",
"password": "${JIRA_TOKEN}"
}
}
},
{
"id": "monitoring-system",
"type": "api",
"config": {
"baseUrl": "${MONITORING_API_URL}",
"endpoints": {
"metrics": "/api/v1/metrics",
"alerts": "/api/v1/alerts"
}
}
}
],
"settings": {
"maxConcurrency": 4,
"timeout": 1800000,
"retryPolicy": "exponential",
"failurePolicy": "continue",
"errorHandler": "comprehensive-logging",
"monitoring": {
"enabled": true,
"interval": 10000,
"metrics": [
"progress",
"performance",
"errors",
"resource_usage",
"test_results",
"deployment_status"
],
"alerts": [
{
"condition": "task.status === 'failed' && task.retryCount >= task.maxRetries",
"action": "slack-notifications",
"threshold": 1,
"cooldown": 600000
},
{
"condition": "workflow.duration > 1200000",
"action": "slack-notifications",
"threshold": 1,
"message": "Development workflow taking longer than expected"
}
]
},
"resources": {
"limits": {
"memory": "16GB",
"cpu": "8 cores",
"disk": "5GB"
},
"requests": {
"memory": "8GB",
"cpu": "4 cores",
"disk": "2GB"
}
},
"notifications": {
"enabled": true,
"channels": ["slack", "email", "github"],
"events": [
"workflow.started",
"workflow.completed",
"workflow.failed",
"task.failed",
"deployment.completed",
"security.vulnerability_found"
],
"templates": {
"workflow.started": "🚀 Development workflow started for ${variables.project_name}",
"workflow.completed": "✅ Development workflow completed successfully for ${variables.project_name}. Deployed to: ${outputs.deployment.application_url}",
"workflow.failed": "❌ Development workflow failed for ${variables.project_name}: ${error.message}",
"deployment.completed": "🌐 Application deployed successfully: ${outputs.deployment.application_url}",
"security.vulnerability_found": "🔒 Security vulnerabilities found in ${variables.project_name}. Review required."
}
}
}
}