🎯 Why This Bot?
Stop context-switching between Discord and GitHub. Manage your entire issue workflow from the comfort of your Discord server. Whether you're tracking bugs, managing features, or collaborating with your team, this bot brings GitHub's power directly to Discord.
Built with security in mind — Personal OAuth authentication ensures all actions are attributed correctly, and AES-256-GCM encryption keeps your tokens safe.
✨ Features
🔐 Secure Authentication
- Personal OAuth - Each user authenticates with their own GitHub account
- AES-256-GCM Encryption - Tokens encrypted at rest
- Ephemeral Auth Links - Private authentication messages
⚡ Issue Management
- Create issues with rich descriptions
- List issues (open, closed, or all)
- View detailed issue information
- Close issues directly from Discord
- Comment and collaborate seamlessly
🎛️ Smart Configuration
- Channel-Specific Defaults - Set repository per channel
- Project Integration - Link to GitHub Projects with pagination and filtering
- Modern Slash Commands - Intuitive autocomplete
🐳 Deployment Ready
- Docker Support - One-command deployment
- Docker Compose - Production-ready setup
- Persistent Storage - Volume-mounted database
🚀 Getting Started
Choose the best option for your needs:
🤔 Which Option Should I Choose?
| Feature | Hosted Version | Self-Hosted |
|---|---|---|
| Setup Time | < 1 minute | ~15-30 minutes |
| Technical Knowledge | None required | Basic Docker/Go knowledge |
| Cost | Free | Server costs (if applicable) |
| Maintenance | Automatic | Manual updates |
| Data Control | Hosted by bot provider | Full control |
| Custom Features | Not available | Modify as needed |
| Private Network | ❌ | ✅ |
📚 Usage
🎯 Getting Started
The first time you use the bot, authenticate with your GitHub account:
/gh-auth - Get your personal OAuth link (only you can see it)
Click the link, authorize on GitHub, and you're ready!
🎮 Command Reference
| Command | Description | Example |
|---|---|---|
/gh-issue-create |
Create a new issue | /gh-issue-create title:"Login bug" body:"Users can't sign in" |
/gh-issue-list |
List issues (open/closed/all), with pagination and filtering | /gh-issue-list state:open |
/gh-issue-view |
View detailed issue info | /gh-issue-view number:42 |
/gh-issue-close |
Close an issue with a reason (completed, not_planned, or duplicate) | /gh-issue-close number:42 state_reason:completed |
/gh-issue-comment |
Add a comment to an issue | /gh-issue-comment number:42 comment:"Fixed!" |
/gh-project-item-list |
List project items (open/closed/all), with pagination and filtering | /gh-project-item-list project:123 state:open |
/gh-project-item-create |
Create a new project item | /gh-project-item-create project:123 title:"New Feature" body:"Implement X" |
/gh-project-item-view |
View detailed project item information | /gh-project-item-view project:123 item-id:456 |
/gh-project-item-archive |
Archive a project item | /gh-project-item-archive project:123 item-id:456 |
/gh-set-repo |
Set default repo for channel | /gh-set-repo repo:owner/repository |
/gh-unauth |
Remove authentication | /gh-unauth |
🔒 Security
| 🔐 Token Encryption | AES-256-GCM encryption at rest |
| 👤 Personal Auth | Each user uses their own GitHub account |
| 🙈 Ephemeral Messages | Auth links visible only to requesting user |
| ✅ OAuth 2.0 | Standard flow with state validation |
| 🛡️ No Shared Secrets | Zero token sharing between users |