Taskwarrior: управление задачами из терминала как искусство
Что и зачем нужен Taskwarrior
Taskwarrior — это мощный инструмент для управления задачами прямо из терминала. В отличие от громоздких GUI-органайзеров, он легковесен, гибок и идеально подходит для тех, кто проводит много времени в консоли.
Почему это удобно?
- Работает без графического интерфейса — быстро и везде, где есть терминал.
- Хранит данные локально (никаких лишних синхронизаций).
- Поддерживает теги, проекты, пользовательские поля, фильтры, кастомные отчеты.
- Гибко настраивается под ваши потребности.
Установка Taskwarrior
На Linux всё просто:
sudo apt update sudo apt install taskwarriorЧтобы была актуаьная версия идем на официальный сайт.
Первый запуск и впечатления
После установки выполним:
task list task add
По умолчанию интерфейс выглядит сухо и непонятно. Минимум полезной информации, неудобно ориентироваться.
Кастомизация Taskwarrior
Вот тут начинается магия. Taskwarrior позволяет настраивать всё: цвета, колонки, пользовательские поля, отчёты. Для кастомизации откроем конфиг:
nano ~/.taskrcВнутри увидим закомментированные строки, вот эти, к примеру, отвечают за цветовую палитру:
#include solarized-dark-256.theme #include solarized-light-256.theme #include no-color.themeМожно подключить готовые темы или создать свою, но прекола в этом не особо
Изменим под себя
По умолчанию вывод малоинформативный. Сделаем свой кастомный отчёт:
# Кастомный отчет report.list.columns=id,project,description,check report.list.labels=ИД,ПРОЕКТ,ОПИСАНИЕ,СТАТУС report.list.sort=id+Теперь в выводе будет: ID - просто порядковый номер ПРОЕКТ - указываем к чему относится задача ОПИСАНИЕ - тут все понятно СТАТУС - ожидание, в процессе, выполнено
Добавляем пользовательское поле
Создадим поле
check, чтобы отслеживать статус задачи:uda.check.type=string uda.check.label=Статус uda.check.values=wait,in_progress,done uda.check.default=waitТеперь у каждой задачи есть поле
checkс тремя состояниями:wait — ждет своего часаin_progress — в процессеdone — выполнена
Настраиваем цвета
Добавим цвета для статусов:
color.uda.check.wait=white color.uda.check.in_progress=blue color.uda.check.done=green
Итоговый пример
Вот так выглядят ласт строки
.taskrc:# Кастомный отчет report.list.columns=id,project,description,check report.list.labels=ИД,ПРОЕКТ,ОПИСАНИЕ,СТАТУС report.list.sort=id+ # Пользовательское поле uda.check.type=string uda.check.label=Статус uda.check.values=wait,in_progress,done uda.check.default=wait # Цвета для статусов color.uda.check.wait=white color.uda.check.in_progress=blue color.uda.check.done=green
Как это выглядит теперь
Выполняем:
task listИ видим аккуратную таблицу с понятными колонками и цветами.

Работа с задачами
Добавляем задачу:
task add "Написать статью про Taskwarrior" project:BlogМеняем статус:
task <ID> modify check:in_progressЗавершаем задачу:
Такой код завершит и удалит задачу из списка
task <ID> doneУдаляем задачу:
task <ID> deleteУдаляем все задачи (ОСТОРОЖНО!):
task list delete
Фильтры и быстрый поиск задач
Taskwarrior позволяет фильтроватать задачи по полям
Показать все задачи в статусе
in_progress:task check:in_progressПоказать все задачи по проекту:
task project:BlogПоказать все задачи, где описание содержит слово “статья”:
task description~статьяМожно комбинировать фильтры, например:
task project:Blog check:in_progress