✨ feat(spx): issue marker 支持第三种类型 prototype

- --type 三选一 spec|plan|prototype,marker 行写 <!-- spx:prototype=路径 -->,
  与 spec/plan 共用同一套增量更新逻辑;类型→state 字段的映射收成一张表
- 同步写 state JSON 的 prototypeFile(pattern 要求 dir/.../x.json)
- 顺手补上 b62e58d 漏掉的 prototypeSessionId / prototypeProfilePath:
  schema 与 knownStateFields 都没有它们,带原型会话的工单一 merge
  就会被 additionalProperties 拒掉

Claude-Session: https://claude.ai/code/session_01Kgmb1LvrPmFX3NoUDB4zZC
This commit is contained in:
cruldra committed 2026-09-15 00:08:31 +08:00
1 parent 814e0e8f5a
commit def5f4e88c
5 files changed
+89 -8

No files matched your search

+16
View File
@@ -31,6 +31,11 @@
"description": "测试阶段的 Claude Code session id;PR 合并后手动启动的测试会话,用于 resume。",
"minLength": 1
},
"prototypeSessionId": {
"type": "string",
"description": "原型阶段的 Claude Code session id;画 Figma 原型的会话,用于 resume。",
"minLength": 1
},
"profilePath": {
"type": "string",
"description": "创建工单时使用的 Claude settings 配置文件绝对路径,resume 时作为 --settings 传入。",
@@ -46,6 +51,11 @@
"description": "测试会话使用的 Claude settings 配置文件绝对路径;与实施 profilePath 独立,空则用默认。",
"minLength": 1
},
"prototypeProfilePath": {
"type": "string",
"description": "原型会话使用的 Claude settings 配置文件绝对路径;与实施 profilePath 独立,空则用默认。",
"minLength": 1
},
"specFile": {
"type": "string",
"description": "本工单的 spec 文档路径,相对 workspace,必须形如 `dir/.../name.md`。",
@@ -58,6 +68,12 @@
"minLength": 1,
"pattern": "^[^\\s]+/[^\\s]+\\.md$"
},
"prototypeFile": {
"type": "string",
"description": "本工单的 Figma 原型插件 manifest.json 路径,仓库相对或绝对,必须形如 `dir/.../manifest.json`。",
"minLength": 1,
"pattern": "^[^\\s]+/[^\\s]+\\.json$"
},
"prDiffFile": {
"type": "string",
"description": "本工单的 PR 变更摘要文件路径,相对 workspace,必须位于 docs/pr-diff/ 下。",