{
  "name": "Convert GitHub code commits to LinkedIn posts with Gemini AI and code image generation",
  "nodes": [
    {
      "id": "0667bada-510c-4bac-a863-8ef1b29f06ee",
      "name": "Main Info",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2592,
        128
      ],
      "parameters": {
        "width": 686,
        "height": 423,
        "content": "## 🚀 Github Code to LinkedIn Publisher\n\n### How it works\nAutomatically turns your code commits into engaging LinkedIn posts! \n1. **Detects** new/modified code in Github.\n2. **Analyzes** the code with "
      }
    },
    {
      "id": "a3290627-b926-4b7c-b853-1c9384738f54",
      "name": "Section 1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1840,
        176
      ],
      "parameters": {
        "width": 896,
        "height": 372,
        "content": "### 1. Monitor & Fetch\nWatches for `push` events, extracts modified files, and downloads the raw code content."
      }
    },
    {
      "id": "d1d2dcd2-b6df-4680-bf7d-7327ee944ceb",
      "name": "Section 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1744,
        672
      ],
      "parameters": {
        "width": 532,
        "height": 468,
        "content": "### 2. AI Content Creation\nUses an LLM to analyze the code, write a LinkedIn post, and select the best snippet."
      }
    },
    {
      "id": "eff6680c-f3cc-4559-b15d-c8b9a1415b3a",
      "name": "Section 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1200,
        672
      ],
      "parameters": {
        "width": 652,
        "height": 340,
        "content": "### 3. Image Generation\nCreates HTML/CSS for a \"pretty\" code window and converts it to an image via API."
      }
    },
    {
      "id": "9bf75f05-3346-40b6-9e50-13c450d64905",
      "name": "Section 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        96
      ],
      "parameters": {
        "width": 844,
        "height": 492,
        "content": "### 4. Store & Publish\nUploads the generated image to your repo for hosting, then combines text + image for the final LinkedIn post."
      }
    },
    {
      "id": "53ff6b5d-cda9-4bf5-b28a-a8983e8b8d5e",
      "name": "Github Trigger1",
      "type": "n8n-nodes-base.githubTrigger",
      "position": [
        -1808,
        352
      ]
    },
    {
      "id": "ae31ca41-9c74-48ef-bb43-9ff5627c1c0f",
      "name": "GitHub File Download",
      "type": "n8n-nodes-base.github",
      "position": [
        -1392,
        352
      ]
    },
    {
      "id": "c19ca9b7-3d0a-4f8a-be54-bff3b188c12a",
      "name": "Post to LinkedIn",
      "type": "n8n-nodes-base.linkedIn",
      "position": [
        -304,
        416
      ]
    },
    {
      "id": "3eb75e0a-0c99-4cf1-b6a5-105a5fb705d4",
      "name": "LinkedIn Content Creator",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1616,
        784
      ]
    },
    {
      "id": "377af262-7c5f-45ad-81a3-ea8af25f3862",
      "name": "Create Code HTML",
      "type": "n8n-nodes-base.code",
      "position": [
        -1152,
        752
      ]
    },
    {
      "id": "d1d0195c-ec4e-4990-bce9-0b103ceef218",
      "name": "Generate Code Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -960,
        752
      ]
    },
    {
      "id": "b900240c-9695-4c2a-8766-a0703c530721",
      "name": "GET the genarted Image",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -752,
        752
      ]
    },
    {
      "id": "88ce4578-58f3-4cbc-8ae4-fed95b73a75d",
      "name": "Upload to Image Repo",
      "type": "n8n-nodes-base.github",
      "position": [
        -864,
        192
      ]
    },
    {
      "id": "b99f1752-f6cd-4149-88c7-ba02975aeaf4",
      "name": "Merge",
      "type": "n8n-nodes-base.merge",
      "position": [
        -496,
        416
      ]
    },
    {
      "id": "d9397243-bad3-4699-9056-a22e41009a4d",
      "name": "Extract Modified Files",
      "type": "n8n-nodes-base.code",
      "position": [
        -1584,
        352
      ]
    },
    {
      "id": "b00dc7bd-c999-4617-b752-1c78a93fabd7",
      "name": "Extract from File",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -1120,
        352
      ]
    },
    {
      "id": "426f6797-088e-42f2-9f5d-ebcf2b853974",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -1472,
        1008
      ]
    },
    {
      "id": "b1c72cac-7e02-4a24-8dc0-99ea96a00c44",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        -1328,
        752
      ]
    },
    {
      "id": "7d068914-c1cc-4553-945d-0327ea5e66df",
      "name": "OpenRouter Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -1616,
        1008
      ]
    },
    {
      "id": "5afb4709-1651-4ba5-9cb7-e9da7437afe4",
      "name": "Extract from File1",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -1120,
        192
      ]
    }
  ],
  "connections": {
    "Merge": {
      "main": [
        [
          {
            "node": "Post to LinkedIn",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Create Code HTML",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Github Trigger1": {
      "main": [
        [
          {
            "node": "Extract Modified Files",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Code HTML": {
      "main": [
        [
          {
            "node": "Generate Code Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File": {
      "main": [
        [
          {
            "node": "LinkedIn Content Creator",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract from File1": {
      "main": [
        [
          {
            "node": "Upload to Image Repo",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Code Image": {
      "main": [
        [
          {
            "node": "GET the genarted Image",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GitHub File Download": {
      "main": [
        [
          {
            "node": "Extract from File",
            "type": "main",
            "index": 0
          },
          {
            "node": "Extract from File1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Upload to Image Repo": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenRouter Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "LinkedIn Content Creator",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Extract Modified Files": {
      "main": [
        [
          {
            "node": "GitHub File Download",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "GET the genarted Image": {
      "main": [
        [
          {
            "node": "Merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "LinkedIn Content Creator": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "LinkedIn Content Creator",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    }
  }
}