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:
Create a GitHub repo (or a path within one) containing:
manifest.jsonโ name, version, entry, priority, capabilities- Your entry file calling
defineExtensionfrom@unbrained/pm-cli/sdk - A
README.mdwith setup instructions
Open a PR to github.com/unbraind/pm-cli-companion adding your extension to
extensions/registry.json.Guidelines:
- The extension must be installable via
pm install github.com/... manifest.jsonmust 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
- The extension must be installable via
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 |