pmem-ai 0.5.0 → 0.6.0

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.
Files changed (38) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +75 -17
  3. package/dist/commands/ask.d.ts.map +1 -1
  4. package/dist/commands/ask.js +14 -1
  5. package/dist/commands/ask.js.map +1 -1
  6. package/dist/commands/doctor.d.ts +3 -0
  7. package/dist/commands/doctor.d.ts.map +1 -0
  8. package/dist/commands/doctor.js +164 -0
  9. package/dist/commands/doctor.js.map +1 -0
  10. package/dist/commands/init.d.ts +4 -0
  11. package/dist/commands/init.d.ts.map +1 -1
  12. package/dist/commands/init.js +111 -6
  13. package/dist/commands/init.js.map +1 -1
  14. package/dist/commands/install.d.ts +8 -0
  15. package/dist/commands/install.d.ts.map +1 -0
  16. package/dist/commands/install.js +119 -0
  17. package/dist/commands/install.js.map +1 -0
  18. package/dist/commands/integration.d.ts.map +1 -1
  19. package/dist/commands/integration.js +113 -35
  20. package/dist/commands/integration.js.map +1 -1
  21. package/dist/commands/session.d.ts.map +1 -1
  22. package/dist/commands/session.js +3 -1
  23. package/dist/commands/session.js.map +1 -1
  24. package/dist/commands/update.d.ts.map +1 -1
  25. package/dist/commands/update.js +71 -2
  26. package/dist/commands/update.js.map +1 -1
  27. package/dist/index.js +39 -2
  28. package/dist/index.js.map +1 -1
  29. package/docs/project-roadmap.md +58 -25
  30. package/docs/release-checklist-v0.6.md +72 -0
  31. package/docs/usage.md +374 -0
  32. package/docs/v0.6 pre-design.md +550 -0
  33. package/package.json +9 -2
  34. package/skills/pmem/SKILL.md +194 -0
  35. package/skills/pmem/references/first-init.md +90 -0
  36. package/skills/pmem/references/memory-cards.md +86 -0
  37. package/skills/pmem/references/session-workflow.md +83 -0
  38. package/skills/pmem/references/troubleshooting.md +60 -0
@@ -0,0 +1,550 @@
1
+ # v0.6 前置设计决策
2
+
3
+ 本文档记录 pmem v0.6 开工前的产品与技术规划。v0.6 的核心定位:
4
+
5
+ > **Agent-native Workflow Polish**
6
+ >
7
+ > v0.5 已经完成 Beta 开发并上线 npm,证明 pmem 可以作为一个可安装、可理解、可验证的 CLI 产品被真实项目使用。
8
+ >
9
+ > v0.6 不追求 embedding、MCP/REST、Graph UI、遥测或远程服务。
10
+ > v0.6 的目标是:把 v0.5 已经成立的本地记忆运行时,打磨成更适合 AI Agent 程序化调用、跨会话恢复、无人工兜底使用的工具。
11
+ >
12
+ > v0.6 要回答的唯一问题:**pmem 能否在真实 Agent 工作流里低摩擦地启动、调用、失败恢复,并让第一次使用也能感受到清楚的下一步?**
13
+
14
+ ---
15
+
16
+ ## 一、背景:v0.5 Beta 真实使用反馈
17
+
18
+ v0.5 上线后,实际使用 pmem 进行辅助记忆的 Agent 反馈出一个关键结论:
19
+
20
+ > pmem 的价值不在单次长会话里立刻显现,而在跨会话场景中显现。
21
+
22
+ 这与 pmem 的产品定位一致。单次连续开发时,对话上下文仍然足够;但下次重新打开项目时,`pmem recall`、`pmem ask`、`pmem status`、`pmem update` 和 `pmem verify` 才会把历史决策、模块关系、变更影响和下一步恢复出来。
23
+
24
+ 同时,反馈暴露出 v0.5 Beta 的下一批摩擦点:
25
+
26
+ | 反馈 | 本质问题 |
27
+ |------|----------|
28
+ | `init --guided` 只能交互式回答,Agent 难以脚本化 | CLI 仍偏人类终端使用,而非 Agent-native |
29
+ | `mark-dirty --auto` 在非 git 场景出现 raw stack trace | 错误 UX 不足,Agent 无法可靠判断下一步 |
30
+ | `update --suggest --format json` 在空项目返回空数组,无解释 | 首次使用缺少引导和价值感 |
31
+ | `session end` 未 start 时只报 `No active session` | session workflow 对 Agent 不够容错 |
32
+ | `.pmem/skills/*.md` 没有注册成 Claude Code slash commands | integration 文件存在,但未成为目标框架可直接调用的入口 |
33
+
34
+ v0.6 的设计围绕这些真实反馈展开。
35
+
36
+ ---
37
+
38
+ ## 二、v0.6 产品目标
39
+
40
+ v0.6 的目标不是扩大 pmem 的能力边界,而是降低已有能力在真实 Agent 环境里的调用摩擦。
41
+
42
+ ### 一句话目标
43
+
44
+ > **任何 code agent 都能非交互式初始化 pmem、按框架入口调用 pmem workflow、读懂空结果和错误提示,并在跨会话时恢复项目记忆。**
45
+
46
+ ### 用户对象
47
+
48
+ | 用户 | 需求 |
49
+ |------|------|
50
+ | Code agent | 不依赖 TTY 交互,能用命令参数、JSON、文件和 exit code 自动完成 workflow |
51
+ | 项目维护者 | 能为不同 Agent 框架安装真实可用的入口,而不只是阅读文档 |
52
+ | 首次试用者 | 即使项目没有 memory cards,也知道下一步该创建什么、为什么 |
53
+ | Beta 反馈者 | 能报告具体命令、错误、输出和 integration 状态 |
54
+
55
+ ### 成功标准
56
+
57
+ 1. `pmem init --guided` 有非交互式等价路径,可被脚本和 Agent 稳定调用。
58
+ 2. 非 git 项目、缺少 git、空项目、未开始 session 等场景没有 raw stack trace。
59
+ 3. `update --suggest`、`ask`、`recall` 等空结果输出包含可操作 next step。
60
+ 4. `pmem integration install claude-code` 能生成 Claude Code 可直接调用的 slash command 文件。
61
+ 5. `pmem integration verify` 能检查框架入口是否真的存在,而不只检查 `.pmem/integrations/` 模板目录。
62
+ 6. README / AGENTS / CLAUDE / integration templates 明确解释:pmem 的核心价值在跨会话项目记忆。
63
+ 7. 新增 E2E 覆盖非交互 init、Agent integration install、空项目引导、非 git 错误 UX。
64
+
65
+ ---
66
+
67
+ ## 三、v0.6 不做的事情(范围排除)
68
+
69
+ 以下方向继续不进入 v0.6 主线,除非真实 Beta 用户证明它们是 adoption 阻塞项。
70
+
71
+ | 排除项 | 原因 |
72
+ |--------|------|
73
+ | API embedding / local embedding | v0.6 关注 Agent 调用摩擦,不引入模型、API key、成本和隐私变量 |
74
+ | `pmem serve` / MCP / REST | 服务化会扩大协议面;当前反馈集中在 CLI 与 integration |
75
+ | Graph UI | UI 不能解决当前最痛的非交互、错误 UX、框架入口问题 |
76
+ | 遥测 | Beta 反馈继续依赖显式采访、issue、E2E 复现 |
77
+ | 远程同步 / 多用户服务 | 与本地 CLI runtime 定位不一致 |
78
+ | 自动 session 大规模行为改造 | 可以改进容错和提示,但不让 session 隐式行为变得不可解释 |
79
+ | 数据库作为 memory 主源 | Markdown cards 仍是唯一 source of truth |
80
+
81
+ v0.6 的克制原则:**只做让 pmem 更适合 Agent 程序化使用的打磨。**
82
+
83
+ ---
84
+
85
+ ## 四、v0.6 目标闭环
86
+
87
+ ```txt
88
+ Agent / developer 安装 pmem
89
+
90
+ 非交互式 pmem init
91
+
92
+ 安装目标框架 integration
93
+
94
+ 通过 slash command / AGENTS / CLAUDE 入口运行 recall
95
+
96
+ 首次空项目得到下一步引导
97
+
98
+ Agent 修改代码
99
+
100
+ pmem status / mark-dirty 在 git 或非 git 项目都给可诊断输出
101
+
102
+ pmem update --suggest 给出建议或解释为什么没有建议
103
+
104
+ pmem update --confirm 写入 trace / update log
105
+
106
+ pmem verify 检查一致性
107
+
108
+ 下一次会话用 pmem recall 恢复跨会话上下文
109
+ ```
110
+
111
+ 这条链路是 v0.6 的产品回路。v0.6 的所有 P0 都必须服务这条回路。
112
+
113
+ ---
114
+
115
+ ## 五、优先级表
116
+
117
+ ### P0 — 必须完成
118
+
119
+ | # | 功能 | 说明 |
120
+ |---|------|------|
121
+ | 1 | 非交互 init | 为 `init --guided` 增加参数或文件输入,支持 Agent 和 CI 脚本稳定初始化 |
122
+ | 2 | git 前置检查与友好错误 | `mark-dirty --auto` / `status` 在无 git、非 git repo、git 不可用时给出清楚提示 |
123
+ | 3 | 空结果引导 | `update --suggest`、`ask`、必要时 `recall` 在空项目或无匹配时输出 next step |
124
+ | 4 | session 容错 UX | `session end` 无 active session 时给出可操作建议;评估是否支持 `--create-if-missing` |
125
+ | 5 | Claude Code slash commands | `integration install claude-code` 生成 `.claude/commands/pmem-*.md` |
126
+ | 6 | integration verify 增强 | 检查 root files、settings、slash commands、Cursor rules、Codex AGENTS 入口是否存在 |
127
+ | 7 | Agent-native E2E | 覆盖非交互 init、integration install、空结果引导、非 git fallback |
128
+ | 8 | 全局 skills 安装 | `pmem install --skills --claude/--codex/--gemini` 一键安装 skill 到 agent 全局目录 |
129
+ | 9 | 文档口径同步 | README / AGENTS / CLAUDE / integration templates 增加跨会话价值和 Agent-native 调用说明 |
130
+
131
+ ### P1 — 应该完成
132
+
133
+ | # | 功能 | 说明 |
134
+ |---|------|------|
135
+ | 1 | JSON answers 文件 | 在命令参数之外支持 `pmem init --answers <file.json>`,便于复杂初始化和模板化 |
136
+ | 2 | `--format json` 的 message 字段 | 对空结果和 warnings 提供机器可读 `message` / `next_steps` |
137
+ | 3 | `pmem doctor` 评估 | 先设计是否需要统一诊断命令;默认不作为 P0 |
138
+ | 4 | integration 模板版本化 | 记录模板版本,并在 verify 中提示旧模板 |
139
+ | 5 | 首次使用 recipe | README 增加 "first memory card" 和 "second session" 示例 |
140
+ | 6 | release checklist v0.6 | 独立记录 v0.6 发布前检查项 |
141
+
142
+ ### P2 — 可推迟
143
+
144
+ | 功能 | 说明 |
145
+ |------|------|
146
+ | Cursor / Windsurf / Codex 深度命令入口 | v0.6 优先 Claude Code slash commands;其他框架先保持模板文档 |
147
+ | 自动 session start | 可能隐藏 workflow 状态,先用提示和显式 option 验证 |
148
+ | interactive wizard 重写 | 当前问题是非交互缺口,不是终端 UI 体验 |
149
+ | 示例视频 / 网站 | README 和 docs 足以承载 v0.6 |
150
+
151
+ ---
152
+
153
+ ## 六、关键设计
154
+
155
+ ### 1. 非交互 init
156
+
157
+ 推荐新增两条路径:
158
+
159
+ ```bash
160
+ pmem init MyProject --guided \
161
+ --description "Project Memory for AI Agents" \
162
+ --stage "v0.6 planning" \
163
+ --next "Implement agent-native workflow polish"
164
+ ```
165
+
166
+ ```bash
167
+ pmem init MyProject --answers ./pmem-init.json
168
+ ```
169
+
170
+ `pmem-init.json` 示例:
171
+
172
+ ```json
173
+ {
174
+ "description": "Project Memory for AI Agents",
175
+ "stage": "v0.6 planning",
176
+ "next": "Implement agent-native workflow polish"
177
+ }
178
+ ```
179
+
180
+ 设计原则:
181
+
182
+ 1. `--guided` 继续保留给人类用户。
183
+ 2. 当三个字段都由参数或 answers 文件提供时,不打开 readline。
184
+ 3. 参数优先级高于 answers 文件,便于脚本覆盖单个字段。
185
+ 4. 缺字段时应报出缺少哪些字段,并提示可用参数,不进入半交互状态。
186
+ 5. JSON 文件字段命名要稳定,避免未来破坏脚本。
187
+
188
+ ### 2. 错误 UX 与 exit code
189
+
190
+ v0.6 不改变既有 workflow signal exit code 语义,但要保证错误可诊断。
191
+
192
+ 示例:
193
+
194
+ ```txt
195
+ Cannot auto-detect changed files because this directory is not a git repository.
196
+ Next: run `pmem status --since <timestamp>` or initialize git with `git init`.
197
+ ```
198
+
199
+ ```txt
200
+ No active pmem session found.
201
+ Next: run `pmem session start -a "<agent-name>"`, or use `pmem session end --allow-missing` if this is expected.
202
+ ```
203
+
204
+ JSON 输出建议:
205
+
206
+ ```json
207
+ {
208
+ "ok": true,
209
+ "suggestions": [],
210
+ "message": "No memory cards are dirty yet.",
211
+ "next_steps": [
212
+ "Run pmem mark-dirty --auto after editing files.",
213
+ "Create a first module card with source_files if this is a new project."
214
+ ]
215
+ }
216
+ ```
217
+
218
+ ### 3. 空项目首次价值感
219
+
220
+ 空项目不能只给空数组。pmem 应该把"没有记忆"解释为一个可推进状态。
221
+
222
+ `update --suggest` 空结果应区分:
223
+
224
+ | 场景 | 输出 |
225
+ |------|------|
226
+ | 没有 cards | 提示创建第一张 module / decision / task card |
227
+ | 有 cards 但没有 dirty flags | 提示运行 `status` / `mark-dirty --auto` |
228
+ | 有 dirty flags 但无法匹配 source files | 提示补充 `source_files` |
229
+ | 已经全部 clean | 提示 `verify` 或继续开发 |
230
+
231
+ ### 4. Claude Code slash commands
232
+
233
+ `pmem integration install claude-code` 应生成:
234
+
235
+ ```txt
236
+ .claude/
237
+ commands/
238
+ pmem-recall.md
239
+ pmem-ask.md
240
+ pmem-update.md
241
+ pmem-distill.md
242
+ ```
243
+
244
+ 建议命令:
245
+
246
+ | Slash command | pmem workflow |
247
+ |---------------|---------------|
248
+ | `/pmem-recall` | `pmem recall --format compact --budget 2000` |
249
+ | `/pmem-ask <query>` | `pmem ask "<query>" --format compact` |
250
+ | `/pmem-update` | `status` → `mark-dirty --auto` → `update --suggest` → confirm guidance |
251
+ | `/pmem-distill` | `pmem distill --suggest` → optional confirm → `verify` |
252
+
253
+ 这些文件不应只是说明文档,而应成为 Claude Code 能直接发现的 command entry。
254
+
255
+ ### 5. Integration verification
256
+
257
+ `pmem integration verify` 在 v0.6 应检查:
258
+
259
+ | Framework | 检查项 |
260
+ |-----------|--------|
261
+ | claude-code | root `CLAUDE.md`、`.claude/settings.json`、`.claude/commands/pmem-*.md` |
262
+ | cursor | `.cursor/rules/pmem.mdc` |
263
+ | codex | root `AGENTS.md` 或指定 integration template |
264
+ | all | `.pmem/integrations/<framework>/` 模板版本与 manifest 记录 |
265
+
266
+ verify 输出必须告诉用户缺失文件的生成命令。
267
+
268
+ ### 6. Global skills installation
269
+
270
+ 参考 playwright-cli 的 `install --skills` 模式。pmem 包自带 `skills/pmem/` 目录,包含符合 agent skill 规范的 `SKILL.md` 和 `references/` 参考文档。
271
+
272
+ ```bash
273
+ pmem install --skills --claude # → ~/.claude/skills/pmem/
274
+ pmem install --skills --codex # → ~/.codex/skills/pmem/
275
+ pmem install --skills --gemini # → ~/.gemini/skills/pmem/
276
+ pmem install --skills --all # → 全部检测到的 agent 目录
277
+ ```
278
+
279
+ Skill 文件格式遵循 agent skill 规范:
280
+
281
+ ```yaml
282
+ ---
283
+ name: pmem
284
+ description: Project memory for AI agents — recall, ask, update, verify
285
+ allowed-tools: Bash(pmem:*)
286
+ ---
287
+ ```
288
+
289
+ 目录结构:
290
+
291
+ ```txt
292
+ skills/pmem/
293
+ SKILL.md # 主 skill 文件(命令参考 + 工作流示例)
294
+ references/
295
+ session-workflow.md # session start → recall → ask → update → verify → session end
296
+ first-init.md # 首次初始化步骤
297
+ troubleshooting.md # 常见问题
298
+ ```
299
+
300
+ 与 `pmem init` 生成的项目级 `.pmem/skills/` 不同,全局 skills 让 agent 在任何项目中都能被引导使用 pmem,而项目级 skills 提供该项目的具体记忆维护指引。
301
+
302
+ 安装逻辑:
303
+ 1. 读取 pmem 包内 `skills/pmem/` 目录
304
+ 2. 复制到目标 agent 的全局 skills 目录(`~/.claude/skills/pmem/` 等)
305
+ 3. 若目标目录已存在,覆盖更新
306
+ 4. `--all` 模式检测用户机器上存在的 agent 并全部安装
307
+
308
+ ---
309
+
310
+ ## 七、E2E 测试设计
311
+
312
+ v0.6 E2E 应继续放在 `temp/` 下,避免污染仓库。
313
+
314
+ ### E2E 1:non-interactive init
315
+
316
+ ```bash
317
+ mkdir -p temp/e2e-v06-init
318
+ cd temp/e2e-v06-init
319
+ pmem init v06-init \
320
+ --guided \
321
+ --description "v0.6 init smoke" \
322
+ --stage "Agent-native beta" \
323
+ --next "Run recall"
324
+ pmem rebuild
325
+ pmem recall --format compact --budget 2000
326
+ pmem verify
327
+ ```
328
+
329
+ 验收:
330
+
331
+ - 命令不等待 TTY。
332
+ - 初始化内容进入 `.pmem/index.md` / `.pmem/state.md` / `.pmem/next.md` 或等价卡片。
333
+ - `verify` 可诊断通过或给出可操作 warning。
334
+
335
+ ### E2E 2:answers file init
336
+
337
+ ```bash
338
+ cat > temp/pmem-init.json <<'JSON'
339
+ {
340
+ "description": "answers file smoke",
341
+ "stage": "v0.6",
342
+ "next": "Install integration"
343
+ }
344
+ JSON
345
+
346
+ pmem init v06-answers --answers temp/pmem-init.json
347
+ ```
348
+
349
+ 验收:
350
+
351
+ - JSON 可解析。
352
+ - 缺字段有清楚错误。
353
+ - 参数能覆盖 answers 文件字段。
354
+
355
+ ### E2E 3:Claude Code integration
356
+
357
+ ```bash
358
+ pmem init v06-claude --description "x" --stage "y" --next "z"
359
+ pmem integration install claude-code
360
+ pmem integration verify
361
+ ```
362
+
363
+ 验收:
364
+
365
+ - 生成 `CLAUDE.md`。
366
+ - 生成 `.claude/commands/pmem-recall.md` 等 slash command 文件。
367
+ - verify 能列出 installed / missing 状态。
368
+
369
+ ### E2E 4:empty result guidance
370
+
371
+ ```bash
372
+ pmem init v06-empty --description "x" --stage "y" --next "z"
373
+ pmem rebuild
374
+ pmem update --suggest --format json
375
+ pmem ask "filters" --format json
376
+ ```
377
+
378
+ 验收:
379
+
380
+ - 空结果包含人类可读 message。
381
+ - JSON 输出包含机器可读 next steps。
382
+ - exit code 保持文档约定。
383
+
384
+ ### E2E 5:non-git UX
385
+
386
+ ```bash
387
+ mkdir -p temp/e2e-v06-non-git
388
+ cd temp/e2e-v06-non-git
389
+ pmem init non-git --description "x" --stage "y" --next "z"
390
+ pmem status --format json
391
+ pmem mark-dirty --auto
392
+ ```
393
+
394
+ 验收:
395
+
396
+ - 没有 raw stack trace。
397
+ - 输出说明使用 mtime fallback 或解释 git requirement。
398
+ - exit code 与文档一致。
399
+
400
+ ### E2E 6:skills install
401
+
402
+ ```bash
403
+ pmem install --skills --claude
404
+ pmem install --skills --codex
405
+ pmem install --skills --all
406
+ ```
407
+
408
+ 验收:
409
+ - `~/.claude/skills/pmem/SKILL.md` 存在且内容正确。
410
+ - `~/.codex/skills/pmem/SKILL.md` 存在且内容正确。
411
+ - `--all` 安装到所有可用 agent 目录。
412
+
413
+ ---
414
+
415
+ ## 八、文档设计
416
+
417
+ ### README.md 更新
418
+
419
+ 新增或强化:
420
+
421
+ 1. "When pmem helps":单次会话 vs 跨会话价值。
422
+ 2. "Agent-native init":非交互初始化示例。
423
+ 3. "First memory card":如何创建第一张有 `source_files` 的 module card。
424
+ 4. "Second session test":关闭上下文后用 `pmem recall` 恢复。
425
+ 5. "Integrations":Claude Code slash commands、Codex AGENTS、Cursor rules。
426
+
427
+ ### AGENTS.md / CLAUDE.md 更新
428
+
429
+ 需要把当前开发轨道改为 v0.6,并明确:
430
+
431
+ - v0.5 已完成 Beta 与 npm 上线。
432
+ - v0.6 聚焦 Agent-native workflow polish。
433
+ - 不引入 embedding、MCP/REST、Graph UI、telemetry。
434
+ - 当前最高优先级是非交互 init、错误 UX、空结果引导、Claude Code slash commands。
435
+
436
+ ### Integration templates 更新
437
+
438
+ `.pmem/integrations/*` 模板应与 root `AGENTS.md` / `CLAUDE.md` 一致,避免新项目初始化后得到过时指令。
439
+
440
+ ---
441
+
442
+ ## 九、实现顺序
443
+
444
+ ```txt
445
+ Step 0: 冻结 v0.6 pre-design(本文档)
446
+
447
+ Step 1: 非交互 init
448
+ - CLI options
449
+ - answers JSON
450
+ - validation / tests
451
+
452
+ Step 2: Error UX pass
453
+ - git 前置检查
454
+ - session missing UX
455
+ - empty result guidance
456
+
457
+ Step 3: Claude Code integration
458
+ - slash command templates
459
+ - install output
460
+ - verify checks
461
+
462
+ Step 4: Global skills installation
463
+ - skills/pmem/SKILL.md + references/
464
+ - pmem install --skills command
465
+ - E2E
466
+
467
+ Step 5: Agent-native E2E
468
+ - non-interactive init
469
+ - integration install
470
+ - empty guidance
471
+ - non-git UX
472
+ - skills install
473
+
474
+ Step 6: Docs sync
475
+ - README
476
+ - AGENTS / CLAUDE
477
+ - integration templates
478
+ - release checklist v0.6
479
+ ```
480
+
481
+ ---
482
+
483
+ ## 十、v0.6 验收清单
484
+
485
+ ### 产品验收
486
+
487
+ - [ ] 新用户能不用 TTY 初始化 pmem。
488
+ - [ ] Agent 能通过 Claude Code slash commands 触发核心 workflow。
489
+ - [ ] 空项目和空结果都有下一步建议。
490
+ - [ ] 非 git / git 不可用 / session missing 没有 raw stack trace。
491
+ - [ ] 新用户可一键安装 pmem skills 到 Claude Code / Codex / Gemini 全局目录。
492
+ - [ ] Skills 文件符合 agent skill 规范 (SKILL.md + references/)。
493
+ - [ ] README 明确解释 pmem 的跨会话价值。
494
+
495
+ ### 工程验收
496
+
497
+ - [ ] `npm test` 通过。
498
+ - [ ] `npm run build` 通过。
499
+ - [ ] 非交互 init E2E 通过。
500
+ - [ ] answers file init E2E 通过。
501
+ - [ ] Claude Code integration E2E 通过。
502
+ - [ ] empty result guidance E2E 通过。
503
+ - [ ] non-git UX E2E 通过。
504
+
505
+ ### 发布验收
506
+
507
+ - [ ] `CHANGELOG.md` 包含 v0.6.0。
508
+ - [ ] package version / lockfile / CLI version 一致。
509
+ - [ ] npm pack smoke 通过。
510
+ - [ ] release checklist v0.6 通过。
511
+
512
+ ---
513
+
514
+ ## 十一、v0.6 最终决策表
515
+
516
+ | 问题 | 最终决策 |
517
+ |------|---------|
518
+ | v0.6 主线 | Agent-native Workflow Polish |
519
+ | 是否做 embedding | 不做 |
520
+ | 是否做 MCP / REST / serve | 不做 |
521
+ | 是否做 Graph UI | 不做 |
522
+ | 是否做 telemetry | 不做 |
523
+ | 是否新增非交互 init | 做,P0 |
524
+ | 是否生成 Claude Code slash commands | 做,P0 |
525
+ | 是否做全局 skills 安装 | 做,P0,参考 playwright-cli install --skills 模式 |
526
+ | 是否自动 session start | 暂不默认做,先改错误 UX 和显式 option |
527
+ | 是否改变 Markdown source of truth | 不改变 |
528
+ | 最重要交付 | 非交互 init + 错误 UX + 空结果引导 + Agent integration 入口 |
529
+ | v0.6 成功定义 | Agent 可以低摩擦、可脚本化地使用 pmem 完成跨会话记忆 workflow |
530
+
531
+ ---
532
+
533
+ ## 十二、v0.6 一句话定义
534
+
535
+ > **pmem v0.6 是把 v0.5 的 Beta CLI 打磨成 Agent-native、可脚本化、错误可诊断、跨会话价值更清楚的项目记忆运行时。**
536
+
537
+ 更工程化:
538
+
539
+ ```txt
540
+ pmem v0.6 =
541
+ v0.5 npm Beta
542
+ + non-interactive init
543
+ + actionable empty states
544
+ + friendlier error UX
545
+ + session workflow tolerance
546
+ + Claude Code slash commands
547
+ + integration verification
548
+ + global skills installation
549
+ + Agent-native E2E
550
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmem-ai",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Project Memory for AI Agents: a local CLI runtime for project context, recall, and memory updates",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -13,7 +13,13 @@
13
13
  "test": "node --require ts-node/register --test src/core/*.test.ts",
14
14
  "test:e2e:install": "bash scripts/e2e-install-smoke.sh",
15
15
  "test:e2e:workflow": "bash scripts/e2e-real-workflow.sh",
16
- "test:e2e:non-git": "bash scripts/e2e-non-git-fallback.sh"
16
+ "test:e2e:non-git": "bash scripts/e2e-non-git-fallback.sh",
17
+ "test:e2e:v06-init": "bash scripts/e2e-v06-non-interactive-init.sh",
18
+ "test:e2e:v06-answers": "bash scripts/e2e-v06-answers-file.sh",
19
+ "test:e2e:v06-claude": "bash scripts/e2e-v06-claude-integration.sh",
20
+ "test:e2e:v06-empty": "bash scripts/e2e-v06-empty-guidance.sh",
21
+ "test:e2e:v06-nongit": "bash scripts/e2e-v06-non-git-ux.sh",
22
+ "test:e2e:v06-skills": "bash scripts/e2e-v06-skills.sh"
17
23
  },
18
24
  "keywords": [
19
25
  "agent",
@@ -47,6 +53,7 @@
47
53
  "!dist/**/*.test.js.map",
48
54
  "!dist/**/*.test.d.ts",
49
55
  "!dist/**/*.test.d.ts.map",
56
+ "skills/**/*.md",
50
57
  "README.md",
51
58
  "CHANGELOG.md",
52
59
  "LICENSE",