{
  "name": "Transform GitHub repos into evidence-based architecture blueprints with Claude",
  "nodes": [
    {
      "id": "c239fbe4-e34f-445f-9292-141699a76a9a",
      "name": "Receive GitHub URL",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -2704,
        208
      ]
    },
    {
      "id": "f6117e39-bbea-4b8b-af81-9d11dea411d6",
      "name": "Blueprint Form",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -2704,
        512
      ]
    },
    {
      "id": "0da401d5-5bd5-4d5c-8bd4-56c0231278e6",
      "name": "Parse Owner and Repo",
      "type": "n8n-nodes-base.code",
      "position": [
        -2432,
        208
      ]
    },
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Fetch Repo Metadata",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -2160,
        208
      ]
    },
    {
      "id": "fcdd844d-d327-45b1-b319-6b2fb78da8b6",
      "name": "Fetch Repo Tree",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1888,
        208
      ]
    },
    {
      "id": "84d7cac3-bcb0-4c99-9778-8382f43a4699",
      "name": "Identify Key Files",
      "type": "n8n-nodes-base.code",
      "position": [
        -1616,
        208
      ]
    },
    {
      "id": "9ed95dfa-5a0d-4f76-ab11-e8a25f3fb18b",
      "name": "Fetch Key File Contents",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1344,
        208
      ]
    },
    {
      "id": "076af1fe-6bfe-49ab-8500-cd1b2f3db975",
      "name": "Prepare LLM Input",
      "type": "n8n-nodes-base.code",
      "position": [
        -1088,
        208
      ]
    },
    {
      "id": "b2f94c0e-b70b-4a2a-8cea-2a9863d78ce0",
      "name": "Analyze Architecture",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -816,
        208
      ]
    },
    {
      "id": "ce51847f-7c5f-494f-975b-e8ea545cd50c",
      "name": "Claude 3.5 Sonnet",
      "type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
      "position": [
        -816,
        432
      ]
    },
    {
      "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "name": "Fix Markdown",
      "type": "n8n-nodes-base.code",
      "position": [
        -544,
        208
      ]
    },
    {
      "id": "18443356-0962-445c-9f53-daf3e95505ed",
      "name": "Generate Dashboard HTML",
      "type": "n8n-nodes-base.code",
      "position": [
        -272,
        208
      ]
    },
    {
      "id": "5301aa8f-fce4-42e8-8334-3339e873dfc3",
      "name": "Fetch Existing README",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        0,
        208
      ]
    },
    {
      "id": "f006ed96-6ef9-4bc8-96bb-0fac76993db0",
      "name": "Prepare Push Data",
      "type": "n8n-nodes-base.code",
      "position": [
        272,
        208
      ]
    },
    {
      "id": "e5558bb5-6670-4824-864c-696360085f67",
      "name": "Push README_ARCH.md",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        544,
        208
      ]
    },
    {
      "id": "f9b37d10-b08d-4689-9332-c3cdc1e0d2a0",
      "name": "Notify on Update",
      "type": "n8n-nodes-base.slack",
      "position": [
        816,
        48
      ]
    },
    {
      "id": "8e995431-419c-4d45-b349-368f72ec21c7",
      "name": "Send Success Page",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        1088,
        48
      ]
    },
    {
      "id": "s0000000-0000-0000-0000-000000000000",
      "name": "Sticky Note - Setup",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2784,
        -384
      ],
      "parameters": {
        "width": 3960,
        "height": 416,
        "content": "## How it works\n\nThis workflow analyzes any public GitHub repository and generates an evidence-based architecture blueprint with Mermaid.js diagrams.\n\n1. A GitHub URL is submitted via the web form or "
      }
    },
    {
      "id": "s1000001-0000-0000-0000-000000000001",
      "name": "Sticky Note - Input",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2816,
        80
      ],
      "parameters": {
        "width": 580,
        "height": 560,
        "content": "## Input\nTwo entry points: web form for browser users, webhook POST for API calls. Both feed into the URL parser."
      }
    },
    {
      "id": "s1000002-0000-0000-0000-000000000002",
      "name": "Sticky Note - Evidence",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2208,
        80
      ],
      "parameters": {
        "width": 1292,
        "height": 320,
        "content": "## Evidence gathering\nFetches repo metadata, file tree, and key file contents. This evidence is the only input to the AI."
      }
    },
    {
      "id": "s1000003-0000-0000-0000-000000000003",
      "name": "Sticky Note - AI",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -896,
        80
      ],
      "parameters": {
        "width": 588,
        "height": 500,
        "content": "## AI analysis\nClaude Sonnet 4.5 analyzes only what exists in the code. Anti-hallucination rules enforced. Markdown auto-fixed."
      }
    },
    {
      "id": "s1000004-0000-0000-0000-000000000004",
      "name": "Sticky Note - Delivery",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -288,
        48
      ],
      "parameters": {
        "width": 1560,
        "height": 352,
        "content": "## Delivery\nAssembles blueprint, pushes to repo, notifies Slack, and returns a success page."
      }
    }
  ],
  "connections": {
    "Fix Markdown": {
      "main": [
        [
          {
            "node": "Generate Dashboard HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Blueprint Form": {
      "main": [
        [
          {
            "node": "Parse Owner and Repo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Repo Tree": {
      "main": [
        [
          {
            "node": "Identify Key Files",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notify on Update": {
      "main": [
        [
          {
            "node": "Send Success Page",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Claude 3.5 Sonnet": {
      "ai_languageModel": [
        [
          {
            "node": "Analyze Architecture",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Prepare LLM Input": {
      "main": [
        [
          {
            "node": "Analyze Architecture",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare Push Data": {
      "main": [
        [
          {
            "node": "Push README_ARCH.md",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Identify Key Files": {
      "main": [
        [
          {
            "node": "Fetch Key File Contents",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Receive GitHub URL": {
      "main": [
        [
          {
            "node": "Parse Owner and Repo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Repo Metadata": {
      "main": [
        [
          {
            "node": "Fetch Repo Tree",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Push README_ARCH.md": {
      "main": [
        [
          {
            "node": "Notify on Update",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze Architecture": {
      "main": [
        [
          {
            "node": "Fix Markdown",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Owner and Repo": {
      "main": [
        [
          {
            "node": "Fetch Repo Metadata",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Existing README": {
      "main": [
        [
          {
            "node": "Prepare Push Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Key File Contents": {
      "main": [
        [
          {
            "node": "Prepare LLM Input",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Dashboard HTML": {
      "main": [
        [
          {
            "node": "Fetch Existing README",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}