Terminal Kanban viewer/editor for todo.txt files.
For ttkb to look correct, you should be using a modern terminal program, and you must also use a Nerd Font in your terminal.
You can place your todo.txt file in any directory, but the file must be named "todo.txt", and its companion file "done.txt" must be in the same directory, and must have the name "done.txt".
- Go to the latest github release.
- Download the correct binary for your architecture.
- Unzip the file.
- Copy the
ttkbfile to a directory in your path.
ttkb loads config from the first file found in:
- macOS:
~/Library/Application Support/ttkb/then~/.config/ttkb/ - Linux:
$XDG_CONFIG_HOME/ttkb/then~/.config/ttkb/ - Windows:
%APPDATA%\\ttkb\\then%LOCALAPPDATA%\\ttkb\\then%USERPROFILE%\\AppData\\Roaming\\ttkb\\
Supported filenames/formats:
config.jsonconfig.json5config.yamlconfig.ymlconfig.toml
todoDirectoryPath(string): directory containing yourtodo.txt. ttkb always usestodo.txtas the filename.cursorStyle(string): cursor rendering mode for command input. Options are:native(default, best-effort native terminal behavior),block,bar, orunderline.cursorBlink(boolean): whether command cursor blinks. Default:false.
If cursorStyle is set to block, bar, or underline, that explicit style is used and terminal detection is skipped.
If cursorStyle is native (or unset), ttkb attempts to detect shape/blink from the terminal and falls back to
block + non-blinking when detection is unavailable.
If cursorBlink is set, it overrides detected/default blink behavior.
{
"todoDirectoryPath": "~",
"cursorStyle": "bar",
"cursorBlink": true
}↑/↓/←/→: move selection across tasks and columns
a: add a taske: edit selected task description;: edit selected task dates- active task: edit created date
- done task: edit completed date; press
Tabto switch between completed/created date
p: set/clear selected task priorityx: toggle completion (backlog/doing ↔ done)d: toggle selected active task between backlog and doingDelete(orCtrl+Din terminals that map forward delete): delete selected task with confirmationc: move all completed tasks fromtodo.txttodone.txt
f: open filter prompt;Escclears active filterv: toggle card/table view?: show help overlay
Esc: cancel current prompt/confirmationShift+Q: open quit confirmation
- A task is in the "doing" state if it has a metadata key of
status:doing. - Tasks that are marked "done" lose their priority indicator, but preserve it as a metadata tag called
pri. - The concept of "recurring" tasks is intentionally not supported.