A web UI for managing beads issues across GitHub repositories.
Abacus lets you create, update, and manage beads issues through a web interface. It reads and writes directly to .beads/issues.jsonl files in your GitHub repositories via the GitHub API.
You can use Abacus alongside the bd CLI.
- Issue Management - Create, edit, and close beads issues
- Multiple Views - List view, activity feed, and dashboard
- Starring - Star important issues for quick access
- Bulk Updates - Update status or priority on multiple issues at once
- GitHub Integration - Link issues to PRs and commits
- Email Notifications - Get notified when your issues change (see docs/notifications.md)
- Executor Dispatch - Trigger GitHub Actions workflows to work on issues (see docs/executors.md)
Demo: https://abacus.motleywoods.dev (read-only)
To manage your own repositories, deploy your own instance - see Deployment below.
- A GitHub account
- Repositories with beads initialized (
bd init) - For self-hosting: Cloudflare account (or see src/server/README.md for other platforms)
# Install dependencies
npm install
# Run locally
npm run dev
# Type check
npm run typecheck
# Build
npm run buildnpx wrangler pages deploy distRequired secrets:
GITHUB_CLIENT_ID- GitHub OAuth app client IDGITHUB_CLIENT_SECRET- GitHub OAuth app client secretSESSION_SECRET- Random string for session encryptionRESEND_API_KEY- (Optional) API key from Resend for email notifications
Abacus includes an abstraction layer for running on other platforms. See src/server/README.md for instructions on deploying to Node.js, Docker, Fly.io, Railway, Vercel, or other hosting providers.
- Frontend: React + Vite
- Backend: Cloudflare Workers (Pages Functions)
- Auth: GitHub OAuth
- Storage:
- Issues stored in GitHub repos (
.beads/issues.jsonl) - User sessions in Cloudflare KV
- User metadata in Cloudflare D1
- Issues stored in GitHub repos (
MIT