[READ-ONLY] Mirror of https://github.com/danielroe/carpenter. LLM-powered automations for triaging Nuxt issues github.com/nuxt/nuxt
bot cloudflare-pages llm webhook
0

Configure Feed

Select the types of activity you want to include in your feed.

331 9 0

Clone this repository

https://git.vm.fail/danielroe.dev/carpenter https://git.vm.fail/did:plc:vrsjpmm3wyulm33qjw322nob
ssh://git@knot1.tangled.sh:2222/danielroe.dev/carpenter ssh://git@knot1.tangled.sh:2222/did:plc:vrsjpmm3wyulm33qjw322nob

For self-hosted knots, clone URLs may differ based on your setup.


README.md

🔨 Carpenter#

An LLM-powered GitHub bot for issue triage automation in the Nuxt ecosystem

Carpenter is an automated assistant that helps with issue triage in the Nuxt GitHub repository. It uses AI to analyze issues, categorise them, detect missing reproductions, handle reopened issues, and translate non-English content.

🛠️ Tech Stack#

🚀 Getting Started#

Prerequisites#

  • Node.js (LTS version recommended)
  • PNPM package manager
  • GitHub account with access to create GitHub Apps
  • Cloudflare account for deployment

Local Development#

# Install dependencies
corepack enable
pnpm install

# Start development server
pnpm dev

Environment Setup#

Create a .env file with:

NUXT_HUB_PROJECT_KEY=<your-hub-project-key>
NUXT_CLOUDFLARE_API_TOKEN=<your-cloudflare-api-token>
NUXT_GITHUB_TOKEN=<your-github-token>
NUXT_GITHUB_TARGET_REPOSITORY_NODE_ID=<node id of repo to transfer spam issues to>
NUXT_WEBHOOK_GITHUB_SECRET_KEY=<your-webhook-secret-key>

# Cloudflare configuration (if applicable)
# Add any Cloudflare-specific environment variables
CLOUDFLARE_ACCOUNT_ID=<your-cloudflare-account-id>

You'll also need to configure GitHub webhooks for the repository you want to monitor. Set up a webhook with the following settings:

  • Payload URL: https://<your-cloudflare-worker-url>/api/webhook
  • Content type: application/json
  • Secret: <your-webhook-secret>

📄 License#

Published under MIT License.