todo.txt-cli
TLDR
Add a new task
SYNOPSIS
todo.sh [options] action [tasknumber] [taskdescription]
DESCRIPTION
todo.txt-cli (todo.sh) is a shell script for managing tasks in a plain text file. It follows the todo.txt format, which uses simple conventions for priorities, projects (+project), contexts (@context), and dates.
Tasks are stored in todo.txt, one per line. Completed tasks are optionally archived to done.txt. The plain text format ensures portability and compatibility with any text editor, sync service, or scripting tool.
The script supports tab completion for priorities, contexts, and projects. Configuration is done through a .todo.cfg file which can customize colors, file locations, and default behaviors.
Install via package manager or Homebrew: `brew install todo-txt`
PARAMETERS
-f
Force actions without confirmation.-h
Display help.-p
Plain mode (no colors).-a
Don't auto-archive done tasks.-n
Don't preserve line numbers.-t
Don't prepend date on add.-v
Verbose mode.-V
Display version.-d file
Use alternate config file.
ACTIONS
add text: Add new task.
list term: List tasks matching term.
listall term: List all tasks including completed.
do n: Mark task n as done.
pri n priority: Set priority (A-Z) on task n.
depri n: Remove priority from task n.
append n text: Append text to task n.
prepend n text: Prepend text to task n.
replace n text: Replace task n with new text.
del n: Delete task n.
archive: Move done tasks to done.txt.
report: Add open/done counts to report.txt.
deduplicate: Remove duplicate lines.
CAVEATS
Requires Bash. Task numbers change when tasks are added or deleted. Use archive regularly to maintain consistent numbering. Plain text format means no built-in reminders or dependencies.
HISTORY
todo.txt was created by Gina Trapani as a simple, portable task management system. The format and CLI tool have inspired numerous apps and implementations across platforms. The project emphasizes future-proof, human-readable task storage.
SEE ALSO
task(1), taskwarrior(1), t(1), remind(1)


