Skip to content

codegangsta/lazybeads

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LazyBeads

A terminal user interface for managing beads issues, inspired by LazyGit.

Navigate, create, and manage your project issues without leaving the terminal.

CleanShot 2026-01-07 at 18 17 53@2x

Features

  • Three-panel layout - See In Progress, Open, and Closed issues at a glance
  • Vim-style navigation - j/k to move, h/l to switch panels
  • Quick editing - Edit title, status, priority, or type with single keystrokes
  • Filter & search - Use / to filter issues by title or ID
  • Detail view - Press Enter to see full issue details
  • External editor - Edit descriptions with $EDITOR (defaults to nano)
  • Custom commands - Define your own keybindings for workflows

Installation

Prerequisites

  • Go 1.25+
  • bd CLI installed and available in PATH

From source

go install github.com/youruser/lazybeads@latest

Or clone and build:

git clone https://github.com/youruser/lazybeads
cd lazybeads
go install .

Usage

Run lazybeads in any directory with beads initialized:

cd your-project
lazybeads

If beads isn't initialized, you'll be prompted to set it up.

Validation mode

Verify the bd CLI integration works:

lazybeads --check

Keybindings

Navigation

Key Action
j / k Move down / up
g / G Jump to top / bottom
Ctrl+u / Ctrl+d Page up / down
h / l Previous / next panel

Actions

Key Action
Enter View issue details
a or c Create new issue
x Delete issue
R Refresh list

Quick edit

Key Action
t Edit title
s Edit status
p Edit priority
T Edit type
d or e Edit description (opens $EDITOR)
y Copy issue ID to clipboard

Filter

Key Action
/ Start filter
Esc Clear filter

General

Key Action
? Show help
Esc Go back / cancel
q Quit

Configuration

LazyBeads looks for a configuration file at:

  • $LAZYBEADS_CONFIG (if set)
  • ~/.config/lazybeads/config.yml (default)

Custom commands

Define custom keybindings that execute shell commands. Template variables from the selected issue are available.

customCommands:
  - key: "w"
    description: "Start work in new tmux pane"
    context: "list"  # list, detail, or global
    command: "tmux split-window -h 'claude --issue {{.ID}}'"

  - key: "b"
    description: "Open in browser"
    context: "list"
    command: "open 'https://your-tracker.com/issues/{{.ID}}'"

Available template variables:

  • {{.ID}} - Issue ID
  • {{.Title}} - Issue title
  • {{.Status}} - Status (open, in_progress, closed)
  • {{.Type}} - Type (task, bug, feature, epic, chore)
  • {{.Priority}} - Priority (0-4)
  • {{.Description}} - Full description

Project structure

lazybeads/
├── main.go              # Entry point, CLI flags
├── internal/
│   ├── app/             # Bubble Tea application model
│   ├── beads/           # bd CLI wrapper
│   ├── config/          # Configuration loading
│   ├── models/          # Data models
│   └── ui/              # UI components and styles
└── .beads/              # Issue storage (managed by bd)

Related projects

License

MIT

About

TUI for managing beads

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages