product-playbook 1.0.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 (291) hide show
  1. package/LICENSE +21 -0
  2. package/README.es.md +518 -0
  3. package/README.ja.md +519 -0
  4. package/README.ko.md +518 -0
  5. package/README.md +520 -0
  6. package/README.zh-CN.md +518 -0
  7. package/README.zh-TW.md +518 -0
  8. package/SKILL.md +244 -0
  9. package/commands/product-build.md +13 -0
  10. package/commands/product-dev.md +21 -0
  11. package/commands/product-full.md +13 -0
  12. package/commands/product-prd.md +14 -0
  13. package/commands/product-quick.md +13 -0
  14. package/commands/product-report.md +12 -0
  15. package/commands/product-revision.md +13 -0
  16. package/i18n/en/SKILL.md +245 -0
  17. package/i18n/en/commands/product-build.md +13 -0
  18. package/i18n/en/commands/product-dev.md +21 -0
  19. package/i18n/en/commands/product-full.md +13 -0
  20. package/i18n/en/commands/product-prd.md +14 -0
  21. package/i18n/en/commands/product-quick.md +13 -0
  22. package/i18n/en/commands/product-report.md +12 -0
  23. package/i18n/en/commands/product-revision.md +13 -0
  24. package/i18n/en/references/00-opportunity-check.md +44 -0
  25. package/i18n/en/references/01-strategy.md +90 -0
  26. package/i18n/en/references/02a-persona.md +57 -0
  27. package/i18n/en/references/02b-jtbd.md +125 -0
  28. package/i18n/en/references/02c-ost-journey.md +65 -0
  29. package/i18n/en/references/03-define.md +118 -0
  30. package/i18n/en/references/04a-prfaq.md +112 -0
  31. package/i18n/en/references/04b-solutions.md +269 -0
  32. package/i18n/en/references/04c-mvp.md +21 -0
  33. package/i18n/en/references/05a-northstar-aha.md +93 -0
  34. package/i18n/en/references/05b-pmf-gtm.md +102 -0
  35. package/i18n/en/references/05c-validation-spec.md +117 -0
  36. package/i18n/en/references/06-html-report.md +128 -0
  37. package/i18n/en/references/07a-handoff-core.md +152 -0
  38. package/i18n/en/references/07b-tasks-tickets.md +215 -0
  39. package/i18n/en/references/07c-architecture-setup.md +197 -0
  40. package/i18n/en/references/08-security-checklist.md +221 -0
  41. package/i18n/en/references/rules-build.md +152 -0
  42. package/i18n/en/references/rules-change-propagation.md +74 -0
  43. package/i18n/en/references/rules-commands.md +98 -0
  44. package/i18n/en/references/rules-context.md +291 -0
  45. package/i18n/en/references/rules-custom.md +63 -0
  46. package/i18n/en/references/rules-document-tools.md +126 -0
  47. package/i18n/en/references/rules-end-of-flow.md +150 -0
  48. package/i18n/en/references/rules-export-document.md +346 -0
  49. package/i18n/en/references/rules-file-integration.md +65 -0
  50. package/i18n/en/references/rules-full.md +66 -0
  51. package/i18n/en/references/rules-import-document.md +261 -0
  52. package/i18n/en/references/rules-product-type.md +14 -0
  53. package/i18n/en/references/rules-progress.md +60 -0
  54. package/i18n/en/references/rules-quick.md +29 -0
  55. package/i18n/en/references/rules-revision.md +64 -0
  56. package/i18n/es/SKILL.md +245 -0
  57. package/i18n/es/commands/product-build.md +13 -0
  58. package/i18n/es/commands/product-dev.md +21 -0
  59. package/i18n/es/commands/product-full.md +13 -0
  60. package/i18n/es/commands/product-prd.md +14 -0
  61. package/i18n/es/commands/product-quick.md +13 -0
  62. package/i18n/es/commands/product-report.md +12 -0
  63. package/i18n/es/commands/product-revision.md +13 -0
  64. package/i18n/es/references/00-opportunity-check.md +44 -0
  65. package/i18n/es/references/01-strategy.md +90 -0
  66. package/i18n/es/references/02a-persona.md +57 -0
  67. package/i18n/es/references/02b-jtbd.md +125 -0
  68. package/i18n/es/references/02c-ost-journey.md +65 -0
  69. package/i18n/es/references/03-define.md +118 -0
  70. package/i18n/es/references/04a-prfaq.md +114 -0
  71. package/i18n/es/references/04b-solutions.md +269 -0
  72. package/i18n/es/references/04c-mvp.md +21 -0
  73. package/i18n/es/references/05a-northstar-aha.md +93 -0
  74. package/i18n/es/references/05b-pmf-gtm.md +102 -0
  75. package/i18n/es/references/05c-validation-spec.md +117 -0
  76. package/i18n/es/references/06-html-report.md +138 -0
  77. package/i18n/es/references/07a-handoff-core.md +152 -0
  78. package/i18n/es/references/07b-tasks-tickets.md +215 -0
  79. package/i18n/es/references/07c-architecture-setup.md +197 -0
  80. package/i18n/es/references/08-security-checklist.md +221 -0
  81. package/i18n/es/references/rules-build.md +152 -0
  82. package/i18n/es/references/rules-change-propagation.md +74 -0
  83. package/i18n/es/references/rules-commands.md +98 -0
  84. package/i18n/es/references/rules-context.md +291 -0
  85. package/i18n/es/references/rules-custom.md +63 -0
  86. package/i18n/es/references/rules-document-tools.md +126 -0
  87. package/i18n/es/references/rules-end-of-flow.md +150 -0
  88. package/i18n/es/references/rules-export-document.md +346 -0
  89. package/i18n/es/references/rules-file-integration.md +65 -0
  90. package/i18n/es/references/rules-full.md +66 -0
  91. package/i18n/es/references/rules-import-document.md +261 -0
  92. package/i18n/es/references/rules-product-type.md +14 -0
  93. package/i18n/es/references/rules-progress.md +60 -0
  94. package/i18n/es/references/rules-quick.md +29 -0
  95. package/i18n/es/references/rules-revision.md +64 -0
  96. package/i18n/ja/SKILL.md +245 -0
  97. package/i18n/ja/commands/product-build.md +13 -0
  98. package/i18n/ja/commands/product-dev.md +21 -0
  99. package/i18n/ja/commands/product-full.md +13 -0
  100. package/i18n/ja/commands/product-prd.md +14 -0
  101. package/i18n/ja/commands/product-quick.md +13 -0
  102. package/i18n/ja/commands/product-report.md +12 -0
  103. package/i18n/ja/commands/product-revision.md +13 -0
  104. package/i18n/ja/references/00-opportunity-check.md +44 -0
  105. package/i18n/ja/references/01-strategy.md +90 -0
  106. package/i18n/ja/references/02a-persona.md +57 -0
  107. package/i18n/ja/references/02b-jtbd.md +125 -0
  108. package/i18n/ja/references/02c-ost-journey.md +65 -0
  109. package/i18n/ja/references/03-define.md +118 -0
  110. package/i18n/ja/references/04a-prfaq.md +111 -0
  111. package/i18n/ja/references/04b-solutions.md +269 -0
  112. package/i18n/ja/references/04c-mvp.md +21 -0
  113. package/i18n/ja/references/05a-northstar-aha.md +93 -0
  114. package/i18n/ja/references/05b-pmf-gtm.md +102 -0
  115. package/i18n/ja/references/05c-validation-spec.md +117 -0
  116. package/i18n/ja/references/06-html-report.md +126 -0
  117. package/i18n/ja/references/07a-handoff-core.md +152 -0
  118. package/i18n/ja/references/07b-tasks-tickets.md +215 -0
  119. package/i18n/ja/references/07c-architecture-setup.md +197 -0
  120. package/i18n/ja/references/08-security-checklist.md +221 -0
  121. package/i18n/ja/references/rules-build.md +152 -0
  122. package/i18n/ja/references/rules-change-propagation.md +74 -0
  123. package/i18n/ja/references/rules-commands.md +98 -0
  124. package/i18n/ja/references/rules-context.md +291 -0
  125. package/i18n/ja/references/rules-custom.md +63 -0
  126. package/i18n/ja/references/rules-document-tools.md +126 -0
  127. package/i18n/ja/references/rules-end-of-flow.md +150 -0
  128. package/i18n/ja/references/rules-export-document.md +346 -0
  129. package/i18n/ja/references/rules-file-integration.md +65 -0
  130. package/i18n/ja/references/rules-full.md +66 -0
  131. package/i18n/ja/references/rules-import-document.md +261 -0
  132. package/i18n/ja/references/rules-product-type.md +14 -0
  133. package/i18n/ja/references/rules-progress.md +60 -0
  134. package/i18n/ja/references/rules-quick.md +29 -0
  135. package/i18n/ja/references/rules-revision.md +64 -0
  136. package/i18n/ko/SKILL.md +245 -0
  137. package/i18n/ko/commands/product-build.md +13 -0
  138. package/i18n/ko/commands/product-dev.md +21 -0
  139. package/i18n/ko/commands/product-full.md +13 -0
  140. package/i18n/ko/commands/product-prd.md +14 -0
  141. package/i18n/ko/commands/product-quick.md +13 -0
  142. package/i18n/ko/commands/product-report.md +12 -0
  143. package/i18n/ko/commands/product-revision.md +13 -0
  144. package/i18n/ko/references/00-opportunity-check.md +44 -0
  145. package/i18n/ko/references/01-strategy.md +90 -0
  146. package/i18n/ko/references/02a-persona.md +57 -0
  147. package/i18n/ko/references/02b-jtbd.md +125 -0
  148. package/i18n/ko/references/02c-ost-journey.md +65 -0
  149. package/i18n/ko/references/03-define.md +118 -0
  150. package/i18n/ko/references/04a-prfaq.md +112 -0
  151. package/i18n/ko/references/04b-solutions.md +269 -0
  152. package/i18n/ko/references/04c-mvp.md +21 -0
  153. package/i18n/ko/references/05a-northstar-aha.md +93 -0
  154. package/i18n/ko/references/05b-pmf-gtm.md +102 -0
  155. package/i18n/ko/references/05c-validation-spec.md +117 -0
  156. package/i18n/ko/references/06-html-report.md +126 -0
  157. package/i18n/ko/references/07a-handoff-core.md +152 -0
  158. package/i18n/ko/references/07b-tasks-tickets.md +215 -0
  159. package/i18n/ko/references/07c-architecture-setup.md +197 -0
  160. package/i18n/ko/references/08-security-checklist.md +221 -0
  161. package/i18n/ko/references/rules-build.md +152 -0
  162. package/i18n/ko/references/rules-change-propagation.md +74 -0
  163. package/i18n/ko/references/rules-commands.md +98 -0
  164. package/i18n/ko/references/rules-context.md +291 -0
  165. package/i18n/ko/references/rules-custom.md +63 -0
  166. package/i18n/ko/references/rules-document-tools.md +126 -0
  167. package/i18n/ko/references/rules-end-of-flow.md +150 -0
  168. package/i18n/ko/references/rules-export-document.md +346 -0
  169. package/i18n/ko/references/rules-file-integration.md +65 -0
  170. package/i18n/ko/references/rules-full.md +66 -0
  171. package/i18n/ko/references/rules-import-document.md +261 -0
  172. package/i18n/ko/references/rules-product-type.md +14 -0
  173. package/i18n/ko/references/rules-progress.md +60 -0
  174. package/i18n/ko/references/rules-quick.md +29 -0
  175. package/i18n/ko/references/rules-revision.md +64 -0
  176. package/i18n/zh-CN/SKILL.md +245 -0
  177. package/i18n/zh-CN/commands/product-build.md +13 -0
  178. package/i18n/zh-CN/commands/product-dev.md +21 -0
  179. package/i18n/zh-CN/commands/product-full.md +13 -0
  180. package/i18n/zh-CN/commands/product-prd.md +14 -0
  181. package/i18n/zh-CN/commands/product-quick.md +13 -0
  182. package/i18n/zh-CN/commands/product-report.md +12 -0
  183. package/i18n/zh-CN/commands/product-revision.md +13 -0
  184. package/i18n/zh-CN/references/00-opportunity-check.md +44 -0
  185. package/i18n/zh-CN/references/01-strategy.md +90 -0
  186. package/i18n/zh-CN/references/02a-persona.md +57 -0
  187. package/i18n/zh-CN/references/02b-jtbd.md +125 -0
  188. package/i18n/zh-CN/references/02c-ost-journey.md +65 -0
  189. package/i18n/zh-CN/references/03-define.md +118 -0
  190. package/i18n/zh-CN/references/04a-prfaq.md +106 -0
  191. package/i18n/zh-CN/references/04b-solutions.md +269 -0
  192. package/i18n/zh-CN/references/04c-mvp.md +21 -0
  193. package/i18n/zh-CN/references/05a-northstar-aha.md +93 -0
  194. package/i18n/zh-CN/references/05b-pmf-gtm.md +102 -0
  195. package/i18n/zh-CN/references/05c-validation-spec.md +117 -0
  196. package/i18n/zh-CN/references/06-html-report.md +123 -0
  197. package/i18n/zh-CN/references/07a-handoff-core.md +152 -0
  198. package/i18n/zh-CN/references/07b-tasks-tickets.md +215 -0
  199. package/i18n/zh-CN/references/07c-architecture-setup.md +197 -0
  200. package/i18n/zh-CN/references/08-security-checklist.md +221 -0
  201. package/i18n/zh-CN/references/rules-build.md +152 -0
  202. package/i18n/zh-CN/references/rules-change-propagation.md +74 -0
  203. package/i18n/zh-CN/references/rules-commands.md +98 -0
  204. package/i18n/zh-CN/references/rules-context.md +291 -0
  205. package/i18n/zh-CN/references/rules-custom.md +63 -0
  206. package/i18n/zh-CN/references/rules-document-tools.md +126 -0
  207. package/i18n/zh-CN/references/rules-end-of-flow.md +150 -0
  208. package/i18n/zh-CN/references/rules-export-document.md +346 -0
  209. package/i18n/zh-CN/references/rules-file-integration.md +65 -0
  210. package/i18n/zh-CN/references/rules-full.md +66 -0
  211. package/i18n/zh-CN/references/rules-import-document.md +261 -0
  212. package/i18n/zh-CN/references/rules-product-type.md +14 -0
  213. package/i18n/zh-CN/references/rules-progress.md +60 -0
  214. package/i18n/zh-CN/references/rules-quick.md +29 -0
  215. package/i18n/zh-CN/references/rules-revision.md +64 -0
  216. package/i18n/zh-TW/SKILL.md +244 -0
  217. package/i18n/zh-TW/commands/product-build.md +13 -0
  218. package/i18n/zh-TW/commands/product-dev.md +21 -0
  219. package/i18n/zh-TW/commands/product-full.md +13 -0
  220. package/i18n/zh-TW/commands/product-prd.md +14 -0
  221. package/i18n/zh-TW/commands/product-quick.md +13 -0
  222. package/i18n/zh-TW/commands/product-report.md +12 -0
  223. package/i18n/zh-TW/commands/product-revision.md +13 -0
  224. package/i18n/zh-TW/references/00-opportunity-check.md +44 -0
  225. package/i18n/zh-TW/references/01-strategy.md +90 -0
  226. package/i18n/zh-TW/references/02a-persona.md +57 -0
  227. package/i18n/zh-TW/references/02b-jtbd.md +125 -0
  228. package/i18n/zh-TW/references/02c-ost-journey.md +65 -0
  229. package/i18n/zh-TW/references/03-define.md +118 -0
  230. package/i18n/zh-TW/references/04a-prfaq.md +106 -0
  231. package/i18n/zh-TW/references/04b-solutions.md +269 -0
  232. package/i18n/zh-TW/references/04c-mvp.md +21 -0
  233. package/i18n/zh-TW/references/05a-northstar-aha.md +93 -0
  234. package/i18n/zh-TW/references/05b-pmf-gtm.md +102 -0
  235. package/i18n/zh-TW/references/05c-validation-spec.md +117 -0
  236. package/i18n/zh-TW/references/06-html-report.md +123 -0
  237. package/i18n/zh-TW/references/07a-handoff-core.md +152 -0
  238. package/i18n/zh-TW/references/07b-tasks-tickets.md +215 -0
  239. package/i18n/zh-TW/references/07c-architecture-setup.md +197 -0
  240. package/i18n/zh-TW/references/08-security-checklist.md +221 -0
  241. package/i18n/zh-TW/references/rules-build.md +152 -0
  242. package/i18n/zh-TW/references/rules-change-propagation.md +74 -0
  243. package/i18n/zh-TW/references/rules-commands.md +98 -0
  244. package/i18n/zh-TW/references/rules-context.md +291 -0
  245. package/i18n/zh-TW/references/rules-custom.md +63 -0
  246. package/i18n/zh-TW/references/rules-document-tools.md +126 -0
  247. package/i18n/zh-TW/references/rules-end-of-flow.md +150 -0
  248. package/i18n/zh-TW/references/rules-export-document.md +346 -0
  249. package/i18n/zh-TW/references/rules-file-integration.md +65 -0
  250. package/i18n/zh-TW/references/rules-full.md +66 -0
  251. package/i18n/zh-TW/references/rules-import-document.md +261 -0
  252. package/i18n/zh-TW/references/rules-product-type.md +14 -0
  253. package/i18n/zh-TW/references/rules-progress.md +60 -0
  254. package/i18n/zh-TW/references/rules-quick.md +29 -0
  255. package/i18n/zh-TW/references/rules-revision.md +64 -0
  256. package/install.sh +418 -0
  257. package/package.json +41 -0
  258. package/references/00-opportunity-check.md +44 -0
  259. package/references/01-strategy.md +90 -0
  260. package/references/02a-persona.md +57 -0
  261. package/references/02b-jtbd.md +125 -0
  262. package/references/02c-ost-journey.md +65 -0
  263. package/references/03-define.md +118 -0
  264. package/references/04a-prfaq.md +106 -0
  265. package/references/04b-solutions.md +269 -0
  266. package/references/04c-mvp.md +21 -0
  267. package/references/05a-northstar-aha.md +93 -0
  268. package/references/05b-pmf-gtm.md +102 -0
  269. package/references/05c-validation-spec.md +117 -0
  270. package/references/06-html-report.md +123 -0
  271. package/references/07a-handoff-core.md +152 -0
  272. package/references/07b-tasks-tickets.md +215 -0
  273. package/references/07c-architecture-setup.md +197 -0
  274. package/references/08-security-checklist.md +221 -0
  275. package/references/rules-build.md +152 -0
  276. package/references/rules-change-propagation.md +74 -0
  277. package/references/rules-commands.md +98 -0
  278. package/references/rules-context.md +291 -0
  279. package/references/rules-custom.md +63 -0
  280. package/references/rules-document-tools.md +126 -0
  281. package/references/rules-end-of-flow.md +150 -0
  282. package/references/rules-export-document.md +346 -0
  283. package/references/rules-file-integration.md +65 -0
  284. package/references/rules-full.md +66 -0
  285. package/references/rules-import-document.md +261 -0
  286. package/references/rules-product-type.md +14 -0
  287. package/references/rules-progress.md +60 -0
  288. package/references/rules-quick.md +29 -0
  289. package/references/rules-revision.md +64 -0
  290. package/references/templates/prd-style.css +464 -0
  291. package/references/templates/report-style.css +114 -0
@@ -0,0 +1,215 @@
1
+ # 开发衔接 — TASKS.md + TICKETS.md
2
+
3
+ ## 📄 TASKS.md 模板
4
+
5
+ 功能拆解的核心原则:
6
+ - 从 MVP 必须有(P0)的功能出发
7
+ - 每个 Task 对应一个 User Story
8
+ - Phase 之间有明确的依赖关系:Phase N+1 依赖 Phase N 的产出
9
+ - 每个 Task 包含验收标准,Claude Code 可以自我检查
10
+
11
+ ```markdown
12
+ # [产品名称] — 开发任务清单
13
+
14
+ ## Phase 0:专案初始化
15
+ > 目标:建立可运行的空白专案骨架
16
+
17
+ - [ ] **T0.1** 初始化专案(`scripts/setup.sh` 或手动)
18
+ - 验收:
19
+ - [ ] `npm run dev` / `python manage.py runserver` 等指令可启动
20
+ - [ ] `.gitignore` 已建立,包含 `.env`、`.env.local`、`node_modules/`、`.product-playbook-progress.md` 等敏感文件
21
+ - [ ] `.env.example` 已建立(只有 key 名称,没有实际值)
22
+ - [ ] **T0.2** 设定 linter + formatter
23
+ - 验收:lint 通过无错误
24
+ - [ ] **T0.3** 建立数据库 + 执行初始 migration
25
+ - 验收:数据库可连接,基础 table 已建立
26
+ - [ ] **T0.4** 建立基础路由结构
27
+ - 验收:所有主要页面路由可访问(返回空白页面即可)
28
+
29
+ ## Phase 1:核心流程(Aha Moment 路径)
30
+ > 目标:让用户可以走完从进入到 Aha Moment 的最短路径
31
+ > 对应 User Story:[US-001, US-002, ...]
32
+
33
+ - [ ] **T1.1** [功能名称]
34
+ - User Story:身为 [Persona],我想要 [行为],以便 [价值]
35
+ - 验收标准:
36
+ - [ ] [可测试的具体条件 1]
37
+ - [ ] [可测试的具体条件 2]
38
+ - 技术备注:[需要的 API / 第三方服务 / 特殊逻辑]
39
+
40
+ - [ ] **T1.2** [功能名称]
41
+ - User Story:...
42
+ - 验收标准:...
43
+
44
+ > **Phase 1 完成检查点**:用户可以完成 [Aha Moment 行为]。如果不行,不要进入 Phase 2。
45
+
46
+ ## Phase 2:完整 MVP
47
+ > 目标:补全 MVP 范围中所有 P0 功能
48
+ > 对应 User Story:[US-003, US-004, ...]
49
+
50
+ - [ ] **T2.1** [功能名称]
51
+ - ...
52
+
53
+ > **Phase 2 完成检查点**:所有 P0 User Story 的验收标准都通过。
54
+
55
+ ## Phase 3:品质与体验
56
+ > 目标:错误处理、边界情境、载入状态、基础安全性
57
+
58
+ - [ ] **T3.1** 全域错误处理
59
+ - [ ] **T3.2** 表单验证 + 边界情境
60
+ - [ ] **T3.3** 载入状态 + 空状态
61
+ - [ ] **T3.4** 安全性检查(依 `references/08-security-checklist.md` 逐项确认)
62
+ - 验收:
63
+ - [ ] OWASP Top 10 相关项目已处理(输入验证、认证、XSS 防护、CSRF 防护)
64
+ - [ ] 安全性 Headers 已设定(CSP、X-Frame-Options、HSTS 等)
65
+ - [ ] CORS 政策已配置(不使用 wildcard *)
66
+ - [ ] 敏感 API 端点有 Rate Limiting
67
+ - [ ] API 错误回应不泄漏内部资讯
68
+ - [ ] **T3.5** 响应式设计(如果是 Web)
69
+
70
+ ## Phase 4:部署
71
+ > 目标:可以让外部用户访问
72
+
73
+ - [ ] **T4.1** 环境变数管理
74
+ - [ ] **T4.2** 部署配置
75
+ - [ ] **T4.3** 基础监控 + 日志
76
+ ```
77
+
78
+ ---
79
+
80
+ ## 📄 TICKETS.md 模板
81
+
82
+ TICKETS.md 是根据 TASKS.md 中的功能拆解,产出可直接在专案管理工具中开票的结构化内容。每张票包含 PM 开票所需的完整资讯。
83
+
84
+ > **设计目标**:PM 可以直接将每张票的内容复制到 Jira / Asana / Linear 等工具中开票,后续版本将支持通过 API 自动开票。
85
+
86
+ ```markdown
87
+ # [产品名称] — 开票清单
88
+
89
+ > 产出时间:[时间戳]
90
+ > 对应 TASKS.md 版本:[版本/时间]
91
+ > 共 [N] 张票
92
+
93
+ ---
94
+
95
+ ## 票务总览
96
+
97
+ | 票号 | 标题 | Phase | 优先级 | 预估工时 | 依赖 |
98
+ |------|------|-------|--------|---------|------|
99
+ | TKT-001 | [标题] | Phase 0 | P0 | [X]h | — |
100
+ | TKT-002 | [标题] | Phase 1 | P0 | [X]h | TKT-001 |
101
+ | ... | | | | | |
102
+
103
+ ---
104
+
105
+ ## TKT-001:[标题]
106
+
107
+ **Phase**:Phase 0 — 专案初始化
108
+ **对应 Task**:T0.1
109
+ **优先级**:P0
110
+ **预估工时**:[X] 小时
111
+ **依赖**:无
112
+ **指派对象**:[角色/团队,例如:后端工程师]
113
+
114
+ ### 描述
115
+
116
+ [用 1-3 段文字描述这张票要完成什么,包含业务背景和技术目标]
117
+
118
+ ### User Story
119
+
120
+ 身为 [Persona],我想要 [行为],以便 [价值]
121
+
122
+ ### 验收标准
123
+
124
+ - [ ] [可测试的具体条件 1]
125
+ - [ ] [可测试的具体条件 2]
126
+ - [ ] [可测试的具体条件 3]
127
+
128
+ ### 技术备注
129
+
130
+ - [实作注意事项]
131
+ - [需要的 API / 第三方服务]
132
+ - [相关文件路径或模组]
133
+
134
+ ### 标签建议
135
+
136
+ `[Phase 0]` `[backend]` `[setup]`
137
+
138
+ ---
139
+
140
+ ## TKT-002:[标题]
141
+
142
+ [同上格式,逐张展开]
143
+ ```
144
+
145
+ ### 开票规则
146
+
147
+ 1. **票号对应 Task**:每个 TASKS.md 中的 Task 对应一张票(TKT-001 ↔ T0.1),粒度过大的 Task 可拆为多张票
148
+ 2. **优先级继承**:Phase 0-1 默认 P0,Phase 2 默认 P1,Phase 3-4 默认 P2,可根据 RICE 分数调整
149
+ 3. **依赖关系**:明确标记票与票之间的前后依赖,避免工程师跳步开发
150
+ 4. **预估工时**:根据 Task 粒度原则(1-4 小时),提供合理预估
151
+ 5. **标签建议**:包含 Phase、技术领域(frontend / backend / database / infra)、功能模组
152
+
153
+ ### 专案管理工具串接(预留)
154
+
155
+ > 以下为未来自动开票功能的预留接口设计,目前版本仅产出 TICKETS.md 供 PM 手动开票。
156
+
157
+ TICKETS.md 的结构化格式已预留以下栏位,便于后续通过 API 自动汇入:
158
+
159
+ | 栏位 | Jira 对应 | Asana 对应 | Linear 对应 |
160
+ |------|----------|-----------|------------|
161
+ | 票号 | Issue Key | Task ID | Issue ID |
162
+ | 标题 | Summary | Task Name | Title |
163
+ | 描述 | Description | Description | Description |
164
+ | 优先级 | Priority | Custom Field | Priority |
165
+ | 预估工时 | Story Points / Time Estimate | Custom Field | Estimate |
166
+ | 依赖 | Linked Issues | Dependencies | Relations |
167
+ | 标签 | Labels + Components | Tags | Labels |
168
+ | Phase | Epic | Section | Project |
169
+ | 指派对象 | Assignee | Assignee | Assignee |
170
+ | 验收标准 | Acceptance Criteria (Description) | Subtasks | Sub-issues |
171
+
172
+ ---
173
+
174
+ ## 功能拆解逻辑
175
+
176
+ 将 MVP 功能转换为 Task 的规则:
177
+
178
+ ### Phase 划分原则
179
+
180
+ ```
181
+ Phase 0:专案骨架(所有模式都必须有)
182
+ → 初始化、linter、DB、基础路由
183
+
184
+ Phase 1:Aha Moment 最短路径(最重要)
185
+ → 从用户进入到达 Aha Moment 所需的最少功能
186
+ → 只包含这条路径上的 P0 功能
187
+
188
+ Phase 2:完整 MVP
189
+ → 补全 Phase 1 没有覆盖的其他 P0 功能
190
+ → 支线流程、次要页面
191
+
192
+ Phase 3:品质与体验
193
+ → 错误处理、边界情境、载入/空状态
194
+ → 安全性基础、响应式设计
195
+
196
+ Phase 4:部署
197
+ → 环境变数、部署配置、监控
198
+ ```
199
+
200
+ ### Task 粒度原则
201
+
202
+ - 每个 Task 应该可以在 **1-4 小时** 内完成
203
+ - 太大 → 拆成子 Task(T1.1a, T1.1b)
204
+ - 太小 → 合并到相关 Task
205
+ - 每个 Task 必须有至少一个可测试的验收标准
206
+
207
+ ### User Story → Task 对应
208
+
209
+ ```
210
+ 一个 User Story 可能对应 1-3 个 Task:
211
+ US-001: 身为新用户,我想要注册帐号,以便开始使用
212
+ → T1.1: 注册页面 UI
213
+ → T1.2: 注册 API + 数据验证
214
+ → T1.3: Email 验证流程(如果 MVP 需要)
215
+ ```
@@ -0,0 +1,197 @@
1
+ # 开发衔接 — ARCHITECTURE.md + setup.sh
2
+
3
+ ## 📄 ARCHITECTURE.md 模板
4
+
5
+ ```markdown
6
+ # [产品名称] — 技术架构
7
+
8
+ ## 目录结构
9
+
10
+ [根据技术栈产出对应的目录结构]
11
+
12
+ ## 数据库设计
13
+
14
+ [从 PRD 的 DB Schema 整合,转为建表 SQL 或 ORM Model 定义]
15
+
16
+ ### ER 关系图
17
+
18
+ [Mermaid erDiagram]
19
+
20
+ ### 关键 Table 说明
21
+
22
+ | Table | 说明 | 关键栏位 | 索引建议 |
23
+ |-------|------|---------|---------|
24
+ | | | | |
25
+
26
+ ## API 设计
27
+
28
+ [根据 User Story 和功能规格,定义 RESTful API endpoints 或 GraphQL schema]
29
+
30
+ ### Endpoints 清单
31
+
32
+ | 方法 | 路径 | 说明 | 对应 Task |
33
+ |------|------|------|----------|
34
+ | GET | /api/v1/[resource] | [说明] | T1.1 |
35
+ | POST | /api/v1/[resource] | [说明] | T1.2 |
36
+
37
+ ### 认证方式
38
+
39
+ [JWT / Session / OAuth 等]
40
+
41
+ ## 第三方服务
42
+
43
+ | 服务 | 用途 | 对应功能 |
44
+ |------|------|---------|
45
+ | | | |
46
+
47
+ ## 安全架构
48
+
49
+ ### CORS 配置
50
+
51
+ | 设定项 | 值 | 说明 |
52
+ |--------|---|------|
53
+ | 允许的 Origins | [生产域名, localhost:port] | 不使用 wildcard * |
54
+ | 允许的 Methods | GET, POST, PUT, DELETE | 依 API 实际需求 |
55
+ | 允许的 Headers | Content-Type, Authorization | |
56
+ | Credentials | true/false | 依认证方式决定 |
57
+
58
+ ### 安全性 Headers
59
+
60
+ [根据产品需求,从 references/08-security-checklist.md §5 选择适用的 Headers]
61
+
62
+ ### Rate Limiting 策略
63
+
64
+ | 端点类型 | 限制 | 识别方式 |
65
+ |---------|------|---------|
66
+ | 一般 API | [X] req/min | IP + User ID |
67
+ | 登入/注册 | [X] req/min | IP |
68
+ | 文件上传 | [X] req/min | User ID |
69
+
70
+ ### 敏感数据处理
71
+
72
+ - 密钥管理:[.env + 平台环境变数 / Secrets Manager]
73
+ - 日志规范:不记录密码、Token、个人数据
74
+ - 数据加密:[传输中 TLS / 储存时加密需求]
75
+
76
+ > 完整安全性检查清单见 `references/08-security-checklist.md`
77
+ ```
78
+
79
+ ---
80
+
81
+ ## 📄 .gitignore 模板
82
+
83
+ ```gitignore
84
+ # 环境变数与密钥
85
+ .env
86
+ .env.local
87
+ .env.*.local
88
+ *.pem
89
+ *.key
90
+
91
+ # 产品规划进度(可能包含敏感商业资讯)
92
+ .product-playbook-progress.md
93
+
94
+ # IDE 与作业系统
95
+ .idea/
96
+ .vscode/
97
+ *.swp
98
+ .DS_Store
99
+ Thumbs.db
100
+
101
+ # 依赖
102
+ node_modules/
103
+ __pycache__/
104
+ *.pyc
105
+ venv/
106
+
107
+ # 构建产出
108
+ dist/
109
+ build/
110
+ .next/
111
+ ```
112
+
113
+ ---
114
+
115
+ ## 📄 setup.sh 模板
116
+
117
+ ```bash
118
+ #!/bin/bash
119
+ # [产品名称] — 专案初始化脚本
120
+ # 使用方式:chmod +x scripts/setup.sh && ./scripts/setup.sh
121
+
122
+ set -e
123
+
124
+ echo "🚀 正在初始化 [产品名称]..."
125
+
126
+ # ===== 检查前置条件 =====
127
+ command -v [node/python/etc] >/dev/null 2>&1 || { echo "❌ 需要安装 [runtime]"; exit 1; }
128
+
129
+ # ===== 安装依赖 =====
130
+ echo "📦 安装依赖..."
131
+ [npm install / pip install -r requirements.txt / etc]
132
+
133
+ # ===== 环境设定 =====
134
+ if [ ! -f .env ]; then
135
+ echo "📝 建立 .env 文件..."
136
+ cp .env.example .env
137
+ echo "⚠️ 请编辑 .env 填入必要的环境变数"
138
+ fi
139
+
140
+ # ===== 数据库初始化 =====
141
+ echo "🗄️ 初始化数据库..."
142
+ [migration commands]
143
+
144
+ echo ""
145
+ echo "✅ 初始化完成!"
146
+ echo ""
147
+ echo "下一步:"
148
+ echo " 1. 编辑 .env 填入环境变数"
149
+ echo " 2. 启动开发服务器:[start command]"
150
+ echo " 3. 开始开发:claude \"请读取 CLAUDE.md 和 TASKS.md,开始执行 Phase 1\""
151
+ ```
152
+
153
+ ---
154
+
155
+ ## 使用者引导文字
156
+
157
+ ### 在 Claude Chat / Cowork 中
158
+
159
+ 产出开发交接包后,显示以下引导:
160
+
161
+ ```
162
+ 📦 开发交接包已准备好!包含以下文件:
163
+
164
+ CLAUDE.md → Claude Code 的专案记忆(产品上下文 + 技术规范)
165
+ TASKS.md → 开发任务清单(4 个 Phase,共 [N] 个 Task)
166
+ TICKETS.md → 开票清单(共 [N] 张票,可直接在 Jira/Asana/Linear 开票)
167
+ docs/PRD.md → 完整 PRD
168
+ docs/ARCHITECTURE.md → 技术架构(DB schema + API + 目录结构)
169
+ docs/PRODUCT-SPEC.md → 产品规格摘要
170
+ scripts/setup.sh → 一键初始化脚本
171
+
172
+ 🔗 如何开始开发:
173
+
174
+ 1. 下载并解压到你的专案数据夹
175
+ 2. 开启终端机,进入专案数据夹
176
+ 3. 启动 Claude Code:
177
+ $ claude
178
+ 4. 告诉 Claude Code 开始:
179
+ > 请读取 CLAUDE.md 和 TASKS.md,开始执行 Phase 0
180
+
181
+ 💡 小提示:
182
+ - Claude Code 会自动读取 CLAUDE.md,所以它已经知道整个产品上下文
183
+ - 每个 Phase 完成后,它会询问你是否要进入下一个 Phase
184
+ - 如果要调整功能范围,直接修改 TASKS.md 即可
185
+ - CLAUDE.md 中的「明确不做」清单会防止 Claude Code 做超出范围的事
186
+ ```
187
+
188
+ ### 产出前的最终确认
189
+
190
+ ```
191
+ 在产出开发交接包前,我需要确认几件事:
192
+
193
+ 1. 技术栈:[已确认 / 需要确认]
194
+ 2. 产品名称(用于专案数据夹名称):[已确认 / 需要确认]
195
+ 3. 是否有其他技术限制或偏好?
196
+ - 例如:必须用某个 ORM、需要支持特定浏览器、有既有的 CI/CD 等
197
+ ```
@@ -0,0 +1,221 @@
1
+ # 安全性检查清单
2
+
3
+ > 在产出开发交接包前载入。确保产品规划阶段已考虑关键安全性需求,避免安全性成为事后补救。
4
+
5
+ ## 🔐 安全架构快速检查
6
+
7
+ 在产出开发交接包前,必须逐项确认以下安全性面向。每个面向标记 ✅(已在规划中涵盖)或 ❌(需要补充)。
8
+
9
+ ### 1. 认证与授权(Authentication & Authorization)
10
+
11
+ ```
12
+ | 检查项目 | 状态 | 备注 |
13
+ |---------|------|------|
14
+ | 认证方式已确定(JWT / Session / OAuth / Passkey) | | |
15
+ | Token 储存方式安全(HttpOnly Cookie,非 localStorage) | | |
16
+ | Token 过期与刷新机制已设计 | | |
17
+ | 密码储存使用 bcrypt / argon2(不用 MD5/SHA) | | |
18
+ | 权限模型已定义(RBAC / ABAC / 简单角色) | | |
19
+ | API 端点都有对应的授权检查 | | |
20
+ | 登入失败有暴力破解防护(锁定 / 渐进延迟) | | |
21
+ ```
22
+
23
+ **JWT 最佳实践(如果选用 JWT):**
24
+ - 使用短效 Access Token(15-30 分钟)+ 长效 Refresh Token
25
+ - Refresh Token 存放在 HttpOnly Secure Cookie
26
+ - 实作 Token Revocation(登出时使 Refresh Token 失效)
27
+ - 不在 JWT payload 中存放敏感资讯
28
+
29
+ ### 2. CORS 政策(Cross-Origin Resource Sharing)
30
+
31
+ ```
32
+ | 检查项目 | 状态 | 备注 |
33
+ |---------|------|------|
34
+ | 已定义允许的 Origin 清单(不使用 *) | | |
35
+ | 仅允许必要的 HTTP Methods | | |
36
+ | 已设定 Access-Control-Allow-Credentials | | |
37
+ | Preflight 快取时间合理(Access-Control-Max-Age) | | |
38
+ ```
39
+
40
+ **CORS 配置模板:**
41
+ ```
42
+ 允许的 Origins:
43
+ - 生产环境:https://[your-domain.com]
44
+ - 开发环境:http://localhost:[port]
45
+
46
+ 允许的 Methods:GET, POST, PUT, DELETE, PATCH
47
+ 允许的 Headers:Content-Type, Authorization
48
+ Credentials:true(如果使用 Cookie 认证)
49
+ Max-Age:86400(24 小时)
50
+ ```
51
+
52
+ ### 3. 输入验证与消毒(Input Validation & Sanitization)
53
+
54
+ ```
55
+ | 检查项目 | 状态 | 备注 |
56
+ |---------|------|------|
57
+ | 所有 API 输入都有 Server-side 验证 | | |
58
+ | 使用参数化查询(Parameterized Query)防 SQL Injection | | |
59
+ | 使用者输入经过 Output Encoding 后才渲染到 HTML(防 XSS) | | |
60
+ | 文件上传有类型 / 大小限制 | | |
61
+ | URL / Redirect 目标有白名单验证(防 Open Redirect) | | |
62
+ ```
63
+
64
+ **验证原则:**
65
+ - 前端验证是 UX,后端验证是安全性 — 两者都需要,但后端验证不可省略
66
+ - 使用 Schema Validation Library(如 Zod、Joi、Pydantic)统一验证逻辑
67
+ - 拒绝不符合预期格式的输入,不要试图「修复」用户输入
68
+
69
+ ### 4. CSRF 防护(Cross-Site Request Forgery)
70
+
71
+ ```
72
+ | 检查项目 | 状态 | 备注 |
73
+ |---------|------|------|
74
+ | 变更操作使用 POST/PUT/DELETE(非 GET) | | |
75
+ | 实作 CSRF Token 或使用 SameSite Cookie | | |
76
+ | 关键操作有二次确认机制 | | |
77
+ ```
78
+
79
+ ### 5. 安全性 Headers
80
+
81
+ ```
82
+ | Header | 用途 | 建议值 |
83
+ |--------|------|--------|
84
+ | Content-Security-Policy (CSP) | 防 XSS、数据注入 | default-src 'self'; script-src 'self' |
85
+ | X-Content-Type-Options | 防 MIME Sniffing | nosniff |
86
+ | X-Frame-Options | 防 Clickjacking | DENY 或 SAMEORIGIN |
87
+ | Strict-Transport-Security (HSTS) | 强制 HTTPS | max-age=31536000; includeSubDomains |
88
+ | X-XSS-Protection | 浏览器 XSS 过滤 | 0(依赖 CSP 更可靠) |
89
+ | Referrer-Policy | 控制 Referrer 资讯 | strict-origin-when-cross-origin |
90
+ | Permissions-Policy | 限制浏览器功能 | camera=(), microphone=(), geolocation=() |
91
+ ```
92
+
93
+ ### 6. API 安全与 Rate Limiting
94
+
95
+ ```
96
+ | 检查项目 | 状态 | 备注 |
97
+ |---------|------|------|
98
+ | API 有全域 Rate Limiting(如 100 req/min/IP) | | |
99
+ | 敏感端点有更严格的限制(登入 5 req/min、注册 3 req/min) | | |
100
+ | API 错误回应不泄漏内部资讯(堆叠追踪、SQL 语句) | | |
101
+ | API Versioning 策略已确定(/api/v1/) | | |
102
+ | 大量数据端点有分页(Pagination)限制 | | |
103
+ ```
104
+
105
+ **Rate Limiting 设计建议:**
106
+ ```
107
+ | 端点类型 | 建议限制 | 识别方式 |
108
+ |---------|---------|---------|
109
+ | 一般 API | 100 req/min | IP + User ID |
110
+ | 登入/注册 | 5 req/min | IP |
111
+ | 密码重设 | 3 req/hour | IP + Email |
112
+ | 文件上传 | 10 req/min | User ID |
113
+ | 搜寻/查询 | 30 req/min | IP + User ID |
114
+ ```
115
+
116
+ ### 7. 防爬虫与 Bot 防护
117
+
118
+ ```
119
+ | 检查项目 | 状态 | 备注 |
120
+ |---------|------|------|
121
+ | robots.txt 已配置(限制敏感路径) | | |
122
+ | 关键表单有 Bot 防护(reCAPTCHA / hCaptcha / Honeypot) | | |
123
+ | API 有 User-Agent 检查(可选) | | |
124
+ | 敏感操作有行为分析(可选,进阶) | | |
125
+ ```
126
+
127
+ **分层防护策略:**
128
+ 1. **基础层**:Rate Limiting + robots.txt — 所有产品都应该有
129
+ 2. **标准层**:+ CAPTCHA(注册/登入)+ Honeypot 栏位 — B2C 产品建议
130
+ 3. **进阶层**:+ 行为分析 + IP 信誉 + Device Fingerprint — 高风险产品
131
+
132
+ ### 8. 敏感数据保护
133
+
134
+ ```
135
+ | 检查项目 | 状态 | 备注 |
136
+ |---------|------|------|
137
+ | 敏感数据在传输中加密(HTTPS/TLS) | | |
138
+ | 敏感数据在储存时加密(如需要) | | |
139
+ | 密钥和 Secrets 不存在代码中 | | |
140
+ | .env 和敏感文件已加入 .gitignore | | |
141
+ | 日志不记录密码、Token、信用卡号等 | | |
142
+ | 有明确的数据保留与删除政策(GDPR 如适用) | | |
143
+ ```
144
+
145
+ **Secrets 管理建议:**
146
+ - 开发环境:`.env` 文件(不进版控)+ `.env.example`(只有 key 名称,没有值)
147
+ - 生产环境:使用平台提供的环境变数管理(Vercel Environment Variables / Railway Variables / AWS Secrets Manager)
148
+ - 不要在 commit message、PR description、issue 中提及 secrets
149
+
150
+ ### 9. .gitignore 安全模板
151
+
152
+ ```gitignore
153
+ # 环境变数与密钥
154
+ .env
155
+ .env.local
156
+ .env.*.local
157
+ *.pem
158
+ *.key
159
+
160
+ # 产品规划进度(可能包含敏感商业资讯)
161
+ .product-playbook-progress.md
162
+
163
+ # IDE 与作业系统
164
+ .idea/
165
+ .vscode/
166
+ *.swp
167
+ .DS_Store
168
+ Thumbs.db
169
+
170
+ # 依赖
171
+ node_modules/
172
+ __pycache__/
173
+ *.pyc
174
+ venv/
175
+
176
+ # 构建产出
177
+ dist/
178
+ build/
179
+ .next/
180
+ ```
181
+
182
+ ---
183
+
184
+ ## 🏷️ OWASP Top 10 快速对照
185
+
186
+ | # | 风险 | 本产品是否相关 | 对应检查项 |
187
+ |---|------|-------------|-----------|
188
+ | A01 | Broken Access Control | [是/否] | §1 认证与授权 |
189
+ | A02 | Cryptographic Failures | [是/否] | §8 敏感数据保护 |
190
+ | A03 | Injection(SQL / XSS / Command) | [是/否] | §3 输入验证 |
191
+ | A04 | Insecure Design | [是/否] | 整体架构设计 |
192
+ | A05 | Security Misconfiguration | [是/否] | §5 Headers + §2 CORS |
193
+ | A06 | Vulnerable Components | [是/否] | 依赖管理(npm audit / pip audit) |
194
+ | A07 | Authentication Failures | [是/否] | §1 认证与授权 |
195
+ | A08 | Data Integrity Failures | [是/否] | §3 输入验证 + §8 数据保护 |
196
+ | A09 | Logging & Monitoring Failures | [是/否] | §8 日志规范 |
197
+ | A10 | SSRF (Server-Side Request Forgery) | [是/否] | §3 URL 白名单验证 |
198
+
199
+ ---
200
+
201
+ ## 📎 本文件的整合时机
202
+
203
+ | 触发情境 | 整合动作 |
204
+ |---------|---------|
205
+ | 产出开发交接包前 | 执行安全性快速检查,将结果整合进 CLAUDE.md 的「风险警示」和 ARCHITECTURE.md 的「安全架构」段落 |
206
+ | 产出 PRD 时 | 将安全性相关检查结果整合进 PRD §6「技术考量 → 安全性要求」 |
207
+ | Pre-mortem 步骤 | 提示使用者考虑安全性失败情境 |
208
+ | 改版模式 S1 | 提示使用者提供既有产品的安全现况 |
209
+
210
+ ## 品质自检
211
+
212
+ ```
213
+ | 检查项目 | ✅/❌ |
214
+ |---------|------|
215
+ | 认证方式已明确选定,不是留空的「待确认」 | |
216
+ | 至少 3 个安全性 Headers 已规划 | |
217
+ | Rate Limiting 策略已针对产品特性调整(不是直接复制模板) | |
218
+ | .gitignore 已包含所有敏感文件 | |
219
+ | OWASP Top 10 中标记为「相关」的项目都有对应措施 | |
220
+ | 安全性措施的复杂度与产品阶段匹配(MVP 不需要完美安全性,但基础不可少) | |
221
+ ```