tdx

Your todos, in markdown, done fast.

View on GitHub
tdx demo

Installation

Homebrew (macOS/Linux)

brew install niklas-heer/tap/tdx

Quick Install Script

curl -fsSL https://niklas-heer.github.io/tdx/install.sh | bash

Nix

nix run github:niklas-heer/tdx
โšก

Fast

Single 4MB binary with instant startup. 30-40x faster than alternatives.

๐Ÿ“

Markdown-native

Todos live in todo.md. Version control friendly, human readable.

โŒจ๏ธ

Vim-style

Navigate with j/k, relative jumps (5j), and number keys.

๐Ÿ–ฅ๏ธ

Interactive TUI

Toggle, edit, delete, undo, move, copy. Fuzzy search, tag filtering, and live updates.

๐ŸŽฏ

Command Palette

Helix-style : commands with fuzzy search. Sort, filter, check all, and more.

๐Ÿ”ง

Scriptable

CLI commands: list, add, toggle, edit, delete for automation.

๐ŸŒ

Cross-platform

Works on macOS, Linux, and Windows.

๐Ÿ”„

Smart Sync

Auto-merge external changes with reactive file watching. Edit in multiple places safely.

๐Ÿท๏ธ

Tags

Organize with #tags inline. Filter by tag with multi-select. Color-coded for quick scanning.

๐ŸŽฏ

Priorities

Mark todos with !p1, !p2, !p3. Sort and filter by priority. Color-coded display.

๐Ÿ“…

Due Dates

Add @due(YYYY-MM-DD) to todos. Sort and filter by date. Color-coded by urgency.

๐ŸŽจ

Customizable

13 built-in themes (including all Catppuccin variants), custom themes support, live theme picker, per-file settings.

โš™๏ธ

Global Config

Set defaults in ~/.config/tdx/config.toml. Configure default file, theme, and behavior.

๐Ÿ“‚

Recent Files

Jump to recently opened files with cursor position restoration. Use tdx last for quick access.

๐Ÿ“‘

Nested Tasks

Organize todos hierarchically with Tab/Shift+Tab. Subtasks indent under parents automatically.

Advanced: Checklists & Per-File Config

Use YAML frontmatter for per-file settings. Perfect for reusable checklists, read-only templates, and organized project workflows.

tdx checklists demo

Frontmatter Config

Set show-headings, filter-done, read-only, and max-visible per file.

Batch Operations

:check-all and :uncheck-all for quick checklist resets.

Read-Only Mode

Use -r flag or frontmatter for view-only checklists and templates.

Keyboard Shortcuts

j / k Move down / up
gg / G First / last item
Space Toggle completion
n New todo after cursor
N New todo at end
e Edit todo
d Delete todo
c Copy to clipboard
m Move mode
Tab Indent (nest)
S-Tab Outdent
/ Fuzzy search
t Tag filter
p Priority filter
D Due date filter
r Recent files
: Command palette
u Undo
? Help menu
Esc Quit

Command Palette

Press : to open the command palette with fuzzy search.

check-all Mark all complete
uncheck-all Mark all incomplete
clear-done Delete completed
sort-done Sort by completion
sort-priority Sort by priority
sort-due Sort by due date
filter-done Toggle completed
filter-due Show with due dates
filter-overdue Show overdue
filter-today Show due today
filter-week Show due this week
theme Change color theme
wrap Toggle word wrap
line-numbers Toggle line numbers
show-headings Toggle headings
read-only Toggle read-only
save Save to file
reload Reload from disk