Mdt
Command line markdown todo list manager
Install / Use
/learn @basilioss/MdtREADME
:sparkles: Features
- Minimal set of functionality designed to finish tasks instead of organizing them.
- Flexible, future-proof markdown file format that you can use to add additional context and notes to your tasks.
- Nice, interactive command-line interface to quickly capture and check tasks.
:package: Dependencies
- POSIX-compliant shell (dash, bash, zsh etc.)
- gum
:rocket: Installation
Arch Linux
paru -S mdt # or with your AUR helper of choice
macOS (Homebrew)
brew install mdt
Manually with make
# Clone the repo
git clone https://github.com/basilioss/mdt
# Change your current directory to mdt
cd mdt
# Install
sudo make install
# Update
git pull
sudo make install
# Remove
sudo make uninstall
Manually with curl
# Download
curl -L https://raw.githubusercontent.com/basilioss/mdt/main/mdt > mdt
# Make it executable
chmod +x mdt
# Move it somewhere in your $PATH
mv mdt ~/.local/bin
:gear: Configuration
| Option | Environment Variable | Description |
| ------------------ | --------------------- | -------------------------------------------------------------------------------------------------------------------- |
| -d, --dir | MDT_DIR | Path to the tasks directory. By default the current working directory. |
| -i, --inbox | MDT_INBOX | Path to the inbox file. By default "TODO.md". |
| -m, --add-multiple | MDT_ADD_MULTIPLE_TASKS | Add multiple tasks at once. |
| -u, --unite-tasks | MDT_UNITE_TASKS | List all tasks in the file. By default false, if tasks are separated by headings, mdt will prompt you to select one. |
| --color | MDT_MAIN_COLOR | Main color. |
| --prompt | MDT_PROMPT | Input prompt character. Default is '◆'. |
| --cursor | MDT_CURSOR | Selection character. Default is '➔'. |
| --item-width | MDT_ITEM_WIDTH | Todo items width. 0 for no wrap, default is 75. |
| --input-width | MDT_INPUT_WIDTH | Input prompt width. 0 for no wrap, default is 65. |
| --editor | MDT_EDITOR, EDITOR | Markdown file editor. |
| | MDT_CHECKBOX_PREFIX | Prefix of markdown checkboxes [ ]/[x]. Default is '-'. |
Examples of using options:
# Static path to the inbox
alias mdt='mdt --dir ~/tasks --inbox ~/tasks/inbox.md'
# Dynamic path to the inbox
alias mdt='mdt --dir ~/tasks --inbox ~/tasks/"$(date -I).md"'
Examples of using environment variables:
export MDT_MAIN_COLOR='#5FAFFF'
export MDT_EDITOR='nvim -c "set nonumber"'
:keyboard: Keybindings
| Keybinding | Description | | ---------------------------- | ------------------- | | ↓/↑, j/k, Ctrl+j/k, Ctrl+n/p | Move up/down | | ←/→, g/G | Move top/bottom | | Tab/Space/x | Select | | a/A | Select/unselect all | | Enter | Accept |
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
