backlog-cli-0.3.0 is not a library.
backlog
A simple, fast backlog manager for your git repos. Track todos per-project with a beautiful interactive TUI.
┌─────────────────────────────────────────────────────────────┐
│ Backlog │
├─────────────────────────────────────────────────────────────┤
│ 1. [ ] Implement user authentication with OAuth │
│ 2. [ ] Add dark mode support for the dashboard │
│ 3. [x] Fix memory leak in websocket handler │
│ 4. [ ] Write integration tests for payment flow │
└─────────────────────────────────────────────────────────────┘
Features
- Per-repo backlogs - Each git repo gets its own
.todo/backlog.json - Global overview - See all your backlogs across repos from
~/.backlog/ - Interactive TUI - Navigate, edit, reorder, and manage items visually
- Vim-style keybindings -
j/knavigation,ddto delete, and more - Scrolling support - Page up/down for long lists
- Add items from TUI - Press
ato add new todos without leaving the interface - Wrapped text - Long items display properly with smart text wrapping
- Zero config - Just install and start using it
Installation
From source (recommended)
From crates.io
Build from source
Usage
Quick start
Commands
| Command | Description |
|---|---|
backlog |
Show pending items in current repo |
backlog add <text> |
Add a new item |
backlog list |
Show all items (including done) |
backlog list --all |
Show backlogs across all repos |
backlog next |
Show the next item to work on |
backlog done <n> |
Mark item #n as done |
backlog remove <n> |
Remove item #n |
backlog cli |
Open interactive TUI |
Interactive TUI
Launch with backlog cli for a full-screen interactive experience.
| Key | Action |
|---|---|
j / k / ↑ / ↓ |
Navigate up/down |
Enter |
Select item and output to stdout |
a |
Add new item |
x |
Toggle done/undone |
e |
Edit item text |
h |
Hide/show completed items |
K / J (shift) |
Move item up/down |
dd |
Delete immediately |
Delete / Backspace |
Delete with confirmation |
q / Esc |
Quit |
Storage
- Per-repo:
.todo/backlog.jsonin each git repository - Global index:
~/.backlog/index.jsontracks all repos with backlogs
Add .todo/ to your global gitignore if you don't want to commit backlogs:
Or commit them to share with your team - your choice!
Use Cases
Quick task capture while coding:
# You notice something while working
# Keep coding, deal with it later
Start your day:
Interactive session:
Pipe to other tools:
# Select a task interactively and pass to another tool
task=
License
MIT
Contributing
Contributions welcome! Please open an issue or PR on GitHub.