# 🚀 Quick Start Guide Get Claude responding to your GitHub issues in minutes using Cloudflare Tunnel. ## Prerequisites - GitHub account - Docker installed - Claude.ai account with Max plan (5x or 20x) - Cloudflare account (free tier works) ## Step 1: Create a GitHub Bot Account 1. Sign out of GitHub and create a new account for your bot (e.g., `YourProjectBot`) 2. Sign in to your bot account and create a [Personal Access Token](https://github.com/settings/tokens) with `repo` and `write` permissions 3. Add the bot account as a collaborator to your repositories from your main account ## Step 2: Clone and Configure ```bash # Clone the repository git clone https://github.com/claude-did-this/claude-hub.git cd claude-hub # Copy the quickstart environment file cp .env.quickstart .env # Edit .env with your values nano .env ``` Required values: - `GITHUB_TOKEN`: Your bot account's GitHub Personal Access Token - `GITHUB_WEBHOOK_SECRET`: Generate with `openssl rand -hex 32` - `BOT_USERNAME`: Your bot's GitHub username (e.g., `@YourProjectBot`) - `BOT_EMAIL`: Your bot's email - `AUTHORIZED_USERS`: Comma-separated GitHub usernames who can use the bot ## Step 3: Authenticate Claude ```bash # Run the interactive setup ./scripts/setup/setup-claude-interactive.sh ``` This will: 1. Open your browser for Claude.ai authentication 2. Save your credentials securely 3. Confirm everything is working ## Step 4: Start the Service ```bash # Start the webhook service docker compose up -d # Check it's running docker compose logs -f webhook ``` ## Step 5: Install Cloudflare Tunnel ### Option A: Ubuntu/Debian ```bash # Add cloudflare gpg key sudo mkdir -p --mode=0755 /usr/share/keyrings curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null # Add this repo to your apt repositories echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared focal main' | sudo tee /etc/apt/sources.list.d/cloudflared.list # Install cloudflared sudo apt-get update && sudo apt-get install cloudflared ``` ### Option B: Direct Download ```bash # Download the latest cloudflared binary wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb sudo dpkg -i cloudflared-linux-amd64.deb ``` ### Option C: Using snap ```bash sudo snap install cloudflared ``` ## Step 6: Create Tunnel ```bash # Create a tunnel to your local service cloudflared tunnel --url http://localhost:3002 ``` Copy the generated URL (like `https://abc123.trycloudflare.com`) ## Step 7: Configure GitHub Webhook 1. Go to your repository → Settings → Webhooks 2. Click "Add webhook" 3. **Payload URL**: Your Cloudflare URL + `/api/webhooks/github` - Example: `https://abc123.trycloudflare.com/api/webhooks/github` 4. **Content type**: `application/json` 5. **Secret**: Same value as `GITHUB_WEBHOOK_SECRET` in your .env 6. **Events**: Select "Let me select individual events" - Check: Issues, Issue comments, Pull requests, Pull request reviews ## 🎉 You're Done! Test it in your own repository by creating an issue and mentioning your bot: ``` @YourProjectBot Can you help me understand this codebase? ``` **Note:** Your bot will only respond in repositories where you've configured the webhook and to users listed in `AUTHORIZED_USERS`. ## Next Steps - **Production Deployment**: Set up a permanent Cloudflare Tunnel with `cloudflared service install` - **Advanced Features**: Check `.env.example` for PR auto-review, auto-tagging, and more - **Multiple Repos**: Add the same webhook to any repo where you want bot assistance ## Community & Support [![Discord](https://img.shields.io/discord/1377708770209304676?color=7289da&label=Discord&logo=discord&logoColor=white)](https://discord.gg/yb7hwQjTFg) [![Documentation](https://img.shields.io/badge/docs-claude--did--this.com-blue?logo=readthedocs&logoColor=white)](https://claude-did-this.com/claude-hub/overview) Join our Discord server for help, updates, and to share your experience! ## Troubleshooting **Bot not responding?** - Check logs: `docker compose logs webhook` - Verify webhook delivery in GitHub → Settings → Webhooks → Recent Deliveries - Ensure the commenting user is in `AUTHORIZED_USERS` **Authentication issues?** - Re-run: `./scripts/setup/setup-claude-interactive.sh` - Ensure you have an active Claude.ai Max plan (5x or 20x) **Need help?** Ask in our [Discord server](https://discord.gg/yb7hwQjTFg) or check the [full documentation](https://claude-did-this.com/claude-hub/overview)!