Channel Apps
Taskwarrior как инструмент организации рабочих и личных задач

eugene@hub.netzgemeinde.eu
Этой программе посвящено достаточное количество статей, но мне хотелось бы сделать акцент в том числе на ее использовании в профессиональной деятельности.

Если вы, скажем, юрист-фрилансер и сложные специализированные коммерческие продукты вам не требуются, такое решение может вполне подойти.

Почему не более простой планировщик/список todo?

1) Возможность группировки задач по проектам;
2) Гибкая настройка сроков выполнения (с понедельника по субботу каждую неделю, по четвергам и т.п.);
3) Проставление зависимостей (когда одна цель привязана к другой);
4) Учет времени работы над задачей (полезно для почасовки);
5) Расстановка приоритетов (например, все задачи можно поделить по известной классификации: важные срочные, важные несрочные, неважные срочные, неважные несрочные - "Матрица Эйзенхауэра").

Простым перечнем дел при таких потребностях вы вряд ли ограничитесь.

При создании статьи я использовал taskwarrior 2.5.3. (пакет из официального репозитория Дебиан). Существуют также версии для других операционных систем, в частности, для Windows.

Как юриста меня прежде всего интересовала лицензия, под которой выпущен этот продукт для ЭВМ. В Дебиан подобную информацию можно найти в файле /usr/share/doc/taskwarrior/copyright

Снимок экрана от 2025-10-12 16-53-44.png

Как видим, данный объект интеллектуальных прав состоит из нескольких компонентов и за единственным исключением подпадает под действие MIT License (лицензия свободного программного обеспечения, разработанная  Массачусетским технологическим институтом). Файлы doc/rc/holidays*.rc включены в дистрибутив на условиях одной из лицензий Creative Commons (CC-BY-3.0) - она также свободная. Обе они разрешают коммерческое использование.    

Вот как выглядит интерфейс программы. Скажу сразу, он терминальный. И это может многих оттолкнуть. Пожалуй, существенный минус.

Снимок экрана от 2025-10-12 18-04-37.png

Я ввел простейшую команду: task add "Написать статью о taskwarrior" due:today. Добавил задачу, указал срок выполнения: сегодня (то есть до конца текущих суток).

Компьютер присвоил ей номер 3487. Посмотреть информацию о ней теперь можно командой task info 3487.

Обратите внимание, что у каждой задачи кроме ID (в моем примере цифры 3487) имеется уникальный идентификатор UUID (он в отличие от ID остается неизменным, первый же - по сути порядковый номер - может меняться).

Для просмотра всех текущих задач введите: task list.

Отметить, что задача выполнена: task ID (подставить нужный) done.
task 3485 done

Список выполненных дел: task completed.

Список всех задач, включая удаленные: task all.

Начать работу над задачей (для исчисления временных затрат): task ID start. task 3487 start
Когда закончите: task 3487 stop. Повторять по мере необходимости.

Посмотреть все затраченное время - уже упомянутая опция info.
task 3487 info
Вывод можно использовать для отчета перед клиентом, например, при подготовке договора.

Включить задачу в проект: task add "Подготовить соглашение для ООО 'Ромашка' project:"ООО 'Ромашка'" (если проект еще отсутствует, он будет создан).

task project:"ООО 'Ромашка'" - перечень всех дел в проекте.

task projects - общий перечень проектов.

Допустим, подготовка соглашения (task 3333) зависит от получения необходимых документов (отдельная задача в проекте "ООО 'Ромашка'" - task 3334).

Обозначим эту связь: task 3333 mod depends:3334. Мы изменили задачу 3333 с помощью опции mod, указав ее зависимость от другой (task 3334) - параметр depends.

Задача 3334 стала блокирующей по отношению к 3333.

task blocked - показать блокируемые задачи.

task blocking - блокирующие.

Присвоить задаче приоритет (H - высокий (High), M - средний (Medium), L - низкий (Low)): task 3333 mod priority:H

Сразу совет: не расставляйте приоритеты просто так - только если они действительно нужны (например, задача в самом деле важная).

Как я уже упомянул, постановка сроков для задач в taskwarrior может быть очень гибкой (но и иметь сложный синтаксис). От простейшего (due:2025-10-13) до создания двух задач вместо одной из-за имеющихся ограничений:

1) task add "Почитать юридическую литературу" due:today recur:weekdays;
2) task add "Почитать юридическую литературу" due:saturday recur:weekly.

Будет введена, по сути, единая задача: чтение книг по праву каждый день кроме воскресений.

Теперь давайте разберемся с матрицей Эйзенхауэра. Вкратце напомню, о чем она. Все дела ранжируются на категории: 1) важные и срочные (делать); 2) важные и несрочные (планировать); 3) неважные и срочные (делегировать); 4) неважные и несрочные (игнорировать).  

Как же ее применить на практике, используя taskwarrior?

Первый способ - с помощью команды task next. Список задач будет выстроен, основываясь на urgency - "актуальности" (суммарном показателе, принимающим в расчет приоритет, срок, блокирование задачей других и пр.).    

Второй - присваивание делам тегов (меток). На мой взгляд, достаточно двух: срочно и несрочно. Как это работает?

task add "Участие в судебном заседании" due:****-**-** priority:H +срочно

При наборе task priority:H +срочно будет выдан список всех важных и срочных дел.

Аналогично с несрочно.

Taskwarrior можно настроить под себя путем редактирования файла ~/.taskrc.  

Например, изменить день начала рабочей недели (с воскресенья на понедельник), дописав строчку: weekstart=monday.

Или добавить нужный параметр задачи (у меня это content) - дополнить файл:

uda.content.type=string
uda.content.label=Content

Теперь для каждого задания можно включить краткое содержание, комментарии и т.п. (будут доступны по команде info - см. выше).

task add "Написать статью о taskwarrior" due:today content:"Не забыть вставить фотографии".

Важно, что при работе с программой необходимо учитывать регистр букв. Срочно и срочно taskwarrior воспринимает как два разных значения.

Список всех поддерживаемых комманд: task commands.

Подробную инструкцию по использованию приложения можно найти, выполнив в терминале команду man task, либо же на сайте разработчика:   https://taskwarrior.org. К сожалению, в обоих случаях без перевода на русский.

Или применить лайфхак: та же Алиса или DeepSeek (искусственный интеллект) с taskwarrior знакомы. Если лень запоминать, просто задайте вопрос, как ввести ту или иную команду (но иногда ответы бывают некорректными).

Ну, вот, пожалуй, вкратце и всё. Надеюсь, статья оказалась для вас полезной.