Markdown-Native
Works directly with your existing markdown files. No database, no lock-in.
A powerful CLI tool for scanning, filtering, and managing TODO tasks in markdown files. Built with TypeScript, designed for developers who love markdown.
# Install globally
npm install -g @md2do/cli
# List all tasks
md2do list
# Filter by assignee and priority
md2do list --assignee nick --priority urgent
# View statistics
md2do stats --by assigneemd2do recognizes standard markdown task syntax with rich metadata:
- [ ] Implement user authentication @jane !!! #backend #auth [due: 2026-01-20]
- [x] Write documentation @nick !! #docs [completed: 2026-01-15]
- [ ] Fix bug in parser @alex ! #bug [due: 2026-01-18]Supported metadata:
@username - Task assignee!!! / !! / ! - Priority (urgent/high/normal)#tag - Tags[due: YYYY-MM-DD] - Due date[completed: YYYY-MM-DD] - Completion date[todoist:ID] - Todoist sync IDmd2do automatically extracts context from your file structure when run from the repository root:
# Run from repository root to extract context
md2do list
# File structure:
projects/
acme-app/ # Project: acme-app
sprint-planning.md
widget-co/ # Project: widget-co
roadmap.md
1-1s/
nick.md # Person: nick
jane.md # Person: janeContext Extraction
Context extraction works when running md2do list from the repository root directory. The --path option currently doesn't preserve project/person context.
Import tasks to Todoist and sync completion status:
# Import markdown task to Todoist
md2do todoist import tasks.md:15
# Sync completion status from Todoist
md2do todoist sync --dry-run
md2do todoist sync --direction pullUse Claude Code or other AI assistants to query your tasks:
"What urgent tasks does @nick have?"
"Show me task breakdown by project"
"Generate my daily standup report"
📚 Get Started - Install and configure md2do
📖 Read the Guide - Learn about task format and features
💻 VSCode Extension - Install the VSCode extension
🔌 Todoist Setup - Set up Todoist integration
🤖 MCP Integration - Connect with Claude Code
📋 CLI Reference - Complete command documentation
Made with ❤️ by Nick Hart