Skip to content

Shigure42/todo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

todo

A minimal terminal todo manager.

Designed for keyboard-driven workflows with a focus on simplicity and low overhead.


Installation

Install from crates.io:

cargo install tododo

Run:

todo

Demo

Todo TUI demo


Quick Start

todo

Inside TUI:

  • a — create todo
  • space — toggle completion
  • e — edit note
  • q — quit

Features

  • Create, update, and delete todos
  • Mark todos as done / undone
  • Priority levels
  • Inline note editing
  • Fully keyboard-driven interaction
  • SQLite-based persistence (no external dependencies)
  • CLI and TUI modes
  • JSON import / export support

Usage

TUI Mode / CLI Mode

todo -l                    # list todos
todo add "title"           # add todo
todo add "title" -c note   # add with note
todo add "title" -p S      # add with priority

todo done 1                # mark as done
todo delete 1              # delete
todo comment 1 "note"      # update note

todo json                  # export JSON
cat file.json | todo -i    # import JSON

Keybindings

Navigation

Key Description
j / k Move selection
/ Move selection
Enter Enter / back

Actions

Key Description
a Create todo
space Toggle completion
p Cycle priority
e Edit note
d Delete todo
y Confirm delete
n Cancel delete

Editing

Key Description
Ctrl+s Save
Esc Cancel / back

Exit

Key Description
q Quit
Ctrl+c Force quit

In delete confirmation, q cancels the modal.


Data Storage

  • Path: .todo/todo.db
  • Database: SQLite

Completed todos older than 30 days are hidden by default.


Limitations

  • Local-only (no sync)
  • No tagging or grouping
  • No configuration system

License

MIT

About

A minimal terminal todo manager

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors