尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A retro-themed autonomous GitHub agent. Send a plain-English instruction to an n8n webhook, and the agent will clone the target repo, run Claude Code CLI against it, then commit and push the results back to GitHub — fully automated.
n8n Workflow
│
│ POST /webhook
│ { "repo": "my-repo", "prompt": "Add a LICENSE file" }
▼
Express Server (server.js)
│
├─► git clone (or git pull if already local)
│
├─► claude --dangerously-skip-permissions -p "<prompt>"
│ Claude Code reads the repo, makes changes
│
├─► git add -A && git commit && git push
│
└─► JSON response back to n8n
{ "status": "success", "committed": true, "claudeOutput": "..." }
| Tool | Notes |
|---|---|
| Node.js ≥ 18 | Runs the Express server |
| Git | Must be on PATH |
| Claude Code CLI | Install: npm install -g @anthropic-ai/claude-code |
| GitHub Personal Access Token | Needs repo (read + write) scope |
git clone https://github.com/sameermotwani17-cell/retro_github-agent.git
cd retro_github-agent
npm install
cp .env.example .env
Edit .env and set your GitHub token:
GITHUB_TOKEN=ghp_your_personal_access_token
GITHUB_USERNAME=sameermotwani17-cell
PORT=3000
CLAUDE_TIMEOUT_MS=300000
npm start # production
npm run dev # development (auto-restart with nodemon)
You should see:
╔════════════════════════════════════════════════════════════════╗
║ ██████╗ ███████╗████████╗██████╗ ██████╗ ║
...
[BOOT] Listening on port 3000
[BOOT] Workspace : /path/to/retro_github-agent/workspace
POST /webhookTrigger the agent.
Request body (JSON):
| Field | Type | Required | Description |
|---|---|---|---|
repo | string | yes | Repository name (e.g. my-project) — owner is always GITHUB_USERNAME |
prompt | string | yes | Plain-English instruction for Claude Code |
Example:
{
"repo": "my-project",
"prompt": "Refactor the main function to use async/await and add JSDoc comments"
}
Success response:
{
"status": "success",
"repo": "my-project",
"committed": true,
"claudeOutput": "I've refactored the main function..."
}
Error response:
{
"status": "error",
"repo": "my-project",
"error": "GITHUB_TOKEN environment variable is not set."
}
GET /healthLiveness check.
{ "status": "ok", "agent": "retro-github-agent", "uptime": 42.1 }
POSThttp://your-server:3000/webhookrepo and prompt fields.Tip: n8n's default HTTP Request timeout is 5 minutes. If your Claude Code jobs run longer, increase
CLAUDE_TIMEOUT_MSon the agent side and configure n8n's timeout to match.
retro_github-agent/
├── server.js ← Express server + agent logic
├── package.json
├── .env.example ← Copy to .env and fill in secrets
├── .gitignore
├── README.md
└── workspace/ ← Cloned repos live here (git-ignored)
GITHUB_TOKEN is embedded in the git remote URL for authentication. It is never logged (the URL is only used internally).--dangerously-skip-permissions is required for non-interactive Claude Code use. Only run this agent in a trusted, isolated environment.workspace/ directory is git-ignored — cloned repos and their secrets are never committed to this repo.MIT