Skip to content

gotodo v0.0.1 - Initial Release

Choose a tag to compare

@juparave juparave released this 01 Oct 03:21
· 11 commits to main since this release

gotodo v0.0.1

A simple, Git-aware todo CLI tool written in Go. Manage your todos with colors, repository integration, and per-project lists.

What's New

Added

  • Git Repository Integration: Automatically uses .gotodo.json at the Git repository root when inside a repo, otherwise in the current directory
  • Colored CLI Output: Beautiful terminal interface using Lipgloss library
  • Multi-word Tasks: Support for tasks with spaces in todo descriptions
  • Relative Timestamps: Show "Xh Ym ago" for open todos with --long flag
  • Flexible Commands:
    • gotodo init - Initialize a todo file
    • gotodo add "task description" - Add a new todo
    • gotodo list [--long] [--done-limit N] - List todos with optional timestamps
    • gotodo done <id|index> - Mark todo as completed
    • gotodo rm <id|index> [--force] - Remove a todo
  • Cross-platform Support: Works on Linux, macOS, and Windows
  • Comprehensive Documentation: README with installation, usage, and examples
  • Unit Tests: Test coverage for core functionality
  • MIT License: Open source licensing

Technical Details

  • Built with Go 1.24.2
  • Uses Lipgloss for terminal styling
  • Git-aware file discovery using git rev-parse --show-toplevel
  • JSON-based storage with atomic writes for data safety
  • Command-line argument parsing with flag support
  • Relative time formatting for human-readable timestamps

Known Limitations

  • Initial release with core functionality
  • No web sync or advanced features yet
  • CLI-only interface (no GUI or web UI)

Installation

# Via Go install
go install github.com/juparave/gotodo/cmd/gotodo@latest

# From source
git clone https://github.com/juparave/gotodo.git
cd gotodo
go install ./cmd/gotodo

Usage Examples

gotodo init
gotodo add "Write documentation"
gotodo list --long
gotodo done 1
gotodo rm 2