Skip to main content
Glama
backloghq

backlog

backlog

GitHub stars License: MIT CI Docs

Gestión de tareas persistente entre sesiones para Claude Code. Las tareas sobreviven a las sesiones, por lo que el trabajo iniciado por un agente puede ser retomado por otro.

Construido sobre @backloghq/agentdb — esquemas tipados, IDs autoincrementales, filtros virtuales, almacenamiento de blobs. TypeScript puro, sin dependencias nativas.

Instalación

/plugin marketplace add backloghq/backlog
/plugin install backlog@backloghq-backlog

Desde el código fuente

git clone https://github.com/backloghq/backlog.git
cd backlog && npm install && npm run build
claude --plugin-dir /path/to/backlog

Servidor MCP independiente

Añádelo al archivo .claude/settings.json de tu proyecto:

{
  "mcpServers": {
    "backlog": {
      "command": "node",
      "args": ["/path/to/agent-teams-task-mcp/dist/index.js"],
      "env": {
        "TASKDATA": "/path/to/task-data"
      }
    }
  }
}

Habilidades

Habilidad

Descripción

/backlog:tasks

Muestra el backlog actual: tareas pendientes, activas, bloqueadas y vencidas

/backlog:plan

Desglosa un objetivo en tareas con dependencias, prioridades y especificaciones

/backlog:standup

Reunión diaria: hecho, en progreso, bloqueado, siguiente

/backlog:refine

Organiza el backlog: corrige tareas vagas, prioridades faltantes, dependencias rotas, elementos obsoletos

/backlog:spec

Escribe un documento de especificación para una tarea antes de la implementación

/backlog:implement

Toma una tarea, lee su especificación, impleméntala y márcala como hecha

/backlog:handoff

Prepárate para la siguiente sesión: anota el progreso, detén las tareas activas, resume el estado

Agente

El agente task-planner puede ser invocado automáticamente por Claude cuando alguien necesita planificar trabajo. Lee la base de código, descompone los objetivos en tareas con dependencias y escribe especificaciones para elementos complejos.

Hooks

Evento

Qué hace

SessionStart

Muestra el recuento de tareas pendientes cuando comienza una sesión

TaskCreated

Sincroniza las tareas integradas de Claude con el backlog persistente

TaskCompleted

Marca la tarea del backlog correspondiente como hecha cuando Claude completa una tarea integrada

SubagentStart

Asigna automáticamente las tareas pendientes no asignadas al agente generado

Herramientas (MCP)

24 herramientas para la gestión completa del ciclo de vida de las tareas:

Herramienta

Descripción

task_list

Consulta tareas con sintaxis de filtro. Devuelve un array JSON con todos los campos.

task_count

Cuenta las tareas que coinciden con un filtro. Misma sintaxis que task_list.

task_add

Crea una nueva tarea pendiente. Solo se requiere la descripción; todos los demás campos son opcionales.

task_log

Registra trabajo ya completado directamente en estado completado.

task_modify

Actualización parcial de una o más tareas que coinciden con un filtro. Solo cambian los campos proporcionados.

task_duplicate

Copia una tarea existente con anulaciones de campo opcionales.

task_done

Marca una tarea como completada con la marca de tiempo final.

task_delete

Eliminación lógica de una tarea. Restaurable con task_undo. Usa task_purge para eliminar permanentemente.

task_annotate

Añade una nota con marca de tiempo. Usa task_doc_write para contenido más largo.

task_denotate

Elimina una anotación por coincidencia exacta de texto.

task_start

Marca una tarea como en proceso. Visible en consultas +ACTIVE.

task_stop

Deja de trabajar en una tarea. La devuelve al estado pendiente.

task_undo

Deshace la operación más reciente. Se puede llamar repetidamente.

task_info

Obtiene los detalles JSON completos de una sola tarea por ID o UUID.

task_import

Crea tareas en masa desde un array JSON. Operación por lotes atómica.

task_purge

Elimina permanentemente una tarea eliminada. Irreversible.

task_doc_write

Adjunta/reemplaza un documento markdown en una tarea (especificaciones, notas, contexto).

task_doc_read

Lee el documento markdown adjunto a una tarea.

task_doc_delete

Elimina el documento de una tarea. Permanente.

task_archive

Mueve tareas antiguas completadas/eliminadas a segmentos de archivo trimestrales.

task_archive_list

Lista los segmentos de archivo disponibles.

task_archive_load

Carga tareas archivadas para inspección de solo lectura.

task_projects

Lista nombres de proyectos con tareas pendientes/recurrentes.

task_tags

Lista etiquetas con tareas pendientes/recurrentes.

Sintaxis de filtro

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

Admite modificadores de atributos (.before, .after, .by, .has, .not, .none, .any, .startswith, .endswith), etiquetas (+tag, -tag), etiquetas virtuales (+OVERDUE, +ACTIVE, +BLOCKED, +READY, +TAGGED, +ANNOTATED, etc.) y operadores booleanos (and, or).

Documentos de tareas

Adjunta documentos markdown (especificaciones, contexto, notas de traspaso) a cualquier tarea:

task_doc_write  id:"1"  content:"# Spec\n\nBuild the auth flow.\n"
task_doc_read   id:"1"
task_doc_delete id:"1"

Escribir un documento añade una etiqueta +doc y has_doc:yes, para que los agentes puedan descubrir tareas con documentos:

task_list filter:"+doc"
task_list filter:"has_doc:yes"

Identidad del agente

Las tareas admiten un campo agent para rastrear qué agente posee una tarea:

task_add  description:"Investigate bug"  agent:"explorer"
task_list filter:"agent:explorer status:pending"

Aislamiento de proyectos

Cada proyecto obtiene sus propios datos de tareas automáticamente. Cuando se usa como plugin, los datos de las tareas residen en ~/.claude/plugins/data/backlog/projects/<project-slug>/. Cuando se usa de forma independiente, establece TASKDATA explícitamente.

Variable

Descripción

TASKDATA

Ruta explícita al directorio de datos de tareas (anula la derivación automática)

TASKDATA_ROOT

Directorio raíz para los datos de tareas derivados automáticamente por proyecto

BACKLOG_BACKEND

Backend de almacenamiento: omitir para sistema de archivos (predeterminado), s3 para Amazon S3

BACKLOG_S3_BUCKET

Nombre del bucket de S3 (requerido cuando BACKLOG_BACKEND=s3)

BACKLOG_S3_REGION

Región de AWS (opcional si se usan credenciales predeterminadas)

Backend S3

Almacena datos de tareas en S3 para compartir en equipo o persistencia en la nube. Requiere @backloghq/opslog-s3:

npm install @backloghq/opslog-s3

Configura mediante variables de entorno en .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"
      }
    }
  }
}

Al usar S3, TASKDATA se convierte en el prefijo de clave en el bucket en lugar de una ruta del sistema de archivos.

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

Desarrollo

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

Comunidad

Si backlog te resulta útil, considera darle una estrella: ayuda a otros a encontrar el proyecto.

Licencia

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