MIT License Node.js 20+ nativo para git optimizado para agentes 11 tipos de elemento formato TOON v2026.8.10 93 acciones

Gestión de proyectos
que vive en tu repo

gestión de proyectos nativa para git para humanos y agentes de IA — sin configuración, registro de auditoría append-only, salida TOON eficiente en tokens, 9 capacidades de extensión, totalmente extensible.

$
$ npm install -g @unbrained/pm-cli
Inicio rápido

Listo en 30 segundos

Cuatro comandos. Eso es todo lo que hace falta para instalar pm-cli y empezar a rastrear tu primera tarea.

$ npm install -g @unbrained/pm-cli
added 1 package, audited 1 package in 3s
$ pm init
✓ initialized .agents/pm/ — ready to track work
$ pm create --type Task --title "My first task"
id: pm-tsk-abc123 type: Task status: open
$ pm list
pm-tsk-abc123TaskopenMy first task
$
Guía de inicio rápido completa Explorar los 119 comandos
Ciclo de vida

Seis estados, transiciones deterministas

Cada elemento sigue el mismo ciclo de vida. Agentes y humanos comparten una máquina de estados predecible con auditoría completa.

draft
open
in_progress
blocked
closed
canceled

start-task reclama + pasa a in_progress · pause-task libera + vuelve a open · close-task cierra + libera la reclamación

Características

Todo lo que necesitas, nada que no

Diseñado para la forma en que los equipos modernos — y sus agentes de IA — realmente trabajan. 11 tipos de elemento, 10 familias de comandos, 9 capacidades de extensión.

🌿

Almacenamiento nativo para git

Los elementos viven en .agents/pm/ dentro de tu repositorio. Revisa, diferencia y fusiona elementos del proyecto igual que el código. Sin base de datos externa.

.agents/pm/
🤖

Salida TOON optimizada para agentes

El formato TOON emite solo los campos modificados — salida dispersa y eficiente en tokens que mantiene las ventanas de contexto de los LLM ágiles sin dejar de ser totalmente legible por máquinas.

TOON format
📋

Historial JSONL append-only

Cada mutación se registra en un registro de auditoría JSONL con parches RFC6902, hashes de contenido y procedencia completa desde la creación hasta el cierre.

RFC6902 patches
🔌

9 capacidades de extensión

commands, renderers, hooks, schema, importers, search, parser, preflight, services. Publica las tuyas con el gestor de ciclo de vida de extensiones.

extensible

Inicio sin configuración

Un comando — pm init — configura todo con valores predeterminados inteligentes. Empieza a rastrear trabajo en menos de diez segundos.

pm init
🔍

Búsqueda híbrida

La búsqueda por palabras clave siempre está disponible. Añade búsqueda semántica o híbrida con proveedores compatibles con OpenAI u Ollama más almacenes vectoriales Qdrant o LanceDB.

semantic search
🧪

Pruebas vinculadas y verificación

Vincula comandos de prueba a elementos de trabajo con metadatos de aserción. Ejecuta con pm test --run, rastrea resultados en el historial, ejecuciones de prueba en segundo plano, pruebas seguras en sandbox.

pm test
📅

Planificación con conciencia temporal

Events, Reminders, Milestones y Meetings integrados mantienen los metadatos de calendario junto a tu trabajo. Filtra e inspecciónalos mediante los comandos actuales list, search, context e item-detail.

events / reminders
🔒

Ciclo de vida Claim / Release

Reclama elementos para evitar trabajo duplicado. Usa los alias start-task, pause-task y close-task para transiciones de estado seguras.

pm claim / release
🔗

Modelo de metadatos enriquecido

Metadatos enriquecidos para sprint, release, estimate, risk, confidence, acceptance criteria, definition of ready, blocked-by, severity y más.

metadata-rich
🔄

Operaciones masivas

Actualiza muchos elementos a la vez con pm update-many. Los planes de simulación y los puntos de control de reversión mantienen los cambios amplios revisables.

update-many
🌐

Contratos de máquina

Contratos legibles por máquina vía pm contracts --json. Tipos de elemento personalizados vía config y extensiones.

JSON schema
Tipos de elemento

11 tipos de elemento integrados

Además tipos personalizados vía config y extensiones. Cada tipo tiene sus propias políticas de opciones — campos obligatorios, campos deshabilitados y valores predeterminados inteligentes.

🔧 Chore
⚖️ Decision
🏔️ Epic
🎪 Event
Feature
🐛 Issue
📅 Meeting
🏁 Milestone
📐 Plan
Reminder
Task

Tipos personalizados vía pm config o extensiones — define tus propios esquemas, campos y flujos de trabajo.

Comandos

119 comandos, 10 familias lógicas

Desde bootstrap hasta ciclo de vida, cada comando está diseñado tanto para humanos como para agentes. Explora la referencia completa →

🚀

Bootstrap

config, extension, health, init, install, package, packages, schema, upgrade

🔍

Triage

aggregate, context, ctx, get, list, list-all, list-blocked, list-canceled, list-closed, list-draft, list-in-progress, list-open, search

Lifecycle

append, claim, close, close-task, create, delete, pause-task, release, restore, start-task, update, update-many

📐

Planning

plan

📝

Logs

comments, learnings, notes

🔗

Links

deps, docs, files

🧪

Verification

gc, test, test-all, validate

📜

History

activity, history, stats

🤖

Machines

contracts

⚙️

Other

close-many, copy, duplicates, eval, event, events, extension activate, extension adopt, extension adopt-all, extension catalog, extension deactivate, extension describe, extension doctor, extension explore, extension init, extension install, extension manage, extension migrate, extension reload, extension uninstall, focus, graph, history-author-acknowledge, history-compact, history-redact, history-repair, item, item complete, item mutate, meet, merge, next, package activate, package adopt, package adopt-all, package catalog, package deactivate, package describe, package doctor, package explore, package init, package install, package manage, package migrate, package reload, package uninstall, packages activate, packages adopt, packages adopt-all, packages catalog, packages deactivate, packages describe, packages doctor, packages explore, packages init, packages install, packages manage, packages migrate, packages reload, packages uninstall, profile, remind, telemetry, workspace, workspace snapshot, workspace snapshot create, workspace snapshot delete, workspace snapshot inspect, workspace snapshot list, workspace snapshot restore

Demo interactiva

pm-cli en acción

Haz clic en cualquier pestaña para ver un flujo de trabajo real. La salida se anima línea por línea — igual que tu terminal.

Optimizado para agentes

¿Qué es TOON?

La Token-Optimized Object Notation emite solo los campos modificados — un formato disperso y legible por máquinas diseñado para mantener ágiles las ventanas de contexto de los LLM.

Salida dispersa y eficiente en tokens

Las APIs JSON tradicionales devuelven el objeto completo en cada lectura. TOON devuelve solo los campos que cambiaron — reduciendo drásticamente el uso de tokens cuando los agentes trabajan en bucles ajustados.

Hecho para agentes

  • Contexto progresivo — instantáneas ágiles de agentes sin escaneos amplios de listas
  • Contratos de máquina — JSON Schema para cada comando
  • Historial append-only — parches RFC6902 para replay de estado
  • Claim/Release — evita el trabajo duplicado entre agentes
  • Pruebas en segundo plano + modo sandbox
# After: pm create --title "Add SSO" --type Feature
id: pm-fea-7x9k2m
type: Feature
title: Add SSO
status: open
priority: 2
created: 2026-05-04T10:30:00Z
createdBy: agent

# After: pm update pm-fea-7x9k2m --status in_progress
id: pm-fea-7x9k2m
status: in_progress ← only changed field
updated: 2026-05-04T11:15:00Z

# History entry (JSONL)
{
  "op": "update",
  "id": "pm-fea-7x9k2m",
  "patch": [
    {"op":"replace","path":"/status","value":"in_progress"}
  ],
  "ts": "2026-05-04T11:15:00Z"
}
Casos de uso

Hecho para cada flujo de trabajo

Ya seas un dev en solitario, un líder de equipo, un agente de IA o un mantenedor de open-source — pm-cli se adapta a tu forma de trabajar.

👨‍💻

Desarrollador en solitario

Seguimiento de proyectos personal

Rastrea todos, features y bugs junto a tu código. Sin sobrecarga, sin problemas de sincronización — todo vive en git.

pm init pm create --title "Add auth flow" --type Feature --priority 1 pm start-task auth-01 pm close-task auth-01 "Auth shipped with tests"
🤖

Agente de IA para programación

Ejecución autónoma de tareas

Los agentes usan la salida TOON y los contratos JSON para una gestión de proyectos determinista y eficiente en tokens en bucles ajustados.

pm context --depth brief --json pm claim bug-42 pm test-all --json | jq '.ok' pm close-task bug-42 "Fixed: added null check"
👥

Sprint de equipo

Planificación colaborativa

Usa el preset software-sprint para flujos de trabajo basados en sprints con claim/release, archivos vinculados y revisiones estructuradas.

pm init bash presets/software-sprint/setup.sh pm create --type Task --sprint S3 --estimate 120 --assignee alice pm list-all --sprint S3 pm stats
🌐

Mantenedor de open-source

Triage de issues y releases

Importa issues de GitHub, triage con búsqueda y agregación, rastrea milestones y gestiona releases — todo desde la CLI.

pm install npm:pm-github pm search regression auth pm create --type Milestone --title "v2.0 Release" pm aggregate --group-by type
Última versión

Novedades en v2026.8.10

Generado desde el changelog actual de pm CLI. v2026.8.10 (2026-08-10) incluye 32 cambios rastreados en Added, Fixed, Other.

Ver changelog completo →

Added

  • GH-472: create error for missing required custom fields lists the field names (pm-4bzq)
  • Provenance records distinguish unavailable configuration from resolver failures (pm-lu6sca)
v2026.8.10 · 2026-08-10
🛠️

Fixed

  • GH-959 recurrence: snapshot restore planning races lease-expiry fixture cleanup (pm-usq49n)
  • GH-960: structured diagnostic notices preserve machine-readable JSON envelopes (pm-embm6t)
  • GH-956: lossless acceptance-criteria replacement and unmatched-removal failure contract (pm-lppm6y)
  • GH-954: fail-fast dependency target validation with explicit forward-reference intent (pm-x3dq0l)

+22 más en el changelog

v2026.8.10 · 2026-08-10
📦

Other

  • Refresh pinned GitHub Actions for PR #958 with exact-head compatibility proof (pm-obh6lo)
  • PR-957: make linked-test order acceptance deterministic under coverage shards (pm-xg60q3)
  • Public changelog uses capability language for provenance outcomes (pm-zzahs4)
  • The measurement ratchet floors only aggregate graph totals, so converting typed semantic edges to untyped ones passes every declaration (pm-70jyvw)
v2026.8.10 · 2026-08-10
Por qué pm-cli

No es otra herramienta de gestión de proyectos

pm-cli es fundamentalmente distinto de las herramientas SaaS. Tus datos son tuyos, tu flujo de trabajo está en git y los agentes son ciudadanos de primera clase.

pm-cliJiraLinearNotion
Vive en el repo de git
Salida optimizada para agentes (TOON)
Offline-first
Registro de auditoría append-only (RFC6902)ParcialParcial
Sin configuración
Gratis y open source
Integración CI/CDAPIAPIAPI
Plugins extensibles (9 tipos de capacidades)Marketplace
Ejecución de pruebas vinculadas
Calendario y programaciónParcial
Búsqueda semántica / híbrida
Contratos legibles por máquina
Operaciones masivas con reversión
Formato de salida eficiente en tokens
Presets

Workspaces de PM preconfigurados

Coloca un preset en cualquier proyecto inicializado para obtener los ajustes, plantillas y reglas de gobernanza adecuados.

Tienda de paquetes

Paquetes pm listos para instalar

33 paquetes oficiales y comunitarios: la web app, graph sync, importadores, renderizadores, integraciones, scaffolds y presets de workspace preconfigurados.

pm-beads official

Beads JSONL importer extension for pm-cli

commandsimportersschema
pm-brief official

Token-budgeted agent briefs and next-work plans for pm workspaces

commandsrenderersschema
pm-calendar official

Show agenda, day, week, and month views for deadlines, reminders, and scheduled events.

commands
pm-changelog official

Generate CHANGELOG.md and release notes from completed pm items for local releases, GitHub Actions, runners, and scripts. Can run as a standalone CLI/API package or as `pm changelog generate`.

commandsimportersrenderersschema
Empezar

Listo en segundos

Instala globalmente, inicializa cualquier repo, empieza a rastrear. Eso es todo. Funciona con cualquier lenguaje, cualquier stack, cualquier tamaño de equipo.