2dui is a small command-line tool for project todos and checklist items.
It installs the 2do command.
- Finds
todo.yml,todo.yaml,2do.yml, and2do.yamlfiles. - Lists tasks from the current folder, nested folders, and parent folders.
- Adds, completes, removes, prioritizes, tags, and schedules tasks.
- Stores reminder metadata in the todo file.
- Validates todo files and checklist files.
- Compares nested checklist rows, such as which provider has the most checked boxes.
git clone https://github.com/anduimagui/2dui.git
cd 2dui
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"Install globally with pipx:
pipx install git+https://github.com/anduimagui/2dui.git2do files
2do list
2do list -a -p
2do list --format json
2do create
2do add "Write docs" -p 3 --deadline 2026-07-15 --tags docs
2do done "Write docs"
2do remove "Write docs"
2do remind "Write docs" --at tomorrow-9am
2do reminders list
2do reminders check
2do reminders syncUse another folder as the scan root:
2do --path /path/to/project listValidate a todo or checklist file:
2do validate todo.yml
2do validate provider-requirements-checklist.md --rank-providersCompare nested checklist rows:
2do compare provider-requirements-checklist.mdChecklist comparison expects top-level checklist items with nested rows:
- [ ] Can survey roof.
- [x] Alpha Solar
- [ ] Beta SolarOnly checked nested rows count toward comparison totals.
title: Project Todos
tasks:
- name: Write documentation
description: Update the README
done: false
priority: 3
deadline: 2026-07-15
tags: [docs]Useful task fields:
namedescriptiondonepriorityfrom1most important to10least importantdeadlineasYYYY-MM-DDtagsreminder
python -m pytest
ruff check .MIT