@unbrained/pm-cli 2026.5.1 → 2026.5.3-5
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/AGENTS.md +8 -1
- package/CHANGELOG.md +73 -4
- package/CONTRIBUTING.md +11 -5
- package/PRD.md +17 -1
- package/README.md +55 -1099
- package/SECURITY.md +6 -11
- package/dist/cli/bootstrap-args.d.ts +18 -0
- package/dist/cli/bootstrap-args.js +242 -0
- package/dist/cli/bootstrap-args.js.map +1 -0
- package/dist/cli/commander-usage.d.ts +17 -0
- package/dist/cli/commander-usage.js +178 -0
- package/dist/cli/commander-usage.js.map +1 -0
- package/dist/cli/commands/activity.d.ts +10 -0
- package/dist/cli/commands/activity.js +14 -10
- package/dist/cli/commands/activity.js.map +1 -1
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/append.js.map +1 -1
- package/dist/cli/commands/calendar.js +19 -34
- package/dist/cli/commands/calendar.js.map +1 -1
- package/dist/cli/commands/claim.js.map +1 -1
- package/dist/cli/commands/close.js.map +1 -1
- package/dist/cli/commands/comments-audit.js.map +1 -1
- package/dist/cli/commands/comments.js +1 -9
- package/dist/cli/commands/comments.js.map +1 -1
- package/dist/cli/commands/completion.js.map +1 -1
- package/dist/cli/commands/config.d.ts +21 -3
- package/dist/cli/commands/config.js +118 -2
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/context.d.ts +90 -1
- package/dist/cli/commands/context.js +496 -12
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/commands/contracts.js.map +1 -1
- package/dist/cli/commands/create.js +2 -2
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/dedupe-audit.js +2 -11
- package/dist/cli/commands/dedupe-audit.js.map +1 -1
- package/dist/cli/commands/delete.js.map +1 -1
- package/dist/cli/commands/deps.js.map +1 -1
- package/dist/cli/commands/docs.js.map +1 -1
- package/dist/cli/commands/extension.js.map +1 -1
- package/dist/cli/commands/files.js +14 -2
- package/dist/cli/commands/files.js.map +1 -1
- package/dist/cli/commands/gc.js.map +1 -1
- package/dist/cli/commands/get.js.map +1 -1
- package/dist/cli/commands/health.js +16 -12
- package/dist/cli/commands/health.js.map +1 -1
- package/dist/cli/commands/history.js +1 -9
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/learnings.js +1 -9
- package/dist/cli/commands/learnings.js.map +1 -1
- package/dist/cli/commands/list.d.ts +1 -0
- package/dist/cli/commands/list.js +13 -31
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/normalize.js +14 -23
- package/dist/cli/commands/normalize.js.map +1 -1
- package/dist/cli/commands/notes.js +1 -9
- package/dist/cli/commands/notes.js.map +1 -1
- package/dist/cli/commands/reindex.js +2 -7
- package/dist/cli/commands/reindex.js.map +1 -1
- package/dist/cli/commands/restore.js.map +1 -1
- package/dist/cli/commands/search.js +4 -35
- package/dist/cli/commands/search.js.map +1 -1
- package/dist/cli/commands/stats.js.map +1 -1
- package/dist/cli/commands/templates.js.map +1 -1
- package/dist/cli/commands/test-all.js.map +1 -1
- package/dist/cli/commands/test-runs.js +1 -11
- package/dist/cli/commands/test-runs.js.map +1 -1
- package/dist/cli/commands/test.js.map +1 -1
- package/dist/cli/commands/update-many.js +1 -6
- package/dist/cli/commands/update-many.js.map +1 -1
- package/dist/cli/commands/update.js +2 -2
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/commands/validate.js +23 -18
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/error-guidance.d.ts +13 -0
- package/dist/cli/error-guidance.js +56 -6
- package/dist/cli/error-guidance.js.map +1 -1
- package/dist/cli/extension-command-help.d.ts +48 -0
- package/dist/cli/extension-command-help.js +389 -0
- package/dist/cli/extension-command-help.js.map +1 -0
- package/dist/cli/extension-command-options.js.map +1 -1
- package/dist/cli/help-content.js +9 -3
- package/dist/cli/help-content.js.map +1 -1
- package/dist/cli/help-json-payload.d.ts +25 -0
- package/dist/cli/help-json-payload.js +265 -0
- package/dist/cli/help-json-payload.js.map +1 -0
- package/dist/cli/main.js +1000 -4456
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/migration-gates.d.ts +22 -0
- package/dist/cli/migration-gates.js +146 -0
- package/dist/cli/migration-gates.js.map +1 -0
- package/dist/cli/register-list-query.d.ts +2 -0
- package/dist/cli/register-list-query.js +317 -0
- package/dist/cli/register-list-query.js.map +1 -0
- package/dist/cli/register-mutation.d.ts +2 -0
- package/dist/cli/register-mutation.js +795 -0
- package/dist/cli/register-mutation.js.map +1 -0
- package/dist/cli/register-operations.d.ts +2 -0
- package/dist/cli/register-operations.js +610 -0
- package/dist/cli/register-operations.js.map +1 -0
- package/dist/cli/register-setup.d.ts +2 -0
- package/dist/cli/register-setup.js +334 -0
- package/dist/cli/register-setup.js.map +1 -0
- package/dist/cli/registration-helpers.d.ts +53 -0
- package/dist/cli/registration-helpers.js +669 -0
- package/dist/cli/registration-helpers.js.map +1 -0
- package/dist/cli/shared-parsers.d.ts +6 -0
- package/dist/cli/shared-parsers.js +40 -0
- package/dist/cli/shared-parsers.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/core/extensions/extension-types.d.ts +605 -0
- package/dist/core/extensions/extension-types.js +22 -0
- package/dist/core/extensions/extension-types.js.map +1 -0
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/item-fields.js.map +1 -1
- package/dist/core/extensions/loader.d.ts +2 -586
- package/dist/core/extensions/loader.js +3 -21
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runtime-registrations.js.map +1 -1
- package/dist/core/fs/fs-utils.js.map +1 -1
- package/dist/core/fs/index.js.map +1 -1
- package/dist/core/history/history-stream-policy.js.map +1 -1
- package/dist/core/history/history.js.map +1 -1
- package/dist/core/history/index.js.map +1 -1
- package/dist/core/item/id.js.map +1 -1
- package/dist/core/item/index.js.map +1 -1
- package/dist/core/item/item-format.js.map +1 -1
- package/dist/core/item/parent-reference-policy.js.map +1 -1
- package/dist/core/item/parse.js +6 -0
- package/dist/core/item/parse.js.map +1 -1
- package/dist/core/item/sprint-release-format.js.map +1 -1
- package/dist/core/item/status.js.map +1 -1
- package/dist/core/item/type-registry.js.map +1 -1
- package/dist/core/lock/index.js.map +1 -1
- package/dist/core/lock/lock.js +1 -6
- package/dist/core/lock/lock.js.map +1 -1
- package/dist/core/output/command-aware.js.map +1 -1
- package/dist/core/output/output.js.map +1 -1
- package/dist/core/schema/runtime-field-filters.js.map +1 -1
- package/dist/core/schema/runtime-field-values.js.map +1 -1
- package/dist/core/schema/runtime-schema.js.map +1 -1
- package/dist/core/search/cache.js +1 -7
- package/dist/core/search/cache.js.map +1 -1
- package/dist/core/search/embedding-batches.js +4 -0
- package/dist/core/search/embedding-batches.js.map +1 -1
- package/dist/core/search/http-client.d.ts +29 -0
- package/dist/core/search/http-client.js +64 -0
- package/dist/core/search/http-client.js.map +1 -0
- package/dist/core/search/providers.d.ts +3 -13
- package/dist/core/search/providers.js +19 -88
- package/dist/core/search/providers.js.map +1 -1
- package/dist/core/search/semantic-defaults.js +2 -7
- package/dist/core/search/semantic-defaults.js.map +1 -1
- package/dist/core/search/vector-stores.d.ts +4 -13
- package/dist/core/search/vector-stores.js +40 -93
- package/dist/core/search/vector-stores.js.map +1 -1
- package/dist/core/sentry/helpers.d.ts +27 -0
- package/dist/core/sentry/helpers.js +171 -0
- package/dist/core/sentry/helpers.js.map +1 -0
- package/dist/core/sentry/instrument.d.ts +25 -0
- package/dist/core/sentry/instrument.js +204 -0
- package/dist/core/sentry/instrument.js.map +1 -0
- package/dist/core/shared/command-types.js.map +1 -1
- package/dist/core/shared/conflict-markers.js.map +1 -1
- package/dist/core/shared/constants.d.ts +3 -0
- package/dist/core/shared/constants.js +58 -1
- package/dist/core/shared/constants.js.map +1 -1
- package/dist/core/shared/errors.js.map +1 -1
- package/dist/core/shared/index.d.ts +1 -0
- package/dist/core/shared/index.js +1 -0
- package/dist/core/shared/index.js.map +1 -1
- package/dist/core/shared/primitives.d.ts +13 -0
- package/dist/core/shared/primitives.js +33 -0
- package/dist/core/shared/primitives.js.map +1 -0
- package/dist/core/shared/serialization.js.map +1 -1
- package/dist/core/shared/text-normalization.js.map +1 -1
- package/dist/core/shared/time.js.map +1 -1
- package/dist/core/store/front-matter-cache.d.ts +6 -0
- package/dist/core/store/front-matter-cache.js +150 -0
- package/dist/core/store/front-matter-cache.js.map +1 -0
- package/dist/core/store/index.js.map +1 -1
- package/dist/core/store/item-format-migration.js.map +1 -1
- package/dist/core/store/item-store.js +46 -36
- package/dist/core/store/item-store.js.map +1 -1
- package/dist/core/store/paths.js.map +1 -1
- package/dist/core/store/settings.js +36 -0
- package/dist/core/store/settings.js.map +1 -1
- package/dist/core/telemetry/consent.js.map +1 -1
- package/dist/core/telemetry/observability.d.ts +24 -0
- package/dist/core/telemetry/observability.js +185 -0
- package/dist/core/telemetry/observability.js.map +1 -0
- package/dist/core/telemetry/runtime.d.ts +29 -3
- package/dist/core/telemetry/runtime.js +337 -25
- package/dist/core/telemetry/runtime.js.map +1 -1
- package/dist/core/test/background-runs.js.map +1 -1
- package/dist/core/test/item-test-run-tracking.js.map +1 -1
- package/dist/sdk/cli-contracts.js +28 -0
- package/dist/sdk/cli-contracts.js.map +1 -1
- package/dist/sdk/index.d.ts +1 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types.d.ts +21 -0
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -1
- package/docs/AGENT_GUIDE.md +125 -0
- package/docs/ARCHITECTURE.md +201 -478
- package/docs/COMMANDS.md +209 -0
- package/docs/CONFIGURATION.md +146 -0
- package/docs/EXTENSIONS.md +146 -645
- package/docs/QUICKSTART.md +108 -0
- package/docs/README.md +70 -0
- package/docs/RELEASING.md +92 -50
- package/docs/SDK.md +127 -68
- package/docs/TESTING.md +125 -0
- package/docs/examples/starter-extension/README.md +39 -25
- package/package.json +24 -11
- package/dist/command-types.d.ts +0 -1
- package/dist/command-types.js +0 -2
- package/dist/command-types.js.map +0 -1
- package/dist/constants.d.ts +0 -1
- package/dist/constants.js +0 -2
- package/dist/constants.js.map +0 -1
- package/dist/errors.d.ts +0 -1
- package/dist/errors.js +0 -2
- package/dist/errors.js.map +0 -1
- package/dist/fs-utils.d.ts +0 -1
- package/dist/fs-utils.js +0 -2
- package/dist/fs-utils.js.map +0 -1
- package/dist/history.d.ts +0 -1
- package/dist/history.js +0 -2
- package/dist/history.js.map +0 -1
- package/dist/id.d.ts +0 -1
- package/dist/id.js +0 -2
- package/dist/id.js.map +0 -1
- package/dist/item-format.d.ts +0 -1
- package/dist/item-format.js +0 -2
- package/dist/item-format.js.map +0 -1
- package/dist/item-store.d.ts +0 -1
- package/dist/item-store.js +0 -2
- package/dist/item-store.js.map +0 -1
- package/dist/lock.d.ts +0 -1
- package/dist/lock.js +0 -2
- package/dist/lock.js.map +0 -1
- package/dist/output.d.ts +0 -1
- package/dist/output.js +0 -2
- package/dist/output.js.map +0 -1
- package/dist/parse.d.ts +0 -1
- package/dist/parse.js +0 -2
- package/dist/parse.js.map +0 -1
- package/dist/paths.d.ts +0 -1
- package/dist/paths.js +0 -2
- package/dist/paths.js.map +0 -1
- package/dist/serialization.d.ts +0 -1
- package/dist/serialization.js +0 -2
- package/dist/serialization.js.map +0 -1
- package/dist/settings.d.ts +0 -1
- package/dist/settings.js +0 -2
- package/dist/settings.js.map +0 -1
- package/dist/time.d.ts +0 -1
- package/dist/time.js +0 -2
- package/dist/time.js.map +0 -1
package/docs/TESTING.md
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Testing
|
|
2
|
+
|
|
3
|
+
This page describes safe local tests, linked tests, coverage, and release-readiness checks.
|
|
4
|
+
|
|
5
|
+
## Agent Quick Context
|
|
6
|
+
|
|
7
|
+
- Unit and integration tests must not read or write real `.agents/pm` data.
|
|
8
|
+
- Prefer `node scripts/run-tests.mjs ...` because it creates sandboxed `PM_PATH` and `PM_GLOBAL_PATH`.
|
|
9
|
+
- Linked tests added through `pm test` should use sandbox-safe commands.
|
|
10
|
+
- Run linked tests before closing the item that owns the work.
|
|
11
|
+
|
|
12
|
+
Tracked documentation work: [pm-1sb2](../.agents/pm/tasks/pm-1sb2.toon).
|
|
13
|
+
|
|
14
|
+
## Standard Local Checks
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
pnpm build
|
|
18
|
+
pnpm typecheck
|
|
19
|
+
node scripts/run-tests.mjs test
|
|
20
|
+
node scripts/run-tests.mjs coverage
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
`node scripts/run-tests.mjs` wraps Vitest in temporary tracker roots, then cleans them up.
|
|
24
|
+
|
|
25
|
+
## Focused Test Runs
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
node scripts/run-tests.mjs test -- tests/unit/output.spec.ts
|
|
29
|
+
node scripts/run-tests.mjs test -- tests/integration/cli.integration.spec.ts
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Use focused runs while iterating, then run coverage before closure when risk or scope warrants it.
|
|
33
|
+
|
|
34
|
+
## Linked Tests
|
|
35
|
+
|
|
36
|
+
Add tests to the item that owns the work:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
pm test <item-id> --add command="node scripts/run-tests.mjs test -- tests/unit/output.spec.ts",scope=project,timeout_seconds=240
|
|
40
|
+
pm test <item-id> --run --progress
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
For broader sweeps:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
pm test-all --status in_progress --progress
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Do not link `pm test-all` itself as an item-level test command. It creates recursive orchestration.
|
|
50
|
+
|
|
51
|
+
## PM Context Modes
|
|
52
|
+
|
|
53
|
+
Linked PM commands default to schema context: settings and extensions are seeded, but tracker item data stays isolated.
|
|
54
|
+
|
|
55
|
+
Use explicit modes when needed:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
pm test <item-id> --run --pm-context schema
|
|
59
|
+
pm test <item-id> --run --pm-context tracker
|
|
60
|
+
pm test <item-id> --run --pm-context auto --check-context --auto-pm-context
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Strict governance flags:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
pm test <item-id> --run \
|
|
67
|
+
--fail-on-context-mismatch \
|
|
68
|
+
--fail-on-skipped \
|
|
69
|
+
--fail-on-empty-test-run \
|
|
70
|
+
--require-assertions-for-pm
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Linked-Test Assertions
|
|
74
|
+
|
|
75
|
+
Linked tests can include assertion metadata:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
pm test <item-id> --add \
|
|
79
|
+
command="pm list-open --json",scope=project,timeout_seconds=120,assert_json_field_gte=count:0
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Common assertion keys include:
|
|
83
|
+
|
|
84
|
+
- `assert_stdout_contains`
|
|
85
|
+
- `assert_stdout_regex`
|
|
86
|
+
- `assert_stderr_contains`
|
|
87
|
+
- `assert_stderr_regex`
|
|
88
|
+
- `assert_stdout_min_lines`
|
|
89
|
+
- `assert_json_field_equals`
|
|
90
|
+
- `assert_json_field_gte`
|
|
91
|
+
|
|
92
|
+
## Background Runs
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
pm test <item-id> --run --background
|
|
96
|
+
pm test-all --status in_progress --background
|
|
97
|
+
pm test-runs
|
|
98
|
+
pm test-runs status <run-id>
|
|
99
|
+
pm test-runs logs <run-id> --tail 100
|
|
100
|
+
pm test-runs stop <run-id>
|
|
101
|
+
pm test-runs resume <run-id>
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Background run fingerprints prevent duplicate parallel runs for the same linked-test set.
|
|
105
|
+
|
|
106
|
+
## Release-Readiness Checks
|
|
107
|
+
|
|
108
|
+
For substantial changes:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
pnpm build
|
|
112
|
+
pnpm typecheck
|
|
113
|
+
node scripts/run-tests.mjs coverage
|
|
114
|
+
pm validate --check-resolution --check-history-drift
|
|
115
|
+
pm health --check-only
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
For documentation-only changes, at minimum run:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
pnpm build
|
|
122
|
+
rg -n "forbidden-private-token-or-path" README.md docs
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Replace the placeholder pattern with the actual sensitive term being guarded in the current task.
|
|
@@ -1,48 +1,62 @@
|
|
|
1
|
-
# Starter Extension
|
|
1
|
+
# Starter Extension
|
|
2
2
|
|
|
3
|
-
This example demonstrates
|
|
4
|
-
`@unbrained/pm-cli/sdk`.
|
|
3
|
+
This example demonstrates all extension capability categories through the public SDK import `@unbrained/pm-cli/sdk`.
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
## Agent Quick Context
|
|
6
|
+
|
|
7
|
+
- Copy this folder when you need a complete capability reference.
|
|
8
|
+
- Use `pm extension init ./my-extension` when you need a smaller scaffold.
|
|
9
|
+
- Keep production extensions narrower than this example.
|
|
10
|
+
|
|
11
|
+
Related docs:
|
|
12
|
+
|
|
13
|
+
- [Extensions](../../EXTENSIONS.md)
|
|
14
|
+
- [SDK](../../SDK.md)
|
|
7
15
|
|
|
8
16
|
## Files
|
|
9
17
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
18
|
+
| File | Purpose |
|
|
19
|
+
|------|---------|
|
|
20
|
+
| `manifest.json` | declares extension metadata and capabilities |
|
|
21
|
+
| `package.json` | declares local package metadata and SDK dependency |
|
|
22
|
+
| `index.js` | registers examples for each capability category |
|
|
13
23
|
|
|
14
24
|
## Capability Coverage
|
|
15
25
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
| Capability | Example surface |
|
|
27
|
+
|------------|-----------------|
|
|
28
|
+
| `commands` | `api.registerCommand(...)` |
|
|
29
|
+
| `parser` | `api.registerParser(...)` |
|
|
30
|
+
| `preflight` | `api.registerPreflight(...)` |
|
|
31
|
+
| `services` | `api.registerService(...)` |
|
|
32
|
+
| `renderers` | `api.registerRenderer(...)` |
|
|
33
|
+
| `hooks` | command, read, write, and index hooks |
|
|
34
|
+
| `schema` | item fields, item types, migrations |
|
|
35
|
+
| `importers` | importer and exporter registration |
|
|
36
|
+
| `search` | search provider and vector adapter |
|
|
25
37
|
|
|
26
38
|
## Quick Start
|
|
27
39
|
|
|
28
|
-
|
|
29
|
-
- project: `.agents/pm/extensions/starter-extension`
|
|
30
|
-
- global: `~/.pm-cli/extensions/starter-extension`
|
|
31
|
-
2. Install dependencies in that copied folder:
|
|
40
|
+
Copy into an extension root:
|
|
32
41
|
|
|
33
42
|
```bash
|
|
43
|
+
mkdir -p .agents/pm/extensions
|
|
44
|
+
cp -R docs/examples/starter-extension .agents/pm/extensions/starter-extension
|
|
45
|
+
cd .agents/pm/extensions/starter-extension
|
|
34
46
|
npm install
|
|
35
47
|
```
|
|
36
48
|
|
|
37
|
-
|
|
49
|
+
Activate and test from the repository root:
|
|
38
50
|
|
|
39
51
|
```bash
|
|
40
|
-
pm extension
|
|
52
|
+
pm extension activate starter-extension --project
|
|
41
53
|
pm starter ping --name "agent"
|
|
54
|
+
pm extension doctor --detail summary
|
|
42
55
|
```
|
|
43
56
|
|
|
44
57
|
## Notes
|
|
45
58
|
|
|
46
|
-
- This starter is for learning and
|
|
47
|
-
-
|
|
48
|
-
-
|
|
59
|
+
- This starter is for learning and scaffold reference.
|
|
60
|
+
- Real extensions should declare only the capabilities they need.
|
|
61
|
+
- Keep service, parser, and preflight overrides narrow and well tested.
|
|
62
|
+
- Return deterministic JSON-like objects from command handlers.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unbrained/pm-cli",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.3-5",
|
|
4
4
|
"description": "Git-native project management CLI for humans and agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "unbrained",
|
|
@@ -54,13 +54,21 @@
|
|
|
54
54
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
55
55
|
"start": "node dist/cli.js",
|
|
56
56
|
"dev": "tsx src/cli.ts",
|
|
57
|
-
"test": "
|
|
58
|
-
"test:coverage": "
|
|
57
|
+
"test": "node scripts/run-tests.mjs test",
|
|
58
|
+
"test:coverage": "node scripts/run-tests.mjs coverage",
|
|
59
|
+
"quality:static": "node scripts/release/static-quality-gate.mjs",
|
|
59
60
|
"version:check": "node scripts/release-version.mjs check",
|
|
60
61
|
"version:next": "node scripts/release-version.mjs next",
|
|
61
62
|
"release:notes": "node scripts/generate-release-notes.mjs",
|
|
63
|
+
"release:changelog": "node scripts/release/changelog-promote.mjs",
|
|
64
|
+
"release:gates": "node scripts/release/run-gates.mjs --telemetry-mode best-effort",
|
|
65
|
+
"release:pipeline": "node scripts/release/run-release-pipeline.mjs",
|
|
66
|
+
"release:pipeline:dry-run": "node scripts/release/run-release-pipeline.mjs --dry-run",
|
|
62
67
|
"security:scan": "node scripts/check-secrets.mjs",
|
|
63
68
|
"smoke:npx": "node scripts/smoke-npx-from-pack.mjs",
|
|
69
|
+
"sentry:inject": "sentry-cli sourcemaps inject dist/",
|
|
70
|
+
"sentry:upload": "sentry-cli sourcemaps upload --org unbrained --project pm-cli --release \"pm-cli@$npm_package_version\" --validate dist/",
|
|
71
|
+
"build:sentry": "pnpm build && pnpm sentry:inject && pnpm sentry:upload",
|
|
64
72
|
"prepublishOnly": "pnpm build"
|
|
65
73
|
},
|
|
66
74
|
"keywords": [
|
|
@@ -81,22 +89,27 @@
|
|
|
81
89
|
"node": ">=20"
|
|
82
90
|
},
|
|
83
91
|
"dependencies": {
|
|
84
|
-
"@
|
|
85
|
-
"
|
|
92
|
+
"@sentry/node": "^10.51.0",
|
|
93
|
+
"@toon-format/toon": "^2.1.0",
|
|
94
|
+
"commander": "^14.0.3",
|
|
86
95
|
"fast-glob": "^3.3.3",
|
|
87
|
-
"fast-json-patch": "
|
|
88
|
-
"undici": "
|
|
89
|
-
"zod": "
|
|
96
|
+
"fast-json-patch": "^3.1.1",
|
|
97
|
+
"undici": "^8.1.0",
|
|
98
|
+
"zod": "^4.3.6"
|
|
90
99
|
},
|
|
91
100
|
"devDependencies": {
|
|
92
|
-
"@
|
|
101
|
+
"@sentry/cli": "^3.4.1",
|
|
102
|
+
"@types/node": "^25.6.0",
|
|
93
103
|
"@vitest/coverage-v8": "^4.1.5",
|
|
94
104
|
"c8": "^11.0.0",
|
|
95
|
-
"tsx": "
|
|
96
|
-
"typescript": "
|
|
105
|
+
"tsx": "^4.21.0",
|
|
106
|
+
"typescript": "^6.0.3",
|
|
97
107
|
"vitest": "^4.1.5"
|
|
98
108
|
},
|
|
99
109
|
"pnpm": {
|
|
110
|
+
"onlyBuiltDependencies": [
|
|
111
|
+
"@sentry/cli"
|
|
112
|
+
],
|
|
100
113
|
"overrides": {
|
|
101
114
|
"rollup": ">=4.59.0",
|
|
102
115
|
"brace-expansion": ">=5.0.5",
|
package/dist/command-types.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/shared/command-types.js";
|
package/dist/command-types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"command-types.js","sourceRoot":"","sources":["../src/command-types.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
package/dist/constants.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/shared/constants.js";
|
package/dist/constants.js
DELETED
package/dist/constants.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
|
package/dist/errors.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/shared/errors.js";
|
package/dist/errors.js
DELETED
package/dist/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
package/dist/fs-utils.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/fs/fs-utils.js";
|
package/dist/fs-utils.js
DELETED
package/dist/fs-utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fs-utils.js","sourceRoot":"","sources":["../src/fs-utils.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
package/dist/history.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/history/history.js";
|
package/dist/history.js
DELETED
package/dist/history.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
|
package/dist/id.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/item/id.js";
|
package/dist/id.js
DELETED
package/dist/id.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"id.js","sourceRoot":"","sources":["../src/id.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
package/dist/item-format.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/item/item-format.js";
|
package/dist/item-format.js
DELETED
package/dist/item-format.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"item-format.js","sourceRoot":"","sources":["../src/item-format.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
|
package/dist/item-store.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/store/item-store.js";
|
package/dist/item-store.js
DELETED
package/dist/item-store.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"item-store.js","sourceRoot":"","sources":["../src/item-store.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
|
package/dist/lock.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/lock/lock.js";
|
package/dist/lock.js
DELETED
package/dist/lock.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../src/lock.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
package/dist/output.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/output/output.js";
|
package/dist/output.js
DELETED
package/dist/output.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
package/dist/parse.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/item/parse.js";
|
package/dist/parse.js
DELETED
package/dist/parse.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
package/dist/paths.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/store/paths.js";
|
package/dist/paths.js
DELETED
package/dist/paths.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
package/dist/serialization.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/shared/serialization.js";
|
package/dist/serialization.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../src/serialization.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
|
package/dist/settings.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/store/settings.js";
|
package/dist/settings.js
DELETED
package/dist/settings.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
|
package/dist/time.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/shared/time.js";
|
package/dist/time.js
DELETED
package/dist/time.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../src/time.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|