A beautiful terminal-based todo list application built with Go, featuring integration with TaskWarrior and an interactive TUI powered by Bubble Tea.
- Beautiful Terminal Interface: Clean, colorful table-based UI with Catppuccin color scheme
- TaskWarrior Integration: Full compatibility with TaskWarrior for task persistence and management
- Project Organization: Support for organizing tasks into projects using TaskWarrior syntax
- Interactive Navigation: Vim-like keybindings for efficient task management
- Search & Filter: Real-time text search and project-based filtering
- Task Status Management: Toggle task completion status with visual indicators
- Go 1.25.0 or later
- TaskWarrior (for task persistence)
git clone https://github.com/EwanGreer/todolist
cd todolist
go build -o todolist./todolist| Key | Action |
|---|---|
‘/“ or j/k |
Navigate through tasks |
Space or Enter |
Toggle task completion |
a |
Add new task |
d |
Delete selected task |
f |
Open project filter menu |
F |
Cycle to previous project filter |
/ |
Search tasks |
Esc |
Clear search or cancel current action |
q or Ctrl+C |
Quit application |
When adding a new task, you can use TaskWarrior syntax:
- Simple task:
Fix the bug - Task with project:
Write tests project:myapp
Tasks are organized into projects. Use the filter menu (f) to:
- View all tasks across projects
- Filter by specific project
- Navigate between different project views
Use / to search through task descriptions and project names in real-time.
This application uses TaskWarrior as its backend for task storage and management. Tasks are stored in ~/.task/ directory and are fully compatible with the TaskWarrior command-line tool.
- Task creation and modification
- Project assignment
- Task completion status
- Task deletion
- Timestamp tracking (creation, modification, completion)
- Backend: TaskWarrior integration via CLI commands
- Frontend: Bubble Tea TUI framework with Lipgloss styling
- Data Structure: In-memory todo representation with TaskWarrior synchronization
- Navigation: Table-based interface with cursor navigation
- Bubble Tea - Terminal UI framework
- Lipgloss - Style definitions for terminal apps
- Bubbles - Common Bubble Tea components
- Cobra - CLI framework
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is open source. Please check the repository for license details.