Claude Info
Продуктивность

kanban-tui

Zaloog/kanban-tui

Настраиваемый терминальный таск-менеджер на Python с TUI-интерфейсом. Поддерживает несколько бэкендов (SQLite, Jira, Claude), MCP Server и CLI для работы с AI-агентами. Подходит для разработчиков, управляющих задачами прямо из терминала.

Установка

terminal
bash
git clone https://github.com/Zaloog/kanban-tui.git

README

Ruff PyPI-Server Pyversions License: MIT Downloads Coverage Status

kanban-tui

Настраиваемый терминальный таск-менеджер на базе [Textual][textual] с поддержкой нескольких бэкендов. Теперь также доступен в режиме совместной работы с AI-агентами (подробнее в разделах CLI interface и MCP Server).

Демо

demo_gif

Попробуйте kanban-tui без установки:

uvx kanban-tui demo

Возможности

kanban-tui использует [pydantic-settings] и [xdg-base-dirs]: user_config_dir для хранения конфигурационного файла и user_data_dir для базы данных SQLite. Получить список всех путей к файлам можно командой uvx kanban-tui info.

kanban-tui поставляется с четырьмя колонками по умолчанию (Ready, Doing, Done, Archive), которые можно настроить под свои нужды. Дополнительные колонки создаются через вкладку Settings. Также можно управлять видимостью и порядком колонок. Удаление колонки возможно только при отсутствии в ней задач.

kanban-tui поддерживает три бэкенда:

  • sqlite (по умолчанию) | Поддерживает все функции kanban-tui
  • jira | Подключение к вашему экземпляру Jira через API-ключ и выборка задач через JQL. Колонки определяются переходами задач.
  • claude | Чтение .json-файлов из ~/.claude/tasks/. Доски создаются для каждого идентификатора сессии. Поддерживает только часть функций.

Начиная с версии v0.4.0 kanban-tui позволяет создавать несколько досок. Нажмите B на вкладке Kanban Board, чтобы получить обзор всех досок с указанием количества колонок, задач и ближайшей даты дедлайна.

На вкладке Kanban Board доступны следующие действия: создать (n), редактировать (e), удалить (d), перемещать между колонками (H, L) или менять порядок внутри колонки (J — вниз / K — вверх). Перемещение между колонками и изменение порядка внутри колонки также поддерживаются через перетаскивание мышью. Можно задавать зависимости между задачами, ограничивающие перемещение в колонку Doing (start_column). Для работы ограничений необходимо определить статусные колонки на экране настроек.

Задачи могут зависеть от других задач, формируя рабочий процесс, при котором одни задачи должны быть завершены до начала других.

  • Добавление зависимостей: при редактировании задачи используйте выпадающий список для добавления зависимостей
  • Удаление зависимостей: выберите зависимость в таблице и нажмите Enter для её удаления
  • Блокировка перемещения: задачи с незавершёнными зависимостями нельзя переместить в стартовую/финишную колонку
  • Обнаружение циклов: система предотвращает циклические зависимости (задача A зависит от задачи B, задача B зависит от задачи A)
  • Визуальные индикаторы: карточки задач отображают статус зависимостей:
    • 🔒 «Заблокировано X незавершёнными задачами» — у задачи есть незавершённые зависимости
    • ❗ «Блокирует Y задач» — другие задачи зависят от этой
    • ✅ «Нет зависимостей» — задача не имеет зависимостей
  • Поддержка CLI: зависимостями можно управлять через CLI с флагом --depends-on при создании задач или флагом --force для принудительного перемещения заблокированных задач

Текущая схема базы данных выглядит следующим образом. Таблица Audit заполняется автоматически на основе триггеров.

mermaid
erDiagram
    tasks }|--o| categories: have
    tasks }|--|| audits: updates
    tasks ||--o{ task_dependencies: "blocks"
    tasks ||--o{ task_dependencies: "blocked_by"
    tasks {
        INTEGER task_id PK
        INTEGER column FK
        INTEGER category FK
        TEXT title
        TEXT description
        DATETIME creation_date
        DATETIME start_date
        DATETIME finish_date
        DATETIME due_date
        TEXT metadata
    }
    task_dependencies {
        INTEGER dependency_id PK
        INTEGER task_id FK
        INTEGER depends_on_task_id FK
    }
    boards }|--o{ columns: contains
    boards }|--|| audits: updates
    boards {
        INTEGER board_id PK
        INTEGER reset_column FK
        INTEGER start_column FK
        INTEGER finish_column FK
        TEXT name
        TEXT icon
        DATETIME creation_date
    }
    columns ||--|{ tasks: contains
    columns }|--|| audits: updates
    columns {
        INTEGER column_id PK
        INTEGER board_id FK
        TEXT name
        BOOLEAN visible
        INTEGER position
    }
    categories {
        INTEGER category_id PK
        TEXT name
        TEXT color
    }
    audits {
        INTEGER event_id PK
        DATETIME event_timestamp
        TEXT event_type
        TEXT object_type
        INTEGER object_id
        TEXT object_field
        TEXT value_old
        TEXT value_new
    }

Для отображения количества созданных, начатых и завершённых задач kanban-tui предоставляет вкладку Overview с гистограммой в разрезе месяца, недели или дня.

CLI-интерфейс

kanban-tui предоставляет CLI-интерфейс для управления задачами без запуска TUI — это позволяет AI-агентам взаимодействовать с менеджером задач напрямую.

Получить список доступных команд:

kanban-tui task --help

MCP Server

kanban-tui также можно использовать как MCP Server, что позволяет AI-агентам (например, Claude) взаимодействовать с вашими задачами через стандартизированный протокол.

Запуск MCP Server:

kanban-tui mcp

Добавьте следующую конфигурацию в настройки MCP вашего клиента:

json
{
  "mcpServers": {
    "kanban-tui": {
      "command": "uvx",
      "args": ["kanban-tui", "mcp"]
    }
  }
}

Установка

pip install kanban-tui

Или с помощью uv:

uv tool install kanban-tui

Лицензия

Распространяется под лицензией MIT. Подробнее см. в файле LICENSE.

Похожие скиллы