Taskwarrior. Обзор и настройка

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
Категории: Bash