@unbrained/pm-cli 2026.5.14 → 2026.5.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +4 -4
- package/AGENTS.md +78 -457
- package/CHANGELOG.md +71 -0
- package/CONTRIBUTING.md +1 -0
- package/README.md +8 -6
- package/dist/cli/argv-utils.js +4 -1
- package/dist/cli/argv-utils.js.map +1 -1
- package/dist/cli/bootstrap-args.js +4 -1
- package/dist/cli/bootstrap-args.js.map +1 -1
- package/dist/cli/commander-usage.js +19 -1
- package/dist/cli/commander-usage.js.map +1 -1
- package/dist/cli/commands/activity.js +4 -1
- package/dist/cli/commands/activity.js.map +1 -1
- package/dist/cli/commands/aggregate.js +5 -2
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/annotation-command.d.ts +49 -0
- package/dist/cli/commands/annotation-command.js +135 -0
- package/dist/cli/commands/annotation-command.js.map +1 -0
- package/dist/cli/commands/append.js +5 -6
- package/dist/cli/commands/append.js.map +1 -1
- package/dist/cli/commands/calendar.js +5 -5
- package/dist/cli/commands/calendar.js.map +1 -1
- package/dist/cli/commands/claim.d.ts +3 -0
- package/dist/cli/commands/claim.js +29 -23
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/close.js +63 -8
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/comments-audit.js +4 -1
- package/dist/cli/commands/comments-audit.js.map +1 -1
- package/dist/cli/commands/comments.d.ts +5 -0
- package/dist/cli/commands/comments.js +29 -116
- package/dist/cli/commands/comments.js.map +1 -1
- package/dist/cli/commands/completion.js +198 -15
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/config.js +4 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/context.js +21 -13
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.d.ts +9 -0
- package/dist/cli/commands/contracts.js +314 -64
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.js +77 -48
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/dedupe-audit.js +9 -3
- package/dist/cli/commands/dedupe-audit.js.map +1 -1
- package/dist/cli/commands/delete.d.ts +3 -0
- package/dist/cli/commands/delete.js +11 -7
- package/dist/cli/commands/delete.js.map +1 -1
- package/dist/cli/commands/deps.js +4 -1
- package/dist/cli/commands/deps.js.map +1 -1
- package/dist/cli/commands/docs.d.ts +1 -0
- package/dist/cli/commands/docs.js +6 -7
- package/dist/cli/commands/docs.js.map +1 -1
- package/dist/cli/commands/event-validation-messages.d.ts +3 -0
- package/dist/cli/commands/event-validation-messages.js +44 -0
- package/dist/cli/commands/event-validation-messages.js.map +1 -0
- package/dist/cli/commands/extension.d.ts +3 -1
- package/dist/cli/commands/extension.js +259 -52
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/files.js +8 -12
- package/dist/cli/commands/files.js.map +1 -1
- package/dist/cli/commands/gc.js +19 -3
- package/dist/cli/commands/gc.js.map +1 -1
- package/dist/cli/commands/get.d.ts +10 -5
- package/dist/cli/commands/get.js +135 -20
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/guide.js +6 -8
- package/dist/cli/commands/guide.js.map +1 -1
- package/dist/cli/commands/health.d.ts +14 -0
- package/dist/cli/commands/health.js +269 -67
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history-redact.d.ts +50 -0
- package/dist/cli/commands/history-redact.js +476 -0
- package/dist/cli/commands/history-redact.js.map +1 -0
- package/dist/cli/commands/history-repair.d.ts +33 -0
- package/dist/cli/commands/history-repair.js +166 -0
- package/dist/cli/commands/history-repair.js.map +1 -0
- package/dist/cli/commands/history.d.ts +4 -0
- package/dist/cli/commands/history.js +12 -79
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/index.d.ts +5 -1
- package/dist/cli/commands/index.js +9 -2
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init-agent-guidance.d.ts +31 -0
- package/dist/cli/commands/init-agent-guidance.js +336 -0
- package/dist/cli/commands/init-agent-guidance.js.map +1 -0
- package/dist/cli/commands/init.d.ts +42 -0
- package/dist/cli/commands/init.js +96 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/learnings.js +22 -118
- package/dist/cli/commands/learnings.js.map +1 -1
- package/dist/cli/commands/linked-test-entry.d.ts +3 -0
- package/dist/cli/commands/linked-test-entry.js +62 -0
- package/dist/cli/commands/linked-test-entry.js.map +1 -0
- package/dist/cli/commands/list.d.ts +1 -0
- package/dist/cli/commands/list.js +72 -38
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/metadata-normalizers.js +4 -1
- package/dist/cli/commands/metadata-normalizers.js.map +1 -1
- package/dist/cli/commands/normalize.js +4 -1
- package/dist/cli/commands/normalize.js.map +1 -1
- package/dist/cli/commands/notes.js +22 -118
- package/dist/cli/commands/notes.js.map +1 -1
- package/dist/cli/commands/plan.d.ts +121 -0
- package/dist/cli/commands/plan.js +1137 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/reindex.js +4 -1
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/restore.js +9 -49
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/schema.d.ts +31 -0
- package/dist/cli/commands/schema.js +98 -0
- package/dist/cli/commands/schema.js.map +1 -0
- package/dist/cli/commands/search.js +156 -40
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/stats.js +4 -1
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/templates.d.ts +4 -0
- package/dist/cli/commands/templates.js +91 -16
- package/dist/cli/commands/templates.js.map +1 -1
- package/dist/cli/commands/test-all.js +6 -7
- package/dist/cli/commands/test-all.js.map +1 -1
- package/dist/cli/commands/test-runs.js +4 -1
- package/dist/cli/commands/test-runs.js.map +1 -1
- package/dist/cli/commands/test.d.ts +1 -0
- package/dist/cli/commands/test.js +9 -9
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update-many.js +6 -7
- package/dist/cli/commands/update-many.js.map +1 -1
- package/dist/cli/commands/update.js +204 -103
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/upgrade.js +6 -3
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/validate.d.ts +3 -1
- package/dist/cli/commands/validate.js +44 -64
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/error-guidance.js +99 -6
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/extension-command-help.d.ts +0 -1
- package/dist/cli/extension-command-help.js +4 -12
- package/dist/cli/extension-command-help.js.map +1 -1
- package/dist/cli/extension-command-options.d.ts +1 -0
- package/dist/cli/extension-command-options.js +108 -6
- package/dist/cli/extension-command-options.js.map +1 -1
- package/dist/cli/guide-topics.js +4 -1
- package/dist/cli/guide-topics.js.map +1 -1
- package/dist/cli/help-content.d.ts +0 -1
- package/dist/cli/help-content.js +46 -22
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/help-json-payload.d.ts +1 -0
- package/dist/cli/help-json-payload.js +35 -2
- package/dist/cli/help-json-payload.js.map +1 -1
- package/dist/cli/main.js +214 -30
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/migration-gates.js +4 -1
- package/dist/cli/migration-gates.js.map +1 -1
- package/dist/cli/register-list-query.d.ts +1 -1
- package/dist/cli/register-list-query.js +75 -29
- package/dist/cli/register-list-query.js.map +1 -1
- package/dist/cli/register-mutation.d.ts +1 -1
- package/dist/cli/register-mutation.js +430 -38
- package/dist/cli/register-mutation.js.map +1 -1
- package/dist/cli/register-operations.js +47 -10
- package/dist/cli/register-operations.js.map +1 -1
- package/dist/cli/register-setup.js +47 -25
- package/dist/cli/register-setup.js.map +1 -1
- package/dist/cli/registration-helpers.d.ts +0 -2
- package/dist/cli/registration-helpers.js +21 -40
- package/dist/cli/registration-helpers.js.map +1 -1
- package/dist/cli/shared-parsers.js +4 -1
- package/dist/cli/shared-parsers.js.map +1 -1
- package/dist/cli/telemetry-flush.js +4 -1
- package/dist/cli/telemetry-flush.js.map +1 -1
- package/dist/cli.js +65 -3
- package/dist/cli.js.map +1 -1
- package/dist/core/extensions/extension-types.js +4 -1
- package/dist/core/extensions/extension-types.js.map +1 -1
- package/dist/core/extensions/index.d.ts +0 -1
- package/dist/core/extensions/index.js +4 -13
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/item-fields.js +4 -1
- package/dist/core/extensions/item-fields.js.map +1 -1
- package/dist/core/extensions/loader.js +78 -60
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runtime-registrations.js +4 -1
- package/dist/core/extensions/runtime-registrations.js.map +1 -1
- package/dist/core/fs/fs-utils.js +4 -1
- package/dist/core/fs/fs-utils.js.map +1 -1
- package/dist/core/fs/index.js +4 -1
- package/dist/core/fs/index.js.map +1 -1
- package/dist/core/fs/path-utils.d.ts +1 -0
- package/dist/core/fs/path-utils.js +12 -0
- package/dist/core/fs/path-utils.js.map +1 -0
- package/dist/core/history/drift-scan.d.ts +11 -0
- package/dist/core/history/drift-scan.js +67 -0
- package/dist/core/history/drift-scan.js.map +1 -0
- package/dist/core/history/history-stream-policy.js +4 -1
- package/dist/core/history/history-stream-policy.js.map +1 -1
- package/dist/core/history/history.js +4 -1
- package/dist/core/history/history.js.map +1 -1
- package/dist/core/history/index.js +4 -1
- package/dist/core/history/index.js.map +1 -1
- package/dist/core/history/replay.d.ts +82 -0
- package/dist/core/history/replay.js +249 -0
- package/dist/core/history/replay.js.map +1 -0
- package/dist/core/item/id.js +4 -1
- package/dist/core/item/id.js.map +1 -1
- package/dist/core/item/index.js +4 -1
- package/dist/core/item/index.js.map +1 -1
- package/dist/core/item/item-format.js +250 -8
- package/dist/core/item/item-format.js.map +1 -1
- package/dist/core/item/item-type-definition.d.ts +52 -0
- package/dist/core/item/item-type-definition.js +123 -0
- package/dist/core/item/item-type-definition.js.map +1 -0
- package/dist/core/item/parent-reference-policy.js +4 -1
- package/dist/core/item/parent-reference-policy.js.map +1 -1
- package/dist/core/item/parse.js +34 -3
- package/dist/core/item/parse.js.map +1 -1
- package/dist/core/item/priority.d.ts +23 -0
- package/dist/core/item/priority.js +55 -0
- package/dist/core/item/priority.js.map +1 -0
- package/dist/core/item/sprint-release-format.js +4 -1
- package/dist/core/item/sprint-release-format.js.map +1 -1
- package/dist/core/item/status.d.ts +14 -1
- package/dist/core/item/status.js +24 -1
- package/dist/core/item/status.js.map +1 -1
- package/dist/core/item/toon-decode.d.ts +19 -0
- package/dist/core/item/toon-decode.js +69 -0
- package/dist/core/item/toon-decode.js.map +1 -0
- package/dist/core/item/type-registry.js +15 -83
- package/dist/core/item/type-registry.js.map +1 -1
- package/dist/core/lock/index.js +4 -1
- package/dist/core/lock/index.js.map +1 -1
- package/dist/core/lock/lock.js +4 -1
- package/dist/core/lock/lock.js.map +1 -1
- package/dist/core/output/output.d.ts +4 -0
- package/dist/core/output/output.js +47 -6
- package/dist/core/output/output.js.map +1 -1
- package/dist/core/packages/manifest.d.ts +1 -0
- package/dist/core/packages/manifest.js +6 -8
- package/dist/core/packages/manifest.js.map +1 -1
- package/dist/core/packages/root.d.ts +3 -0
- package/dist/core/packages/root.js +51 -0
- package/dist/core/packages/root.js.map +1 -0
- package/dist/core/schema/item-types-file.d.ts +85 -0
- package/dist/core/schema/item-types-file.js +243 -0
- package/dist/core/schema/item-types-file.js.map +1 -0
- package/dist/core/schema/runtime-field-filters.js +4 -1
- package/dist/core/schema/runtime-field-filters.js.map +1 -1
- package/dist/core/schema/runtime-field-values.js +4 -1
- package/dist/core/schema/runtime-field-values.js.map +1 -1
- package/dist/core/schema/runtime-schema.d.ts +2 -1
- package/dist/core/schema/runtime-schema.js +13 -8
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/search/cache.js +7 -2
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/corpus.d.ts +2 -0
- package/dist/core/search/corpus.js +77 -2
- package/dist/core/search/corpus.js.map +1 -1
- package/dist/core/search/embedding-batches.js +21 -7
- package/dist/core/search/embedding-batches.js.map +1 -1
- package/dist/core/search/http-client.js +4 -1
- package/dist/core/search/http-client.js.map +1 -1
- package/dist/core/search/providers.js +4 -1
- package/dist/core/search/providers.js.map +1 -1
- package/dist/core/search/semantic-defaults.js +12 -3
- package/dist/core/search/semantic-defaults.js.map +1 -1
- package/dist/core/search/vector-stores.js +4 -1
- package/dist/core/search/vector-stores.js.map +1 -1
- package/dist/core/sentry/helpers.js +4 -1
- package/dist/core/sentry/helpers.js.map +1 -1
- package/dist/core/sentry/instrument.js +10 -13
- package/dist/core/sentry/instrument.js.map +1 -1
- package/dist/core/shared/author.d.ts +1 -0
- package/dist/core/shared/author.js +9 -0
- package/dist/core/shared/author.js.map +1 -0
- package/dist/core/shared/command-types.js +4 -1
- package/dist/core/shared/command-types.js.map +1 -1
- package/dist/core/shared/conflict-markers.js +4 -1
- package/dist/core/shared/conflict-markers.js.map +1 -1
- package/dist/core/shared/constants.d.ts +2 -2
- package/dist/core/shared/constants.js +24 -1
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/errors.js +4 -1
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/shared/index.js +4 -1
- package/dist/core/shared/index.js.map +1 -1
- package/dist/core/shared/lazy-module.d.ts +1 -0
- package/dist/core/shared/lazy-module.js +11 -0
- package/dist/core/shared/lazy-module.js.map +1 -0
- package/dist/core/shared/levenshtein.js +4 -1
- package/dist/core/shared/levenshtein.js.map +1 -1
- package/dist/core/shared/option-alias-visibility.d.ts +44 -0
- package/dist/core/shared/option-alias-visibility.js +76 -0
- package/dist/core/shared/option-alias-visibility.js.map +1 -0
- package/dist/core/shared/primitives.js +4 -1
- package/dist/core/shared/primitives.js.map +1 -1
- package/dist/core/shared/serialization.js +4 -1
- package/dist/core/shared/serialization.js.map +1 -1
- package/dist/core/shared/text-normalization.d.ts +0 -1
- package/dist/core/shared/text-normalization.js +4 -4
- package/dist/core/shared/text-normalization.js.map +1 -1
- package/dist/core/shared/time.js +4 -1
- package/dist/core/shared/time.js.map +1 -1
- package/dist/core/store/front-matter-cache.js +8 -3
- package/dist/core/store/front-matter-cache.js.map +1 -1
- package/dist/core/store/index.js +4 -1
- package/dist/core/store/index.js.map +1 -1
- package/dist/core/store/item-format-migration.js +4 -1
- package/dist/core/store/item-format-migration.js.map +1 -1
- package/dist/core/store/item-store.d.ts +4 -0
- package/dist/core/store/item-store.js +133 -39
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/paths.js +4 -1
- package/dist/core/store/paths.js.map +1 -1
- package/dist/core/store/settings-validator.d.ts +106 -0
- package/dist/core/store/settings-validator.js +279 -0
- package/dist/core/store/settings-validator.js.map +1 -0
- package/dist/core/store/settings.js +32 -331
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/consent.js +4 -1
- package/dist/core/telemetry/consent.js.map +1 -1
- package/dist/core/telemetry/observability.d.ts +1 -1
- package/dist/core/telemetry/observability.js +11 -2
- package/dist/core/telemetry/observability.js.map +1 -1
- package/dist/core/telemetry/runtime.js +34 -6
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/core/test/background-runs.js +4 -1
- package/dist/core/test/background-runs.js.map +1 -1
- package/dist/core/test/item-test-run-tracking.js +4 -1
- package/dist/core/test/item-test-run-tracking.js.map +1 -1
- package/dist/mcp/server.js +182 -22
- package/dist/mcp/server.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-mutation-options.js +10 -3
- package/dist/sdk/cli-contracts/commander-mutation-options.js.map +1 -1
- package/dist/sdk/cli-contracts/commander-types.js +4 -1
- package/dist/sdk/cli-contracts/commander-types.js.map +1 -1
- package/dist/sdk/cli-contracts.d.ts +13 -2
- package/dist/sdk/cli-contracts.js +410 -26
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.js +4 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runtime.d.ts +25 -1
- package/dist/sdk/runtime.js +48 -2
- package/dist/sdk/runtime.js.map +1 -1
- package/dist/types/index.js +4 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types.d.ts +92 -2
- package/dist/types.js +42 -1
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +23 -7
- package/docs/ARCHITECTURE.md +1 -1
- package/docs/CLAUDE_CODE_PLUGIN.md +10 -10
- package/docs/CODEX_PLUGIN.md +2 -2
- package/docs/COMMANDS.md +117 -12
- package/docs/CONFIGURATION.md +5 -2
- package/docs/EXTENSIONS.md +158 -814
- package/docs/QUICKSTART.md +11 -5
- package/docs/README.md +7 -6
- package/docs/RELEASING.md +13 -9
- package/docs/SDK.md +11 -2
- package/docs/TESTING.md +2 -2
- package/marketplace.json +3 -3
- package/package.json +15 -12
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/README.md +4 -2
- package/packages/pm-calendar/extensions/calendar/index.js +22 -3
- package/packages/pm-calendar/extensions/calendar/index.ts +22 -3
- package/packages/pm-calendar/extensions/calendar/runtime.js +26 -7
- package/packages/pm-calendar/extensions/calendar/runtime.ts +26 -7
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/extensions/guide-shell/index.js +1 -1
- package/packages/pm-guide-shell/extensions/guide-shell/index.ts +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/README.md +8 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.js +74 -0
- package/packages/pm-search-advanced/extensions/search-advanced/index.ts +75 -1
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.js +67 -9
- package/packages/pm-search-advanced/extensions/search-advanced/runtime.ts +67 -9
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/README.md +1 -1
- package/packages/pm-templates/extensions/templates/runtime.js +11 -202
- package/packages/pm-templates/extensions/templates/runtime.ts +38 -230
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/plugins/{pm-cli-claude → pm-claude}/.claude-plugin/plugin.json +2 -2
- package/plugins/{pm-cli-claude → pm-claude}/.mcp.json +1 -1
- package/plugins/{pm-cli-claude → pm-claude}/README.md +4 -4
- package/plugins/{pm-cli-claude → pm-claude}/agents/pm-coordinator.md +1 -1
- package/plugins/{pm-cli-claude → pm-claude}/commands/pm-init.md +10 -1
- package/plugins/{pm-cli-claude → pm-claude}/commands/pm-planner.md +18 -0
- package/plugins/{pm-cli-claude → pm-claude}/skills/pm-planner/SKILL.md +46 -1
- package/plugins/{pm-cli-codex → pm-codex}/.codex-plugin/plugin.json +3 -3
- package/plugins/{pm-cli-codex → pm-codex}/.mcp.json +1 -1
- package/plugins/{pm-cli-codex → pm-codex}/README.md +7 -4
- package/plugins/pm-codex/skills/pm-native/SKILL.md +81 -0
- package/scripts/finalize-build.mjs +28 -0
- package/scripts/prepare-build-cache.mjs +37 -0
- package/dist/core/output/command-aware.d.ts +0 -1
- package/dist/core/output/command-aware.js +0 -394
- package/dist/core/output/command-aware.js.map +0 -1
- package/plugins/pm-cli-codex/skills/pm-native/SKILL.md +0 -57
- /package/plugins/{pm-cli-claude → pm-claude}/agents/pm-delivery-chain.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/agents/pm-triage-agent.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/agents/pm-verification-agent.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-audit.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-calendar.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-close-task.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-developer.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-list.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-new.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-release.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-search.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-start-task.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-status.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-triage.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/commands/pm-workflow.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/hooks/hooks.json +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/hooks/session-start.mjs +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/scripts/pm-mcp-server.mjs +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-audit/SKILL.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-developer/SKILL.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-release/SKILL.md +0 -0
- /package/plugins/{pm-cli-claude → pm-claude}/skills/pm-workflow/SKILL.md +0 -0
- /package/plugins/{pm-cli-codex → pm-codex}/assets/pm-cli-small.svg +0 -0
- /package/plugins/{pm-cli-codex → pm-codex}/commands/pm-audit.md +0 -0
- /package/plugins/{pm-cli-codex → pm-codex}/commands/pm-close-task.md +0 -0
- /package/plugins/{pm-cli-codex → pm-codex}/commands/pm-start-task.md +0 -0
- /package/plugins/{pm-cli-codex → pm-codex}/scripts/pm-mcp-server.mjs +0 -0
- /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-auditor/SKILL.md +0 -0
- /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-auditor/agents/openai.yaml +0 -0
- /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-native/agents/openai.yaml +0 -0
- /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-release/SKILL.md +0 -0
- /package/plugins/{pm-cli-codex → pm-codex}/skills/pm-release/agents/openai.yaml +0 -0
|
@@ -8,9 +8,9 @@ Native pm integration for Claude Code via the Model Context Protocol (MCP). Clau
|
|
|
8
8
|
pm-cli/ (repo root)
|
|
9
9
|
├── .claude-plugin/
|
|
10
10
|
│ └── marketplace.json # Root marketplace catalog — read by /plugin marketplace add
|
|
11
|
-
├── plugins/pm-
|
|
11
|
+
├── plugins/pm-claude/
|
|
12
12
|
│ ├── .claude-plugin/
|
|
13
|
-
│ │ └── plugin.json # Claude Code plugin manifest (name: "pm-
|
|
13
|
+
│ │ └── plugin.json # Claude Code plugin manifest (name: "pm-claude")
|
|
14
14
|
│ ├── .mcp.json # MCP server config using ${CLAUDE_PLUGIN_ROOT}
|
|
15
15
|
│ ├── skills/
|
|
16
16
|
│ │ ├── pm-workflow/ # Auto-invoked: orient → claim → implement → close
|
|
@@ -64,7 +64,7 @@ The server exposes 18 native tools that call pm library functions directly:
|
|
|
64
64
|
| `pm_validate` | `pm validate` | `options.checkResolution`, `options.checkFiles` |
|
|
65
65
|
| `pm_health` | `pm health` | `options.checkOnly` |
|
|
66
66
|
| `pm_contracts` | `pm contracts` | `options.command`, `options.json` |
|
|
67
|
-
| `
|
|
67
|
+
| `pm_plan` | `pm plan` | `options.subcommand`, `id`, `stepRef` |
|
|
68
68
|
| `pm_run` | any pm action | `action` (required), `id`, `query`, `reason`, `options.*` |
|
|
69
69
|
|
|
70
70
|
All tools accept `cwd` (workspace directory), `path` (pm data root override), and `author` (mutation author).
|
|
@@ -77,15 +77,15 @@ Add the pm-cli GitHub repo as a marketplace source, then install:
|
|
|
77
77
|
|
|
78
78
|
```
|
|
79
79
|
/plugin marketplace add unbraind/pm-cli
|
|
80
|
-
/plugin install pm-
|
|
80
|
+
/plugin install pm-claude@pm
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
This clones the repo, reads `.claude-plugin/marketplace.json` at the root, installs the plugin from `./plugins/pm-
|
|
83
|
+
This clones the repo, reads `.claude-plugin/marketplace.json` at the root, installs the plugin from `./plugins/pm-claude/`, and configures the MCP server, 5 skills, 9 slash commands, and the session hook automatically.
|
|
84
84
|
|
|
85
85
|
### 2. Global MCP via Claude Code CLI (MCP tools only)
|
|
86
86
|
|
|
87
87
|
```bash
|
|
88
|
-
claude mcp add --transport stdio pm-
|
|
88
|
+
claude mcp add --transport stdio pm-mcp -- npx -y @unbrained/pm-cli pm-mcp
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
Gives you the 18 MCP tools without skills or slash commands.
|
|
@@ -97,9 +97,9 @@ Add to the project's `.mcp.json`:
|
|
|
97
97
|
```json
|
|
98
98
|
{
|
|
99
99
|
"mcpServers": {
|
|
100
|
-
"pm-
|
|
100
|
+
"pm-mcp": {
|
|
101
101
|
"command": "node",
|
|
102
|
-
"args": ["./plugins/pm-
|
|
102
|
+
"args": ["./plugins/pm-claude/scripts/pm-mcp-server.mjs"],
|
|
103
103
|
"env": { "PM_AUTHOR": "claude-code-agent" }
|
|
104
104
|
}
|
|
105
105
|
}
|
|
@@ -110,7 +110,7 @@ The repo root `.mcp.json` uses this approach — activates automatically when Cl
|
|
|
110
110
|
|
|
111
111
|
## MCP Server Launcher
|
|
112
112
|
|
|
113
|
-
`plugins/pm-
|
|
113
|
+
`plugins/pm-claude/scripts/pm-mcp-server.mjs` resolves the server in order:
|
|
114
114
|
|
|
115
115
|
1. `PM_CLI_MCP_SERVER` env var (explicit override)
|
|
116
116
|
2. `dist/mcp/server.js` walking up from the launcher (repo checkout)
|
|
@@ -188,7 +188,7 @@ For migration details and automation expectations, see:
|
|
|
188
188
|
|
|
189
189
|
```bash
|
|
190
190
|
claude plugin validate .claude-plugin/marketplace.json
|
|
191
|
-
claude plugin validate plugins/pm-
|
|
191
|
+
claude plugin validate plugins/pm-claude/.claude-plugin/plugin.json
|
|
192
192
|
```
|
|
193
193
|
|
|
194
194
|
### Manual verification
|
package/docs/CODEX_PLUGIN.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Codex Plugin
|
|
2
2
|
|
|
3
|
-
pm-cli ships a repo-local Codex plugin at [`plugins/pm-
|
|
3
|
+
pm-cli ships a repo-local Codex plugin at [`plugins/pm-codex`](../plugins/pm-codex/README.md).
|
|
4
4
|
|
|
5
5
|
## Install From This Repo
|
|
6
6
|
|
|
@@ -12,7 +12,7 @@ Restart Codex and install **pm CLI** from the `pm CLI Local` marketplace.
|
|
|
12
12
|
|
|
13
13
|
## What It Provides
|
|
14
14
|
|
|
15
|
-
- `pm-
|
|
15
|
+
- `pm-mcp` MCP server for structured pm operations without invoking the `pm` shell command
|
|
16
16
|
- narrow tools for common loops: context, search, list, get, create, update, claim, release, close, comments, files, docs, tests, validate, health, contracts, and guide
|
|
17
17
|
- `pm_run` for the rest of the pm surface, including calendar, activity, aggregate, dedupe-audit, normalize, reindex, extensions, templates, history, stats, gc, and test-runs controls
|
|
18
18
|
- skills for native tracking, audits, and release workflows
|
package/docs/COMMANDS.md
CHANGED
|
@@ -6,6 +6,7 @@ This is a task-oriented command guide. For exact flags, use runtime help because
|
|
|
6
6
|
pm <command> --help
|
|
7
7
|
pm <command> --help --json
|
|
8
8
|
pm contracts --command <command> --flags-only --json
|
|
9
|
+
pm install guide-shell --project
|
|
9
10
|
pm guide commands --depth standard
|
|
10
11
|
```
|
|
11
12
|
|
|
@@ -13,7 +14,7 @@ pm guide commands --depth standard
|
|
|
13
14
|
|
|
14
15
|
- Prefer `pm context`, `pm search`, and narrow list commands before mutation.
|
|
15
16
|
- Prefer TOON for reading and `--json` for strict parsing.
|
|
16
|
-
- Use `pm guide <topic>`
|
|
17
|
+
- Use `pm install guide-shell --project` before `pm guide <topic>` when local docs routing is needed.
|
|
17
18
|
- Use `pm contracts` for machine clients.
|
|
18
19
|
- Every mutation writes history.
|
|
19
20
|
|
|
@@ -26,27 +27,36 @@ Tracked documentation work: [pm-1sb2](../.agents/pm/tasks/pm-1sb2.toon).
|
|
|
26
27
|
| Bootstrap | `init`, `config`, `health` | create and inspect tracker setup |
|
|
27
28
|
| Triage | `context`, `search`, `list*`, `aggregate`, `dedupe-audit` | find work and audit decomposition |
|
|
28
29
|
| Lifecycle | `create`, `claim`, `update`, `append`, `close`, `release`, `delete`, `start-task`, `pause-task`, `close-task` | mutate item state |
|
|
30
|
+
| Planning | `plan create`, `plan add-step`, `plan update-step`, `plan complete-step`, `plan link`, `plan approve`, `plan materialize` | agent-optimized living plans with ordered steps, evidence, decisions, validation, and materialization |
|
|
29
31
|
| Logs | `comments`, `notes`, `learnings`, `comments-audit` | record progress and durable context |
|
|
30
32
|
| Links | `files`, `docs`, `test`, `deps` | connect items to artifacts, tests, and relationships |
|
|
31
33
|
| Verification | `test`, `test-all`, `test-runs`, `validate`, `gc` | run linked tests and repository checks |
|
|
32
|
-
| History | `history`, `activity`, `restore`, `stats` | inspect and recover item state |
|
|
34
|
+
| History | `history`, `history-redact`, `history-repair`, `activity`, `restore`, `stats` | inspect, redact, re-anchor, and recover item state |
|
|
35
|
+
| Schema | `schema add-type` | register config-driven custom item types into `.agents/pm/schema/types.json` |
|
|
33
36
|
| Calendar | `calendar`, `cal` | project deadlines, reminders, and events |
|
|
34
37
|
| Packages | `install`, `upgrade`, `package`, `packages`, `extension`, package/extension command groups | install, upgrade, manage, and run package-backed extension commands |
|
|
35
|
-
| Machines | `
|
|
38
|
+
| Machines | `contracts`, `help`, optional `guide`/`completion` | command contracts plus optional guide-shell docs routing and shell helpers |
|
|
36
39
|
|
|
37
40
|
## Bootstrap
|
|
38
41
|
|
|
39
42
|
```bash
|
|
40
43
|
pm init
|
|
44
|
+
pm init --defaults --with-packages
|
|
45
|
+
pm init --agent-guidance status
|
|
46
|
+
pm init --agent-guidance add
|
|
41
47
|
pm config project list
|
|
42
|
-
pm health --check-only
|
|
48
|
+
pm health --check-only --summary --json
|
|
43
49
|
```
|
|
44
50
|
|
|
45
|
-
`pm init` creates `.agents/pm`. `pm health --check-only`
|
|
51
|
+
`pm init` creates `.agents/pm`. `pm health --check-only --summary --json` gives the smallest machine-readable health gate without refreshing optional search artifacts.
|
|
52
|
+
`pm init --agent-guidance ask` is the default behavior: prompt in TTY only when AGENTS/CLAUDE guidance is missing and no decline is recorded.
|
|
53
|
+
Use `--agent-guidance add` to write guidance, `--agent-guidance skip` to persist a decline without writing, and `--agent-guidance status` to inspect guidance state.
|
|
54
|
+
Use `--with-packages` for one-step agent setup when bundled package commands should be active immediately.
|
|
46
55
|
|
|
47
56
|
## Packages
|
|
48
57
|
|
|
49
58
|
```bash
|
|
59
|
+
pm package # bare command defaults to --explore (list installed)
|
|
50
60
|
pm install '*' --project
|
|
51
61
|
pm package catalog --project
|
|
52
62
|
pm install npm:@scope/pm-package --project
|
|
@@ -56,7 +66,7 @@ pm upgrade --packages-only
|
|
|
56
66
|
pm upgrade --cli-only --repair
|
|
57
67
|
```
|
|
58
68
|
|
|
59
|
-
`pm install` and `pm package` are the preferred package-first workflow. `pm install '*'`, shell-expanded `pm install *`, and `pm install all` install bundled first-party packages. `pm extension` remains as a compatibility command for direct extension lifecycle operations.
|
|
69
|
+
`pm install` and `pm package` are the preferred package-first workflow. `pm package` and `pm extension` bare invocations default to `--explore` so agents can list installed packages without remembering an action flag. `pm install '*'`, shell-expanded `pm install *`, and `pm install all` install bundled first-party packages. `pm extension` remains as a compatibility command for direct extension lifecycle operations.
|
|
60
70
|
When package-owned commands are unavailable, usage guidance includes an install-ready retry (for example `pm install calendar`, `pm install search-advanced`, `pm install governance-audit`, or `pm install guide-shell`).
|
|
61
71
|
|
|
62
72
|
## Triage
|
|
@@ -74,7 +84,18 @@ Use `context` first for a compact active-work snapshot. Use `search` when the re
|
|
|
74
84
|
|
|
75
85
|
## Create and Update
|
|
76
86
|
|
|
77
|
-
|
|
87
|
+
Shortest agent-friendly create (positional title + defaults to `Task` type):
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
pm create "Document command contracts"
|
|
91
|
+
pm create "Fix login bug" --type Issue --priority high
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
`pm create` defaults `--type` to `settings.governance.create_default_type` (falling back to `Task`).
|
|
95
|
+
Pass `--create-mode strict` to require an explicit `--type` flag for governance-controlled flows.
|
|
96
|
+
Priority accepts either `0..4` or the equivalent names `critical`, `high`, `medium`, `low`, and `minimal`.
|
|
97
|
+
|
|
98
|
+
Minimal progressive create with explicit fields:
|
|
78
99
|
|
|
79
100
|
```bash
|
|
80
101
|
pm create \
|
|
@@ -104,11 +125,23 @@ Update existing work:
|
|
|
104
125
|
|
|
105
126
|
```bash
|
|
106
127
|
pm update <id> --status in_progress --message "Start implementation"
|
|
107
|
-
pm update <id> --deadline +1d --estimate 120
|
|
128
|
+
pm update <id> --priority medium --deadline +1d --estimate 120
|
|
108
129
|
pm update <id> --parent <parent-id>
|
|
109
130
|
pm append <id> --body "Detailed implementation notes."
|
|
110
131
|
```
|
|
111
132
|
|
|
133
|
+
## Templates
|
|
134
|
+
|
|
135
|
+
After `pm install templates --project`, `pm templates` lists both saved templates and built-in starters:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
pm templates
|
|
139
|
+
pm templates show bug
|
|
140
|
+
pm create --template bug --title "Fix search regression"
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Built-ins are `bug`, `feature`, `spike`, and `chore`. A saved template with the same name overrides the built-in.
|
|
144
|
+
|
|
112
145
|
Use `pm close <id> "<reason>"` instead of `pm update --status closed`.
|
|
113
146
|
|
|
114
147
|
## Lifecycle Aliases
|
|
@@ -146,9 +179,9 @@ Use comments for progress and evidence, notes for implementation context, and le
|
|
|
146
179
|
## Linked Artifacts
|
|
147
180
|
|
|
148
181
|
```bash
|
|
149
|
-
pm files <id> --add path=src/cli/main.ts,
|
|
182
|
+
pm files <id> --add path=src/cli/main.ts,note="command wiring"
|
|
150
183
|
pm files <id> --add-glob "src/cli/**/*.ts"
|
|
151
|
-
pm docs <id> --add path=docs/COMMANDS.md,
|
|
184
|
+
pm docs <id> --add path=docs/COMMANDS.md,note="public command docs"
|
|
152
185
|
pm deps <id> --format tree
|
|
153
186
|
```
|
|
154
187
|
|
|
@@ -157,7 +190,7 @@ Linked files and docs keep reviews reproducible. `deps` is read-only and project
|
|
|
157
190
|
## Linked Tests
|
|
158
191
|
|
|
159
192
|
```bash
|
|
160
|
-
pm test <id> --add command="node scripts/run-tests.mjs test -- tests/unit/output.spec.ts",
|
|
193
|
+
pm test <id> --add command="node scripts/run-tests.mjs test -- tests/unit/output.spec.ts",timeout_seconds=240
|
|
161
194
|
pm test <id> --run --progress
|
|
162
195
|
pm test-all --status in_progress --progress
|
|
163
196
|
```
|
|
@@ -200,12 +233,84 @@ Use dry-run modes before broad lifecycle or cleanup changes.
|
|
|
200
233
|
|
|
201
234
|
```bash
|
|
202
235
|
pm history <id> --limit 20
|
|
203
|
-
pm history <id> --diff --verify
|
|
236
|
+
pm history <id> --full --diff --verify
|
|
237
|
+
pm history-redact <id> --literal "[redacted_path_prefix]/private" --replacement "[redacted_path]"
|
|
238
|
+
pm history-redact <id> --regex "/192\\.168\\.[0-9.]+/g" --dry-run
|
|
239
|
+
pm history-repair <id> --dry-run
|
|
240
|
+
pm history-repair <id> --message "re-anchor legacy drift"
|
|
204
241
|
pm activity --id <id> --limit 50
|
|
242
|
+
pm activity --full --id <id> --limit 50
|
|
205
243
|
pm restore <id> <timestamp-or-version>
|
|
206
244
|
```
|
|
207
245
|
|
|
208
246
|
History is append-only. Restore appends a new restore event instead of rewriting old history.
|
|
247
|
+
`history-redact` rewrites matching history payloads deterministically, recomputes hash chains, and appends an auditable `history_redact` marker entry when changes are applied.
|
|
248
|
+
`history-repair` re-anchors a drifted history chain when `pm health`/`pm validate --check-history-drift` report stale hashes: it replays the stream, recomputes every before/after hash, repairs legacy patch ops that no longer strictly apply, reconciles the latest hash with the on-disk item, and appends an auditable `history_repair` marker. It never modifies item content and is a safe no-op on a clean stream.
|
|
249
|
+
|
|
250
|
+
## Custom Item Types
|
|
251
|
+
|
|
252
|
+
`pm schema add-type` registers a config-driven custom item type so agents can use `pm create <Type> "..."` for project-specific work categories without editing settings by hand. The definition is merged into the runtime type registry from `.agents/pm/schema/types.json` (shape: `{ "definitions": [ItemTypeDefinition...] }`).
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
pm schema add-type Spike --description "Time-boxed investigation" --default-status open
|
|
256
|
+
pm schema add-type Spike --alias spike --alias research --folder spikes
|
|
257
|
+
pm create Spike "Investigate retry backoff"
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
- The command is an idempotent UPSERT keyed on the type name (case-insensitive); re-running it merges aliases and overrides supplied fields while preserving everything else.
|
|
261
|
+
- Built-in types (Chore, Decision, Epic, Event, Feature, Issue, Meeting, Milestone, Plan, Reminder, Task) are reserved and cannot be redefined.
|
|
262
|
+
- Flags: `--description <text>`, `--default-status <status>`, `--folder <dir>`, `--alias <name>` (repeatable), plus `--author`/`--force` governance flags. Add `--json` for the machine envelope.
|
|
263
|
+
- When `pm create`/`pm update` reject an unknown type, the error now points back here: `To register a custom type, run: pm schema add-type "X" (writes .agents/pm/schema/types.json).`
|
|
264
|
+
|
|
265
|
+
## Plan Workflow
|
|
266
|
+
|
|
267
|
+
`pm plan` is the agent-optimized planning loop built on the first-class `Plan` item type. Plans persist ordered steps, evidence, decisions, discoveries, validation, and resume context. Each mutation appends a history entry; full hash-chain replay is preserved.
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
pm plan create --title "Refactor lock retry" --scope "Improve retry semantics" --harness claude-code --parent pm-epic1 --related pm-rel1,pm-rel2 --claim
|
|
271
|
+
pm plan add-step <plan-id> --step-title "Read lock.ts" --step-body "Inspect retry path" --depends-on pm-task1
|
|
272
|
+
pm plan update-step <plan-id> plan-step-001 --step-status in_progress --step-evidence "started reading lock.ts"
|
|
273
|
+
pm plan complete-step <plan-id> plan-step-001 --step-evidence "lock.ts read; retry path captured"
|
|
274
|
+
pm plan block-step <plan-id> plan-step-003 --step-blocked-reason "waiting on pm-task9 approval"
|
|
275
|
+
pm plan link <plan-id> plan-step-002 --link pm-rel3 --link-kind discovered_from --link-note "found related util"
|
|
276
|
+
pm plan decision <plan-id> --decision-text "Use exponential backoff" --decision-rationale "Avoid thundering herd"
|
|
277
|
+
pm plan discovery <plan-id> --discovery-text "Found existing util in src/util/retry.ts"
|
|
278
|
+
pm plan validation <plan-id> --validation-text "Coverage stays at 100%" --validation-command "node scripts/run-tests.mjs coverage"
|
|
279
|
+
pm plan resume <plan-id> --resume-context "step 2 pending; tests still failing on retry path"
|
|
280
|
+
pm plan approve <plan-id> --message "ready to execute"
|
|
281
|
+
pm plan materialize <plan-id> --steps plan-step-002,plan-step-003 --materialize-type Task --materialize-parent pm-epic1
|
|
282
|
+
pm plan show <plan-id> --depth brief
|
|
283
|
+
pm plan show <plan-id> --depth standard
|
|
284
|
+
pm plan show <plan-id> --depth deep
|
|
285
|
+
pm plan show <plan-id> --fields id,title,steps_summary
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
Subcommand cheatsheet:
|
|
289
|
+
|
|
290
|
+
| Subcommand | Purpose |
|
|
291
|
+
|------------|---------|
|
|
292
|
+
| `create` | Create a Plan item with scope, harness, parent, related, blocked-by, and optional auto-claim |
|
|
293
|
+
| `show` | Progressive-disclosure read (brief / standard / deep) with current step + next-action hints |
|
|
294
|
+
| `add-step` | Append a step with title/body/owner/status/dependencies/files/tests/docs |
|
|
295
|
+
| `update-step` | Patch one step (title, body, status, evidence, owner, blocked reason) |
|
|
296
|
+
| `complete-step` | Shortcut for setting a step to `completed` with evidence |
|
|
297
|
+
| `block-step` | Shortcut for setting a step to `blocked` with required `--step-blocked-reason` |
|
|
298
|
+
| `reorder-step` | Move a step to a new 1-based order |
|
|
299
|
+
| `remove-step` | Drop a step and renumber remaining steps |
|
|
300
|
+
| `link` / `unlink` | Add or remove `linked_items` on a step (with optional `--promote-to-item-dep`) |
|
|
301
|
+
| `decision` | Append a decision log entry (decision/rationale/evidence) |
|
|
302
|
+
| `discovery` | Append a discovery log entry |
|
|
303
|
+
| `validation` | Append a validation check (text/command/expected) |
|
|
304
|
+
| `resume` | Replace the resume-context summary for stateless agents |
|
|
305
|
+
| `approve` | Move `plan_mode` to `approved` (default) or any other mode via `--mode` |
|
|
306
|
+
| `materialize` | Create real pm items (default `Task`) from selected steps with bidirectional links |
|
|
307
|
+
|
|
308
|
+
Invariants:
|
|
309
|
+
|
|
310
|
+
- Exactly one step is `in_progress` per Plan; pass `--allow-multiple-active` for explicit parallel branches.
|
|
311
|
+
- Blocking a step requires `--step-blocked-reason` (or an already-recorded reason).
|
|
312
|
+
- `materialize` adds `discovered_from` + `parent` to each new item and an `implements` link back on the source step plus a `child` dependency on the Plan.
|
|
313
|
+
- Search keyword corpus includes plan_scope, step titles/bodies, decisions, discoveries, validation, and step linked items.
|
|
209
314
|
|
|
210
315
|
## Machine Contracts
|
|
211
316
|
|
package/docs/CONFIGURATION.md
CHANGED
|
@@ -48,7 +48,8 @@ Precedence:
|
|
|
48
48
|
| `validation.sprint_release_format` | `warn` or `strict_error` |
|
|
49
49
|
| `validation.parent_reference` | `warn` or `strict_error` |
|
|
50
50
|
| `item_types.definitions[]` | custom item types and type options |
|
|
51
|
-
| `
|
|
51
|
+
| `governance.create_default_type` | default `--type` used by the `pm create "title"` positional shortcut (defaults to `Task`) |
|
|
52
|
+
| `search.*` | search mode, scoring, providers, embedding timeout, and vector settings |
|
|
52
53
|
|
|
53
54
|
## Environment Variables
|
|
54
55
|
|
|
@@ -103,7 +104,7 @@ Use standalone checks when validating a repository:
|
|
|
103
104
|
```bash
|
|
104
105
|
pm validate --check-resolution --check-history-drift
|
|
105
106
|
pm validate --check-files --scan-mode tracked-all
|
|
106
|
-
pm health --check-only
|
|
107
|
+
pm health --check-only --summary --json
|
|
107
108
|
```
|
|
108
109
|
|
|
109
110
|
## Search Configuration
|
|
@@ -116,6 +117,8 @@ pm search "release docs" --mode keyword --limit 10
|
|
|
116
117
|
|
|
117
118
|
Semantic and hybrid search can use built-in OpenAI-compatible or Ollama providers plus vector stores such as Qdrant or LanceDB. If local Ollama is available and semantic settings are unset, `pm` can resolve local defaults automatically.
|
|
118
119
|
|
|
120
|
+
For local Ollama or slower embedding providers, tune `search.embedding_batch_size`, `search.embedding_timeout_ms`, and `search.scanner_max_batch_retries` in project config before assuming semantic search is broken. Keyword search remains the fast baseline while semantic indexing catches up.
|
|
121
|
+
|
|
119
122
|
Useful commands:
|
|
120
123
|
|
|
121
124
|
```bash
|