project-mgr 0.2.0 → 0.2.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/.env_sample CHANGED
@@ -5,3 +5,6 @@
5
5
 
6
6
  # For isolated manual testing, use a separate database instead:
7
7
  # PMGR_DB_PATH=/tmp/project-mgr-manual-test.sqlite
8
+
9
+ # Local Web server port.
10
+ PORT=3000
package/README.md CHANGED
@@ -178,7 +178,7 @@ Optional arguments:
178
178
  - `--status`: One of `idea`, `planned`, `active`, `blocked`, `paused`, `completed`, or `archived` (`done` is accepted as an alias for `completed`). Defaults to `completed` if omitted.
179
179
 
180
180
  - `--description`: Project introduction or description (updates project metadata).
181
- - `--notes`: Project notes/remarks (updates project metadata).
181
+ - `--notes`: Persistent, medium-to-long-term project notes/remarks (e.g., architectural constraints, key caveats; updates project metadata).
182
182
  - `--progress`: Work already completed.
183
183
  - `--blocker`, `--next`, `--decision`, and `--tag`: May be specified repeatedly.
184
184
  - `--at`: When the status actually occurred. It must be an ISO 8601 timestamp with a timezone; defaults to the current time.
package/README_CN.md CHANGED
@@ -178,7 +178,7 @@ pnpm start at \
178
178
  - `--status`:`idea`、`planned`、`active`、`blocked`、`paused`、`completed`、`archived` 之一(`done` 可作为 `completed` 的别名)。若省略则默认值为 `completed`。
179
179
 
180
180
  - `--description`:项目简介/描述(更新项目元数据)。
181
- - `--notes`:项目备注(更新项目元数据)。
181
+ - `--notes`:中长期项目备注(如架构约束、长期备忘、关键限制等;更新项目元数据)。
182
182
  - `--progress`:已经完成的工作。
183
183
  - `--blocker`、`--next`、`--decision`、`--tag`:可以重复传入。
184
184
  - `--at`:状态实际发生时间,必须是带时区的 ISO 8601 时间;缺省为当前时间。
package/dist/cli.js CHANGED
File without changes
@@ -0,0 +1,21 @@
1
+ module.exports = {
2
+ apps: [
3
+ {
4
+ name: "project-mgr-web",
5
+ cwd: __dirname,
6
+ script: process.execPath,
7
+ interpreter: "none",
8
+ args: [
9
+ "--env-file-if-exists=.env",
10
+ "dist/cli.js",
11
+ "serve",
12
+ "--host",
13
+ "127.0.0.1",
14
+ "--no-open",
15
+ ],
16
+ env: {
17
+ PMGR_DB_PATH: `${process.env.HOME}/.local/share/project-mgr/project-mgr.sqlite`,
18
+ },
19
+ },
20
+ ],
21
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-mgr",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Local-first append-only project status ledger",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: project-mgr
3
- description: Manage project status with the local-first project-mgr CLI. Use when an AI agent needs to add an append-only project update, set project descriptions/notes, list or fuzzy-search projects, import status records, query current or historical project state, or export a status ledger.
3
+ description: Manage project status with the local-first project-mgr CLI. Use when an AI agent needs to add an append-only project update, set project descriptions/notes, list or fuzzy-search projects, start the local Web Dashboard, import status records, query current or historical project state, or export a status ledger.
4
4
  ---
5
5
 
6
6
  # project-mgr
@@ -15,6 +15,15 @@ Use `npx --yes --package project-mgr pmgr`. In a source checkout, use `pnpm pmgr
15
15
  - Set `--source agent` for agent-authored updates. Use `--external-ref` only when a stable idempotency key is available.
16
16
  - 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.
17
17
 
18
+ ## Metadata vs. status entries
19
+
20
+ - **Project notes (`--notes`)**: Reserved for persistent, medium-to-long-term project context (e.g., architectural constraints, permanent tech stack choices, long-term goals, or critical environment caveats).
21
+ - Manage notes via `set-project --project <name> --notes "..."`.
22
+ - **Do NOT** put transient progress, session logs, or one-off status messages into `--notes`.
23
+ - Avoid passing `--notes` during routine `add` commands to prevent accidentally overwriting long-term project notes.
24
+ - **Project description (`--description`)**: A high-level, stable summary of the project's purpose.
25
+ - **Status snapshots (`add`)**: Use `--summary` (concise milestone headline), `--progress` (detailed work accomplished), `--next` (immediate next steps), `--blocker` (current obstacles), and `--decision` for transactional, append-only updates.
26
+
18
27
  ## Operations
19
28
 
20
29
  Prefer `--json` for data that must be interpreted or reported programmatically.
@@ -24,14 +33,16 @@ Prefer `--json` for data that must be interpreted or reported programmatically.
24
33
  npx --yes --package project-mgr pmgr set-project --project my-project --description "Project summary" --notes "Internal notes" --json
25
34
  npx --yes --package project-mgr pmgr set-project --project my-project --clear-description --clear-notes --json
26
35
 
27
-
28
36
  # List all projects or fuzzy search across project names, descriptions, notes, status summaries, and tags.
29
37
  npx --yes --package project-mgr pmgr projects --json
30
38
  npx --yes --package project-mgr pmgr list --query "keyword" --json
31
39
 
40
+ # Start the local Web Dashboard & REST API server.
41
+ npx --yes --package project-mgr pmgr serve --port 3000 --no-open --json
42
+
32
43
  # Add an agent-authored status snapshot (status defaults to completed if omitted).
33
44
  npx --yes --package project-mgr pmgr add --project my-project --summary "Implemented the CLI" \
34
- --description "Project description" --progress "Tests pass" --next "Publish the package" --source agent --json
45
+ --progress "Tests pass" --next "Publish the package" --source agent --json
35
46
 
36
47
  # Query current state, history, or state at a time.
37
48
  npx --yes --package project-mgr pmgr current --project my-project --json