backlog
backlog
Постоянное управление задачами для Claude Code между сессиями. Задачи сохраняются между сессиями, поэтому работу, начатую одним агентом, может продолжить другой.
Построено на @backloghq/agentdb — типизированные схемы, автоинкрементные ID, виртуальные фильтры, хранилище BLOB. Чистый TypeScript, отсутствие нативных зависимостей.
Установка
/plugin marketplace add backloghq/backlog
/plugin install backlog@backloghq-backlogИз исходного кода
git clone https://github.com/backloghq/backlog.git
cd backlog && npm install && npm run build
claude --plugin-dir /path/to/backlogАвтономный MCP-сервер
Добавьте в .claude/settings.json вашего проекта:
{
"mcpServers": {
"backlog": {
"command": "node",
"args": ["/path/to/agent-teams-task-mcp/dist/index.js"],
"env": {
"TASKDATA": "/path/to/task-data"
}
}
}
}Навыки
Навык | Описание |
| Показать текущий бэклог — ожидающие, активные, заблокированные, просроченные задачи |
| Разбить цель на задачи с зависимостями, приоритетами и спецификациями |
| Ежедневный стендап — сделано, в процессе, заблокировано, следующее |
| Упорядочить бэклог — исправить расплывчатые задачи, отсутствующие приоритеты, нарушенные зависимости, устаревшие элементы |
| Написать документ спецификации для задачи перед реализацией |
| Взять задачу, прочитать её спецификацию, реализовать, отметить как выполненную |
| Подготовиться к следующей сессии — аннотировать прогресс, остановить активные задачи, суммировать состояние |
Агент
Агент task-planner может быть автоматически вызван Claude, когда кому-то нужно спланировать работу. Он читает кодовую базу, декомпозирует цели на задачи с зависимостями и пишет спецификации для сложных элементов.
Хуки
Событие | Что делает |
| Показывает количество ожидающих задач при начале сессии |
| Синхронизирует встроенные задачи Claude с постоянным бэклогом |
| Отмечает соответствующую задачу в бэклоге как выполненную, когда Claude завершает встроенную задачу |
| Автоматически назначает нераспределенные ожидающие задачи на созданного агента |
Инструменты (MCP)
24 инструмента для полного управления жизненным циклом задач:
Инструмент | Описание |
| Запрос задач с синтаксисом фильтрации. Возвращает JSON-массив со всеми полями. |
| Подсчет задач, соответствующих фильтру. Тот же синтаксис, что и у task_list. |
| Создание новой ожидающей задачи. Требуется только описание; все остальные поля опциональны. |
| Запись уже выполненной работы непосредственно в статусе завершено. |
| Частичное обновление одной или нескольких задач, соответствующих фильтру. Изменяются только предоставленные поля. |
| Копирование существующей задачи с опциональной перезаписью полей. |
| Отметка задачи как завершенной с временной меткой окончания. |
| Мягкое удаление задачи. Восстанавливается с помощью task_undo. Используйте task_purge для окончательного удаления. |
| Добавление заметки с временной меткой. Используйте task_doc_write для более длинного контента. |
| Удаление аннотации по точному совпадению текста. |
| Отметка задачи как активно выполняемой. Видимо в запросах +ACTIVE. |
| Остановка работы над задачей. Возвращает её в статус ожидания. |
| Отмена последней операции. Можно вызывать многократно. |
| Получение полных JSON-данных для одной задачи по ID или UUID. |
| Массовое создание задач из JSON-массива. Атомарная пакетная операция. |
| Окончательное удаление удаленной задачи. Необратимо. |
| Прикрепление/замена markdown-документа к задаче (спецификации, заметки, контекст). |
| Чтение markdown-документа, прикрепленного к задаче. |
| Удаление документа задачи. Навсегда. |
| Перемещение старых завершенных/удаленных задач в квартальные архивные сегменты. |
| Список доступных архивных сегментов. |
| Загрузка архивированных задач для просмотра только для чтения. |
| Список имен проектов с ожидающими/повторяющимися задачами. |
| Список тегов с ожидающими/повторяющимися задачами. |
Синтаксис фильтрации
status:pending # all pending tasks
project:backend +bug # bugs in backend project
priority:H due.before:friday # high priority due before friday
+OVERDUE # overdue tasks
+ACTIVE # tasks currently being worked on
+BLOCKED # tasks blocked by dependencies
+READY # actionable tasks (past scheduled date)
agent:explorer # tasks assigned to the explorer agent
( project:web or project:api ) # boolean with parentheses
description.contains:auth # substring matchПоддерживает модификаторы атрибутов (.before, .after, .by, .has, .not, .none, .any, .startswith, .endswith), теги (+tag, -tag), виртуальные теги (+OVERDUE, +ACTIVE, +BLOCKED, +READY, +TAGGED, +ANNOTATED и т.д.) и логические операторы (and, or).
Документы задач
Прикрепляйте markdown-документы (спецификации, контекст, заметки о передаче дел) к любой задаче:
task_doc_write id:"1" content:"# Spec\n\nBuild the auth flow.\n"
task_doc_read id:"1"
task_doc_delete id:"1"Запись документа добавляет тег +doc и has_doc:yes, чтобы агенты могли находить задачи с документами:
task_list filter:"+doc"
task_list filter:"has_doc:yes"Идентификация агента
Задачи поддерживают поле agent для отслеживания того, какой агент владеет задачей:
task_add description:"Investigate bug" agent:"explorer"
task_list filter:"agent:explorer status:pending"Изоляция проектов
Каждый проект автоматически получает свои собственные данные задач. При использовании в качестве плагина данные задач хранятся в ~/.claude/plugins/data/backlog/projects/<project-slug>/. При автономном использовании установите TASKDATA явно.
Переменная | Описание |
| Явный путь к директории данных задач (переопределяет автоматическое определение) |
| Корневая директория для автоматически определяемых данных задач по проектам |
| Бэкенд хранилища: пропустите для файловой системы (по умолчанию), |
| Имя бакета S3 (требуется, когда |
| Регион AWS (опционально, если используются учетные данные по умолчанию) |
Бэкенд S3
Храните данные задач в S3 для совместного использования командой или облачного хранения. Требуется @backloghq/opslog-s3:
npm install @backloghq/opslog-s3Настройте через переменные окружения в .claude/settings.json:
{
"mcpServers": {
"backlog": {
"command": "node",
"args": ["/path/to/backlog/dist/index.js"],
"env": {
"TASKDATA": "my-project/tasks",
"BACKLOG_BACKEND": "s3",
"BACKLOG_S3_BUCKET": "my-team-backlog",
"BACKLOG_S3_REGION": "us-east-1"
}
}
}
}При использовании S3 TASKDATA становится префиксом ключа в бакете вместо пути к файловой системе.
Docker
docker build -t backlog .
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' \
| docker run --rm -i backlogРазработка
npm install
npm run build # compile TypeScript
npm run lint # run ESLint
npm test # run tests (189 tests)
npm run test:coverage # run tests with coverage
npm run dev # watch modeСообщество
GitHub Discussions — вопросы, идеи, демонстрации
Issue Tracker — отчеты об ошибках и запросы функций
Documentation — полная документация, справочник навыков, синтаксис фильтрации
Если backlog полезен для вас, подумайте о том, чтобы поставить звезду — это помогает другим найти проект.
Лицензия
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/backloghq/backlog'
If you have feedback or need assistance with the MCP directory API, please join our Discord server