Основные возможности:
- Персональная доска дня (Me): задачи инженера из всех его команд на выбранный день, сгруппированные в четыре цветовые зоны — срочное («сделать сегодня кровь из носу»), обычная запланированная работа, незапланированное (прилетевшее в течение дня) и «делать, если всё остальное готово». У каждой карточки ползунок готовности 0-100%, стадия (Review / Locked / Recurrent / Done), счётчик возраста и автоматически распознаваемые ссылки на issue/PR; сбоку — панель заметок, живущих в контексте дня.
- Командная доска (Team): сетка «люди × зоны» на выбранный день с быстрым созданием и назначением задач; режим «View as» позволяет лидеру команды посмотреть на доску глазами конкретного инженера.
- Однодневные спринты, считаемые вперёд: операция «carry-over» одним действием переносит незавершённые задачи в новый день, завершённые остаются в истории, регулярные задачи пересоздаются автоматически. Кнопки «+1 день» и «+1 неделя» откладывают задачу, скрывая её с доски до нужной даты.
- Недельный план команды с полосами «к среде» и «к пятнице», перетаскиванием задач плана на исполнителей и общим прогресс-баром недели.
- Механика рецензирования (связанная карточка у рецензирующего с автоматическим освобождением оригинала по завершении), подзадачи с наследуемым прогрессом родителя и учёт незапланированной работы отдельной зоной.
- Журнал действий по каждой карточке: перемещения, изменения прогресса, смены спринтов — пригоден для аудита и построения статистики.
Отличительная особенность архитектуры — полное отсутствие собственной базы данных: единственным хранилищем выступает GitHub Projects v2. Каждая карточка — это «item» на доске GitHub, все атрибуты (зона, прогресс, спринт, план) — обычные поля проекта, которые aeman при необходимости создаёт автоматически. Ту же доску можно открыть в штатном интерфейсе GitHub, а отказаться от инструмента можно в любой момент — данные остаются у пользователя и не требуют миграции. Заметки и журнал также хранятся в GitHub: у draft-карточек — в теле карточки за специальным маркером, у карточек, привязанных к issue или PR, — обычными комментариями, а служебные события собираются в один пополняемый лог-комментарий, чтобы не засыпать подписчиков уведомлениями.
Проект поставляется одним исполняемым файлом со встроенным через go:embed веб-интерфейсом, JSON REST API, WebSocket-потоком обновлений и MCP-сервером. API построен по образцу Kubernetes: сущности оформлены ресурсами с kind/metadata/spec (Card, Sprint, Ordering, Presence), клиент работает по схеме «list + watch» с событиями ADDED/MODIFIED/DELETED — каждая открытая вкладка действует как informer с локальным кэшем, и правки коллег появляются на всех экранах примерно за секунду.
Для обхода медленных GraphQL-мутаций GitHub и отстающих от записи реплик чтения запись организована по схеме «write-behind»: изменения мгновенно применяются к серверному кэшу и рассылаются клиентам, а в GitHub отправляются фоновой очередью с ограничением темпа, повторами и объединением последовательных изменений по аналогии с DeltaFIFO в Kubernetes (несколько правок одного поля сливаются в один запрос с итоговым значением, текст заметок при этом не теряется). Недавние собственные записи временно считаются достовернее свежих чтений из GitHub, что исключает видимые «откаты» интерфейса при отставании реплик; источником истины при конфликтах остаётся GitHub.
Встроенный MCP-сервер позволяет AI-агентам (например, Claude) участвовать в процессе наравне с людьми: создавать и перемещать карточки, вести заметки и проводить «carry-over». Отдельного API для агентов нет — их действия проходят через тот же доменный слой с теми же проверками. Хранилище скрыто за интерфейсом Backend: заявлены планы по git-бэкенду с хранением карточек файлами в репозитории, а движок доски можно встраивать в собственные инструменты как Go-библиотеку.
Для локального запуска достаточно аутентифицированного GitHub CLI: aeman открывает интерфейс на 127.0.0.1:8765 и работает с любым проектом GitHub Projects v2, создавая недостающие поля автоматически. Для командной работы предусмотрен многопользовательский режим со входом через GitHub OAuth (готовый docker-compose в комплекте) и Helm-чарт для развёртывания в Kubernetes.
Источник: http://www.opennet.ru/opennews/art.shtml?num=65969
