project-mgr 0.3.0 → 0.3.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.1 - 2026-10-16
4
+
5
+ ### Changed
6
+
7
+ - Prefer an installed `pmgr` in the Skill and remove automatic `npx @latest` execution from examples.
8
+ - Require explicit status values and evidence-backed historical backfills without a minimum entry count.
9
+ - Document database permission handling, stable ledger paths, and read-back verification after writes.
10
+
11
+ This release updates Skill guidance only; CLI behavior and storage architecture are unchanged.
12
+
3
13
  ## 0.3.0 - 2026-10-16
4
14
 
5
15
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-mgr",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Local-first append-only project status ledger",
5
5
  "type": "module",
6
6
  "bin": {
@@ -5,7 +5,11 @@ description: Manage project status with the local-first project-mgr CLI. Use whe
5
5
 
6
6
  # project-mgr
7
7
 
8
- Use `npx --yes --package project-mgr@latest pmgr`. In a source checkout, use `pnpm pmgr` instead.
8
+ ## CLI selection
9
+
10
+ Prefer an installed `pmgr`: locate it with `command -v pmgr` and check the installed package metadata/documentation for the required version and capabilities. The current CLI does not implement `--help` or `--version`; do not use those flags as health checks. In a source checkout, use `pnpm pmgr` only when the local dependencies are already installed and the package manager is available without downloading it.
11
+
12
+ Do not automatically install or upgrade dependencies, or fall back to `npx` / `npm exec`. If no usable CLI is available, report the missing executable, dependency, or capability and the setup needed. Perform installation or upgrades only when the user authorizes that setup.
9
13
 
10
14
  Completion links and version-2 exports require project-mgr 0.3.0 or later. This skill is updated through Git and has no independent release version.
11
15
 
@@ -13,9 +17,12 @@ Completion links and version-2 exports require project-mgr 0.3.0 or later. This
13
17
 
14
18
  - Read `PMGR_DB_PATH` before operating. If unset, the CLI uses `~/.local/share/project-mgr/project-mgr.sqlite`.
15
19
  - For exploratory or test work, set `PMGR_DB_PATH` to a dedicated absolute SQLite path for every command. Do not use `:memory:` when more than one CLI invocation must share data.
16
- - Query before writing. `add` appends a snapshot; it does not edit the previous one.
20
+ - The database file and its parent directory must be accessible with the permissions SQLite needs for journal files and writes. Even query commands open the ledger and may initialize or migrate it; do not assume they are filesystem-read-only.
21
+ - On a permission or read-only database error, report the command, resolved database path, and error without exposing credentials. Use the environment's approved permission mechanism when available; otherwise report the blocked operation. Do not reinstall the CLI, change permissions, or silently switch to another database to work around the error. Change the ledger location only when the user requests it.
22
+ - Query before writing. `add` appends a snapshot; it does not edit the previous one. Read back the affected state after writing and report success only when verified. If a write's outcome is uncertain, query before retrying to avoid duplicates.
17
23
  - Set `--source agent` for agent-authored updates. Use `--external-ref` only when a stable idempotency key is available.
18
- - If the project is not yet in the ledger database, initialize its metadata with `set-project`, backfill 3–5 historical major changes/milestones using `add` (setting appropriate historical `--at` timestamps), and then append the latest status snapshot.
24
+ - Explicitly pass `--status` on every `add`, and include `status` in every agent-authored import entry. The CLI defaults to `completed`; do not rely on that default. Choose the status from the evidence and inspect the current snapshot when unclear. Completing one activity does not necessarily complete the project; use `active` when project work continues. If the status remains uncertain, clarify before writing.
25
+ - If the project is not yet in the ledger database, initialize its metadata with `set-project`. Backfill only milestones supported by verifiable Git commits, dated documents, or historical records, and include the evidence reference in `--progress`. Use historical `--at` timestamps only when supported by that evidence; a commit timestamp proves a commit, not a deployment. There is no required number of entries. Never invent milestones or dates; when evidence is unavailable, skip backfill and append only the current known status.
19
26
 
20
27
  ## Metadata vs. status entries
21
28
 
@@ -32,32 +39,32 @@ Prefer `--json` for data that must be interpreted or reported programmatically.
32
39
 
33
40
  ```bash
34
41
  # Set, update, or clear project metadata (description, notes, display name).
35
- npx --yes --package project-mgr@latest pmgr set-project --project my-project --description "Project summary" --notes "Internal notes" --json
36
- npx --yes --package project-mgr@latest pmgr set-project --project my-project --clear-description --clear-notes --json
42
+ pmgr set-project --project my-project --description "Project summary" --notes "Internal notes" --json
43
+ pmgr set-project --project my-project --clear-description --clear-notes --json
37
44
 
38
45
  # List all projects or fuzzy search across project names, descriptions, notes, status summaries, and tags.
39
- npx --yes --package project-mgr@latest pmgr projects --json
40
- npx --yes --package project-mgr@latest pmgr list --query "keyword" --json
46
+ pmgr projects --json
47
+ pmgr list --query "keyword" --json
41
48
 
42
49
  # Start the local Web Dashboard & REST API server.
43
- npx --yes --package project-mgr@latest pmgr serve --port 3000 --no-open --json
50
+ pmgr serve --port 3000 --no-open --json
44
51
 
45
- # Add an agent-authored status snapshot (status defaults to completed if omitted).
46
- npx --yes --package project-mgr@latest pmgr add --project my-project --summary "Implemented the CLI" \
52
+ # Record a completed milestone while the project remains active.
53
+ pmgr add --project my-project --status active --summary "Implemented the CLI" \
47
54
  --progress "Tests pass" --next "Publish the package" --source agent --json
48
55
 
49
56
  # Query current state, history, or state at a time.
50
- npx --yes --package project-mgr@latest pmgr current --project my-project --json
51
- npx --yes --package project-mgr@latest pmgr history --project my-project --limit 20 --json
52
- npx --yes --package project-mgr@latest pmgr history --limit 20 --json
53
- npx --yes --package project-mgr@latest pmgr at --project my-project --at 2026-08-03T12:00:00+08:00 --json
57
+ pmgr current --project my-project --json
58
+ pmgr history --project my-project --limit 20 --json
59
+ pmgr history --limit 20 --json
60
+ pmgr at --project my-project --at 2026-08-03T12:00:00+08:00 --json
54
61
 
55
62
  # Import validated JSON/JSONL, or export portable records.
56
- npx --yes --package project-mgr@latest pmgr import statuses.jsonl --json
57
- npx --yes --package project-mgr@latest pmgr export --project my-project --format jsonl > statuses.jsonl
63
+ pmgr import statuses.jsonl --json
64
+ pmgr export --project my-project --format jsonl > statuses.jsonl
58
65
  ```
59
66
 
60
- Use `PMGR_DB_PATH=/absolute/path/test.sqlite npx --yes --package project-mgr@latest pmgr ...` to isolate a manual test database. Import validates and writes the entire batch within one transaction; export output can be imported directly.
67
+ Use `PMGR_DB_PATH=/absolute/path/test.sqlite pmgr ...` to isolate a manual test database. Import validates and writes the entire batch within one transaction; export output can be imported directly.
61
68
 
62
69
  ## Complete predecessor activities
63
70