paseo-req-kit 1.12.1 → 1.13.0-beta.2

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 (237) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +8 -3
  3. package/bin/bootstrap.d.mts +13 -0
  4. package/bin/bootstrap.mjs +444 -0
  5. package/bin/req-docs.d.mts +5 -0
  6. package/bin/req-docs.mjs +169 -0
  7. package/bin/req.mjs +21 -1
  8. package/contracts/cli-json.md +2 -0
  9. package/docs/adr/0032-npm-only-install.md +27 -0
  10. package/docs/adr/0033-prototype-review-and-ui-check.md +28 -0
  11. package/docs/adr/README.md +2 -0
  12. package/docs/guide//344/275/277/347/224/250/350/200/205/346/214/207/345/215/227.md +8 -0
  13. package/docs/guide//345/256/211/350/243/205/344/270/216/345/215/207/347/272/247.md +22 -2
  14. package/docs/guide//347/273/264/346/212/244/350/200/205/346/214/207/345/215/227.md +1 -1
  15. package/docs/guide//351/241/271/347/233/256/345/256/232/345/210/266/344/270/216/350/277/220/350/241/214/350/247/204/345/210/231.md +7 -1
  16. package/engine/prompts/03-design.md +5 -1
  17. package/engine/prompts/04b-design-revise.md +1 -1
  18. package/engine/prompts/browser-verify.md +2 -2
  19. package/engine/prompts/ui-check.md +15 -0
  20. package/engine/src/api.ts +17 -2
  21. package/engine/src/config-view.ts +1 -1
  22. package/engine/src/pipeline.ts +15 -7
  23. package/engine/src/review-assets/app.css +420 -0
  24. package/engine/src/review-assets/app.html +95 -0
  25. package/engine/src/review-assets/app.js +954 -0
  26. package/engine/src/review.ts +570 -0
  27. package/engine/src/ui-check-page.js +208 -0
  28. package/engine/src/ui-check.ts +366 -0
  29. package/package.json +3 -1
  30. package/paseo-plugin/client/data.ts +12 -1
  31. package/paseo-plugin/client/detail.tsx +3 -0
  32. package/paseo-plugin/client/inbox.tsx +2 -0
  33. package/paseo-plugin/client/review-link.tsx +29 -0
  34. package/paseo-plugin/index.server.ts +2 -1
  35. package/paseo-plugin/package.json +1 -1
  36. package/paseo-plugin/server/handlers.ts +7 -1
  37. package/paseo-plugin/shared/contracts.ts +9 -0
  38. package/site-dist/404.html +27 -0
  39. package/site-dist/assets/app.DWPPPhFm.js +1 -0
  40. package/site-dist/assets/changelog.md.CoelFFCL.js +1 -0
  41. package/site-dist/assets/changelog.md.CoelFFCL.lean.js +1 -0
  42. package/site-dist/assets/chunks/@localSearchIndexroot.Hdq0-4L3.js +1 -0
  43. package/site-dist/assets/chunks/VPLocalSearchBox.D3_9dRGY.js +9 -0
  44. package/site-dist/assets/chunks/framework.B9qR_F1m.js +20 -0
  45. package/site-dist/assets/chunks/theme.Bm8aLiLN.js +2 -0
  46. package/site-dist/assets/guide_getting-started.md.B4GJeoPz.js +6 -0
  47. package/site-dist/assets/guide_getting-started.md.B4GJeoPz.lean.js +1 -0
  48. package/site-dist/assets/guide_how-it-works.md.D-kQsF1t.js +25 -0
  49. package/site-dist/assets/guide_how-it-works.md.D-kQsF1t.lean.js +1 -0
  50. package/site-dist/assets/guide_index.md.CLnGCmGW.js +1 -0
  51. package/site-dist/assets/guide_index.md.CLnGCmGW.lean.js +1 -0
  52. package/site-dist/assets/guide_install.md.DkCyZsOU.js +42 -0
  53. package/site-dist/assets/guide_install.md.DkCyZsOU.lean.js +42 -0
  54. package/site-dist/assets/guide_maintainer.md.RZIzyCTV.js +1 -0
  55. package/site-dist/assets/guide_maintainer.md.RZIzyCTV.lean.js +1 -0
  56. package/site-dist/assets/guide_phases.md.BpGAb1re.js +1 -0
  57. package/site-dist/assets/guide_phases.md.BpGAb1re.lean.js +1 -0
  58. package/site-dist/assets/guide_project.md.nGlTCo4D.js +77 -0
  59. package/site-dist/assets/guide_project.md.nGlTCo4D.lean.js +77 -0
  60. package/site-dist/assets/guide_user.md.tiHFxIsQ.js +1 -0
  61. package/site-dist/assets/guide_user.md.tiHFxIsQ.lean.js +1 -0
  62. package/site-dist/assets/index.md.Cf_sSf_f.js +1 -0
  63. package/site-dist/assets/index.md.Cf_sSf_f.lean.js +1 -0
  64. package/site-dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  65. package/site-dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  66. package/site-dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  67. package/site-dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  68. package/site-dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  69. package/site-dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  70. package/site-dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  71. package/site-dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  72. package/site-dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  73. package/site-dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  74. package/site-dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  75. package/site-dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  76. package/site-dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  77. package/site-dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  78. package/site-dist/assets/reference_adr_0001-step-agents-under-origin-chat.md.RtRTq7oi.js +1 -0
  79. package/site-dist/assets/reference_adr_0001-step-agents-under-origin-chat.md.RtRTq7oi.lean.js +1 -0
  80. package/site-dist/assets/reference_adr_0002-no-directory-switch-in-chat.md.BxtN-Aa2.js +1 -0
  81. package/site-dist/assets/reference_adr_0002-no-directory-switch-in-chat.md.BxtN-Aa2.lean.js +1 -0
  82. package/site-dist/assets/reference_adr_0003-script-engine-not-hub.md.66EgZtqx.js +1 -0
  83. package/site-dist/assets/reference_adr_0003-script-engine-not-hub.md.66EgZtqx.lean.js +1 -0
  84. package/site-dist/assets/reference_adr_0004-result-files.md.DbqcCozI.js +1 -0
  85. package/site-dist/assets/reference_adr_0004-result-files.md.DbqcCozI.lean.js +1 -0
  86. package/site-dist/assets/reference_adr_0005-no-default-branch-local-commits-only.md.CkImA4s6.js +1 -0
  87. package/site-dist/assets/reference_adr_0005-no-default-branch-local-commits-only.md.CkImA4s6.lean.js +1 -0
  88. package/site-dist/assets/reference_adr_0006-skill-install-targets.md.CwY8YepV.js +1 -0
  89. package/site-dist/assets/reference_adr_0006-skill-install-targets.md.CwY8YepV.lean.js +1 -0
  90. package/site-dist/assets/reference_adr_0007-own-interview-skill.md.CryhxRyG.js +1 -0
  91. package/site-dist/assets/reference_adr_0007-own-interview-skill.md.CryhxRyG.lean.js +1 -0
  92. package/site-dist/assets/reference_adr_0008-entries-do-not-call-entries.md.DsRWAgeA.js +1 -0
  93. package/site-dist/assets/reference_adr_0008-entries-do-not-call-entries.md.DsRWAgeA.lean.js +1 -0
  94. package/site-dist/assets/reference_adr_0009-versioned-install-layout.md.CSg1VqlW.js +1 -0
  95. package/site-dist/assets/reference_adr_0009-versioned-install-layout.md.CSg1VqlW.lean.js +1 -0
  96. package/site-dist/assets/reference_adr_0010-generated-feature-overview.md.D8F3MK-h.js +1 -0
  97. package/site-dist/assets/reference_adr_0010-generated-feature-overview.md.D8F3MK-h.lean.js +1 -0
  98. package/site-dist/assets/reference_adr_0011-resume-after-completion.md.BCrZrKjf.js +1 -0
  99. package/site-dist/assets/reference_adr_0011-resume-after-completion.md.BCrZrKjf.lean.js +1 -0
  100. package/site-dist/assets/reference_adr_0012-review-panel.md.k9rrHFFc.js +1 -0
  101. package/site-dist/assets/reference_adr_0012-review-panel.md.k9rrHFFc.lean.js +1 -0
  102. package/site-dist/assets/reference_adr_0013-no-release-tooling.md.BQeJ8dEI.js +1 -0
  103. package/site-dist/assets/reference_adr_0013-no-release-tooling.md.BQeJ8dEI.lean.js +1 -0
  104. package/site-dist/assets/reference_adr_0014-notifier-slot.md.C23QR1xO.js +1 -0
  105. package/site-dist/assets/reference_adr_0014-notifier-slot.md.C23QR1xO.lean.js +1 -0
  106. package/site-dist/assets/reference_adr_0015-incremental-continue.md.Buy7wwO8.js +1 -0
  107. package/site-dist/assets/reference_adr_0015-incremental-continue.md.Buy7wwO8.lean.js +1 -0
  108. package/site-dist/assets/reference_adr_0016-upgrade-from-tags.md.qfIW-tqJ.js +1 -0
  109. package/site-dist/assets/reference_adr_0016-upgrade-from-tags.md.qfIW-tqJ.lean.js +1 -0
  110. package/site-dist/assets/reference_adr_0017-use-paseo-capabilities.md.CjcGli87.js +1 -0
  111. package/site-dist/assets/reference_adr_0017-use-paseo-capabilities.md.CjcGli87.lean.js +1 -0
  112. package/site-dist/assets/reference_adr_0018-own-worktree-option.md.fVDpgGSE.js +1 -0
  113. package/site-dist/assets/reference_adr_0018-own-worktree-option.md.fVDpgGSE.lean.js +1 -0
  114. package/site-dist/assets/reference_adr_0019-parallel-orchestration.md.DrfrV0To.js +1 -0
  115. package/site-dist/assets/reference_adr_0019-parallel-orchestration.md.DrfrV0To.lean.js +1 -0
  116. package/site-dist/assets/reference_adr_0020-scheduling-through-the-chat.md.BqSemGFG.js +1 -0
  117. package/site-dist/assets/reference_adr_0020-scheduling-through-the-chat.md.BqSemGFG.lean.js +1 -0
  118. package/site-dist/assets/reference_adr_0021-npm-version-manager.md.CU3PG6y5.js +1 -0
  119. package/site-dist/assets/reference_adr_0021-npm-version-manager.md.CU3PG6y5.lean.js +1 -0
  120. package/site-dist/assets/reference_adr_0022-develop-and-verify-phases.md.C6fQDLq4.js +1 -0
  121. package/site-dist/assets/reference_adr_0022-develop-and-verify-phases.md.C6fQDLq4.lean.js +1 -0
  122. package/site-dist/assets/reference_adr_0023-types-gate-slices.md.D2E6yyYQ.js +1 -0
  123. package/site-dist/assets/reference_adr_0023-types-gate-slices.md.D2E6yyYQ.lean.js +1 -0
  124. package/site-dist/assets/reference_adr_0024-confirm-early-review-axes.md.FmK_ke0x.js +1 -0
  125. package/site-dist/assets/reference_adr_0024-confirm-early-review-axes.md.FmK_ke0x.lean.js +1 -0
  126. package/site-dist/assets/reference_adr_0025-joint-requirements.md.ChoKvMUx.js +1 -0
  127. package/site-dist/assets/reference_adr_0025-joint-requirements.md.ChoKvMUx.lean.js +1 -0
  128. package/site-dist/assets/reference_adr_0026-machine-records-and-api.md.veybjBPq.js +1 -0
  129. package/site-dist/assets/reference_adr_0026-machine-records-and-api.md.veybjBPq.lean.js +1 -0
  130. package/site-dist/assets/reference_adr_0027-paseo-plugin.md.BMX33ZNU.js +1 -0
  131. package/site-dist/assets/reference_adr_0027-paseo-plugin.md.BMX33ZNU.lean.js +1 -0
  132. package/site-dist/assets/reference_adr_0028-external-integrations.md.DtdMe8RK.js +1 -0
  133. package/site-dist/assets/reference_adr_0028-external-integrations.md.DtdMe8RK.lean.js +1 -0
  134. package/site-dist/assets/reference_adr_0029-requirements-from-cards.md.BHd1SQPe.js +1 -0
  135. package/site-dist/assets/reference_adr_0029-requirements-from-cards.md.BHd1SQPe.lean.js +1 -0
  136. package/site-dist/assets/reference_adr_0030-card-intake-process.md.kLc-DG9_.js +1 -0
  137. package/site-dist/assets/reference_adr_0030-card-intake-process.md.kLc-DG9_.lean.js +1 -0
  138. package/site-dist/assets/reference_adr_0031-fewer-interventions.md.BDnQcz8g.js +1 -0
  139. package/site-dist/assets/reference_adr_0031-fewer-interventions.md.BDnQcz8g.lean.js +1 -0
  140. package/site-dist/assets/reference_adr_0032-npm-only-install.md.C-3L1FkX.js +1 -0
  141. package/site-dist/assets/reference_adr_0032-npm-only-install.md.C-3L1FkX.lean.js +1 -0
  142. package/site-dist/assets/reference_adr_0033-prototype-review-and-ui-check.md.hFcQzmaa.js +1 -0
  143. package/site-dist/assets/reference_adr_0033-prototype-review-and-ui-check.md.hFcQzmaa.lean.js +1 -0
  144. package/site-dist/assets/reference_adr_index.md.BYF-Ofor.js +1 -0
  145. package/site-dist/assets/reference_adr_index.md.BYF-Ofor.lean.js +1 -0
  146. package/site-dist/assets/reference_commands.md.ClKbS-t8.js +1 -0
  147. package/site-dist/assets/reference_commands.md.ClKbS-t8.lean.js +1 -0
  148. package/site-dist/assets/reference_config.md.CRe27LaA.js +6 -0
  149. package/site-dist/assets/reference_config.md.CRe27LaA.lean.js +1 -0
  150. package/site-dist/assets/reference_contracts_cli-json.md.N-v2HNUd.js +1 -0
  151. package/site-dist/assets/reference_contracts_cli-json.md.N-v2HNUd.lean.js +1 -0
  152. package/site-dist/assets/reference_contracts_feature-files.md.DSiA8OEH.js +26 -0
  153. package/site-dist/assets/reference_contracts_feature-files.md.DSiA8OEH.lean.js +26 -0
  154. package/site-dist/assets/reference_contracts_index.md.Bkznz4px.js +1 -0
  155. package/site-dist/assets/reference_contracts_index.md.Bkznz4px.lean.js +1 -0
  156. package/site-dist/assets/reference_contracts_notifier-event.md.CCfrkm_A.js +24 -0
  157. package/site-dist/assets/reference_contracts_notifier-event.md.CCfrkm_A.lean.js +24 -0
  158. package/site-dist/assets/reference_contracts_result-file.md.DmR4fjB-.js +1 -0
  159. package/site-dist/assets/reference_contracts_result-file.md.DmR4fjB-.lean.js +1 -0
  160. package/site-dist/assets/reference_contracts_spec.md.BwwS0L_j.js +8 -0
  161. package/site-dist/assets/reference_contracts_spec.md.BwwS0L_j.lean.js +8 -0
  162. package/site-dist/assets/reference_contracts_state.md.5bNTC3ow.js +1 -0
  163. package/site-dist/assets/reference_contracts_state.md.5bNTC3ow.lean.js +1 -0
  164. package/site-dist/assets/reference_contracts_usage-record.md._C0OXWeq.js +10 -0
  165. package/site-dist/assets/reference_contracts_usage-record.md._C0OXWeq.lean.js +10 -0
  166. package/site-dist/assets/reference_contracts_verify.md.CbA88u6S.js +29 -0
  167. package/site-dist/assets/reference_contracts_verify.md.CbA88u6S.lean.js +29 -0
  168. package/site-dist/assets/reference_scope.md.Kzqw8U_f.js +1 -0
  169. package/site-dist/assets/reference_scope.md.Kzqw8U_f.lean.js +1 -0
  170. package/site-dist/assets/style.Dwsa4SMe.css +1 -0
  171. package/site-dist/changelog.html +30 -0
  172. package/site-dist/guide/getting-started.html +35 -0
  173. package/site-dist/guide/how-it-works.html +54 -0
  174. package/site-dist/guide/index.html +30 -0
  175. package/site-dist/guide/install.html +71 -0
  176. package/site-dist/guide/maintainer.html +30 -0
  177. package/site-dist/guide/phases.html +30 -0
  178. package/site-dist/guide/project.html +106 -0
  179. package/site-dist/guide/user.html +30 -0
  180. package/site-dist/hashmap.json +1 -0
  181. package/site-dist/icons/agents.svg +1 -0
  182. package/site-dist/icons/chat.svg +1 -0
  183. package/site-dist/icons/paseo.svg +1 -0
  184. package/site-dist/icons/phases.svg +1 -0
  185. package/site-dist/icons/review.svg +1 -0
  186. package/site-dist/icons/safe.svg +1 -0
  187. package/site-dist/index.html +30 -0
  188. package/site-dist/install.ps1 +118 -0
  189. package/site-dist/install.sh +198 -0
  190. package/site-dist/logo.svg +11 -0
  191. package/site-dist/reference/adr/0001-step-agents-under-origin-chat.html +30 -0
  192. package/site-dist/reference/adr/0002-no-directory-switch-in-chat.html +30 -0
  193. package/site-dist/reference/adr/0003-script-engine-not-hub.html +30 -0
  194. package/site-dist/reference/adr/0004-result-files.html +30 -0
  195. package/site-dist/reference/adr/0005-no-default-branch-local-commits-only.html +30 -0
  196. package/site-dist/reference/adr/0006-skill-install-targets.html +30 -0
  197. package/site-dist/reference/adr/0007-own-interview-skill.html +30 -0
  198. package/site-dist/reference/adr/0008-entries-do-not-call-entries.html +30 -0
  199. package/site-dist/reference/adr/0009-versioned-install-layout.html +30 -0
  200. package/site-dist/reference/adr/0010-generated-feature-overview.html +30 -0
  201. package/site-dist/reference/adr/0011-resume-after-completion.html +30 -0
  202. package/site-dist/reference/adr/0012-review-panel.html +30 -0
  203. package/site-dist/reference/adr/0013-no-release-tooling.html +30 -0
  204. package/site-dist/reference/adr/0014-notifier-slot.html +30 -0
  205. package/site-dist/reference/adr/0015-incremental-continue.html +30 -0
  206. package/site-dist/reference/adr/0016-upgrade-from-tags.html +30 -0
  207. package/site-dist/reference/adr/0017-use-paseo-capabilities.html +30 -0
  208. package/site-dist/reference/adr/0018-own-worktree-option.html +30 -0
  209. package/site-dist/reference/adr/0019-parallel-orchestration.html +30 -0
  210. package/site-dist/reference/adr/0020-scheduling-through-the-chat.html +30 -0
  211. package/site-dist/reference/adr/0021-npm-version-manager.html +30 -0
  212. package/site-dist/reference/adr/0022-develop-and-verify-phases.html +30 -0
  213. package/site-dist/reference/adr/0023-types-gate-slices.html +30 -0
  214. package/site-dist/reference/adr/0024-confirm-early-review-axes.html +30 -0
  215. package/site-dist/reference/adr/0025-joint-requirements.html +30 -0
  216. package/site-dist/reference/adr/0026-machine-records-and-api.html +30 -0
  217. package/site-dist/reference/adr/0027-paseo-plugin.html +30 -0
  218. package/site-dist/reference/adr/0028-external-integrations.html +30 -0
  219. package/site-dist/reference/adr/0029-requirements-from-cards.html +30 -0
  220. package/site-dist/reference/adr/0030-card-intake-process.html +30 -0
  221. package/site-dist/reference/adr/0031-fewer-interventions.html +30 -0
  222. package/site-dist/reference/adr/0032-npm-only-install.html +30 -0
  223. package/site-dist/reference/adr/0033-prototype-review-and-ui-check.html +30 -0
  224. package/site-dist/reference/adr/index.html +30 -0
  225. package/site-dist/reference/commands.html +30 -0
  226. package/site-dist/reference/config.html +35 -0
  227. package/site-dist/reference/contracts/cli-json.html +30 -0
  228. package/site-dist/reference/contracts/feature-files.html +55 -0
  229. package/site-dist/reference/contracts/index.html +30 -0
  230. package/site-dist/reference/contracts/notifier-event.html +53 -0
  231. package/site-dist/reference/contracts/result-file.html +30 -0
  232. package/site-dist/reference/contracts/spec.html +37 -0
  233. package/site-dist/reference/contracts/state.html +30 -0
  234. package/site-dist/reference/contracts/usage-record.html +39 -0
  235. package/site-dist/reference/contracts/verify.html +58 -0
  236. package/site-dist/reference/scope.html +30 -0
  237. package/site-dist/vp-icons.css +1 -0
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN" dir="ltr">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <title>分阶段执行与提测 · req-kit</title>
7
+ <meta name="description" content="在 Paseo 中用对话对齐需求,由一组 AI agent 在后台完成设计、实现、评审和验证。给测试、产品、项目经理用的需求开发体系。">
8
+ <meta name="generator" content="VitePress v1.6.3">
9
+ <link rel="preload stylesheet" href="/assets/style.Dwsa4SMe.css" as="style">
10
+ <link rel="preload stylesheet" href="/vp-icons.css" as="style">
11
+
12
+ <script type="module" src="/assets/app.DWPPPhFm.js"></script>
13
+ <link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
14
+ <link rel="modulepreload" href="/assets/chunks/theme.Bm8aLiLN.js">
15
+ <link rel="modulepreload" href="/assets/chunks/framework.B9qR_F1m.js">
16
+ <link rel="modulepreload" href="/assets/guide_phases.md.BpGAb1re.lean.js">
17
+ <link rel="icon" type="image/svg+xml" href="/logo.svg">
18
+ <meta name="theme-color" content="#3f6fd8">
19
+ <meta property="og:type" content="website">
20
+ <meta property="og:title" content="req-kit:从一句需求,到可验收的功能">
21
+ <meta property="og:description" content="在 Paseo 中用对话对齐需求,由一组 AI agent 在后台完成设计、实现、评审和验证。">
22
+ <script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
23
+ <script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
24
+ </head>
25
+ <body>
26
+ <div id="app"><div class="Layout" data-v-d8b57b2d><!--[--><!--]--><!--[--><span tabindex="-1" data-v-fcbfc0e0></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-fcbfc0e0>Skip to content</a><!--]--><!----><header class="VPNav" data-v-d8b57b2d data-v-7ad780c2><div class="VPNavBar" data-v-7ad780c2 data-v-9fd4d1dd><div class="wrapper" data-v-9fd4d1dd><div class="container" data-v-9fd4d1dd><div class="title" data-v-9fd4d1dd><div class="VPNavBarTitle has-sidebar" data-v-9fd4d1dd data-v-9f43907a><a class="title" href="/" data-v-9f43907a><!--[--><!--]--><!--[--><img class="VPImage logo" src="/logo.svg" alt data-v-ab19afbb><!--]--><span data-v-9f43907a>req-kit</span><!--[--><!--]--></a></div></div><div class="content" data-v-9fd4d1dd><div class="content-body" data-v-9fd4d1dd><!--[--><!--]--><div class="VPNavBarSearch search" data-v-9fd4d1dd><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="搜索文档"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">搜索文档</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-9fd4d1dd data-v-afb2845e><span id="main-nav-aria-label" class="visually-hidden" data-v-afb2845e> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/guide/" tabindex="0" data-v-afb2845e data-v-815115f5><!--[--><span data-v-815115f5>指南</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/reference/commands" tabindex="0" data-v-afb2845e data-v-815115f5><!--[--><span data-v-815115f5>参考</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/changelog" tabindex="0" data-v-afb2845e data-v-815115f5><!--[--><span data-v-815115f5>更新记录</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-afb2845e data-v-bfe7971f><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-bfe7971f><span class="text" data-v-bfe7971f><!----><span data-v-bfe7971f>v1.13.0-beta.2</span><span class="vpi-chevron-down text-icon" data-v-bfe7971f></span></span></button><div class="menu" data-v-bfe7971f><div class="VPMenu" data-v-bfe7971f data-v-20ed86d6><div class="items" data-v-20ed86d6><!--[--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/changelog" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>更新记录</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link vp-external-link-icon" href="https://github.com/yiyisf/paseo-req-kit/releases" target="_blank" rel="noreferrer" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>GitHub Releases</span><!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-7eeeb2dc><a class="VPLink link" href="/reference/scope" data-v-7eeeb2dc><!--[--><span data-v-7eeeb2dc>范围与取舍</span><!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-9fd4d1dd data-v-3f90c1a5><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-3f90c1a5 data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-9fd4d1dd data-v-ef6192dc data-v-e71e869c><!--[--><a class="VPSocialLink no-icon" href="https://github.com/yiyisf/paseo-req-kit" aria-label="github" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-github"></span></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-9fd4d1dd data-v-f953d92f data-v-bfe7971f><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-bfe7971f><span class="vpi-more-horizontal icon" data-v-bfe7971f></span></button><div class="menu" data-v-bfe7971f><div class="VPMenu" data-v-bfe7971f data-v-20ed86d6><!----><!--[--><!--[--><!----><div class="group" data-v-f953d92f><div class="item appearance" data-v-f953d92f><p class="label" data-v-f953d92f>外观</p><div class="appearance-action" data-v-f953d92f><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-f953d92f data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div></div></div><div class="group" data-v-f953d92f><div class="item social-links" data-v-f953d92f><div class="VPSocialLinks social-links-list" data-v-f953d92f data-v-e71e869c><!--[--><a class="VPSocialLink no-icon" href="https://github.com/yiyisf/paseo-req-kit" aria-label="github" target="_blank" rel="noopener" data-v-e71e869c data-v-60a9a2d3><span class="vpi-social-github"></span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-9fd4d1dd data-v-6bee1efd><span class="container" data-v-6bee1efd><span class="top" data-v-6bee1efd></span><span class="middle" data-v-6bee1efd></span><span class="bottom" data-v-6bee1efd></span></span></button></div></div></div></div><div class="divider" data-v-9fd4d1dd><div class="divider-line" data-v-9fd4d1dd></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-d8b57b2d data-v-2488c25a><div class="container" data-v-2488c25a><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-2488c25a><span class="vpi-align-left menu-icon" data-v-2488c25a></span><span class="menu-text" data-v-2488c25a>目录</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-2488c25a data-v-6b867909><button data-v-6b867909>回到顶部</button><!----></div></div></div><aside class="VPSidebar" data-v-d8b57b2d data-v-42c4c606><div class="curtain" data-v-42c4c606></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-42c4c606><span class="visually-hidden" id="sidebar-aria-label" data-v-42c4c606> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0" data-v-51288d80 data-v-0009425e><div class="item" role="button" tabindex="0" data-v-0009425e><div class="indicator" data-v-0009425e></div><h2 class="text" data-v-0009425e>开始</h2><!----></div><div class="items" data-v-0009425e><!--[--><div class="VPSidebarItem level-1 is-link" data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/guide/" data-v-0009425e><!--[--><p class="text" data-v-0009425e>req-kit 是什么</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/guide/getting-started" data-v-0009425e><!--[--><p class="text" data-v-0009425e>快速开始</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/guide/how-it-works" data-v-0009425e><!--[--><p class="text" data-v-0009425e>工作原理</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 has-active" data-v-51288d80 data-v-0009425e><div class="item" role="button" tabindex="0" data-v-0009425e><div class="indicator" data-v-0009425e></div><h2 class="text" data-v-0009425e>使用</h2><!----></div><div class="items" data-v-0009425e><!--[--><div class="VPSidebarItem level-1 is-link" data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/guide/user" data-v-0009425e><!--[--><p class="text" data-v-0009425e>使用者指南</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/guide/phases" data-v-0009425e><!--[--><p class="text" data-v-0009425e>分阶段执行与提测</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0" data-v-51288d80 data-v-0009425e><div class="item" role="button" tabindex="0" data-v-0009425e><div class="indicator" data-v-0009425e></div><h2 class="text" data-v-0009425e>安装与维护</h2><!----></div><div class="items" data-v-0009425e><!--[--><div class="VPSidebarItem level-1 is-link" data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/guide/install" data-v-0009425e><!--[--><p class="text" data-v-0009425e>安装与升级</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/guide/project" data-v-0009425e><!--[--><p class="text" data-v-0009425e>项目定制与运行规则</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-0009425e><div class="item" data-v-0009425e><div class="indicator" data-v-0009425e></div><a class="VPLink link link" href="/guide/maintainer" data-v-0009425e><!--[--><p class="text" data-v-0009425e>维护者指南</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-d8b57b2d data-v-9a6c75ad><div class="VPDoc has-sidebar has-aside" data-v-9a6c75ad data-v-e6f2a212><!--[--><!--]--><div class="container" data-v-e6f2a212><div class="aside" data-v-e6f2a212><div class="aside-curtain" data-v-e6f2a212></div><div class="aside-container" data-v-e6f2a212><div class="aside-content" data-v-e6f2a212><div class="VPDocAside" data-v-e6f2a212 data-v-cb998dce><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-cb998dce data-v-f610f197><div class="content" data-v-f610f197><div class="outline-marker" data-v-f610f197></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-f610f197>本页内容</div><ul class="VPDocOutlineItem root" data-v-f610f197 data-v-53c99d69><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-cb998dce></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-e6f2a212><div class="content-container" data-v-e6f2a212><!--[--><!--]--><main class="main" data-v-e6f2a212><div style="position:relative;" class="vp-doc _guide_phases external-link-icon-enabled" data-v-e6f2a212><div><h1 id="分阶段执行与提测" tabindex="-1">分阶段执行与提测 <a class="header-anchor" href="#分阶段执行与提测" aria-label="Permalink to &quot;分阶段执行与提测&quot;">​</a></h1><p>研发和测试常常是两拨人、两个节奏:研发完成要&quot;提测&quot;,测试同事先部署测试环境、准备数据,再验证,或者干脆人工测试。req-kit 把第 3–11 步分成<strong>研发</strong>和<strong>测试验证</strong>两个阶段,中间一个闸口。</p><h2 id="三种执行方式" tabindex="-1">三种执行方式 <a class="header-anchor" href="#三种执行方式" aria-label="Permalink to &quot;三种执行方式&quot;">​</a></h2><table tabindex="0"><thead><tr><th>执行方式</th><th>研发完成时</th><th>适合</th></tr></thead><tbody><tr><td><strong>连续</strong>(默认)</td><td>写好提测说明后直接进入测试验证</td><td>本地就能验证的项目</td></tr><tr><td><strong>分阶段</strong></td><td>停下来通知&quot;研发完成,可以提测&quot;,等人说&quot;开始测试验证&quot;或到预约的时间</td><td>有专门测试、需要先部署测试环境</td></tr><tr><td><strong>只做研发</strong></td><td>写提测说明和研发报告后结束,测试由人完成</td><td>测试必须由人完成</td></tr></tbody></table><p>标准档的需求在确定档位时,<code>/req</code> 会问执行方式(项目配置里定好了就不问),写进需求说明头部:<code>- 执行方式:分阶段</code>。团队可以在项目配置中统一设置:</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{ </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">&quot;phases&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: { </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">&quot;mode&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;gated&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> } }</span></span></code></pre></div><h2 id="提测说明" tabindex="-1">提测说明 <a class="header-anchor" href="#提测说明" aria-label="Permalink to &quot;提测说明&quot;">​</a></h2><p>研发阶段的最后一步写 <code>handoff.md</code>,三种方式都写:</p><ol><li>这次改了什么(按功能需求列出,附分支和提交范围)</li><li>怎么跑起来(依赖、迁移、配置项、启动命令)</li><li>自测结果(测试、代码评审结论、哪些验收标准已有自动化测试)</li><li>建议重点测试(风险最高的验收标准、回归范围)</li><li>已知问题和未完成项</li><li>测试需要的准备(数据、账号、开关——只写在哪里取,不写口令)</li></ol><h2 id="开始测试验证" tabindex="-1">开始测试验证 <a class="header-anchor" href="#开始测试验证" aria-label="Permalink to &quot;开始测试验证&quot;">​</a></h2><p>收到&quot;研发完成,可以提测&quot;后,在对话中说&quot;开始测试验证&quot;。AI 会讲一遍提测说明,然后确定:</p><ul><li><strong>在哪里验证</strong>:本地启动服务,或<strong>已部署的测试环境</strong>。后者需要和你一起写 <code>test-env.md</code>(地址、如何确认被测版本、账号和口令从哪里取、可用的测试数据)。</li><li><strong>发现缺陷怎么办</strong>:当场修复并复验;<strong>退回研发</strong>(只记录缺陷,回到研发阶段修复、经过代码评审后重新提测);或只记录。</li></ul><p>也可以预约:启动时加 <code>--verify-at 22:00</code>,研发完成后到时自动开始;或在开始命令后加 <code>--at</code>。</p><h2 id="测试同事接手" tabindex="-1">测试同事接手 <a class="header-anchor" href="#测试同事接手" aria-label="Permalink to &quot;测试同事接手&quot;">​</a></h2><p>用&quot;开发时自动新建工作区&quot;开发的需求,研发完成后,测试同事可以在这个项目<strong>任何工作区</strong>的对话中输入:</p><div class="language-text vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">text</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>/req 开始测试验证 sms-login</span></span></code></pre></div><p>之后的通知发到测试同事的对话,步骤仍在需求自己的工作区中运行。研发阶段仍然只能从发起的对话操作。</p><h2 id="相关配置" tabindex="-1">相关配置 <a class="header-anchor" href="#相关配置" aria-label="Permalink to &quot;相关配置&quot;">​</a></h2><table tabindex="0"><thead><tr><th>配置</th><th>默认</th><th>作用</th></tr></thead><tbody><tr><td><code>phases.mode</code></td><td><code>continuous</code></td><td>执行方式:<code>continuous</code> / <code>gated</code> / <code>develop-only</code></td></tr><tr><td><code>phases.verify.environment</code></td><td><code>local</code></td><td><code>deployed</code>:对已部署的测试环境验证</td></tr><tr><td><code>phases.verify.agents</code></td><td><code>{}</code></td><td>测试阶段用的 agent,例如 <code>{ &quot;reviewer&quot;: { &quot;paseoProfile&quot;: &quot;测试&quot; } }</code></td></tr><tr><td><code>phases.verify.defects</code></td><td><code>fix</code></td><td><code>fix</code> / <code>handback</code> / <code>report</code></td></tr><tr><td><code>phases.verify.serviceStart</code></td><td><code>null</code></td><td>测试阶段是否做服务启动验证;<code>null</code> 按档位</td></tr></tbody></table><p>设计决定见 <a href="/reference/adr/0022-develop-and-verify-phases">ADR 0022</a>。</p></div></div></main><footer class="VPDocFooter" data-v-e6f2a212 data-v-1bcd8184><!--[--><!--]--><div class="edit-info" data-v-1bcd8184><div class="edit-link" data-v-1bcd8184><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/yiyisf/paseo-req-kit/edit/main/site/guide/phases.md" target="_blank" rel="noreferrer" data-v-1bcd8184><!--[--><span class="vpi-square-pen edit-link-icon" data-v-1bcd8184></span> 在 GitHub 上编辑此页<!--]--></a></div><div class="last-updated" data-v-1bcd8184><p class="VPLastUpdated" data-v-1bcd8184 data-v-1bb0c8a8>最后更新: <time datetime="2026-10-14T08:29:29.000Z" data-v-1bb0c8a8></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-1bcd8184><span class="visually-hidden" id="doc-footer-aria-label" data-v-1bcd8184>Pager</span><div class="pager" data-v-1bcd8184><a class="VPLink link pager-link prev" href="/guide/user" data-v-1bcd8184><!--[--><span class="desc" data-v-1bcd8184>上一页</span><span class="title" data-v-1bcd8184>使用者指南</span><!--]--></a></div><div class="pager" data-v-1bcd8184><a class="VPLink link pager-link next" href="/guide/install" data-v-1bcd8184><!--[--><span class="desc" data-v-1bcd8184>下一页</span><span class="title" data-v-1bcd8184>安装与升级</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-d8b57b2d data-v-566314d4><div class="container" data-v-566314d4><p class="message" data-v-566314d4>以 MIT 许可发布。req-kit 是运行在 Paseo 上的社区项目。</p><p class="copyright" data-v-566314d4>Copyright © 2026 yiyisf</p></div></footer><!--[--><!--]--></div></div>
27
+ <script>window.__VP_HASH_MAP__=JSON.parse("{\"changelog.md\":\"CoelFFCL\",\"guide_getting-started.md\":\"B4GJeoPz\",\"guide_how-it-works.md\":\"D-kQsF1t\",\"guide_index.md\":\"CLnGCmGW\",\"guide_install.md\":\"DkCyZsOU\",\"guide_maintainer.md\":\"RZIzyCTV\",\"guide_phases.md\":\"BpGAb1re\",\"guide_project.md\":\"nGlTCo4D\",\"guide_user.md\":\"tiHFxIsQ\",\"index.md\":\"Cf_sSf_f\",\"reference_adr_0001-step-agents-under-origin-chat.md\":\"RtRTq7oi\",\"reference_adr_0002-no-directory-switch-in-chat.md\":\"BxtN-Aa2\",\"reference_adr_0003-script-engine-not-hub.md\":\"66EgZtqx\",\"reference_adr_0004-result-files.md\":\"DbqcCozI\",\"reference_adr_0005-no-default-branch-local-commits-only.md\":\"CkImA4s6\",\"reference_adr_0006-skill-install-targets.md\":\"CwY8YepV\",\"reference_adr_0007-own-interview-skill.md\":\"CryhxRyG\",\"reference_adr_0008-entries-do-not-call-entries.md\":\"DsRWAgeA\",\"reference_adr_0009-versioned-install-layout.md\":\"CSg1VqlW\",\"reference_adr_0010-generated-feature-overview.md\":\"D8F3MK-h\",\"reference_adr_0011-resume-after-completion.md\":\"BCrZrKjf\",\"reference_adr_0012-review-panel.md\":\"k9rrHFFc\",\"reference_adr_0013-no-release-tooling.md\":\"BQeJ8dEI\",\"reference_adr_0014-notifier-slot.md\":\"C23QR1xO\",\"reference_adr_0015-incremental-continue.md\":\"Buy7wwO8\",\"reference_adr_0016-upgrade-from-tags.md\":\"qfIW-tqJ\",\"reference_adr_0017-use-paseo-capabilities.md\":\"CjcGli87\",\"reference_adr_0018-own-worktree-option.md\":\"fVDpgGSE\",\"reference_adr_0019-parallel-orchestration.md\":\"DrfrV0To\",\"reference_adr_0020-scheduling-through-the-chat.md\":\"BqSemGFG\",\"reference_adr_0021-npm-version-manager.md\":\"CU3PG6y5\",\"reference_adr_0022-develop-and-verify-phases.md\":\"C6fQDLq4\",\"reference_adr_0023-types-gate-slices.md\":\"D2E6yyYQ\",\"reference_adr_0024-confirm-early-review-axes.md\":\"FmK_ke0x\",\"reference_adr_0025-joint-requirements.md\":\"ChoKvMUx\",\"reference_adr_0026-machine-records-and-api.md\":\"veybjBPq\",\"reference_adr_0027-paseo-plugin.md\":\"BMX33ZNU\",\"reference_adr_0028-external-integrations.md\":\"DtdMe8RK\",\"reference_adr_0029-requirements-from-cards.md\":\"BHd1SQPe\",\"reference_adr_0030-card-intake-process.md\":\"kLc-DG9_\",\"reference_adr_0031-fewer-interventions.md\":\"BDnQcz8g\",\"reference_adr_0032-npm-only-install.md\":\"C-3L1FkX\",\"reference_adr_0033-prototype-review-and-ui-check.md\":\"hFcQzmaa\",\"reference_adr_index.md\":\"BYF-Ofor\",\"reference_commands.md\":\"ClKbS-t8\",\"reference_config.md\":\"CRe27LaA\",\"reference_contracts_cli-json.md\":\"N-v2HNUd\",\"reference_contracts_feature-files.md\":\"DSiA8OEH\",\"reference_contracts_index.md\":\"Bkznz4px\",\"reference_contracts_notifier-event.md\":\"CCfrkm_A\",\"reference_contracts_result-file.md\":\"DmR4fjB-\",\"reference_contracts_spec.md\":\"BwwS0L_j\",\"reference_contracts_state.md\":\"5bNTC3ow\",\"reference_contracts_usage-record.md\":\"_C0OXWeq\",\"reference_contracts_verify.md\":\"CbA88u6S\",\"reference_scope.md\":\"Kzqw8U_f\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-CN\",\"dir\":\"ltr\",\"title\":\"req-kit\",\"titleTemplate\":\":title · req-kit\",\"description\":\"在 Paseo 中用对话对齐需求,由一组 AI agent 在后台完成设计、实现、评审和验证。给测试、产品、项目经理用的需求开发体系。\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"logo\":\"/logo.svg\",\"siteTitle\":\"req-kit\",\"nav\":[{\"text\":\"指南\",\"link\":\"/guide/\",\"activeMatch\":\"^/guide/\"},{\"text\":\"参考\",\"link\":\"/reference/commands\",\"activeMatch\":\"^/reference/\"},{\"text\":\"更新记录\",\"link\":\"/changelog\"},{\"text\":\"v1.13.0-beta.2\",\"items\":[{\"text\":\"更新记录\",\"link\":\"/changelog\"},{\"text\":\"GitHub Releases\",\"link\":\"https://github.com/yiyisf/paseo-req-kit/releases\"},{\"text\":\"范围与取舍\",\"link\":\"/reference/scope\"}]}],\"sidebar\":{\"/guide/\":[{\"text\":\"开始\",\"items\":[{\"text\":\"req-kit 是什么\",\"link\":\"/guide/\"},{\"text\":\"快速开始\",\"link\":\"/guide/getting-started\"},{\"text\":\"工作原理\",\"link\":\"/guide/how-it-works\"}]},{\"text\":\"使用\",\"items\":[{\"text\":\"使用者指南\",\"link\":\"/guide/user\"},{\"text\":\"分阶段执行与提测\",\"link\":\"/guide/phases\"}]},{\"text\":\"安装与维护\",\"items\":[{\"text\":\"安装与升级\",\"link\":\"/guide/install\"},{\"text\":\"项目定制与运行规则\",\"link\":\"/guide/project\"},{\"text\":\"维护者指南\",\"link\":\"/guide/maintainer\"}]}],\"/reference/\":[{\"text\":\"参考\",\"items\":[{\"text\":\"命令\",\"link\":\"/reference/commands\"},{\"text\":\"配置项\",\"link\":\"/reference/config\"},{\"text\":\"范围与取舍\",\"link\":\"/reference/scope\"}]},{\"text\":\"文件格式约定\",\"collapsed\":false,\"items\":[{\"text\":\"总览\",\"link\":\"/reference/contracts/\"},{\"text\":\"需求说明 spec.md\",\"link\":\"/reference/contracts/spec\"},{\"text\":\"状态文件 state.json\",\"link\":\"/reference/contracts/state\"},{\"text\":\"结果文件\",\"link\":\"/reference/contracts/result-file\"},{\"text\":\"功能目录中的文件\",\"link\":\"/reference/contracts/feature-files\"},{\"text\":\"验证方法 verify.md\",\"link\":\"/reference/contracts/verify\"},{\"text\":\"外部通知事件\",\"link\":\"/reference/contracts/notifier-event\"},{\"text\":\"req api 的 JSON 输出\",\"link\":\"/reference/contracts/cli-json\"},{\"text\":\"需求索引与使用记录\",\"link\":\"/reference/contracts/usage-record\"}]},{\"text\":\"设计决定(ADR)\",\"collapsed\":true,\"items\":[{\"text\":\"总览\",\"link\":\"/reference/adr/\"},{\"text\":\"0001 步骤 agent 挂在发起的对话下\",\"link\":\"/reference/adr/0001-step-agents-under-origin-chat\"},{\"text\":\"0002 对话过程中不切换工作目录\",\"link\":\"/reference/adr/0002-no-directory-switch-in-chat\"},{\"text\":\"0003 第 3–11 步由脚本引擎驱动,不用 Hub 多步骤工作流\",\"link\":\"/reference/adr/0003-script-engine-not-hub\"},{\"text\":\"0004 步骤结论只看结果文件\",\"link\":\"/reference/adr/0004-result-files\"},{\"text\":\"0005 不在默认分支上运行,只做本地提交\",\"link\":\"/reference/adr/0005-no-default-branch-local-commits-only\"},{\"text\":\"0006 只安装到 ~/.agents/skills 和 ~/.claude/skills\",\"link\":\"/reference/adr/0006-skill-install-targets\"},{\"text\":\"0007 自带需求访谈 skill,不依赖外部 skill 包\",\"link\":\"/reference/adr/0007-own-interview-skill\"},{\"text\":\"0008 入口 skill 之间不互相调用\",\"link\":\"/reference/adr/0008-entries-do-not-call-entries\"},{\"text\":\"0009 程序与本机配置分开存放,按版本目录并存\",\"link\":\"/reference/adr/0009-versioned-install-layout\"},{\"text\":\"0010 需求总览现场生成,不维护 INDEX.md\",\"link\":\"/reference/adr/0010-generated-feature-overview\"},{\"text\":\"0011 完成后修改 spec 可以继续开发\",\"link\":\"/reference/adr/0011-resume-after-completion\"},{\"text\":\"0012 评审小组:首轮并行评审,评审者核实汇总\",\"link\":\"/reference/adr/0012-review-panel\"},{\"text\":\"0013 发布不使用 changesets 等工具\",\"link\":\"/reference/adr/0013-no-release-tooling\"},{\"text\":\"0014 外部通知只留接口,不内置任何 IM\",\"link\":\"/reference/adr/0014-notifier-slot\"},{\"text\":\"0015 需求变更后增量继续,而不是从零重做\",\"link\":\"/reference/adr/0015-incremental-continue\"},{\"text\":\"0016 一键升级:从 git 标签下载到 versions/ 再切换\",\"link\":\"/reference/adr/0016-upgrade-from-tags\"},{\"text\":\"0017 用好 Paseo 自身的能力:profile、工作区脚本、用量和时间线\",\"link\":\"/reference/adr/0017-use-paseo-capabilities\"},{\"text\":\"0018 可选:流水线为需求新建 worktree 工作区\",\"link\":\"/reference/adr/0018-own-worktree-option\"},{\"text\":\"0019 用 Paseo 的并行子 agent:确认前独立审阅、方案提案\",\"link\":\"/reference/adr/0019-parallel-orchestration\"},{\"text\":\"0020 调度:用 Paseo 定时任务把消息发回对话,排队在本机进行\",\"link\":\"/reference/adr/0020-scheduling-through-the-chat\"},{\"text\":\"0021 npm 分发:全局包是版本管理器,各版本仍装在 versions/ 下\",\"link\":\"/reference/adr/0021-npm-version-manager\"},{\"text\":\"0022 分阶段执行:研发阶段、闸口、测试验证阶段\",\"link\":\"/reference/adr/0022-develop-and-verify-phases\"},{\"text\":\"0023 需求类型、质量门、按切片实现\",\"link\":\"/reference/adr/0023-types-gate-slices\"},{\"text\":\"0024 让分歧更早暴露:验收例子、方案确认点、两个方向的评审、反复的问题变成规则\",\"link\":\"/reference/adr/0024-confirm-early-review-axes\"},{\"text\":\"0025 联合需求:一个需求同时改几个仓库\",\"link\":\"/reference/adr/0025-joint-requirements\"},{\"text\":\"0026 本机的需求索引、使用记录和 req api\",\"link\":\"/reference/adr/0026-machine-records-and-api\"},{\"text\":\"0027 Paseo 插件:随 req-kit 一起发布,只通过 req api 工作\",\"link\":\"/reference/adr/0027-paseo-plugin\"},{\"text\":\"0028 外部系统对接:命令写法在配置里,内容由 AI 整理,调用是确定的\",\"link\":\"/reference/adr/0028-external-integrations\"},{\"text\":\"0029 从卡片开始的需求:需求会话代替人,卡片描述代替对话\",\"link\":\"/reference/adr/0029-requirements-from-cards\"},{\"text\":\"0030 接单器:共享机器上定时接卡片、转达回复\",\"link\":\"/reference/adr/0030-card-intake-process\"},{\"text\":\"0031 少等人:每种中断都有自动的下一步\",\"link\":\"/reference/adr/0031-fewer-interventions\"},{\"text\":\"0032 安装、升级和文档只依赖 npm 源\",\"link\":\"/reference/adr/0032-npm-only-install\"},{\"text\":\"0033 原型审查页和不靠看图的界面检查\",\"link\":\"/reference/adr/0033-prototype-review-and-ui-check\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/yiyisf/paseo-req-kit\"}],\"editLink\":{\"pattern\":\"https://github.com/yiyisf/paseo-req-kit/edit/main/site/:path\",\"text\":\"在 GitHub 上编辑此页\"},\"footer\":{\"message\":\"以 MIT 许可发布。req-kit 是运行在 Paseo 上的社区项目。\",\"copyright\":\"Copyright © 2026 yiyisf\"},\"search\":{\"provider\":\"local\",\"options\":{\"translations\":{\"button\":{\"buttonText\":\"搜索文档\",\"buttonAriaLabel\":\"搜索文档\"},\"modal\":{\"noResultsText\":\"没有找到相关结果\",\"resetButtonTitle\":\"清除\",\"footer\":{\"selectText\":\"选择\",\"navigateText\":\"切换\",\"closeText\":\"关闭\"}}}}},\"outline\":{\"level\":[2,3],\"label\":\"本页内容\"},\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"},\"lastUpdated\":{\"text\":\"最后更新\"},\"returnToTopLabel\":\"回到顶部\",\"sidebarMenuLabel\":\"目录\",\"darkModeSwitchLabel\":\"外观\",\"lightModeSwitchTitle\":\"切换到浅色\",\"darkModeSwitchTitle\":\"切换到深色\",\"externalLinkIcon\":true,\"notFound\":{\"title\":\"页面不存在\",\"quote\":\"这个页面可能已经移动或删除。\",\"linkText\":\"回到首页\"}},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");</script>
28
+
29
+ </body>
30
+ </html>