Created
September 19, 2025 16:45
-
-
Save alnutile/c7fabaad3b2924549cfb83a573f73d47 to your computer and use it in GitHub Desktop.
Code Review with N8N and GitHub see the video https://youtu.be/x7JebstIZHs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "nodes": [ | |
| { | |
| "parameters": {}, | |
| "type": "n8n-nodes-base.manualTrigger", | |
| "typeVersion": 1, | |
| "position": [ | |
| -848, | |
| -544 | |
| ], | |
| "id": "3e05317c-eae8-47c5-bc7f-f22ac479261e", | |
| "name": "When clicking ‘Test workflow’" | |
| }, | |
| { | |
| "parameters": { | |
| "owner": { | |
| "__rl": true, | |
| "value": "alfred-nutile-inc", | |
| "mode": "list", | |
| "cachedResultName": "alfred-nutile-inc", | |
| "cachedResultUrl": "https://github.com/alfred-nutile-inc" | |
| }, | |
| "repository": { | |
| "__rl": true, | |
| "value": "business-hub", | |
| "mode": "list", | |
| "cachedResultName": "business-hub", | |
| "cachedResultUrl": "https://github.com/alfred-nutile-inc/business-hub" | |
| }, | |
| "events": [ | |
| "pull_request" | |
| ], | |
| "options": {} | |
| }, | |
| "type": "n8n-nodes-base.githubTrigger", | |
| "typeVersion": 1, | |
| "position": [ | |
| -848, | |
| -240 | |
| ], | |
| "id": "838c5b7b-0f15-40d7-a88e-e160e83f91dc", | |
| "name": "Github Trigger", | |
| "webhookId": "286a742b-a141-443e-9756-c08f497cbbc6", | |
| "credentials": { | |
| "githubApi": { | |
| "id": "qglIq51kE6A984uv", | |
| "name": "GitHub account" | |
| } | |
| } | |
| }, | |
| { | |
| "parameters": { | |
| "command": "=rm -rf /tmp/{{ $('Github Trigger').item.json.body.number }}\nmkdir /tmp/{{ $('Github Trigger').item.json.body.number }}" | |
| }, | |
| "type": "n8n-nodes-base.executeCommand", | |
| "typeVersion": 1, | |
| "position": [ | |
| -144, | |
| -448 | |
| ], | |
| "id": "83ffe122-5843-4204-baa7-b46c06991171", | |
| "name": "CleanUp" | |
| }, | |
| { | |
| "parameters": { | |
| "authentication": "gitPassword", | |
| "operation": "clone", | |
| "repositoryPath": "=/tmp/{{ $('Github Trigger').item.json.body.number }}/{{ $('vars').item.json.repo_name }}", | |
| "sourceRepository": "={{ $('vars').item.json.repo_url }}" | |
| }, | |
| "type": "n8n-nodes-base.git", | |
| "typeVersion": 1, | |
| "position": [ | |
| -320, | |
| -176 | |
| ], | |
| "id": "7940e23c-140a-4e89-894b-a1795ce3fc99", | |
| "name": "Git", | |
| "credentials": { | |
| "gitPassword": { | |
| "id": "MOw91u2crHPkbrVe", | |
| "name": "Git account" | |
| } | |
| } | |
| }, | |
| { | |
| "parameters": { | |
| "assignments": { | |
| "assignments": [ | |
| { | |
| "id": "f34c5b78-37b4-457b-ba23-0e5eb850ad07", | |
| "name": "repo_name", | |
| "value": "pet-paintings", | |
| "type": "string" | |
| }, | |
| { | |
| "id": "285f08f1-3573-427f-9a20-c7120f053e4f", | |
| "name": "site_url", | |
| "value": "https://petwatercolors.studio/", | |
| "type": "string" | |
| }, | |
| { | |
| "id": "d156f4c2-eca7-4669-8e36-f0e76b01226c", | |
| "name": "owner_name", | |
| "value": "alfred-nutile-inc", | |
| "type": "string" | |
| }, | |
| { | |
| "id": "07866a7c-43e8-4c88-8032-1eaee4e11ba9", | |
| "name": "repo_url", | |
| "value": "https://github.com/alfred-nutile-inc/pet-paintings", | |
| "type": "string" | |
| }, | |
| { | |
| "id": "325870f6-e1c6-4bfc-bf34-5c23f4dc7e6f", | |
| "name": "branch_name", | |
| "value": "={{ $json.body.pull_request.head.ref }}", | |
| "type": "string" | |
| } | |
| ] | |
| }, | |
| "options": {} | |
| }, | |
| "type": "n8n-nodes-base.set", | |
| "typeVersion": 3.4, | |
| "position": [ | |
| -320, | |
| -448 | |
| ], | |
| "id": "d0fec382-ab09-4429-91b5-b78b55669ca4", | |
| "name": "vars" | |
| }, | |
| { | |
| "parameters": { | |
| "command": "=cd /tmp/{{ $('Github Trigger').item.json.body.number }}/{{ $('vars').first().json.repo_name }}\ngit checkout {{ $('vars').first().json.branch_name }}\nnpm install repomix" | |
| }, | |
| "type": "n8n-nodes-base.executeCommand", | |
| "typeVersion": 1, | |
| "position": [ | |
| -64, | |
| -176 | |
| ], | |
| "id": "00528e10-118e-45bf-a24a-7cd89ad34282", | |
| "name": "InstallRepoMix", | |
| "alwaysOutputData": true | |
| }, | |
| { | |
| "parameters": { | |
| "command": "=cd /tmp/{{ $('Github Trigger').item.json.body.number }}/{{ $('vars').first().json.repo_name }}\nnpx repomix --style markdown --ignore \"node_modules\" --compress " | |
| }, | |
| "type": "n8n-nodes-base.executeCommand", | |
| "typeVersion": 1, | |
| "position": [ | |
| -320, | |
| 80 | |
| ], | |
| "id": "3e4d07b9-3685-4acb-8ddc-d50d90d77727", | |
| "name": "RunRepoMix", | |
| "alwaysOutputData": true | |
| }, | |
| { | |
| "parameters": { | |
| "fileSelector": "=/tmp/{{ $('Github Trigger').item.json.body.number }}/{{ $('vars').first().json.repo_name}}/repomix-output.md", | |
| "options": {} | |
| }, | |
| "type": "n8n-nodes-base.readWriteFile", | |
| "typeVersion": 1, | |
| "position": [ | |
| -80, | |
| 80 | |
| ], | |
| "id": "923d6b6a-91b5-4d01-89cf-d62abbb7b2d2", | |
| "name": "Read/Write Files from Disk" | |
| }, | |
| { | |
| "parameters": { | |
| "operation": "text", | |
| "destinationKey": "repomix", | |
| "options": {} | |
| }, | |
| "type": "n8n-nodes-base.extractFromFile", | |
| "typeVersion": 1, | |
| "position": [ | |
| -320, | |
| 320 | |
| ], | |
| "id": "bb2d718f-e741-488b-a14c-1725cc9e7415", | |
| "name": "RepoMix" | |
| }, | |
| { | |
| "parameters": { | |
| "promptType": "define", | |
| "text": "=## Results from Ai Agent Checking Seo\n{{ $('Seo Check').first().json }}\n\n## Results from Ai Agent Checking Codebase\n{{ $('Code Check').first().json }}\n\n## Past Issues to prevent making duplicate issues\n{{ $json.concatenated_data }}", | |
| "hasOutputParser": true, | |
| "options": { | |
| "systemMessage": "=Date: {{ $now }}\n\nYour role is to help this pull request meet the standards of this project and rules. \n\nUsing the Rules the code base has and the tools you have attached to you give a full review of the pull request so and build out an \"issue\" list that can be placed on the github repo related to this project.\n\n## ALWAYS\nMake sure to use the attached tools for specific checks. If the tool is not provided then ignore that check for now as we build up the tooling." | |
| } | |
| }, | |
| "type": "@n8n/n8n-nodes-langchain.agent", | |
| "typeVersion": 1.9, | |
| "position": [ | |
| -320, | |
| 624 | |
| ], | |
| "id": "a6a2c3c5-516a-4167-af29-a32c8cdda9e4", | |
| "name": "AI Agent" | |
| }, | |
| { | |
| "parameters": { | |
| "jsonSchemaExample": "[\n {\n \"issue_title\": \"<string>\",\n \"issue_details\": \"<string>\",\n \"issue_type:\": \"<string: security, code, style, seo>\",\n \"urgency\": \"<string: high, medium, low>\"\n }\n]" | |
| }, | |
| "type": "@n8n/n8n-nodes-langchain.outputParserStructured", | |
| "typeVersion": 1.2, | |
| "position": [ | |
| -80, | |
| 944 | |
| ], | |
| "id": "5f57a072-4d7e-412a-a8a0-dcc82aacf9e6", | |
| "name": "Structured Output Parser" | |
| }, | |
| { | |
| "parameters": { | |
| "options": {} | |
| }, | |
| "type": "n8n-nodes-base.splitInBatches", | |
| "typeVersion": 3, | |
| "position": [ | |
| 288, | |
| 624 | |
| ], | |
| "id": "bd85678f-e395-4144-b64d-d0c5c4b70b6a", | |
| "name": "Loop Over Items" | |
| }, | |
| { | |
| "parameters": { | |
| "owner": { | |
| "__rl": true, | |
| "value": "={{ $('Github Trigger').item.json.body.repository.owner.login }}", | |
| "mode": "name" | |
| }, | |
| "repository": { | |
| "__rl": true, | |
| "value": "={{ $('Github Trigger').item.json.body.repository.name }}", | |
| "mode": "name" | |
| }, | |
| "title": "={{ $json.issue_title }}", | |
| "body": "={{ $json.issue_details }}", | |
| "labels": [ | |
| { | |
| "label": "agentic" | |
| } | |
| ], | |
| "assignees": [ | |
| { | |
| "assignee": "={{ $('Github Trigger').first().json.body.pull_request.user.login }}" | |
| } | |
| ] | |
| }, | |
| "type": "n8n-nodes-base.github", | |
| "typeVersion": 1.1, | |
| "position": [ | |
| 480, | |
| 848 | |
| ], | |
| "id": "0cf5a826-2bdb-4fb8-9dc9-e8c3f950f576", | |
| "name": "GitHub", | |
| "webhookId": "63718d4c-55e6-4acd-8c62-60ecdf98323a", | |
| "credentials": { | |
| "githubApi": { | |
| "id": "qglIq51kE6A984uv", | |
| "name": "GitHub account" | |
| } | |
| } | |
| }, | |
| { | |
| "parameters": { | |
| "aggregate": "aggregateAllItemData", | |
| "include": "specifiedFields", | |
| "fieldsToInclude": "title,body", | |
| "options": {} | |
| }, | |
| "type": "n8n-nodes-base.aggregate", | |
| "typeVersion": 1, | |
| "position": [ | |
| 288, | |
| 320 | |
| ], | |
| "id": "fed59a56-8178-4b7d-877d-1f589268b555", | |
| "name": "Aggregate" | |
| }, | |
| { | |
| "parameters": { | |
| "resource": "repository", | |
| "owner": { | |
| "__rl": true, | |
| "value": "={{ $('Github Trigger').item.json.body.repository.owner.login }}", | |
| "mode": "name" | |
| }, | |
| "repository": { | |
| "__rl": true, | |
| "value": "={{ $('Github Trigger').item.json.body.repository.name }}", | |
| "mode": "name" | |
| }, | |
| "limit": 10, | |
| "getRepositoryIssuesFilters": {} | |
| }, | |
| "type": "n8n-nodes-base.github", | |
| "typeVersion": 1.1, | |
| "position": [ | |
| 128, | |
| 320 | |
| ], | |
| "id": "fc6b65c8-88bb-47b0-a0e5-ccad3f031f50", | |
| "name": "GetIssues", | |
| "webhookId": "eb07e48a-5a3a-426e-bcfd-19e8b1d91a86", | |
| "credentials": { | |
| "githubApi": { | |
| "id": "qglIq51kE6A984uv", | |
| "name": "GitHub account" | |
| } | |
| } | |
| }, | |
| { | |
| "parameters": { | |
| "fieldsToSummarize": { | |
| "values": [ | |
| { | |
| "aggregation": "concatenate", | |
| "field": "data" | |
| } | |
| ] | |
| }, | |
| "options": {} | |
| }, | |
| "type": "n8n-nodes-base.summarize", | |
| "typeVersion": 1.1, | |
| "position": [ | |
| 480, | |
| 320 | |
| ], | |
| "id": "b93afb2b-d1ce-4504-814b-2435ddf2a318", | |
| "name": "Issues" | |
| }, | |
| { | |
| "parameters": { | |
| "fieldToSplitOut": "output", | |
| "options": {} | |
| }, | |
| "type": "n8n-nodes-base.splitOut", | |
| "typeVersion": 1, | |
| "position": [ | |
| 32, | |
| 624 | |
| ], | |
| "id": "706b55bd-b129-4931-a2c4-71772a25af14", | |
| "name": "Split Out" | |
| }, | |
| { | |
| "parameters": { | |
| "aggregate": "aggregateAllItemData", | |
| "options": {} | |
| }, | |
| "type": "n8n-nodes-base.aggregate", | |
| "typeVersion": 1, | |
| "position": [ | |
| 528, | |
| 624 | |
| ], | |
| "id": "9e5bf1d1-7f4e-4d8b-9d44-e096e489bdb3", | |
| "name": "Aggregate1" | |
| }, | |
| { | |
| "parameters": { | |
| "fieldsToSummarize": { | |
| "values": [ | |
| { | |
| "aggregation": "concatenate", | |
| "field": "data" | |
| } | |
| ] | |
| }, | |
| "options": {} | |
| }, | |
| "type": "n8n-nodes-base.summarize", | |
| "typeVersion": 1.1, | |
| "position": [ | |
| 720, | |
| 624 | |
| ], | |
| "id": "9b35c03a-0b4a-4908-b9c7-c59518a5a335", | |
| "name": "Summarize" | |
| }, | |
| { | |
| "parameters": { | |
| "content": "Links\nhttps://github.com/alfred-nutile-inc/pet-paintings\n\nhttps://app.excalidraw.com/s/9rZJm2HlJOy/rTK9dZ8F9d\n\nhttps://github.com/alfred-nutile-inc/pet-paintings/issues", | |
| "height": 340, | |
| "width": 660 | |
| }, | |
| "type": "n8n-nodes-base.stickyNote", | |
| "typeVersion": 1, | |
| "position": [ | |
| 192, | |
| -544 | |
| ], | |
| "id": "4464370e-ab51-4d18-aec5-891b342dd39b", | |
| "name": "Sticky Note" | |
| }, | |
| { | |
| "parameters": { | |
| "resource": "review", | |
| "owner": { | |
| "__rl": true, | |
| "value": "={{ $('Github Trigger').item.json.body.pull_request.head.user.login }}", | |
| "mode": "name" | |
| }, | |
| "repository": { | |
| "__rl": true, | |
| "value": "={{ $('Github Trigger').item.json.body.pull_request.base.repo.name }}", | |
| "mode": "name" | |
| }, | |
| "pullRequestNumber": "={{ $('Github Trigger').item.json.body.number }}", | |
| "event": "comment", | |
| "body": "={{ $json.message.content.comment }}", | |
| "additionalFields": {} | |
| }, | |
| "type": "n8n-nodes-base.github", | |
| "typeVersion": 1.1, | |
| "position": [ | |
| 1040, | |
| 912 | |
| ], | |
| "id": "9265c281-2c5b-45e7-b327-1c1a88b9d2e9", | |
| "name": "GitHub1", | |
| "webhookId": "c69b2a20-eba8-42c1-8d2e-1281e34df95f", | |
| "credentials": { | |
| "githubApi": { | |
| "id": "qglIq51kE6A984uv", | |
| "name": "GitHub account" | |
| } | |
| } | |
| }, | |
| { | |
| "parameters": { | |
| "modelId": { | |
| "__rl": true, | |
| "value": "gpt-4.1-mini", | |
| "mode": "list", | |
| "cachedResultName": "GPT-4.1-MINI" | |
| }, | |
| "messages": { | |
| "values": [ | |
| { | |
| "content": "={{ $json.concatenated_data }}" | |
| }, | |
| { | |
| "content": "=Your role is to take all of these incoming issues that the AI before you suggested based on the code base it saw and just summarize these and then link to the particular pull request in the pull request issues so the user, sorry, to the pull request issues so the user can see all the issues.\n\n\n## Links to share with them\n\n**Issues**\nhttps://github.com/{{ $('Github Trigger').item.json.body.pull_request.head.repo.full_name }}/issues \n\n\n\n## Format Output\n\nMarkdown and in this form\n\n{\n \"comment\": \"<string>\"\n}", | |
| "role": "system" | |
| } | |
| ] | |
| }, | |
| "jsonOutput": true, | |
| "options": {} | |
| }, | |
| "type": "@n8n/n8n-nodes-langchain.openAi", | |
| "typeVersion": 1.8, | |
| "position": [ | |
| 960, | |
| 624 | |
| ], | |
| "id": "283831a3-93fa-4e65-83cd-4ec99e933936", | |
| "name": "OpenAI", | |
| "credentials": { | |
| "openAiApi": { | |
| "id": "I7RAbk2vtoz2FIGj", | |
| "name": "OpenAi account" | |
| } | |
| } | |
| }, | |
| { | |
| "parameters": { | |
| "workflowId": { | |
| "__rl": true, | |
| "value": "dnJP2EmRnN5DhAXg", | |
| "mode": "list", | |
| "cachedResultName": "tool-security" | |
| }, | |
| "workflowInputs": { | |
| "mappingMode": "defineBelow", | |
| "value": { | |
| "repomix": "={{ $('RepoMix').item.json.repomix }}" | |
| }, | |
| "matchingColumns": [ | |
| "repomix" | |
| ], | |
| "schema": [ | |
| { | |
| "id": "repomix", | |
| "displayName": "repomix", | |
| "required": false, | |
| "defaultMatch": false, | |
| "display": true, | |
| "canBeUsedToMatch": true, | |
| "type": "string", | |
| "removed": false | |
| } | |
| ], | |
| "attemptToConvertTypes": false, | |
| "convertFieldsToString": true | |
| }, | |
| "options": { | |
| "waitForSubWorkflow": true | |
| } | |
| }, | |
| "type": "n8n-nodes-base.executeWorkflow", | |
| "typeVersion": 1.2, | |
| "position": [ | |
| 752, | |
| 192 | |
| ], | |
| "id": "deec16cf-0dcd-4a9a-8690-5b4b75e59ea1", | |
| "name": "Code Check" | |
| }, | |
| { | |
| "parameters": { | |
| "workflowId": { | |
| "__rl": true, | |
| "value": "SgJwt72DmzlbmuEF", | |
| "mode": "list", | |
| "cachedResultName": "tool-seo" | |
| }, | |
| "workflowInputs": { | |
| "mappingMode": "defineBelow", | |
| "value": { | |
| "repomix": "={{ $('RepoMix').item.json.repomix }}" | |
| }, | |
| "matchingColumns": [ | |
| "repomix" | |
| ], | |
| "schema": [ | |
| { | |
| "id": "repomix", | |
| "displayName": "repomix", | |
| "required": false, | |
| "defaultMatch": false, | |
| "display": true, | |
| "canBeUsedToMatch": true, | |
| "type": "string", | |
| "removed": false | |
| } | |
| ], | |
| "attemptToConvertTypes": false, | |
| "convertFieldsToString": true | |
| }, | |
| "options": { | |
| "waitForSubWorkflow": true | |
| } | |
| }, | |
| "type": "n8n-nodes-base.executeWorkflow", | |
| "typeVersion": 1.2, | |
| "position": [ | |
| 752, | |
| 368 | |
| ], | |
| "id": "8d7fe2a8-baf6-4413-9a6f-28c0bfa1981a", | |
| "name": "Seo Check" | |
| }, | |
| { | |
| "parameters": { | |
| "workflowId": { | |
| "__rl": true, | |
| "value": "Qo3AzKIFPZJgvFYJ", | |
| "mode": "list", | |
| "cachedResultName": "tool-browser-check" | |
| }, | |
| "workflowInputs": { | |
| "mappingMode": "defineBelow", | |
| "value": { | |
| "repomix": "={{ $('RepoMix').first().json }}" | |
| }, | |
| "matchingColumns": [ | |
| "repomix" | |
| ], | |
| "schema": [ | |
| { | |
| "id": "repomix", | |
| "displayName": "repomix", | |
| "required": false, | |
| "defaultMatch": false, | |
| "display": true, | |
| "canBeUsedToMatch": true, | |
| "type": "string", | |
| "removed": false | |
| } | |
| ], | |
| "attemptToConvertTypes": false, | |
| "convertFieldsToString": true | |
| }, | |
| "options": { | |
| "waitForSubWorkflow": true | |
| } | |
| }, | |
| "type": "n8n-nodes-base.executeWorkflow", | |
| "typeVersion": 1.2, | |
| "position": [ | |
| 240, | |
| -336 | |
| ], | |
| "id": "b6424ce5-88c4-43cc-a4c9-290811c70675", | |
| "name": "Browser Check" | |
| }, | |
| { | |
| "parameters": {}, | |
| "type": "n8n-nodes-base.merge", | |
| "typeVersion": 3.1, | |
| "position": [ | |
| 1008, | |
| 352 | |
| ], | |
| "id": "54e8cc4d-da9b-4d44-b434-cea97ab57c49", | |
| "name": "Merge" | |
| }, | |
| { | |
| "parameters": { | |
| "model": { | |
| "__rl": true, | |
| "value": "gpt-4.1-mini", | |
| "mode": "list", | |
| "cachedResultName": "gpt-4.1-mini" | |
| }, | |
| "options": {} | |
| }, | |
| "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi", | |
| "typeVersion": 1.2, | |
| "position": [ | |
| -384, | |
| 944 | |
| ], | |
| "id": "c99b61a5-7985-4d4c-8e7b-d54cf38f7d98", | |
| "name": "OpenAI Chat Model", | |
| "credentials": { | |
| "openAiApi": { | |
| "id": "I7RAbk2vtoz2FIGj", | |
| "name": "OpenAi account" | |
| } | |
| } | |
| }, | |
| { | |
| "parameters": { | |
| "content": "Here we look for existing issues so we do not make a bunch of duplicates", | |
| "height": 224, | |
| "width": 496 | |
| }, | |
| "type": "n8n-nodes-base.stickyNote", | |
| "position": [ | |
| 96, | |
| 256 | |
| ], | |
| "typeVersion": 1, | |
| "id": "98cf1b37-5395-42fd-9eb3-1715b71df512", | |
| "name": "Sticky Note1" | |
| }, | |
| { | |
| "parameters": { | |
| "content": "Here we use repomix.\nI tried Claude and other tools\nMight come back to that later", | |
| "height": 192, | |
| "width": 752 | |
| }, | |
| "type": "n8n-nodes-base.stickyNote", | |
| "position": [ | |
| -624, | |
| 32 | |
| ], | |
| "typeVersion": 1, | |
| "id": "c8db001c-a5a5-40a6-b0b2-1fd33be574eb", | |
| "name": "Sticky Note2" | |
| }, | |
| { | |
| "parameters": { | |
| "content": "Just some examples of what you can do I share these below" | |
| }, | |
| "type": "n8n-nodes-base.stickyNote", | |
| "position": [ | |
| 736, | |
| 16 | |
| ], | |
| "typeVersion": 1, | |
| "id": "d346850b-aaab-4a48-9c12-7a0150f3c737", | |
| "name": "Sticky Note3" | |
| }, | |
| { | |
| "parameters": { | |
| "workflowInputs": { | |
| "values": [ | |
| { | |
| "name": "repomix" | |
| } | |
| ] | |
| } | |
| }, | |
| "type": "n8n-nodes-base.executeWorkflowTrigger", | |
| "typeVersion": 1.1, | |
| "position": [ | |
| -624, | |
| 1328 | |
| ], | |
| "id": "59ed30b8-e70e-4738-a1b1-c1733cc91e7b", | |
| "name": "input" | |
| }, | |
| { | |
| "parameters": { | |
| "operation": "get", | |
| "documentURL": "https://docs.google.com/document/d/1NXYTyaRLV-OxlobhHSIKPUIgPJ-X_99MxlU8_e_l_z8/edit?usp=sharing" | |
| }, | |
| "type": "n8n-nodes-base.googleDocs", | |
| "typeVersion": 2, | |
| "position": [ | |
| -400, | |
| 1328 | |
| ], | |
| "id": "eb0e1787-e18a-4d32-94dd-e45c935dfde1", | |
| "name": "Rules", | |
| "credentials": { | |
| "googleDocsOAuth2Api": { | |
| "id": "ePIoN2SszGduUgme", | |
| "name": "Google Docs account" | |
| } | |
| } | |
| }, | |
| { | |
| "parameters": { | |
| "modelId": { | |
| "__rl": true, | |
| "value": "gpt-4.1-mini", | |
| "mode": "list", | |
| "cachedResultName": "GPT-4.1-MINI" | |
| }, | |
| "messages": { | |
| "values": [ | |
| { | |
| "content": "={{ $('input').item.json.repomix }}\n" | |
| }, | |
| { | |
| "content": "Your role is to review the incoming code provided by repomix and the coding rules provided below and make sure the code is safe and has good patterns in place per the rules.\n\nProvide a clean explanation of the issue and a solution", | |
| "role": "system" | |
| } | |
| ] | |
| }, | |
| "options": {} | |
| }, | |
| "type": "@n8n/n8n-nodes-langchain.openAi", | |
| "typeVersion": 1.8, | |
| "position": [ | |
| -224, | |
| 1328 | |
| ], | |
| "id": "ead14930-b73f-412f-80eb-cc474fdd1e29", | |
| "name": "OpenAI1", | |
| "credentials": { | |
| "openAiApi": { | |
| "id": "I7RAbk2vtoz2FIGj", | |
| "name": "OpenAi account" | |
| } | |
| } | |
| }, | |
| { | |
| "parameters": { | |
| "content": "This checks our rules. I keep them simple and they \nevolve over time\nThese rules are simple since the ui and ai are not doing much but change as needed" | |
| }, | |
| "type": "n8n-nodes-base.stickyNote", | |
| "position": [ | |
| -944, | |
| 1280 | |
| ], | |
| "typeVersion": 1, | |
| "id": "21d7d74e-8932-4c51-b622-9142f78a4527", | |
| "name": "Sticky Note4" | |
| }, | |
| { | |
| "parameters": { | |
| "modelId": { | |
| "__rl": true, | |
| "value": "gpt-4.1-mini", | |
| "mode": "list", | |
| "cachedResultName": "GPT-4.1-MINI" | |
| }, | |
| "messages": { | |
| "values": [ | |
| { | |
| "content": "={{ $json.repomix }}" | |
| }, | |
| { | |
| "content": "You are an seo export\nThe data coming in is from the well know library repomix\nUsing that review the index / layout files to make sure seo is in place.\nIf node make a run down and example code of all the seo work that can be done to improve the data in the file", | |
| "role": "system" | |
| } | |
| ] | |
| }, | |
| "options": {} | |
| }, | |
| "type": "@n8n/n8n-nodes-langchain.openAi", | |
| "typeVersion": 1.8, | |
| "position": [ | |
| -608, | |
| 1632 | |
| ], | |
| "id": "12a1c7df-43e9-4c7f-a635-3d3f7fdc93b9", | |
| "name": "OpenAI2", | |
| "credentials": { | |
| "openAiApi": { | |
| "id": "I7RAbk2vtoz2FIGj", | |
| "name": "OpenAi account" | |
| } | |
| } | |
| }, | |
| { | |
| "parameters": { | |
| "content": "TODO \nMove this out to it's own workflow\nThis is the SEO checker with our rules" | |
| }, | |
| "type": "n8n-nodes-base.stickyNote", | |
| "position": [ | |
| -944, | |
| 1600 | |
| ], | |
| "typeVersion": 1, | |
| "id": "925937f0-edf7-4fc8-a075-78c9063eb4b6", | |
| "name": "Sticky Note5" | |
| } | |
| ], | |
| "connections": { | |
| "When clicking ‘Test workflow’": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "vars", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Github Trigger": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "vars", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "CleanUp": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Git", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Git": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "InstallRepoMix", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "vars": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "CleanUp", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "InstallRepoMix": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "RunRepoMix", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "RunRepoMix": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Read/Write Files from Disk", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Read/Write Files from Disk": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "RepoMix", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "RepoMix": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "GetIssues", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "AI Agent": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Split Out", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Structured Output Parser": { | |
| "ai_outputParser": [ | |
| [ | |
| { | |
| "node": "AI Agent", | |
| "type": "ai_outputParser", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Loop Over Items": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Aggregate1", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ], | |
| [ | |
| { | |
| "node": "GitHub", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "GitHub": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Loop Over Items", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Aggregate": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Issues", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "GetIssues": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Aggregate", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Issues": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Code Check", | |
| "type": "main", | |
| "index": 0 | |
| }, | |
| { | |
| "node": "Seo Check", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Split Out": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Loop Over Items", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Aggregate1": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Summarize", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Summarize": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "OpenAI", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "OpenAI": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "GitHub1", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Code Check": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Merge", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Seo Check": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Merge", | |
| "type": "main", | |
| "index": 1 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Merge": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "AI Agent", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "OpenAI Chat Model": { | |
| "ai_languageModel": [ | |
| [ | |
| { | |
| "node": "AI Agent", | |
| "type": "ai_languageModel", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "input": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "Rules", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| }, | |
| "Rules": { | |
| "main": [ | |
| [ | |
| { | |
| "node": "OpenAI1", | |
| "type": "main", | |
| "index": 0 | |
| } | |
| ] | |
| ] | |
| } | |
| }, | |
| "pinData": { | |
| "Github Trigger": [ | |
| { | |
| "body": { | |
| "action": "edited", | |
| "number": 6, | |
| "pull_request": { | |
| "url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/pulls/6", | |
| "id": 2660155177, | |
| "node_id": "PR_kwDOOwQwoc6ejr8p", | |
| "html_url": "https://github.com/alfred-nutile-inc/tool-bot-ai/pull/6", | |
| "diff_url": "https://github.com/alfred-nutile-inc/tool-bot-ai/pull/6.diff", | |
| "patch_url": "https://github.com/alfred-nutile-inc/tool-bot-ai/pull/6.patch", | |
| "issue_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues/6", | |
| "number": 6, | |
| "state": "open", | |
| "locked": false, | |
| "title": "Update README.md", | |
| "user": { | |
| "login": "alnutile", | |
| "id": 365385, | |
| "node_id": "MDQ6VXNlcjM2NTM4NQ==", | |
| "avatar_url": "https://avatars.githubusercontent.com/u/365385?v=4", | |
| "gravatar_id": "", | |
| "url": "https://api.github.com/users/alnutile", | |
| "html_url": "https://github.com/alnutile", | |
| "followers_url": "https://api.github.com/users/alnutile/followers", | |
| "following_url": "https://api.github.com/users/alnutile/following{/other_user}", | |
| "gists_url": "https://api.github.com/users/alnutile/gists{/gist_id}", | |
| "starred_url": "https://api.github.com/users/alnutile/starred{/owner}{/repo}", | |
| "subscriptions_url": "https://api.github.com/users/alnutile/subscriptions", | |
| "organizations_url": "https://api.github.com/users/alnutile/orgs", | |
| "repos_url": "https://api.github.com/users/alnutile/repos", | |
| "events_url": "https://api.github.com/users/alnutile/events{/privacy}", | |
| "received_events_url": "https://api.github.com/users/alnutile/received_events", | |
| "type": "User", | |
| "user_view_type": "public", | |
| "site_admin": false | |
| }, | |
| "body": "001", | |
| "created_at": "2025-07-11T19:44:43Z", | |
| "updated_at": "2025-07-11T19:57:56Z", | |
| "closed_at": null, | |
| "merged_at": null, | |
| "merge_commit_sha": "7f2a863cea8cf28611cbf7b7eb97a2973322bd12", | |
| "assignee": null, | |
| "assignees": [], | |
| "requested_reviewers": [], | |
| "requested_teams": [], | |
| "labels": [], | |
| "milestone": null, | |
| "draft": false, | |
| "commits_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/pulls/6/commits", | |
| "review_comments_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/pulls/6/comments", | |
| "review_comment_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/pulls/comments{/number}", | |
| "comments_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues/6/comments", | |
| "statuses_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/statuses/ade708034e7ec340b5b0b92df0224f5ca6a9d07a", | |
| "head": { | |
| "label": "alfred-nutile-inc:staging", | |
| "ref": "staging", | |
| "sha": "ade708034e7ec340b5b0b92df0224f5ca6a9d07a", | |
| "user": { | |
| "login": "alfred-nutile-inc", | |
| "id": 8970227, | |
| "node_id": "MDEyOk9yZ2FuaXphdGlvbjg5NzAyMjc=", | |
| "avatar_url": "https://avatars.githubusercontent.com/u/8970227?v=4", | |
| "gravatar_id": "", | |
| "url": "https://api.github.com/users/alfred-nutile-inc", | |
| "html_url": "https://github.com/alfred-nutile-inc", | |
| "followers_url": "https://api.github.com/users/alfred-nutile-inc/followers", | |
| "following_url": "https://api.github.com/users/alfred-nutile-inc/following{/other_user}", | |
| "gists_url": "https://api.github.com/users/alfred-nutile-inc/gists{/gist_id}", | |
| "starred_url": "https://api.github.com/users/alfred-nutile-inc/starred{/owner}{/repo}", | |
| "subscriptions_url": "https://api.github.com/users/alfred-nutile-inc/subscriptions", | |
| "organizations_url": "https://api.github.com/users/alfred-nutile-inc/orgs", | |
| "repos_url": "https://api.github.com/users/alfred-nutile-inc/repos", | |
| "events_url": "https://api.github.com/users/alfred-nutile-inc/events{/privacy}", | |
| "received_events_url": "https://api.github.com/users/alfred-nutile-inc/received_events", | |
| "type": "Organization", | |
| "user_view_type": "public", | |
| "site_admin": false | |
| }, | |
| "repo": { | |
| "id": 990130337, | |
| "node_id": "R_kgDOOwQwoQ", | |
| "name": "tool-bot-ai", | |
| "full_name": "alfred-nutile-inc/tool-bot-ai", | |
| "private": true, | |
| "owner": { | |
| "login": "alfred-nutile-inc", | |
| "id": 8970227, | |
| "node_id": "MDEyOk9yZ2FuaXphdGlvbjg5NzAyMjc=", | |
| "avatar_url": "https://avatars.githubusercontent.com/u/8970227?v=4", | |
| "gravatar_id": "", | |
| "url": "https://api.github.com/users/alfred-nutile-inc", | |
| "html_url": "https://github.com/alfred-nutile-inc", | |
| "followers_url": "https://api.github.com/users/alfred-nutile-inc/followers", | |
| "following_url": "https://api.github.com/users/alfred-nutile-inc/following{/other_user}", | |
| "gists_url": "https://api.github.com/users/alfred-nutile-inc/gists{/gist_id}", | |
| "starred_url": "https://api.github.com/users/alfred-nutile-inc/starred{/owner}{/repo}", | |
| "subscriptions_url": "https://api.github.com/users/alfred-nutile-inc/subscriptions", | |
| "organizations_url": "https://api.github.com/users/alfred-nutile-inc/orgs", | |
| "repos_url": "https://api.github.com/users/alfred-nutile-inc/repos", | |
| "events_url": "https://api.github.com/users/alfred-nutile-inc/events{/privacy}", | |
| "received_events_url": "https://api.github.com/users/alfred-nutile-inc/received_events", | |
| "type": "Organization", | |
| "user_view_type": "public", | |
| "site_admin": false | |
| }, | |
| "html_url": "https://github.com/alfred-nutile-inc/tool-bot-ai", | |
| "description": "Unforked", | |
| "fork": false, | |
| "url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai", | |
| "forks_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/forks", | |
| "keys_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/keys{/key_id}", | |
| "collaborators_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/collaborators{/collaborator}", | |
| "teams_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/teams", | |
| "hooks_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/hooks", | |
| "issue_events_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues/events{/number}", | |
| "events_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/events", | |
| "assignees_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/assignees{/user}", | |
| "branches_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/branches{/branch}", | |
| "tags_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/tags", | |
| "blobs_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/blobs{/sha}", | |
| "git_tags_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/tags{/sha}", | |
| "git_refs_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/refs{/sha}", | |
| "trees_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/trees{/sha}", | |
| "statuses_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/statuses/{sha}", | |
| "languages_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/languages", | |
| "stargazers_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/stargazers", | |
| "contributors_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/contributors", | |
| "subscribers_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/subscribers", | |
| "subscription_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/subscription", | |
| "commits_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/commits{/sha}", | |
| "git_commits_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/commits{/sha}", | |
| "comments_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/comments{/number}", | |
| "issue_comment_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues/comments{/number}", | |
| "contents_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/contents/{+path}", | |
| "compare_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/compare/{base}...{head}", | |
| "merges_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/merges", | |
| "archive_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/{archive_format}{/ref}", | |
| "downloads_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/downloads", | |
| "issues_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues{/number}", | |
| "pulls_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/pulls{/number}", | |
| "milestones_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/milestones{/number}", | |
| "notifications_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/notifications{?since,all,participating}", | |
| "labels_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/labels{/name}", | |
| "releases_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/releases{/id}", | |
| "deployments_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/deployments", | |
| "created_at": "2025-05-25T15:08:19Z", | |
| "updated_at": "2025-07-10T18:42:13Z", | |
| "pushed_at": "2025-07-11T19:44:05Z", | |
| "git_url": "git://github.com/alfred-nutile-inc/tool-bot-ai.git", | |
| "ssh_url": "[email protected]:alfred-nutile-inc/tool-bot-ai.git", | |
| "clone_url": "https://github.com/alfred-nutile-inc/tool-bot-ai.git", | |
| "svn_url": "https://github.com/alfred-nutile-inc/tool-bot-ai", | |
| "homepage": null, | |
| "size": 9438, | |
| "stargazers_count": 0, | |
| "watchers_count": 0, | |
| "language": "TypeScript", | |
| "has_issues": true, | |
| "has_projects": true, | |
| "has_downloads": true, | |
| "has_wiki": false, | |
| "has_pages": false, | |
| "has_discussions": false, | |
| "forks_count": 0, | |
| "mirror_url": null, | |
| "archived": false, | |
| "disabled": false, | |
| "open_issues_count": 1, | |
| "license": null, | |
| "allow_forking": true, | |
| "is_template": false, | |
| "web_commit_signoff_required": false, | |
| "topics": [], | |
| "visibility": "private", | |
| "forks": 0, | |
| "open_issues": 1, | |
| "watchers": 0, | |
| "default_branch": "main", | |
| "allow_squash_merge": true, | |
| "allow_merge_commit": true, | |
| "allow_rebase_merge": true, | |
| "allow_auto_merge": false, | |
| "delete_branch_on_merge": false, | |
| "allow_update_branch": false, | |
| "use_squash_pr_title_as_default": false, | |
| "squash_merge_commit_message": "COMMIT_MESSAGES", | |
| "squash_merge_commit_title": "COMMIT_OR_PR_TITLE", | |
| "merge_commit_message": "PR_TITLE", | |
| "merge_commit_title": "MERGE_MESSAGE" | |
| } | |
| }, | |
| "base": { | |
| "label": "alfred-nutile-inc:main", | |
| "ref": "main", | |
| "sha": "972431f667ad91ab909f6cf34cbbf2c2af11cd14", | |
| "user": { | |
| "login": "alfred-nutile-inc", | |
| "id": 8970227, | |
| "node_id": "MDEyOk9yZ2FuaXphdGlvbjg5NzAyMjc=", | |
| "avatar_url": "https://avatars.githubusercontent.com/u/8970227?v=4", | |
| "gravatar_id": "", | |
| "url": "https://api.github.com/users/alfred-nutile-inc", | |
| "html_url": "https://github.com/alfred-nutile-inc", | |
| "followers_url": "https://api.github.com/users/alfred-nutile-inc/followers", | |
| "following_url": "https://api.github.com/users/alfred-nutile-inc/following{/other_user}", | |
| "gists_url": "https://api.github.com/users/alfred-nutile-inc/gists{/gist_id}", | |
| "starred_url": "https://api.github.com/users/alfred-nutile-inc/starred{/owner}{/repo}", | |
| "subscriptions_url": "https://api.github.com/users/alfred-nutile-inc/subscriptions", | |
| "organizations_url": "https://api.github.com/users/alfred-nutile-inc/orgs", | |
| "repos_url": "https://api.github.com/users/alfred-nutile-inc/repos", | |
| "events_url": "https://api.github.com/users/alfred-nutile-inc/events{/privacy}", | |
| "received_events_url": "https://api.github.com/users/alfred-nutile-inc/received_events", | |
| "type": "Organization", | |
| "user_view_type": "public", | |
| "site_admin": false | |
| }, | |
| "repo": { | |
| "id": 990130337, | |
| "node_id": "R_kgDOOwQwoQ", | |
| "name": "tool-bot-ai", | |
| "full_name": "alfred-nutile-inc/tool-bot-ai", | |
| "private": true, | |
| "owner": { | |
| "login": "alfred-nutile-inc", | |
| "id": 8970227, | |
| "node_id": "MDEyOk9yZ2FuaXphdGlvbjg5NzAyMjc=", | |
| "avatar_url": "https://avatars.githubusercontent.com/u/8970227?v=4", | |
| "gravatar_id": "", | |
| "url": "https://api.github.com/users/alfred-nutile-inc", | |
| "html_url": "https://github.com/alfred-nutile-inc", | |
| "followers_url": "https://api.github.com/users/alfred-nutile-inc/followers", | |
| "following_url": "https://api.github.com/users/alfred-nutile-inc/following{/other_user}", | |
| "gists_url": "https://api.github.com/users/alfred-nutile-inc/gists{/gist_id}", | |
| "starred_url": "https://api.github.com/users/alfred-nutile-inc/starred{/owner}{/repo}", | |
| "subscriptions_url": "https://api.github.com/users/alfred-nutile-inc/subscriptions", | |
| "organizations_url": "https://api.github.com/users/alfred-nutile-inc/orgs", | |
| "repos_url": "https://api.github.com/users/alfred-nutile-inc/repos", | |
| "events_url": "https://api.github.com/users/alfred-nutile-inc/events{/privacy}", | |
| "received_events_url": "https://api.github.com/users/alfred-nutile-inc/received_events", | |
| "type": "Organization", | |
| "user_view_type": "public", | |
| "site_admin": false | |
| }, | |
| "html_url": "https://github.com/alfred-nutile-inc/tool-bot-ai", | |
| "description": "Unforked", | |
| "fork": false, | |
| "url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai", | |
| "forks_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/forks", | |
| "keys_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/keys{/key_id}", | |
| "collaborators_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/collaborators{/collaborator}", | |
| "teams_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/teams", | |
| "hooks_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/hooks", | |
| "issue_events_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues/events{/number}", | |
| "events_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/events", | |
| "assignees_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/assignees{/user}", | |
| "branches_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/branches{/branch}", | |
| "tags_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/tags", | |
| "blobs_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/blobs{/sha}", | |
| "git_tags_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/tags{/sha}", | |
| "git_refs_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/refs{/sha}", | |
| "trees_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/trees{/sha}", | |
| "statuses_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/statuses/{sha}", | |
| "languages_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/languages", | |
| "stargazers_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/stargazers", | |
| "contributors_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/contributors", | |
| "subscribers_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/subscribers", | |
| "subscription_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/subscription", | |
| "commits_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/commits{/sha}", | |
| "git_commits_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/commits{/sha}", | |
| "comments_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/comments{/number}", | |
| "issue_comment_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues/comments{/number}", | |
| "contents_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/contents/{+path}", | |
| "compare_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/compare/{base}...{head}", | |
| "merges_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/merges", | |
| "archive_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/{archive_format}{/ref}", | |
| "downloads_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/downloads", | |
| "issues_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues{/number}", | |
| "pulls_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/pulls{/number}", | |
| "milestones_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/milestones{/number}", | |
| "notifications_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/notifications{?since,all,participating}", | |
| "labels_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/labels{/name}", | |
| "releases_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/releases{/id}", | |
| "deployments_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/deployments", | |
| "created_at": "2025-05-25T15:08:19Z", | |
| "updated_at": "2025-07-10T18:42:13Z", | |
| "pushed_at": "2025-07-11T19:44:05Z", | |
| "git_url": "git://github.com/alfred-nutile-inc/tool-bot-ai.git", | |
| "ssh_url": "[email protected]:alfred-nutile-inc/tool-bot-ai.git", | |
| "clone_url": "https://github.com/alfred-nutile-inc/tool-bot-ai.git", | |
| "svn_url": "https://github.com/alfred-nutile-inc/tool-bot-ai", | |
| "homepage": null, | |
| "size": 9438, | |
| "stargazers_count": 0, | |
| "watchers_count": 0, | |
| "language": "TypeScript", | |
| "has_issues": true, | |
| "has_projects": true, | |
| "has_downloads": true, | |
| "has_wiki": false, | |
| "has_pages": false, | |
| "has_discussions": false, | |
| "forks_count": 0, | |
| "mirror_url": null, | |
| "archived": false, | |
| "disabled": false, | |
| "open_issues_count": 1, | |
| "license": null, | |
| "allow_forking": true, | |
| "is_template": false, | |
| "web_commit_signoff_required": false, | |
| "topics": [], | |
| "visibility": "private", | |
| "forks": 0, | |
| "open_issues": 1, | |
| "watchers": 0, | |
| "default_branch": "main", | |
| "allow_squash_merge": true, | |
| "allow_merge_commit": true, | |
| "allow_rebase_merge": true, | |
| "allow_auto_merge": false, | |
| "delete_branch_on_merge": false, | |
| "allow_update_branch": false, | |
| "use_squash_pr_title_as_default": false, | |
| "squash_merge_commit_message": "COMMIT_MESSAGES", | |
| "squash_merge_commit_title": "COMMIT_OR_PR_TITLE", | |
| "merge_commit_message": "PR_TITLE", | |
| "merge_commit_title": "MERGE_MESSAGE" | |
| } | |
| }, | |
| "_links": { | |
| "self": { | |
| "href": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/pulls/6" | |
| }, | |
| "html": { | |
| "href": "https://github.com/alfred-nutile-inc/tool-bot-ai/pull/6" | |
| }, | |
| "issue": { | |
| "href": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues/6" | |
| }, | |
| "comments": { | |
| "href": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues/6/comments" | |
| }, | |
| "review_comments": { | |
| "href": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/pulls/6/comments" | |
| }, | |
| "review_comment": { | |
| "href": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/pulls/comments{/number}" | |
| }, | |
| "commits": { | |
| "href": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/pulls/6/commits" | |
| }, | |
| "statuses": { | |
| "href": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/statuses/ade708034e7ec340b5b0b92df0224f5ca6a9d07a" | |
| } | |
| }, | |
| "author_association": "MEMBER", | |
| "auto_merge": null, | |
| "active_lock_reason": null, | |
| "merged": false, | |
| "mergeable": true, | |
| "rebaseable": true, | |
| "mergeable_state": "clean", | |
| "merged_by": null, | |
| "comments": 0, | |
| "review_comments": 0, | |
| "maintainer_can_modify": false, | |
| "commits": 1, | |
| "additions": 2, | |
| "deletions": 74, | |
| "changed_files": 1 | |
| }, | |
| "changes": { | |
| "body": { | |
| "from": "" | |
| } | |
| }, | |
| "repository": { | |
| "id": 990130337, | |
| "node_id": "R_kgDOOwQwoQ", | |
| "name": "tool-bot-ai", | |
| "full_name": "alfred-nutile-inc/tool-bot-ai", | |
| "private": true, | |
| "owner": { | |
| "login": "alfred-nutile-inc", | |
| "id": 8970227, | |
| "node_id": "MDEyOk9yZ2FuaXphdGlvbjg5NzAyMjc=", | |
| "avatar_url": "https://avatars.githubusercontent.com/u/8970227?v=4", | |
| "gravatar_id": "", | |
| "url": "https://api.github.com/users/alfred-nutile-inc", | |
| "html_url": "https://github.com/alfred-nutile-inc", | |
| "followers_url": "https://api.github.com/users/alfred-nutile-inc/followers", | |
| "following_url": "https://api.github.com/users/alfred-nutile-inc/following{/other_user}", | |
| "gists_url": "https://api.github.com/users/alfred-nutile-inc/gists{/gist_id}", | |
| "starred_url": "https://api.github.com/users/alfred-nutile-inc/starred{/owner}{/repo}", | |
| "subscriptions_url": "https://api.github.com/users/alfred-nutile-inc/subscriptions", | |
| "organizations_url": "https://api.github.com/users/alfred-nutile-inc/orgs", | |
| "repos_url": "https://api.github.com/users/alfred-nutile-inc/repos", | |
| "events_url": "https://api.github.com/users/alfred-nutile-inc/events{/privacy}", | |
| "received_events_url": "https://api.github.com/users/alfred-nutile-inc/received_events", | |
| "type": "Organization", | |
| "user_view_type": "public", | |
| "site_admin": false | |
| }, | |
| "html_url": "https://github.com/alfred-nutile-inc/tool-bot-ai", | |
| "description": "Unforked", | |
| "fork": false, | |
| "url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai", | |
| "forks_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/forks", | |
| "keys_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/keys{/key_id}", | |
| "collaborators_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/collaborators{/collaborator}", | |
| "teams_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/teams", | |
| "hooks_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/hooks", | |
| "issue_events_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues/events{/number}", | |
| "events_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/events", | |
| "assignees_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/assignees{/user}", | |
| "branches_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/branches{/branch}", | |
| "tags_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/tags", | |
| "blobs_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/blobs{/sha}", | |
| "git_tags_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/tags{/sha}", | |
| "git_refs_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/refs{/sha}", | |
| "trees_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/trees{/sha}", | |
| "statuses_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/statuses/{sha}", | |
| "languages_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/languages", | |
| "stargazers_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/stargazers", | |
| "contributors_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/contributors", | |
| "subscribers_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/subscribers", | |
| "subscription_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/subscription", | |
| "commits_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/commits{/sha}", | |
| "git_commits_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/git/commits{/sha}", | |
| "comments_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/comments{/number}", | |
| "issue_comment_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues/comments{/number}", | |
| "contents_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/contents/{+path}", | |
| "compare_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/compare/{base}...{head}", | |
| "merges_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/merges", | |
| "archive_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/{archive_format}{/ref}", | |
| "downloads_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/downloads", | |
| "issues_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/issues{/number}", | |
| "pulls_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/pulls{/number}", | |
| "milestones_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/milestones{/number}", | |
| "notifications_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/notifications{?since,all,participating}", | |
| "labels_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/labels{/name}", | |
| "releases_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/releases{/id}", | |
| "deployments_url": "https://api.github.com/repos/alfred-nutile-inc/tool-bot-ai/deployments", | |
| "created_at": "2025-05-25T15:08:19Z", | |
| "updated_at": "2025-07-10T18:42:13Z", | |
| "pushed_at": "2025-07-11T19:44:05Z", | |
| "git_url": "git://github.com/alfred-nutile-inc/tool-bot-ai.git", | |
| "ssh_url": "[email protected]:alfred-nutile-inc/tool-bot-ai.git", | |
| "clone_url": "https://github.com/alfred-nutile-inc/tool-bot-ai.git", | |
| "svn_url": "https://github.com/alfred-nutile-inc/tool-bot-ai", | |
| "homepage": null, | |
| "size": 9438, | |
| "stargazers_count": 0, | |
| "watchers_count": 0, | |
| "language": "TypeScript", | |
| "has_issues": true, | |
| "has_projects": true, | |
| "has_downloads": true, | |
| "has_wiki": false, | |
| "has_pages": false, | |
| "has_discussions": false, | |
| "forks_count": 0, | |
| "mirror_url": null, | |
| "archived": false, | |
| "disabled": false, | |
| "open_issues_count": 1, | |
| "license": null, | |
| "allow_forking": true, | |
| "is_template": false, | |
| "web_commit_signoff_required": false, | |
| "topics": [], | |
| "visibility": "private", | |
| "forks": 0, | |
| "open_issues": 1, | |
| "watchers": 0, | |
| "default_branch": "main", | |
| "custom_properties": {} | |
| }, | |
| "organization": { | |
| "login": "alfred-nutile-inc", | |
| "id": 8970227, | |
| "node_id": "MDEyOk9yZ2FuaXphdGlvbjg5NzAyMjc=", | |
| "url": "https://api.github.com/orgs/alfred-nutile-inc", | |
| "repos_url": "https://api.github.com/orgs/alfred-nutile-inc/repos", | |
| "events_url": "https://api.github.com/orgs/alfred-nutile-inc/events", | |
| "hooks_url": "https://api.github.com/orgs/alfred-nutile-inc/hooks", | |
| "issues_url": "https://api.github.com/orgs/alfred-nutile-inc/issues", | |
| "members_url": "https://api.github.com/orgs/alfred-nutile-inc/members{/member}", | |
| "public_members_url": "https://api.github.com/orgs/alfred-nutile-inc/public_members{/member}", | |
| "avatar_url": "https://avatars.githubusercontent.com/u/8970227?v=4", | |
| "description": "Laravel, PHP, Developer" | |
| }, | |
| "sender": { | |
| "login": "alnutile", | |
| "id": 365385, | |
| "node_id": "MDQ6VXNlcjM2NTM4NQ==", | |
| "avatar_url": "https://avatars.githubusercontent.com/u/365385?v=4", | |
| "gravatar_id": "", | |
| "url": "https://api.github.com/users/alnutile", | |
| "html_url": "https://github.com/alnutile", | |
| "followers_url": "https://api.github.com/users/alnutile/followers", | |
| "following_url": "https://api.github.com/users/alnutile/following{/other_user}", | |
| "gists_url": "https://api.github.com/users/alnutile/gists{/gist_id}", | |
| "starred_url": "https://api.github.com/users/alnutile/starred{/owner}{/repo}", | |
| "subscriptions_url": "https://api.github.com/users/alnutile/subscriptions", | |
| "organizations_url": "https://api.github.com/users/alnutile/orgs", | |
| "repos_url": "https://api.github.com/users/alnutile/repos", | |
| "events_url": "https://api.github.com/users/alnutile/events{/privacy}", | |
| "received_events_url": "https://api.github.com/users/alnutile/received_events", | |
| "type": "User", | |
| "user_view_type": "public", | |
| "site_admin": false | |
| } | |
| }, | |
| "headers": { | |
| "host": "n8n-next.apps.thedailyaistudio.com", | |
| "user-agent": "GitHub-Hookshot/bde5943", | |
| "content-length": "24698", | |
| "accept": "*/*", | |
| "content-type": "application/json", | |
| "x-forwarded-for": "140.82.115.254", | |
| "x-forwarded-host": "n8n-next.apps.thedailyaistudio.com", | |
| "x-forwarded-port": "443", | |
| "x-forwarded-proto": "https", | |
| "x-forwarded-server": "536677c81f48", | |
| "x-github-delivery": "570ffda0-5e91-11f0-8ded-d011f9b49d1c", | |
| "x-github-event": "pull_request", | |
| "x-github-hook-id": "557475110", | |
| "x-github-hook-installation-target-id": "990130337", | |
| "x-github-hook-installation-target-type": "repository", | |
| "x-real-ip": "140.82.115.254", | |
| "accept-encoding": "gzip" | |
| }, | |
| "query": {} | |
| } | |
| ], | |
| "input": [ | |
| { | |
| "repomix": null | |
| } | |
| ] | |
| }, | |
| "meta": { | |
| "instanceId": "9ba32224070d4dc8fcb21b0beaef541f293bee284936bfc4b558be62fb1d5880" | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment