A beautiful, real-time Text User Interface (TUI) visualizer for the bd (beads) issue tracker.
.beads/ directory with beads.db in your projectThe easiest way to install on macOS:
brew tap assimelha/tap
brew install bdui
To upgrade to the latest version:
brew upgrade bdui
Download the latest release for your platform:
- macOS (ARM64): bdui-macos-arm64
- macOS (x64): bdui-macos-x64
- Linux (x64): bdui-linux-x64
- Windows (x64): bdui-windows-x64.exe
Make it executable (Unix systems):
chmod +x bdui-macos-arm64
./bdui-macos-arm64
# Clone the repository
git clone <repository-url>
cd bdui
# Install dependencies
bun install
# Run in development mode
bun run dev
# Or build single binary for your platform
bun run build
./bdui
# Build for macOS (both ARM64 and x64)
bun run build:macos
# Build for Linux x64
bun run build:linux
# Build for Windows x64
bun run build:windows
# Build for all platforms
bun run build:all
Binaries will be created in the dist/ directory (~50-60 MB each, includes Bun runtime).
Navigate to a directory containing a .beads/ folder and run:
bdui
Or from the source directory:
bun run dev
The app will automatically discover the .beads/ directory by walking up the directory tree (like git).
↑/↓ or k/j - Move up/down (select issue)←/→ or h/l - Move left/right (change column in Kanban view)Enter or Space - Toggle detail panel1 - Kanban board view (default)2 - Tree view (hierarchical)3 - Dependency graph4 - Statistics dashboardN (Shift+N) - Create new issuee - Edit selected issuex - Export/copy selected issuet - Change theme/ - Open search (searches title, description, ID)f - Open filter panel (filter by assignee, tags, priority, status)c - Clear all filters and searchESC - Close search/filter/form panelsr - Refresh data from databasen - Toggle notifications? - Show helpq or Ctrl+C - QuitThe main view shows issues organized in 4 columns: - Open - New or ready-to-work issues - In Progress - Currently being worked on - Blocked - Issues waiting on dependencies - Closed - Completed issues
Features: - Color-coded priorities (P0-P4) - Type indicators (epic, feature, bug, task, chore) - Label tags - Per-column pagination and selection - Responsive layout (adapts to terminal size)
Shows hierarchical parent-child relationships:
- Navigate with ↑/↓ or k/j
- Press Enter/Space to toggle details
- Press e to edit selected issue
- Visual tree structure with connection lines
- Depth-aware indentation
Visualizes issue dependencies: - Issues organized by dependency levels - Shows blocking relationships - Navigate with ↑/↓ or k/j - Color-coded by type and status - Displays parent-child and blocking relationships
Comprehensive analytics: - Status Distribution - Visual bar chart of issue statuses - Priority Breakdown - Distribution across P0-P4 - Issue Type Distribution - Epic, feature, bug, task, chore counts - Key Metrics - Completion rate, blocked rate, dependency count - Top Assignees - Most active team members - Top Labels - Most used labels
BD TUI supports native desktop notifications for important events:
Shows issue ID and priority
Task Blocked 🚫 - When an issue becomes blocked
Custom icons are located in assets/icons/:
- completed.png - Green circle with white checkmark (512x512)
- blocked.png - Red circle with prohibition symbol (512x512)
Platform support: - macOS - Full support with custom icons in Notification Center - Linux - Freedesktop.org notification spec - Windows - Toast notifications
Toggle notifications with the n key. Current state is shown in the footer (🔔 ON / 🔕 OFF).
bun run test:notifications
Press N (Shift+N) to open the create issue form:
- Tab/Shift+Tab to navigate between fields
- Fill in: title, description, priority (P0-P4), type, assignee, labels
- Press Enter to submit
- ESC to cancel
Select any issue and press e to open the edit form:
- All fields pre-populated with current values
- Tab/Shift+Tab to navigate
- Use ↑/↓ to change priority and status
- Press Enter to save changes
- ESC to cancel
Changes are immediately written to the bd database and reflected in the UI.
Press x on any selected issue to open the export dialog:
{issue-id}.{extension} in current directoryPress Enter to execute. Works on macOS, Linux, and Windows.
BD TUI includes 5 built-in color schemes. Press t to open the theme selector:
Use ↑/↓ or k/j to browse themes. Each theme shows a live color preview. Press Enter to apply.
Removes all active search and filter criteria.
Terminal dimensions are shown in the header (e.g., "120x30").
A test project with sample issues is included:
cd /tmp/bdui-test
bun run /path/to/bdui/src/index.tsx
The test project includes: - 11 diverse issues (varied priorities, types, statuses) - Multiple assignees (alice, bob, charlie, diana) - Parent-child relationships (epic with children) - Blocking dependencies - Various labels and metadata
See /tmp/bdui-test/README.md for a complete feature walkthrough.
# Test notifications
bun run test:notifications
# Run in development mode
bun run dev
# Test with your own bd project
cd /path/to/your/project
bun run /path/to/bdui/src/index.tsx
bun:sqlite)beads.dbfs.watch monitoring with 100ms debouncebdui/
├── src/
│ ├── components/ # React/Ink components
│ │ ├── App.tsx # Main app with keyboard handling
│ │ ├── Board.tsx # View router
│ │ ├── KanbanView/ # 4-column Kanban board
│ │ ├── TreeView.tsx # Hierarchical tree view
│ │ ├── DependencyGraph.tsx
│ │ ├── StatsView.tsx
│ │ ├── CreateIssueForm.tsx
│ │ ├── EditIssueForm.tsx
│ │ ├── ExportDialog.tsx
│ │ ├── ThemeSelector.tsx
│ │ └── ...
│ ├── bd/ # bd integration
│ │ ├── parser.ts # SQLite database reading
│ │ ├── watcher.ts # File watching
│ │ └── commands.ts # bd CLI integration
│ ├── state/ # State management
│ │ └── store.ts # Zustand store
│ ├── themes/ # Theme definitions
│ │ └── themes.ts
│ ├── utils/ # Utilities
│ │ ├── notifications.ts
│ │ └── export.ts
│ ├── types.ts # TypeScript types
│ └── index.tsx # Entry point
├── assets/
│ └── icons/ # Notification icons
│ ├── completed.png
│ ├── blocked.png
│ └── README.md
├── CLAUDE.md # Development documentation
├── package.json
└── README.md # This file
Contributions are welcome! This project uses bd (beads) for issue tracking.
# Clone repository
git clone <repository-url>
cd bdui
# Install dependencies
bun install
# Run in development mode
bun run dev
See CLAUDE.md for detailed architecture documentation and guidelines for:
- Adding new view modes
- Adding new filters
- Creating new components
- Modifying the data flow
MIT License - See LICENSE file for details
For issues, questions, or contributions:
1. Check the documentation in CLAUDE.md
2. Review existing bd issues in this repository
3. Create a new bd issue with detailed information
Made with ❤️ for developers who love the command line