https://github.com/danielroe/carpenter
LLM-powered automations for triaging Nuxt issues
https://github.com/danielroe/carpenter
bot cloudflare-pages llm webhook
Last synced: 3 months ago
JSON representation
LLM-powered automations for triaging Nuxt issues
- Host: GitHub
- URL: https://github.com/danielroe/carpenter
- Owner: danielroe
- License: mit
- Created: 2024-04-23T14:38:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-21T08:16:42.000Z (3 months ago)
- Last Synced: 2025-07-21T09:30:07.395Z (3 months ago)
- Topics: bot, cloudflare-pages, llm, webhook
- Language: TypeScript
- Homepage: https://github.com/nuxt/nuxt
- Size: 1.55 MB
- Stars: 68
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🔨 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](https://github.com/nuxt/nuxt). It uses AI to analyze issues, categorise them, detect missing reproductions, handle reopened issues, and translate non-English content.
## 🛠️ Tech Stack
- Built on [Nuxt](https://nuxt.com/)
- [Nitro server API routes](https://nuxt.com/docs/guide/concepts/server-engine#server-engine)
- [GitHub API](https://docs.github.com/en/rest)
- Deployed on [NuxtHub](https://hub.nuxt.com/) using [Cloudflare AI](https://developers.cloudflare.com/workers-ai)
- Uses [Hugging Face models](https://huggingface.co/) for natural language processing## 🚀 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
```bash
# Install dependencies
corepack enable
pnpm install# Start development server
pnpm dev
```### Environment Setup
Create a `.env` file with:
```ini
NUXT_HUB_PROJECT_KEY=
NUXT_CLOUDFLARE_API_TOKEN=
NUXT_GITHUB_TOKEN=
NUXT_GITHUB_TARGET_REPOSITORY_NODE_ID=
NUXT_WEBHOOK_GITHUB_SECRET_KEY=# Cloudflare configuration (if applicable)
# Add any Cloudflare-specific environment variables
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:///api/webhook`
- **Content type**: `application/json`
- **Secret**: ``## 📄 License
Published under [MIT License](./LICENCE).