Вернуться к блогу

Сортировка задач с клавиатуры

Сортировка задач с клавиатуры

Весь день вы проводите в терминале. Перемещаетесь по файлам vim-клавишами, переключаете панели tmux через префикс, ищете по истории команд через Ctrl-R. А потом нужно разобрать бэклог, и все инструменты управления проектами хотят, чтобы вы потянулись к мыши.

Jira требует клик, чтобы открыть задачу. Ещё клик, чтобы закрыть панель. Ещё — переключить проект. Linear быстрее, но всё так же фундаментально ориентирован на мышь: наводишь, кликаешь, скроллишь. GitHub Issues требует полную перезагрузку страницы для каждой задачи. Эти инструменты создавались для продакт-менеджеров в браузерах, а не для разработчиков в терминалах.

Трение на одну операцию мизерное, а за день — огромное. Если вы сортируете 30 задач за утро, это 30 циклов «потянуться к мыши, кликнуть, прочитать, кликнуть закрыть». Ваши руки покидают клавиатуру 60 раз ради последовательного просмотра списка.

Мы создали Beadbox для разработчиков, которые считают это абсурдом.

Полный рабочий процесс сортировки с клавиатуры

Beadbox — нативное десктопное приложение (на Tauri, не Electron), которое рендерит дашборд реального времени для трекера задач beads. Оно показывает деревья эпиков, бейджи зависимостей, фильтры статусов и прогресс-бары. И всё это можно использовать, не прикасаясь к мыши.

Вот как выглядит сессия сортировки:

  1. Откройте Beadbox. Ваш последний воркспейс загружается автоматически. Задачи отображаются в таблице с бейджами статусов, индикаторами приоритетов и колонками исполнителей.

  2. Нажмите j для перемещения вниз по списку. Нажмите k для перемещения вверх. Это vim-клавиши — та же мышечная память, которая у вас уже есть. Подсветка выделения следует за вашей позицией.

  3. Нажмите Enter, чтобы открыть панель деталей. Выбранная задача раскрывается в боковой панели с полным описанием, комментариями, зависимостями и метаданными. Вы читаете, не теряя позиции в списке.

  4. Нажмите Escape, чтобы закрыть панель. Вы снова в списке, курсор ровно там, где был. Нажмите j, чтобы перейти к следующей задаче.

  5. Нажмите / для поиска. Появляется строка поиска. Введите ключевое слово или ID задачи — список мгновенно фильтруется. Нажмите Escape, чтобы очистить поиск и вернуться к полному списку.

  6. Используйте стрелки для деревьев эпиков. При просмотре эпика с вложенными задачами стрелки влево и вправо сворачивают и разворачивают узлы. h и l тоже работают (vim-стиль). Вы просматриваете эпик из 15 задач, не кликнув ни по одному треугольнику раскрытия.

Вот и всё. j/k для перемещения, Enter для открытия, Escape для закрытия, / для поиска, стрелки для раскрытия деревьев. Пять клавиш покрывают 90% навигации при сортировке.

Если при сортировке вы замечаете задачу, требующую смены статуса или повышения приоритета, переключаетесь в терминал:

bd update bb-f8o --status in_progress --priority 1

Beadbox подхватывает изменение в течение миллисекунд (через мониторинг файловой системы и WebSocket) и перерисовывает интерфейс. Вы видите обновлённый бейдж статуса без обновления или кликов. Затем жмёте j и продолжаете.

Почему чтение и запись разделены намеренно

Именно здесь большинство GUI-инструментов ошибаются. Они пытаются обрабатывать всё: просмотр задач, редактирование полей, смену статусов, управление зависимостями. Результат — формы. Множество форм. Выпадающие меню для статуса. Текстовые поля для описаний. Модальные диалоги для управления зависимостями. Каждое из этих взаимодействий требует кликов.

Beadbox пошёл другим путём. Это интерфейс, оптимизированный для чтения. Запись обрабатывает CLI.

beads CLI (bd) — уже источник истины для данных задач. Агенты используют его. Скрипты используют его. Ваша автоматизация использует его. Создание второго пути записи через GUI создаёт проблемы синхронизации и удваивает поверхность для багов.

Вместо этого Beadbox беспощадно оптимизирован для понимания и навигации. Он отвечает на вопросы, с которыми терминал справляется хуже всего: как выглядит полное дерево эпика? Какие задачи заблокированы, и чем? Насколько продвинулась фича? Что изменилось за последний час? Это визуальные вопросы. Текстовый вывод bd list технически может на них ответить, но сворачиваемое дерево с прогресс-барами отвечает с одного взгляда.

Клавиатурные сочетания существуют, чтобы этот взгляд был быстрым. Вы сканируете, читаете, понимаете. Когда нужно действовать, набираете команду bd. Два инструмента, каждый делает то, в чём силён.

Переключение воркспейсов без потери контекста

Если вы работаете над несколькими проектами, каждый со своей базой beads, переключение воркспейсов становится ежедневным раздражителем. В большинстве инструментов переключение проектов — это переход на другой URL, вход в другой воркспейс или открытие новой вкладки браузера. Фильтры сбрасываются. Позиция скролла сбрасывается. Ментальный контекст предыдущего проекта теряется.

Beadbox работает иначе. Выпадающий список в заголовке показывает все обнаруженные воркспейсы. Кликните по нему (или перейдите с клавиатуры), выберите другой проект — и всё представление перезагружается из базы этого проекта. Важная деталь: фильтры и позиция скролла сохраняются для каждого воркспейса. При переключении обратно всё остаётся на своих местах.

Обнаружение автоматическое. Beadbox сканирует ~/.beads/registry.json на зарегистрированные воркспейсы и находит директории с базами .beads/. Добавьте новый проект, запустите в нём bd init, и при следующем запуске Beadbox он появится в выпадающем списке. Без импорта, без экрана настройки, без визарда «добавить воркспейс».

Для разработчиков, поддерживающих несколько сервисов или управляющих агентами в разных репозиториях, это превращает Beadbox в единую панель обзора всей активной работы. Альтернатива — несколько окон терминала, каждое с bd list для разного пути --db, и запоминание, какое окно к какому проекту относится.

Сравнение с аналогами

Каждый крупный инструмент управления проектами требует мыши для базовой навигации:

Jira имеет клавиатурные сочетания (j/k существуют), но для открытия деталей, переключения проектов и навигации по глубоко вложенным меню эпиков всё равно нужны клики. Сочетания ощущаются как прикрученные сбоку, а не как фундамент.

Linear — ближайший к клавиатурной дружелюбности среди SaaS-инструментов. У него есть Cmd+K для палитры команд и несколько навигационных сочетаний. Но переключение воркспейсов всё равно требует клика по боковому меню, а палитра команд — это модель «сначала ищи», а не «сначала сканируй». Нужно знать, что ищешь. Сортировка — это сканирование того, чего ещё не знаешь.

GitHub Issues не имеет значимой клавиатурной навигации для сортировки. Кликаете задачу (полная перезагрузка страницы), кликаете кнопку «назад», повторяете. Переключение между репозиториями — смена URL. Клавиатурного сканирования бэклога нет.

Beadbox проектировался вокруг клавиатурной сортировки с самого начала. Сочетания — не надстройка поверх мышь-первого UI. Вся модель навигации предполагает, что руки остаются на клавиатуре. Мышь тоже работает (всё кликабельно), но она — запасной вариант, а не основной способ взаимодействия.

Что вы на самом деле сравниваете

Настоящая разница не в том, «у какого инструмента больше клавиатурных сочетаний». Дело в модели взаимодействия.

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

Инструменты с приоритетом клавиатуры оптимизированы для пропускной способности. Освоив j/k/Enter/Escape, вы сортируете со скоростью чтения, а не со скоростью наведения. Цена — более крутая начальная кривая обучения (нужно знать, что сочетания существуют). Для разработчиков, уже использующих vim-клавиши в редакторе и терминале, эта кривая практически плоская.

Beadbox также идёт на компромисс, недоступный SaaS-инструментам: он работает только с beads. Вы не получите интеграций Jira, циклов Linear или привязок к pull request'ам GitHub. Вы получаете визуальный дашборд для Git-нативного трекера задач, хранящего всё локально, работающего офлайн и позволяющего ИИ-агентам читать и писать задачи через Unix-пайпы. Если это ваш стек, клавиатурный рабочий процесс вне конкуренции. Если вам нужны Slack-уведомления при закрытии задач, сейчас это не тот инструмент.

Начало работы

Установите Beadbox через Homebrew:

brew tap beadbox/cask && brew install --cask beadbox

Если вы уже используете beads, Beadbox автоматически обнаружит ваши воркспейсы .beads/. Откройте приложение и начните нажимать j.

Работает на macOS, Linux и Windows. Бесплатно во время бета-тестирования.