Skip to main content
Glama
backloghq

backlog

backlog

GitHub stars License: MIT CI Docs

Постоянное управление задачами для 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"
      }
    }
  }
}

Навыки

Навык

Описание

/backlog:tasks

Показать текущий бэклог — ожидающие, активные, заблокированные, просроченные задачи

/backlog:plan

Разбить цель на задачи с зависимостями, приоритетами и спецификациями

/backlog:standup

Ежедневный стендап — сделано, в процессе, заблокировано, следующее

/backlog:refine

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

/backlog:spec

Написать документ спецификации для задачи перед реализацией

/backlog:implement

Взять задачу, прочитать её спецификацию, реализовать, отметить как выполненную

/backlog:handoff

Подготовиться к следующей сессии — аннотировать прогресс, остановить активные задачи, суммировать состояние

Агент

Агент task-planner может быть автоматически вызван Claude, когда кому-то нужно спланировать работу. Он читает кодовую базу, декомпозирует цели на задачи с зависимостями и пишет спецификации для сложных элементов.

Хуки

Событие

Что делает

SessionStart

Показывает количество ожидающих задач при начале сессии

TaskCreated

Синхронизирует встроенные задачи Claude с постоянным бэклогом

TaskCompleted

Отмечает соответствующую задачу в бэклоге как выполненную, когда Claude завершает встроенную задачу

SubagentStart

Автоматически назначает нераспределенные ожидающие задачи на созданного агента

Инструменты (MCP)

24 инструмента для полного управления жизненным циклом задач:

Инструмент

Описание

task_list

Запрос задач с синтаксисом фильтрации. Возвращает JSON-массив со всеми полями.

task_count

Подсчет задач, соответствующих фильтру. Тот же синтаксис, что и у task_list.

task_add

Создание новой ожидающей задачи. Требуется только описание; все остальные поля опциональны.

task_log

Запись уже выполненной работы непосредственно в статусе завершено.

task_modify

Частичное обновление одной или нескольких задач, соответствующих фильтру. Изменяются только предоставленные поля.

task_duplicate

Копирование существующей задачи с опциональной перезаписью полей.

task_done

Отметка задачи как завершенной с временной меткой окончания.

task_delete

Мягкое удаление задачи. Восстанавливается с помощью task_undo. Используйте task_purge для окончательного удаления.

task_annotate

Добавление заметки с временной меткой. Используйте task_doc_write для более длинного контента.

task_denotate

Удаление аннотации по точному совпадению текста.

task_start

Отметка задачи как активно выполняемой. Видимо в запросах +ACTIVE.

task_stop

Остановка работы над задачей. Возвращает её в статус ожидания.

task_undo

Отмена последней операции. Можно вызывать многократно.

task_info

Получение полных JSON-данных для одной задачи по ID или UUID.

task_import

Массовое создание задач из JSON-массива. Атомарная пакетная операция.

task_purge

Окончательное удаление удаленной задачи. Необратимо.

task_doc_write

Прикрепление/замена markdown-документа к задаче (спецификации, заметки, контекст).

task_doc_read

Чтение markdown-документа, прикрепленного к задаче.

task_doc_delete

Удаление документа задачи. Навсегда.

task_archive

Перемещение старых завершенных/удаленных задач в квартальные архивные сегменты.

task_archive_list

Список доступных архивных сегментов.

task_archive_load

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

task_projects

Список имен проектов с ожидающими/повторяющимися задачами.

task_tags

Список тегов с ожидающими/повторяющимися задачами.

Синтаксис фильтрации

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 явно.

Переменная

Описание

TASKDATA

Явный путь к директории данных задач (переопределяет автоматическое определение)

TASKDATA_ROOT

Корневая директория для автоматически определяемых данных задач по проектам

BACKLOG_BACKEND

Бэкенд хранилища: пропустите для файловой системы (по умолчанию), s3 для Amazon S3

BACKLOG_S3_BUCKET

Имя бакета S3 (требуется, когда BACKLOG_BACKEND=s3)

BACKLOG_S3_REGION

Регион 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

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - A tier

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