SWARM

2 Squirrels AI

Technology Stack

Multi-agent SaaS orchestration system using Claude Code CLI to coordinate specialized AI agents for building complete full-stack applications. Decomposes project requirements and delegates to backend, frontend, mobile, and DevOps agents.

CLIClaude Code
OrchestrationPython Async
BackendExpress + Prisma
FrontendNext.js
MobileSwift/SwiftUI
DevOpsDocker + Terraform

Workflow 1: Project Decomposition & Analysis

%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#C17852', 'primaryTextColor': '#F0F6FC', 'primaryBorderColor': '#4A5E32', 'lineColor': '#E6C98F', 'secondaryColor': '#161B22', 'tertiaryColor': '#0D1117'}}}%%
flowchart TB
    subgraph Input["๐Ÿ“ฅ PROJECT INPUT"]
        REQ["๐Ÿ“„ Project Outline"]
        CFG["โš™๏ธ Config YAML"]
    end
    subgraph Decomposer["๐Ÿ” DECOMPOSITION"]
        LOAD["๐Ÿ“ฅ Load Description"]
        ANALYZE["๐Ÿง  Analyze Context"]
    end
    subgraph Specs["๐Ÿ“‹ TASK SPECIFICATIONS"]
        BACK["๐Ÿ”ง Backend Spec
API, Auth, DB"] FRONT["๐Ÿ–ฅ๏ธ Frontend Spec
Pages, Components"] MOBILE["๐Ÿ“ฑ Mobile Spec
Screens, Navigation"] DEVOPS["โ˜๏ธ DevOps Spec
CI/CD, Infra"] end subgraph Output["๐Ÿ“ค OUTPUT"] JSON[("๐Ÿ“„ project_breakdown.json")] end REQ --> LOAD CFG --> LOAD LOAD --> ANALYZE ANALYZE --> BACK ANALYZE --> FRONT ANALYZE --> MOBILE ANALYZE --> DEVOPS BACK --> JSON FRONT --> JSON MOBILE --> JSON DEVOPS --> JSON

Workflow 2: Backend API Development (Stage 1)

%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#C17852', 'primaryTextColor': '#F0F6FC', 'primaryBorderColor': '#4A5E32', 'lineColor': '#E6C98F', 'secondaryColor': '#161B22', 'tertiaryColor': '#0D1117'}}}%%
flowchart LR
    subgraph Input["๐Ÿ“ฅ BACKEND TASK"]
        SPEC["๐Ÿ“‹ Backend Spec"]
    end
    subgraph CLI["๐Ÿค– CLAUDE CODE CLI"]
        INIT["๐Ÿ”ง Init Workspace"]
        PROMPT["๐Ÿ“ Generate Prompt
Express + Prisma + JWT"] EXEC["โš™๏ธ Execute CLI"] RETRY["๐Ÿ”„ Retry Logic"] end subgraph Gen["๐Ÿ“ฆ GENERATED CODE"] SRC["๐Ÿ“ output/api/src/"] TESTS["๐Ÿงช output/api/tests/"] DOCS["๐Ÿ“š output/api/docs/"] end subgraph Shared["๐Ÿ”— SHARED CONTEXT"] OPENAPI[("๐Ÿ“„ api-spec.yaml")] end SPEC --> INIT INIT --> PROMPT PROMPT --> EXEC EXEC -->|"Fail"| RETRY RETRY --> EXEC EXEC --> SRC EXEC --> TESTS EXEC --> DOCS DOCS --> OPENAPI

Workflow 3: Frontend Web Client (Stage 2, Parallel)

%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#C17852', 'primaryTextColor': '#F0F6FC', 'primaryBorderColor': '#4A5E32', 'lineColor': '#E6C98F', 'secondaryColor': '#161B22', 'tertiaryColor': '#0D1117'}}}%%
flowchart TB
    subgraph Dep["โณ DEPENDENCY"]
        WAIT["โณ Wait for Backend"]
        FLAG["โœ… backend_complete"]
    end
    subgraph Context["๐Ÿ“š CONTEXT"]
        APISPEC[("๐Ÿ“„ api-spec.yaml")]
        FRONTSPEC["๐Ÿ“‹ Frontend Spec"]
    end
    subgraph CLI["๐Ÿค– CLAUDE CODE CLI"]
        INIT["๐Ÿ”ง Init Workspace"]
        PROMPT["๐Ÿ“ Next.js + TypeScript
Tailwind + React Query"] EXEC["โš™๏ธ Execute CLI"] end subgraph Output["๐Ÿ“ฆ OUTPUT"] WEB["๐Ÿ“ output/web/src/"] ASSETS["๐ŸŽจ output/web/public/"] end WAIT --> FLAG FLAG --> INIT APISPEC --> PROMPT FRONTSPEC --> INIT INIT --> PROMPT PROMPT --> EXEC EXEC --> WEB EXEC --> ASSETS

Workflow 4: Mobile iOS App (Stage 2, Parallel)

%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#C17852', 'primaryTextColor': '#F0F6FC', 'primaryBorderColor': '#4A5E32', 'lineColor': '#E6C98F', 'secondaryColor': '#161B22', 'tertiaryColor': '#0D1117'}}}%%
flowchart TB
    subgraph Dep["โณ DEPENDENCY"]
        WAIT["โณ Wait for Backend"]
        FLAG["โœ… backend_complete"]
    end
    subgraph Context["๐Ÿ“š CONTEXT"]
        APISPEC[("๐Ÿ“„ api-spec.yaml")]
        MOBILESPEC["๐Ÿ“‹ Mobile Spec"]
    end
    subgraph CLI["๐Ÿค– CLAUDE CODE CLI"]
        INIT["๐Ÿ”ง Init Workspace"]
        PROMPT["๐Ÿ“ Swift + SwiftUI
MVVM + Keychain"] EXEC["โš™๏ธ Execute CLI"] end subgraph Output["๐Ÿ“ฆ OUTPUT"] IOS["๐Ÿ“ output/ios/App/"] XCODE["๐Ÿ“ฑ Xcode Project"] end WAIT --> FLAG FLAG --> INIT APISPEC --> PROMPT MOBILESPEC --> INIT INIT --> PROMPT PROMPT --> EXEC EXEC --> IOS EXEC --> XCODE

Workflow 5: DevOps Infrastructure (Stage 3)

%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#C17852', 'primaryTextColor': '#F0F6FC', 'primaryBorderColor': '#4A5E32', 'lineColor': '#E6C98F', 'secondaryColor': '#161B22', 'tertiaryColor': '#0D1117'}}}%%
flowchart LR
    subgraph Dep["โณ DEPENDENCIES"]
        BACK["โœ… Backend Complete"]
        FRONT["โœ… Frontend Complete"]
        MOBILE["โœ… Mobile Complete"]
    end
    subgraph CLI["๐Ÿค– CLAUDE CODE CLI"]
        SPEC["๐Ÿ“‹ DevOps Spec"]
        PROMPT["๐Ÿ“ Docker + Terraform
GitHub Actions"] EXEC["โš™๏ธ Execute CLI"] end subgraph Output["๐Ÿ“ฆ INFRASTRUCTURE"] DOCKER["๐Ÿณ output/infrastructure/docker/"] TF["โ˜๏ธ output/infrastructure/terraform/"] GHA["โš™๏ธ .github/workflows/"] end BACK --> SPEC FRONT --> SPEC MOBILE --> SPEC SPEC --> PROMPT PROMPT --> EXEC EXEC --> DOCKER EXEC --> TF EXEC --> GHA

Workflow 6: Real-Time Progress Monitoring & Coordination

%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#C17852', 'primaryTextColor': '#F0F6FC', 'primaryBorderColor': '#4A5E32', 'lineColor': '#E6C98F', 'secondaryColor': '#161B22', 'tertiaryColor': '#0D1117'}}}%%
flowchart TB
    subgraph Init["๐Ÿš€ INITIALIZATION"]
        BUS["๐Ÿ“ก Message Bus"]
        MON["๐Ÿ“Š Progress Monitor"]
        REG["๐Ÿ“ Register Agents"]
    end
    subgraph Stage1["STAGE 1"]
        S1["๐Ÿ”ง Backend Agent"]
    end
    subgraph Stage2["STAGE 2 (Parallel)"]
        S2A["๐Ÿ–ฅ๏ธ Frontend Agent"]
        S2B["๐Ÿ“ฑ Mobile Agent"]
    end
    subgraph Stage3["STAGE 3"]
        S3["โ˜๏ธ DevOps Agent"]
    end
    subgraph Dashboard["๐Ÿ“Š LIVE DASHBOARD"]
        STATUS["๐Ÿ“ˆ Agent Status
PENDING โ†’ RUNNING โ†’ COMPLETE"] PROGRESS["๐Ÿ“Š Progress Bars"] TIME["โฑ๏ธ Duration Tracking"] end subgraph Output["๐Ÿ“ค FINAL"] LOG[("๐Ÿ“„ agents.log")] REPORT["๐Ÿ“‹ Summary Report"] end BUS --> MON MON --> REG REG --> S1 S1 -->|"Complete"| S2A S1 -->|"Complete"| S2B S2A --> S3 S2B --> S3 S1 --> STATUS S2A --> STATUS S2B --> STATUS S3 --> STATUS STATUS --> PROGRESS PROGRESS --> TIME S3 --> LOG LOG --> REPORT