Skip to main content
Glama
backloghq

backlog

by backloghq

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"
      }
    }
  }
}

Related MCP server: Sprintra

Навыки

Навык

Описание

/backlog:tasks

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

/backlog:plan

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

/backlog:standup

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

/backlog:refine

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

/backlog:spec

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

/backlog:implement

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

/backlog:handoff

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

Агент

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

Хуки

Событие

Что делает

SessionStart

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

TaskCreated

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

TaskCompleted

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

SubagentStart

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

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

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

Инструмент

Описание

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_NAMESPACE

Явное имя коллекции (по умолчанию: tasks)

BACKLOG_AUTO_NAMESPACE

Установите true для получения имени коллекции из текущей рабочей директории

BACKLOG_AGENT_ID

ID агента для поддержки нескольких авторов (Claude, Gemini и т.д.)

BACKLOG_BACKEND

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

BACKLOG_S3_BUCKET

Имя корзины S3 (требуется, если BACKLOG_BACKEND=s3)

BACKLOG_S3_REGION

Регион AWS (опционально, если используются учетные данные по умолчанию)

Поддержка нескольких авторов

Backlog поддерживает одновременный доступ из нескольких процессов (например, Claude Desktop и Gemini CLI), использующих одни и те же данные. Чтобы включить это:

  1. Назначьте уникальный BACKLOG_AGENT_ID каждому процессу (например, claude, gemini).

  2. Когда установлен ID агента, движок использует журналы записи для каждого агента, избегая блокировок файлов.

  3. Каждый процесс автоматически вызывает refresh() перед операциями, чтобы получить изменения от других агентов.

Пространства имен

Если вы хотите использовать один каталог TASKDATA (например, общую корзину S3 или глобальную папку ~/.backlog) для нескольких проектов, вы можете использовать пространства имен, чтобы задачи оставались разделенными:

  1. Вручную: Установите BACKLOG_NAMESPACE=my-project, чтобы использовать определенное имя коллекции.

  2. Автоматически: Установите BACKLOG_AUTO_NAMESPACE=true, чтобы Backlog автоматически определял имя коллекции из вашей текущей рабочей директории (например, my-app-a1b2c3d4).

Пример конфигурации (.claude/settings.json):

{
  "mcpServers": {
    "backlog": {
      "command": "node",
      "args": ["/path/to/backlog/dist/index.js"],
      "env": {
        "TASKDATA": "/home/user/.backlog",
        "BACKLOG_AUTO_NAMESPACE": "true",
        "BACKLOG_AGENT_ID": "claude-desktop"
      }
    }
  }
}

Оба метода позволяют нескольким проектам использовать один и тот же бэкенд хранилища, сохраняя при этом изолированные бэклоги для конкретных проектов.

Бэкенд 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
npm run test:coverage  # run tests with coverage
npm run dev            # watch mode

Сообщество

  • GitHub Discussions — вопросы, идеи, демонстрации

  • Issue Tracker — отчеты об ошибках и запросы функций

  • Документация — полная документация, справочник навыков, синтаксис фильтров

Если backlog полезен для вас, подумайте о том, чтобы поставить звезду — это помогает другим найти проект.

Лицензия

MIT

Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Persistent context for Claude. Your AI always knows your projects and next actions across sessions.

  • Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.

  • User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.

View all MCP Connectors

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