pm-cli Extension Store

Browse and install extensions that add new capabilities to pm.


Agent Quick Context

# Install an extension for the current project
pm install github.com/owner/repo[/path] --project

# Install globally (all projects)
pm install github.com/owner/repo[/path]

# List installed extensions and their status
pm extension explore --project

# Diagnose extension problems
pm extension doctor --detail deep --trace

# Validate this public package-store repo before publishing
cd website-server && npm run validate:ecosystem

Extensions live in:

  • Project: .agents/pm/extensions/<name>/
  • Global: ~/.pm-cli/extensions/<name>/

Each extension has a manifest.json (name, version, entry, priority, capabilities) and an entry file that calls defineExtension from the SDK.

Before updating the public site or package catalog, run npm run validate:ecosystem from website-server/. It checks duplicate registry entries, duplicate preset/example records, invalid preset JSON, duplicate active pm tracking items, and obvious secrets in publishable website/package-store files.


Official Extensions

Maintained by @unbraind. Installed with pm-cli, available without a network request.


pm-todos

Markdown TODO round-trip

Import markdown checkboxes from any .md file as pm items, and export your pm board back to checkboxes. Keeps a TODOS.md (or any file) in sync with your pm board without manual copy-paste.

Capabilities commands, schema, importers
Source github.com/unbraind/pm-todos
Status Official
pm install github.com/unbraind/pm-todos --project

pm-changelog

Changelog and release-note generator

Generate CHANGELOG.md from closed pm items for local releases, CI jobs, and GitHub Actions. The package includes a standalone pm-changelog CLI/API and a pm extension command, pm changelog generate.

Capabilities commands, schema
Source github.com/unbraind/pm-changelog
Status Official
pm install github.com/unbraind/pm-changelog --project
pm changelog generate --mode prepend --output CHANGELOG.md

pm-beads

Beads JSONL importer

Import work items from the Beads JSONL format into pm. Supports incremental sync โ€” re-running updates existing items rather than duplicating them.

Capabilities commands, schema, importers
Source github.com/unbraind/pm-beads
Status Official
pm install github.com/unbraind/pm-beads --project

pm-starter

Complete 8-capability scaffold

The canonical reference for extension authors. Demonstrates commands, schema, hooks, importers, renderers, preflight, services, and search with inline comments explaining each hook point.

Copy this as your starting point when building a new extension.

Capabilities commands, schema, hooks, importers, renderers, preflight, services, search
Source github.com/unbraind/pm-starter
Status Official
pm install github.com/unbraind/pm-starter --project

pm-ts-starter

TypeScript reference extension (8 SDK capabilities)

A fully-typed TypeScript reference extension demonstrating the typed SDK surface for commands, schema, hooks, importers, renderers, preflight, services, and search.

Capabilities commands, schema, importers, hooks, renderers, preflight, services, search
Source github.com/unbraind/pm-ts-starter
Status Official
pm install github.com/unbraind/pm-ts-starter --project
pm hello --name World

Community Extensions

Example extensions that demonstrate integration patterns. Each is a working implementation you can install, fork, and adapt.


pm-github

GitHub Issues importer

Fetches open or closed GitHub issues from a repository and creates pm items from them. Supports owner/repo, --all, --labels, --dry-run, and --type.

Setup: Public repositories work unauthenticated. Private repositories require extending the example with authenticated GitHub API headers.

Capabilities commands, schema
Source github.com/unbraind/pm-github
Status Community
pm install github.com/unbraind/pm-github --project

# Import issues from a repo
pm gh-issues import myorg/myrepo
pm gh-issues import myorg/myrepo --all --labels bug

pm-gantt-chart

ASCII Gantt chart renderer

Renders your pm items as a week-by-week ASCII Gantt chart in the terminal. Groups items by milestone or tag, respects due dates, and highlights overdue or at-risk items. No external dependencies.

Capabilities commands, schema, renderers
Source github.com/unbraind/pm-gantt-chart
Status Community
pm install github.com/unbraind/pm-gantt-chart --project

pm gantt
pm gantt --group milestone --weeks 8

pm-csv

CSV importer and exporter

Import a CSV with configurable column mappings (title, status, priority, due, tags) as pm items. Export your current board to a CSV for sharing or archiving in spreadsheet tools.

Capabilities commands, schema, importers
Source github.com/unbraind/pm-csv
Status Community
pm install github.com/unbraind/pm-csv --project

pm csv import tasks.csv --title-column "Summary" --status-column "Status"
pm csv export --output board.csv

Experimental Extensions

Proof-of-concept integrations. These work but may have rough edges, incomplete error handling, or require extra setup. Good starting points for building production-grade versions.


pm-linear

Linear.app sync

Pulls active cycles and their issues from the Linear API into pm items. Maps Linear priorities to pm priorities and preserves Linear issue IDs for deduplication on re-sync.

Setup: Set LINEAR_API_KEY in your environment.

Capabilities commands, schema, importers, services
Source github.com/unbraind/pm-linear
Status Experimental
pm install github.com/unbraind/pm-linear --project

pm linear sync --team ENG
pm linear sync --team ENG --state "In Progress"

pm-jira

Jira issue importer

Pulls Jira issues and epics into pm using JQL queries. Maps Jira status categories to pm status. Supports both Jira Cloud and Jira Data Center.

Setup: Set JIRA_BASE_URL, JIRA_EMAIL, and JIRA_API_TOKEN in your environment.

Capabilities commands, schema, importers, services
Source github.com/unbraind/pm-jira
Status Experimental
pm install github.com/unbraind/pm-jira --project

pm jira sync --project MYPROJ --jql "sprint = 'Sprint 42'"
pm jira sync --project MYPROJ --jql "assignee = currentUser() AND status != Done"

pm-slack-standup

Slack standup poster

Summarises your in-progress and blocked pm items, formats them as a standup update, and posts to a Slack channel via an incoming webhook URL.

Setup: Set SLACK_WEBHOOK_URL in your environment. Get a webhook at api.slack.com/messaging/webhooks.

Capabilities commands, schema
Source github.com/unbraind/pm-slack-standup
Status Experimental
pm install github.com/unbraind/pm-slack-standup --project

pm standup
pm standup --dry-run   # preview without posting

pm-slack

Slack notification hook

Posts messages to a Slack webhook when items are created, closed, or blocked. Configurable by item type and priority. Runs as a lifecycle hook โ€” no manual trigger needed.

Setup: Set SLACK_WEBHOOK_URL in your environment.

Capabilities hooks
Source github.com/unbraind/pm-slack
Status Experimental
pm install github.com/unbraind/pm-slack --project
# Posts to Slack automatically on item lifecycle events

Web UI


pm-web

Full PWA web workspace for pm-cli

Browse, create, update, search, validate and manage pm projects in the browser. Supports registration/login, multi-project workspaces, sharing, groups, profile settings, GitHub import/export/sync, real-time updates, import/export workflows, encrypted GitHub token storage, local Ollama semantic search configuration, admin-only management, and pm-graph/Neo4j graph views. Hosted at pm-web.unbrained.dev or self-host via Docker.

Capabilities commands, schema, web, sync, graphs
Source github.com/unbraind/pm-web
Status Official
Docs pm-web.unbrained.dev
pm install github.com/unbraind/pm-web --global
pm web --port 4000

The hosted app bundles pm-graph for project graph export and automatic Neo4j sync. Install pm-graph directly when you want the graph commands in a local pm workspace:

pm install github.com/unbraind/pm-graph --project
pm pm-graph export --json

pm-graph

Project graph and Neo4j export

Graph-focused extension for dependency extraction and project relationship visualization. Use it when you want direct CLI output for graph snapshots, topology checks, and Neo4j synchronization.

Capabilities commands, graphs, neo4j
Source github.com/unbraind/pm-graph
Status Official
pm install github.com/unbraind/pm-graph --project
pm pm-graph export --json

Preset Extensions

One-command workspace setup presets. Each installs governance rules, templates, and a setup command.


pm-presets: Software Sprint

Sprint-based software development

Two-week sprint workspace with Epic โ†’ Feature โ†’ Task hierarchy, team governance, and sprint templates. Run pm sprint-setup after installing.

Capabilities commands, schema
Source github.com/unbraind/pm-presets
Status Official (Preset)
pm install github.com/unbraind/pm-presets --project
pm sprint-setup

pm-presets: Open Source

Open source project management

Issue triage, milestone releases, and contributor-friendly templates (bug-report, feature-request, good-first-issue). Run pm oss-setup after installing.

Capabilities commands, schema
Source github.com/unbraind/pm-presets
Status Official (Preset)
pm install github.com/unbraind/pm-presets --project
pm oss-setup

pm-presets: Indie Dev

Solo developer minimal workspace

Zero-ceremony tracking for solo devs. No required fields, simple task and idea templates, no governance overhead. Run pm indie-setup after installing.

Capabilities commands, schema
Source github.com/unbraind/pm-presets
Status Official (Preset)
pm install github.com/unbraind/pm-presets --project
pm indie-setup

pm-presets: Startup Roadmap

Startup roadmap with investor-grade milestones

Strategic initiative tracking with quarterly milestones. Rich metadata, strict governance, and stakeholder-facing templates. Run pm roadmap-setup after installing.

Capabilities commands, schema
Source github.com/unbraind/pm-presets
Status Official (Preset)
pm install github.com/unbraind/pm-presets --project
pm roadmap-setup

pm-presets: Bug Triage

Strict incident and bug triage

Production incident tracking with mandatory root-cause metadata, hotfix tasks, and post-mortem records. Strict governance. Run pm triage-setup after installing.

Capabilities commands, schema
Source github.com/unbraind/pm-presets
Status Official (Preset)
pm install github.com/unbraind/pm-presets --project
pm triage-setup

Publishing Your Extension

To get your extension listed in this store:

  1. Create a GitHub repo (or a path within one) containing:

    • manifest.json โ€” name, version, entry, priority, capabilities
    • Your entry file calling defineExtension from @unbrained/pm-cli/sdk
    • A README.md with setup instructions
  2. Open a PR to github.com/unbraind/pm-cli-companion adding your extension to extensions/registry.json.

  3. Guidelines:

    • The extension must be installable via pm install github.com/...
    • manifest.json must declare all capabilities the extension uses
    • Include at least one usage example in the README
    • Do not call external APIs without documenting required env vars
    • Keep dependencies minimal โ€” prefer zero-dependency implementations for importers

Extensions are listed as community by default. The official status is reserved for reviewed extensions maintained by @unbraind. experimental is for early-stage or proof-of-concept work.


Extension Development Resources

Resource Description
EXTENSIONS.md Full extension system reference โ€” manifest schema, capability types, lifecycle hooks
SDK.md @unbrained/pm-cli/sdk API reference โ€” defineExtension, item helpers, store access
pm-starter Annotated scaffold with the main extension capability types
pm-github Working GitHub issues importer
pm extension doctor --detail deep --trace Debug a loaded extension
pm extension explore --project Inspect all loaded extensions and their registered capabilities

Extension Store Guide local
Report an issue