todo

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 5, 2026 License: MIT Imports: 8 Imported by: 0

README

Todo TUI

A terminal user interface (TUI) todo list manager with animations, themes, and comprehensive features.

Preview

Table of Contents

Features

  • Task Management - Add, edit, and complete tasks with rich descriptions
  • Recycle Bin - Safe deletion with undo functionality
  • Multiple Views - Tasks, recycle bin, tutorial, and help system
  • User Interface - 30+ animations, 10 color themes, expandable task details
  • Cross-platform - Works on Windows, macOS, and Linux
  • Data Storage - Markdown files with automatic persistence
  • Logging - Automatic rotation and compression

Quick Start

Installation

Option 1: Go Install (Recommended)

go install github.com/nirabyte/todo@latest
todo

[!TIP] On first launch, the application will show helpful hints to get you started.

Option 2: Pre-built Binaries

  • Visit Releases
  • Download the appropriate binary for your platform
  • Extract and run

Option 3: Build from Source

git clone https://github.com/nirabyte/todo.git
cd todo
go build -o todo .
./todo

On Linux/macOS: chmod +x the binary if needed

Requirements
  • Go 1.25.5+ (for building)
  • Terminal with ANSI color support
  • Nerd Font for icons
Data Storage

Todos are stored as Markdown files:

  • Windows: %LOCALAPPDATA%\todo\todos.md
  • macOS: ~/Library/Application Support/todo/todos.md
  • Linux: ~/.local/share/todo/todos.md
Data Format

Tasks are stored in Markdown format:

# TODO List

<!-- Theme: 0, Sort: 0 -->

- [ ] Buy groceries
  Need milk, bread, and eggs

- [x] Finish project report
  Complete the quarterly summary

- [ ] Call dentist

Format Details:

  • [ ] - Incomplete tasks
  • [x] - Completed tasks
  • Indented text - Task descriptions
  • HTML comments store theme/sort preferences
Logging

Comprehensive logging with automatic rotation:

  • Location:
    • Windows: %APPDATA%\todo\logs\todo.log
    • macOS: ~/Library/Logs/todo/todo.log
    • Linux: ~/.local/share/todo/logs/todo.log
  • Rotation: 10MB size limit, keeps 5 files
  • Compression: Automatic gzip compression of old logs

Usage

Basic Controls
Key Action
n New task
e Edit task
Space Toggle completion
d Delete task
u Undo deletion
v Expand/collapse details
t Change theme
s Change sorting
Shift+B Recycle bin
Shift+T Tutorial mode
Shift+? Help menu
q/Ctrl+C Quit
Features
  • Task Descriptions: Add detailed notes to tasks
  • Recycle Bin: Safe deletion with undo
  • Tutorial Mode: Interactive guided tour
  • Themes: 10 color schemes
  • Animations: 30+ completion effects

Edit Task

Themes & Customization

  • 10 Color Themes: Catppuccin, Nord, Gruvbox, Dracula, Tokyo Night, Rose Pine, Everforest, One Dark, Solarized, Kanagawa
  • Sorting Options: Creation order, Todo first, Done first
  • Animations: 30+ unique completion effects

Theme Selection

Sorting Modes

Completion Animations

Data Storage

Todos are saved as readable Markdown files with your theme and sorting preferences.

Development

Testing
go test ./...                    # Run all tests
go test -v ./...                 # Run tests with verbose output
go test -cover ./...             # Run tests with coverage
go test -coverprofile=coverage.out ./... && go tool cover -html=coverage.out -o coverage.html  # Generate coverage report
Building
# Using Make
make build         # Build for current platform
make build-all     # Cross-platform build
make release       # Prepare release binaries

# Using build scripts
./build.sh         # Comprehensive bash script with testing, formatting, and cross-platform builds
./build.ps1        # PowerShell build script (Windows)
Technologies

Built with Go, Bubble Tea, and Lip Gloss.

Roadmap

Completed
  • Core task management with inline editing
  • Markdown persistence with automatic saving
  • 10 color themes and 30 completion animations
  • Sorting modes and task descriptions
  • Recycle bin with undo functionality
  • Multiple views and cross-platform support
  • Advanced logging and comprehensive testing
  • Build system with cross-platform tools
Future Plans
  • Kanban board view (columns: Todo, In Progress, Done)
  • Priority levels (High/Medium/Low) with visual indicators
  • Tags/categories for task organization
  • Due dates with calendar integration
  • Advanced search and filtering
  • Bulk operations (select multiple tasks)
  • Time tracking for tasks
  • Import/export (JSON, CSV, Markdown)
  • Performance optimizations

Contributing

See CONTRIBUTING.md for development guidelines.

License

This project is licensed under the MIT License — see the LICENSE file for details.

LICENSE

Contact

If you have questions, suggestions, or just want to chat, feel free to reach out to me on Discord:

Message me on Discord

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL