forked from claude-did-this/claude-hub
- Updated all GitHub URLs and organization references across the codebase - Updated documentation links to use claude-did-this.com - Removed self-hosted runner related files as they are no longer used - Updated test repository references - Preserved Docker Hub references as requested Note: .env files and .claude/settings.local.json were also updated but are gitignored 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Claude <noreply@anthropic.com>
4.5 KiB
4.5 KiB
🚀 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
- Sign out of GitHub and create a new account for your bot (e.g.,
YourProjectBot) - In your main account, create a Personal Access Token with
repoandwritepermissions - Add the bot account as a collaborator to your repositories
Step 2: Clone and Configure
# 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 GitHub Personal Access TokenGITHUB_WEBHOOK_SECRET: Generate withopenssl rand -hex 32BOT_USERNAME: Your bot's GitHub username (e.g.,@YourProjectBot)BOT_EMAIL: Your bot's emailAUTHORIZED_USERS: Comma-separated GitHub usernames who can use the bot
Step 3: Authenticate Claude
# Run the interactive setup
./scripts/setup/setup-claude-interactive.sh
This will:
- Open your browser for Claude.ai authentication
- Save your credentials securely
- Confirm everything is working
Step 4: Start the Service
# 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
# 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
# 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
sudo snap install cloudflared
Step 6: Create Tunnel
# 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
- Go to your repository → Settings → Webhooks
- Click "Add webhook"
- Payload URL: Your Cloudflare URL +
/api/webhooks/github- Example:
https://abc123.trycloudflare.com/api/webhooks/github
- Example:
- Content type:
application/json - Secret: Same value as
GITHUB_WEBHOOK_SECRETin your .env - 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.examplefor PR auto-review, auto-tagging, and more - Multiple Repos: Add the same webhook to any repo where you want bot assistance
Community & Support
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 or check the full documentation!