@openflowjs/cli 0.2.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.
- package/dist/bin/openflow.d.ts +2 -0
- package/dist/bin/openflow.js +8 -0
- package/dist/bin/openflow.js.map +1 -0
- package/dist/commands/config.d.ts +2 -0
- package/dist/commands/config.js +38 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/flow.d.ts +1 -0
- package/dist/commands/flow.js +119 -0
- package/dist/commands/flow.js.map +1 -0
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.js +1082 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/iteration.d.ts +1 -0
- package/dist/commands/iteration.js +131 -0
- package/dist/commands/iteration.js.map +1 -0
- package/dist/commands/mcp.d.ts +1 -0
- package/dist/commands/mcp.js +12 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/module.d.ts +1 -0
- package/dist/commands/module.js +137 -0
- package/dist/commands/module.js.map +1 -0
- package/dist/commands/plan.d.ts +1 -0
- package/dist/commands/plan.js +111 -0
- package/dist/commands/plan.js.map +1 -0
- package/dist/commands/plugin.d.ts +1 -0
- package/dist/commands/plugin.js +246 -0
- package/dist/commands/plugin.js.map +1 -0
- package/dist/commands/preflight.d.ts +8 -0
- package/dist/commands/preflight.js +57 -0
- package/dist/commands/preflight.js.map +1 -0
- package/dist/commands/review.d.ts +1 -0
- package/dist/commands/review.js +145 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/commands/state.d.ts +1 -0
- package/dist/commands/state.js +28 -0
- package/dist/commands/state.js.map +1 -0
- package/dist/commands/validate.d.ts +1 -0
- package/dist/commands/validate.js +310 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/core/artifacts.d.ts +140 -0
- package/dist/core/artifacts.js +809 -0
- package/dist/core/artifacts.js.map +1 -0
- package/dist/core/index.d.ts +12 -0
- package/dist/core/index.js +27 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core-artifacts/marketplace.json +14 -0
- package/dist/core-artifacts/modules.json +20 -0
- package/dist/core-artifacts/openflow/.claude-plugin/plugin.json +8 -0
- package/dist/core-artifacts/openflow/.mcp.json +9 -0
- package/dist/core-artifacts/openflow/agents/openflow-artifact-reviewer.md +308 -0
- package/dist/core-artifacts/openflow/agents/openflow-code-reviewer.md +177 -0
- package/dist/core-artifacts/openflow/agents/openflow-executor-deep.md +119 -0
- package/dist/core-artifacts/openflow/agents/openflow-executor-general.md +104 -0
- package/dist/core-artifacts/openflow/agents/openflow-executor-quick.md +93 -0
- package/dist/core-artifacts/openflow/agents/openflow-explorer.md +69 -0
- package/dist/core-artifacts/openflow/agents/openflow-knowledge-curator.md +89 -0
- package/dist/core-artifacts/openflow/commands/knowledge.md +102 -0
- package/dist/core-artifacts/openflow/hooks/hooks.json +33 -0
- package/dist/core-artifacts/openflow/scripts/openflow-drift-guard.cjs +54 -0
- package/dist/core-artifacts/openflow/scripts/openflow-evidence-reminder.cjs +64 -0
- package/dist/core-artifacts/openflow/scripts/openflow-mcp-review.cjs +27 -0
- package/dist/core-artifacts/openflow/scripts/openflow-write-guard.cjs +27 -0
- package/dist/core-artifacts/openflow/scripts/session-start.cjs +12 -0
- package/dist/core-artifacts/openflow/skills/brainstorm/SKILL.md +131 -0
- package/dist/core-artifacts/openflow/skills/cli-reference/SKILL.md +196 -0
- package/dist/core-artifacts/openflow/skills/finalize/SKILL.md +109 -0
- package/dist/core-artifacts/openflow/skills/finalize/references/summary-template.md +39 -0
- package/dist/core-artifacts/openflow/skills/implement/SKILL.md +296 -0
- package/dist/core-artifacts/openflow/skills/implement/references/working-memory.md +49 -0
- package/dist/core-artifacts/openflow/skills/knowledge-retrieval/SKILL.md +78 -0
- package/dist/core-artifacts/openflow/skills/prd/SKILL.md +173 -0
- package/dist/core-artifacts/openflow/skills/prd/references/level-routing.md +94 -0
- package/dist/core-artifacts/openflow/skills/prd/references/prd-template.md +187 -0
- package/dist/core-artifacts/openflow/skills/prd/references/wireframe-template.html +122 -0
- package/dist/core-artifacts/openflow/skills/spec/SKILL.md +341 -0
- package/dist/core-artifacts/openflow/skills/spec/references/context-template.md +38 -0
- package/dist/core-artifacts/openflow/skills/spec/references/plan-template.md +61 -0
- package/dist/core-artifacts/openflow/skills/spec/references/spec-template.md +187 -0
- package/dist/core-artifacts/openflow/skills/spec/references/tasks-template.md +99 -0
- package/dist/core-artifacts/openflow/skills/workflow-governance/SKILL.md +384 -0
- package/dist/core-artifacts/openflow/skills/workflow-governance/references/knowledge-schema.md +241 -0
- package/dist/core-artifacts/openflow/skills/workflow-governance/references/state-files.md +148 -0
- package/dist/core-artifacts/openflow/skills/workflow-governance/references/workflow.md +119 -0
- package/dist/core-artifacts/templates/.gitkeep +0 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/review-mcp-server.d.ts +1 -0
- package/dist/mcp/review-mcp-server.js +191 -0
- package/dist/mcp/review-mcp-server.js.map +1 -0
- package/dist/mcp/review-server.d.ts +33 -0
- package/dist/mcp/review-server.js +340 -0
- package/dist/mcp/review-server.js.map +1 -0
- package/dist/mcp/review-ui/assets/arc-DH58vMfF.js +1 -0
- package/dist/mcp/review-ui/assets/architecture-YZFGNWBL-CW8o5JQi.js +1 -0
- package/dist/mcp/review-ui/assets/architectureDiagram-Q4EWVU46-CH35GquJ.js +36 -0
- package/dist/mcp/review-ui/assets/array-BCJ35G43.js +1 -0
- package/dist/mcp/review-ui/assets/blockDiagram-DXYQGD6D-B1JZnKG_.js +132 -0
- package/dist/mcp/review-ui/assets/c4Diagram-AHTNJAMY-DCAtnxWd.js +10 -0
- package/dist/mcp/review-ui/assets/channel-BgHR4NPf.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-2KRD3SAO-BkEfK915.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-4BX2VUAB-Dn9kswJO.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-4TB4RGXK-DbeI3ZO6.js +206 -0
- package/dist/mcp/review-ui/assets/chunk-55IACEB6-CLBoivXU.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-5FUZZQ4R-DU7La6QA.js +62 -0
- package/dist/mcp/review-ui/assets/chunk-5PVQY5BW-Dy3eUu9a.js +2 -0
- package/dist/mcp/review-ui/assets/chunk-67CJDMHE-BKQ4iYAM.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-7N4EOEYR-CUngSlME.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-AA7GKIK3-BClDbXxt.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-BSJP7CBP-BlpmbHL-.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-CIAEETIT-THpBXcoN.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-Dlc7tRH4.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-EDXVE4YY-DNUlHz7M.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-ENJZ2VHE-fwEKj0pQ.js +10 -0
- package/dist/mcp/review-ui/assets/chunk-FMBD7UC4-Cj8B2TLo.js +15 -0
- package/dist/mcp/review-ui/assets/chunk-FOC6F5B3-BtR_JW_A.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-ICPOFSXX-WTr3HDYE.js +122 -0
- package/dist/mcp/review-ui/assets/chunk-K5T4RW27-vtP3ehR7.js +94 -0
- package/dist/mcp/review-ui/assets/chunk-KGLVRYIC-Di2tkB7O.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-LIHQZDEY-DoHl9hYE.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-ORNJ4GCN-Bff-Vc2X.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-OYMX7WX6-Djey8TrX.js +231 -0
- package/dist/mcp/review-ui/assets/chunk-QZHKN3VN-C4w1Z4n9.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-U2HBQHQK-D8HUikvJ.js +70 -0
- package/dist/mcp/review-ui/assets/chunk-X2U36JSP-CuZ-SN2r.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-YZCP3GAM-D0-dHF3G.js +1 -0
- package/dist/mcp/review-ui/assets/chunk-ZZ45TVLE-C1aIZGDA.js +1 -0
- package/dist/mcp/review-ui/assets/classDiagram-6PBFFD2Q-DHrSK7zx.js +1 -0
- package/dist/mcp/review-ui/assets/classDiagram-v2-HSJHXN6E-ftN8ECVk.js +1 -0
- package/dist/mcp/review-ui/assets/clone-C3rjhi9V.js +1 -0
- package/dist/mcp/review-ui/assets/cose-bilkent-S5V4N54A-szpqu_3d.js +1 -0
- package/dist/mcp/review-ui/assets/cytoscape.esm-DZ22BVwz.js +321 -0
- package/dist/mcp/review-ui/assets/dagre-B4oIQbi5.js +1 -0
- package/dist/mcp/review-ui/assets/dagre-KV5264BT-zDsxU5-B.js +4 -0
- package/dist/mcp/review-ui/assets/defaultLocale-CIS5GEjP.js +1 -0
- package/dist/mcp/review-ui/assets/diagram-5BDNPKRD-UgfFjZ4o.js +10 -0
- package/dist/mcp/review-ui/assets/diagram-G4DWMVQ6-Wh9VCn50.js +24 -0
- package/dist/mcp/review-ui/assets/diagram-MMDJMWI5-xVD3G7_9.js +43 -0
- package/dist/mcp/review-ui/assets/diagram-TYMM5635-AUD291P2.js +24 -0
- package/dist/mcp/review-ui/assets/dist-B51l2n-9.js +1 -0
- package/dist/mcp/review-ui/assets/erDiagram-SMLLAGMA-B83D6NXm.js +85 -0
- package/dist/mcp/review-ui/assets/flatten-B80WBwOJ.js +1 -0
- package/dist/mcp/review-ui/assets/flowDiagram-DWJPFMVM-D3lXOeHD.js +162 -0
- package/dist/mcp/review-ui/assets/ganttDiagram-T4ZO3ILL-CFAN903o.js +292 -0
- package/dist/mcp/review-ui/assets/gitGraph-7Q5UKJZL-BfgkNWmC.js +1 -0
- package/dist/mcp/review-ui/assets/gitGraphDiagram-UUTBAWPF-DxqTOi4I.js +106 -0
- package/dist/mcp/review-ui/assets/graphlib-De-foo_H.js +1 -0
- package/dist/mcp/review-ui/assets/identity-CWMh0UL-.js +1 -0
- package/dist/mcp/review-ui/assets/index-Do0fBEfH.css +2 -0
- package/dist/mcp/review-ui/assets/index-uPMLqduV.js +123 -0
- package/dist/mcp/review-ui/assets/info-OMHHGYJF-DE18zZ5Z.js +1 -0
- package/dist/mcp/review-ui/assets/infoDiagram-42DDH7IO-Bnco1OGr.js +2 -0
- package/dist/mcp/review-ui/assets/init-BMBYmmUa.js +1 -0
- package/dist/mcp/review-ui/assets/ishikawaDiagram-UXIWVN3A-B89fugr9.js +70 -0
- package/dist/mcp/review-ui/assets/journeyDiagram-VCZTEJTY-CMx2w_is.js +139 -0
- package/dist/mcp/review-ui/assets/kanban-definition-6JOO6SKY-YvTOD1Vd.js +89 -0
- package/dist/mcp/review-ui/assets/katex-8mXVa4k3.js +257 -0
- package/dist/mcp/review-ui/assets/line-BCdBO-oK.js +1 -0
- package/dist/mcp/review-ui/assets/linear-d7UHSQqm.js +1 -0
- package/dist/mcp/review-ui/assets/mermaid-parser.core-DI1-3xL2.js +4 -0
- package/dist/mcp/review-ui/assets/mindmap-definition-QFDTVHPH-E_mV-_Fs.js +96 -0
- package/dist/mcp/review-ui/assets/ordinal-BDTCIhXR.js +1 -0
- package/dist/mcp/review-ui/assets/packet-4T2RLAQJ-BLPGKWDX.js +1 -0
- package/dist/mcp/review-ui/assets/path-CIRGLb_6.js +1 -0
- package/dist/mcp/review-ui/assets/pie-ZZUOXDRM-DVV6Yua9.js +1 -0
- package/dist/mcp/review-ui/assets/pieDiagram-DEJITSTG-Ct4JvywP.js +30 -0
- package/dist/mcp/review-ui/assets/quadrantDiagram-34T5L4WZ-BSFYvc1U.js +7 -0
- package/dist/mcp/review-ui/assets/radar-PYXPWWZC-BMkQDLKp.js +1 -0
- package/dist/mcp/review-ui/assets/reduce-C80XcylQ.js +1 -0
- package/dist/mcp/review-ui/assets/requirementDiagram-MS252O5E-Bp7uSYEK.js +84 -0
- package/dist/mcp/review-ui/assets/rough.esm-DtEqI08j.js +1 -0
- package/dist/mcp/review-ui/assets/sankeyDiagram-XADWPNL6-CV38ZpSv.js +10 -0
- package/dist/mcp/review-ui/assets/sequenceDiagram-FGHM5R23-BXN9jl1N.js +157 -0
- package/dist/mcp/review-ui/assets/src-Cxc1bu7b.js +1 -0
- package/dist/mcp/review-ui/assets/stateDiagram-FHFEXIEX-DZduDkIw.js +1 -0
- package/dist/mcp/review-ui/assets/stateDiagram-v2-QKLJ7IA2-xAWOcxSi.js +1 -0
- package/dist/mcp/review-ui/assets/timeline-definition-GMOUNBTQ-CLqXzNm8.js +120 -0
- package/dist/mcp/review-ui/assets/treeView-SZITEDCU-tPcANHUc.js +1 -0
- package/dist/mcp/review-ui/assets/treemap-W4RFUUIX-BGbXISSk.js +1 -0
- package/dist/mcp/review-ui/assets/vennDiagram-DHZGUBPP-gCnd0IYN.js +34 -0
- package/dist/mcp/review-ui/assets/wardley-RL74JXVD-CK3EfklM.js +1 -0
- package/dist/mcp/review-ui/assets/wardleyDiagram-NUSXRM2D-Dd7qMlPS.js +20 -0
- package/dist/mcp/review-ui/assets/xychartDiagram-5P7HB3ND-DXHXO8Zm.js +7 -0
- package/dist/mcp/review-ui/index.html +29 -0
- package/dist/mcp/studio/assets/arc-DH58vMfF.js +1 -0
- package/dist/mcp/studio/assets/architecture-YZFGNWBL-8xrwD39F.js +1 -0
- package/dist/mcp/studio/assets/architectureDiagram-Q4EWVU46-VmcLZTJf.js +36 -0
- package/dist/mcp/studio/assets/array-BCJ35G43.js +1 -0
- package/dist/mcp/studio/assets/blockDiagram-DXYQGD6D-D-1mlLYy.js +132 -0
- package/dist/mcp/studio/assets/c4Diagram-AHTNJAMY-DCAtnxWd.js +10 -0
- package/dist/mcp/studio/assets/channel-BgHR4NPf.js +1 -0
- package/dist/mcp/studio/assets/chunk-2KRD3SAO-CMDQx2WD.js +1 -0
- package/dist/mcp/studio/assets/chunk-4BX2VUAB-Dn9kswJO.js +1 -0
- package/dist/mcp/studio/assets/chunk-4TB4RGXK-aFEYGDkJ.js +206 -0
- package/dist/mcp/studio/assets/chunk-55IACEB6-CLBoivXU.js +1 -0
- package/dist/mcp/studio/assets/chunk-5FUZZQ4R-DU7La6QA.js +62 -0
- package/dist/mcp/studio/assets/chunk-5PVQY5BW-Dy3eUu9a.js +2 -0
- package/dist/mcp/studio/assets/chunk-67CJDMHE-DnkyJt7A.js +1 -0
- package/dist/mcp/studio/assets/chunk-7N4EOEYR-cnJ9dWSC.js +1 -0
- package/dist/mcp/studio/assets/chunk-AA7GKIK3-DjCZnyrT.js +1 -0
- package/dist/mcp/studio/assets/chunk-BSJP7CBP-BlpmbHL-.js +1 -0
- package/dist/mcp/studio/assets/chunk-CIAEETIT-CtvXSBsf.js +1 -0
- package/dist/mcp/studio/assets/chunk-Dlc7tRH4.js +1 -0
- package/dist/mcp/studio/assets/chunk-EDXVE4YY-DNUlHz7M.js +1 -0
- package/dist/mcp/studio/assets/chunk-ENJZ2VHE-fwEKj0pQ.js +10 -0
- package/dist/mcp/studio/assets/chunk-FMBD7UC4-Cj8B2TLo.js +15 -0
- package/dist/mcp/studio/assets/chunk-FOC6F5B3-Ca28VADd.js +1 -0
- package/dist/mcp/studio/assets/chunk-ICPOFSXX-WTr3HDYE.js +122 -0
- package/dist/mcp/studio/assets/chunk-K5T4RW27-pqiOLnBn.js +94 -0
- package/dist/mcp/studio/assets/chunk-KGLVRYIC-DZfGlR-G.js +1 -0
- package/dist/mcp/studio/assets/chunk-LIHQZDEY-6Ygb8Kwt.js +1 -0
- package/dist/mcp/studio/assets/chunk-ORNJ4GCN-DSlr7oSO.js +1 -0
- package/dist/mcp/studio/assets/chunk-OYMX7WX6-8z_2lCb3.js +231 -0
- package/dist/mcp/studio/assets/chunk-QZHKN3VN-C4w1Z4n9.js +1 -0
- package/dist/mcp/studio/assets/chunk-U2HBQHQK-D8HUikvJ.js +70 -0
- package/dist/mcp/studio/assets/chunk-X2U36JSP-CuZ-SN2r.js +1 -0
- package/dist/mcp/studio/assets/chunk-YZCP3GAM-D0-dHF3G.js +1 -0
- package/dist/mcp/studio/assets/chunk-ZZ45TVLE-C1aIZGDA.js +1 -0
- package/dist/mcp/studio/assets/classDiagram-6PBFFD2Q-IZXxqxqM.js +1 -0
- package/dist/mcp/studio/assets/classDiagram-v2-HSJHXN6E-BiJKwTXT.js +1 -0
- package/dist/mcp/studio/assets/clone-g4CuF1Hf.js +1 -0
- package/dist/mcp/studio/assets/cose-bilkent-S5V4N54A-szpqu_3d.js +1 -0
- package/dist/mcp/studio/assets/cytoscape.esm-DZ22BVwz.js +321 -0
- package/dist/mcp/studio/assets/dagre-Be9o0OzC.js +1 -0
- package/dist/mcp/studio/assets/dagre-KV5264BT-iB6PnHLr.js +4 -0
- package/dist/mcp/studio/assets/defaultLocale-CIS5GEjP.js +1 -0
- package/dist/mcp/studio/assets/diagram-5BDNPKRD-BLfWbiEB.js +10 -0
- package/dist/mcp/studio/assets/diagram-G4DWMVQ6-CgcnwgVO.js +24 -0
- package/dist/mcp/studio/assets/diagram-MMDJMWI5-CpkXvs2p.js +43 -0
- package/dist/mcp/studio/assets/diagram-TYMM5635-guxqmxjJ.js +24 -0
- package/dist/mcp/studio/assets/dist-B51l2n-9.js +1 -0
- package/dist/mcp/studio/assets/erDiagram-SMLLAGMA-Lwv-cC2Y.js +85 -0
- package/dist/mcp/studio/assets/flatten-Dv3Z_7XJ.js +1 -0
- package/dist/mcp/studio/assets/flowDiagram-DWJPFMVM-BKnaFfFR.js +162 -0
- package/dist/mcp/studio/assets/ganttDiagram-T4ZO3ILL-CFAN903o.js +292 -0
- package/dist/mcp/studio/assets/gitGraph-7Q5UKJZL-BSdEZNVc.js +1 -0
- package/dist/mcp/studio/assets/gitGraphDiagram-UUTBAWPF-D4z4QWni.js +106 -0
- package/dist/mcp/studio/assets/graphlib-C1IZi4Cg.js +1 -0
- package/dist/mcp/studio/assets/identity-CWMh0UL-.js +1 -0
- package/dist/mcp/studio/assets/index-CyBqHDpB.js +109 -0
- package/dist/mcp/studio/assets/index-Dn_Ujmba.css +2 -0
- package/dist/mcp/studio/assets/info-OMHHGYJF-CoTx64p3.js +1 -0
- package/dist/mcp/studio/assets/infoDiagram-42DDH7IO-QEji23sQ.js +2 -0
- package/dist/mcp/studio/assets/init-BMBYmmUa.js +1 -0
- package/dist/mcp/studio/assets/ishikawaDiagram-UXIWVN3A-lMurmqul.js +70 -0
- package/dist/mcp/studio/assets/journeyDiagram-VCZTEJTY-CMx2w_is.js +139 -0
- package/dist/mcp/studio/assets/kanban-definition-6JOO6SKY-DsOybLrS.js +89 -0
- package/dist/mcp/studio/assets/katex-8mXVa4k3.js +257 -0
- package/dist/mcp/studio/assets/line-BCdBO-oK.js +1 -0
- package/dist/mcp/studio/assets/linear-d7UHSQqm.js +1 -0
- package/dist/mcp/studio/assets/mermaid-parser.core-BZtTt4qJ.js +4 -0
- package/dist/mcp/studio/assets/mindmap-definition-QFDTVHPH-B2yfABR9.js +96 -0
- package/dist/mcp/studio/assets/ordinal-BDTCIhXR.js +1 -0
- package/dist/mcp/studio/assets/packet-4T2RLAQJ-Bi4IG7s8.js +1 -0
- package/dist/mcp/studio/assets/path-CIRGLb_6.js +1 -0
- package/dist/mcp/studio/assets/pie-ZZUOXDRM-DsJRjVcu.js +1 -0
- package/dist/mcp/studio/assets/pieDiagram-DEJITSTG-JeKGFs3r.js +30 -0
- package/dist/mcp/studio/assets/quadrantDiagram-34T5L4WZ-BSFYvc1U.js +7 -0
- package/dist/mcp/studio/assets/radar-PYXPWWZC-cUDYP2Ic.js +1 -0
- package/dist/mcp/studio/assets/reduce-x-wchVXY.js +1 -0
- package/dist/mcp/studio/assets/requirementDiagram-MS252O5E-CGeLKQyn.js +84 -0
- package/dist/mcp/studio/assets/rough.esm-DtEqI08j.js +1 -0
- package/dist/mcp/studio/assets/sankeyDiagram-XADWPNL6-CV38ZpSv.js +10 -0
- package/dist/mcp/studio/assets/sequenceDiagram-FGHM5R23-BbHPv3l1.js +157 -0
- package/dist/mcp/studio/assets/src-Cxc1bu7b.js +1 -0
- package/dist/mcp/studio/assets/stateDiagram-FHFEXIEX-BuBuguzn.js +1 -0
- package/dist/mcp/studio/assets/stateDiagram-v2-QKLJ7IA2-PQA-rl9o.js +1 -0
- package/dist/mcp/studio/assets/timeline-definition-GMOUNBTQ-D5xtyNE9.js +120 -0
- package/dist/mcp/studio/assets/treeView-SZITEDCU-DhRx0eaI.js +1 -0
- package/dist/mcp/studio/assets/treemap-W4RFUUIX-Btsj9DUH.js +1 -0
- package/dist/mcp/studio/assets/vennDiagram-DHZGUBPP-W4g15SMY.js +34 -0
- package/dist/mcp/studio/assets/wardley-RL74JXVD-BTpKsgl7.js +1 -0
- package/dist/mcp/studio/assets/wardleyDiagram-NUSXRM2D-f7wgXdwe.js +20 -0
- package/dist/mcp/studio/assets/xychartDiagram-5P7HB3ND-BWx9swPf.js +7 -0
- package/dist/mcp/studio/index.html +29 -0
- package/dist/review-mcp-server.d.ts +1 -0
- package/dist/review-mcp-server.js +178 -0
- package/dist/review-mcp-server.js.map +1 -0
- package/dist/review-server.d.ts +17 -0
- package/dist/review-server.js +223 -0
- package/dist/review-server.js.map +1 -0
- package/dist/review-ui/assets/arc-DH58vMfF.js +1 -0
- package/dist/review-ui/assets/architecture-YZFGNWBL-ChakYgFO.js +1 -0
- package/dist/review-ui/assets/architectureDiagram-Q4EWVU46-CcJOZCOb.js +36 -0
- package/dist/review-ui/assets/array-BCJ35G43.js +1 -0
- package/dist/review-ui/assets/blockDiagram-DXYQGD6D-H7mMv5Tv.js +132 -0
- package/dist/review-ui/assets/c4Diagram-AHTNJAMY-DCAtnxWd.js +10 -0
- package/dist/review-ui/assets/channel-BgHR4NPf.js +1 -0
- package/dist/review-ui/assets/chunk-2KRD3SAO-BfA3IkPQ.js +1 -0
- package/dist/review-ui/assets/chunk-4BX2VUAB-Dn9kswJO.js +1 -0
- package/dist/review-ui/assets/chunk-4TB4RGXK-CvTeZi33.js +206 -0
- package/dist/review-ui/assets/chunk-55IACEB6-CLBoivXU.js +1 -0
- package/dist/review-ui/assets/chunk-5FUZZQ4R-DU7La6QA.js +62 -0
- package/dist/review-ui/assets/chunk-5PVQY5BW-Dy3eUu9a.js +2 -0
- package/dist/review-ui/assets/chunk-67CJDMHE-BQ1xNHFx.js +1 -0
- package/dist/review-ui/assets/chunk-7N4EOEYR-B1ORNLQP.js +1 -0
- package/dist/review-ui/assets/chunk-AA7GKIK3-D3pS3mnx.js +1 -0
- package/dist/review-ui/assets/chunk-BSJP7CBP-BlpmbHL-.js +1 -0
- package/dist/review-ui/assets/chunk-CIAEETIT-BDZkAY47.js +1 -0
- package/dist/review-ui/assets/chunk-Dlc7tRH4.js +1 -0
- package/dist/review-ui/assets/chunk-EDXVE4YY-DNUlHz7M.js +1 -0
- package/dist/review-ui/assets/chunk-ENJZ2VHE-fwEKj0pQ.js +10 -0
- package/dist/review-ui/assets/chunk-FMBD7UC4-Cj8B2TLo.js +15 -0
- package/dist/review-ui/assets/chunk-FOC6F5B3-DGtCX5Ra.js +1 -0
- package/dist/review-ui/assets/chunk-ICPOFSXX-WTr3HDYE.js +122 -0
- package/dist/review-ui/assets/chunk-K5T4RW27-CWpdECLF.js +94 -0
- package/dist/review-ui/assets/chunk-KGLVRYIC-oI2XKaPz.js +1 -0
- package/dist/review-ui/assets/chunk-LIHQZDEY-Dzp3G35O.js +1 -0
- package/dist/review-ui/assets/chunk-ORNJ4GCN-DsHuVbPU.js +1 -0
- package/dist/review-ui/assets/chunk-OYMX7WX6-fgjoXAXJ.js +231 -0
- package/dist/review-ui/assets/chunk-QZHKN3VN-C4w1Z4n9.js +1 -0
- package/dist/review-ui/assets/chunk-U2HBQHQK-D8HUikvJ.js +70 -0
- package/dist/review-ui/assets/chunk-X2U36JSP-CuZ-SN2r.js +1 -0
- package/dist/review-ui/assets/chunk-YZCP3GAM-D0-dHF3G.js +1 -0
- package/dist/review-ui/assets/chunk-ZZ45TVLE-C1aIZGDA.js +1 -0
- package/dist/review-ui/assets/classDiagram-6PBFFD2Q-D_3LhkJc.js +1 -0
- package/dist/review-ui/assets/classDiagram-v2-HSJHXN6E-DQRUREh5.js +1 -0
- package/dist/review-ui/assets/clone-BZMtGzbS.js +1 -0
- package/dist/review-ui/assets/cose-bilkent-S5V4N54A-szpqu_3d.js +1 -0
- package/dist/review-ui/assets/cytoscape.esm-DZ22BVwz.js +321 -0
- package/dist/review-ui/assets/dagre-BfNtd34y.js +1 -0
- package/dist/review-ui/assets/dagre-KV5264BT-D6PbxORW.js +4 -0
- package/dist/review-ui/assets/defaultLocale-CIS5GEjP.js +1 -0
- package/dist/review-ui/assets/diagram-5BDNPKRD-BNAXBDig.js +10 -0
- package/dist/review-ui/assets/diagram-G4DWMVQ6-CIGS_5yQ.js +24 -0
- package/dist/review-ui/assets/diagram-MMDJMWI5-DJmcU2xZ.js +43 -0
- package/dist/review-ui/assets/diagram-TYMM5635-DW8XzrAz.js +24 -0
- package/dist/review-ui/assets/dist-B51l2n-9.js +1 -0
- package/dist/review-ui/assets/erDiagram-SMLLAGMA-BfUNH8zz.js +85 -0
- package/dist/review-ui/assets/flatten-BHh95bpO.js +1 -0
- package/dist/review-ui/assets/flowDiagram-DWJPFMVM-qgnlSvEC.js +162 -0
- package/dist/review-ui/assets/ganttDiagram-T4ZO3ILL-CFAN903o.js +292 -0
- package/dist/review-ui/assets/gitGraph-7Q5UKJZL-Dn47XunR.js +1 -0
- package/dist/review-ui/assets/gitGraphDiagram-UUTBAWPF-BcG6fDsE.js +106 -0
- package/dist/review-ui/assets/graphlib-Cie4kcbC.js +1 -0
- package/dist/review-ui/assets/identity-CWMh0UL-.js +1 -0
- package/dist/review-ui/assets/index-ByplNhhd.css +2 -0
- package/dist/review-ui/assets/index-S7nbpFp2.js +123 -0
- package/dist/review-ui/assets/info-OMHHGYJF-hAukP1xW.js +1 -0
- package/dist/review-ui/assets/infoDiagram-42DDH7IO-FblTAfC3.js +2 -0
- package/dist/review-ui/assets/init-BMBYmmUa.js +1 -0
- package/dist/review-ui/assets/ishikawaDiagram-UXIWVN3A-BA7dJd-J.js +70 -0
- package/dist/review-ui/assets/journeyDiagram-VCZTEJTY-CMx2w_is.js +139 -0
- package/dist/review-ui/assets/kanban-definition-6JOO6SKY-CFiOZCrT.js +89 -0
- package/dist/review-ui/assets/katex-8mXVa4k3.js +257 -0
- package/dist/review-ui/assets/line-BCdBO-oK.js +1 -0
- package/dist/review-ui/assets/linear-d7UHSQqm.js +1 -0
- package/dist/review-ui/assets/mermaid-parser.core-BHMXLuNx.js +4 -0
- package/dist/review-ui/assets/mindmap-definition-QFDTVHPH-CWO7vDqu.js +96 -0
- package/dist/review-ui/assets/ordinal-BDTCIhXR.js +1 -0
- package/dist/review-ui/assets/packet-4T2RLAQJ-Btz3ryW7.js +1 -0
- package/dist/review-ui/assets/path-CIRGLb_6.js +1 -0
- package/dist/review-ui/assets/pie-ZZUOXDRM-CreBtuDj.js +1 -0
- package/dist/review-ui/assets/pieDiagram-DEJITSTG-X2mFk5I3.js +30 -0
- package/dist/review-ui/assets/quadrantDiagram-34T5L4WZ-BSFYvc1U.js +7 -0
- package/dist/review-ui/assets/radar-PYXPWWZC-BcAPYMpV.js +1 -0
- package/dist/review-ui/assets/reduce-14YNCNxn.js +1 -0
- package/dist/review-ui/assets/requirementDiagram-MS252O5E-CDv1lxdq.js +84 -0
- package/dist/review-ui/assets/rough.esm-DtEqI08j.js +1 -0
- package/dist/review-ui/assets/sankeyDiagram-XADWPNL6-CV38ZpSv.js +10 -0
- package/dist/review-ui/assets/sequenceDiagram-FGHM5R23-DCuV_bhx.js +157 -0
- package/dist/review-ui/assets/src-Cxc1bu7b.js +1 -0
- package/dist/review-ui/assets/stateDiagram-FHFEXIEX-BfE_bGUQ.js +1 -0
- package/dist/review-ui/assets/stateDiagram-v2-QKLJ7IA2-u1yKXWoz.js +1 -0
- package/dist/review-ui/assets/timeline-definition-GMOUNBTQ-Ci0uFxaT.js +120 -0
- package/dist/review-ui/assets/treeView-SZITEDCU-BXg6-7zY.js +1 -0
- package/dist/review-ui/assets/treemap-W4RFUUIX-BToYbgol.js +1 -0
- package/dist/review-ui/assets/vennDiagram-DHZGUBPP-DvOuThac.js +34 -0
- package/dist/review-ui/assets/wardley-RL74JXVD-BAYzkcK-.js +1 -0
- package/dist/review-ui/assets/wardleyDiagram-NUSXRM2D-YxTu6WZw.js +20 -0
- package/dist/review-ui/assets/xychartDiagram-5P7HB3ND-V9j-Dl7t.js +7 -0
- package/dist/review-ui/index.html +29 -0
- package/dist/run-openflow-cli.d.ts +1 -0
- package/dist/run-openflow-cli.js +41 -0
- package/dist/run-openflow-cli.js.map +1 -0
- package/dist/shared/args.d.ts +3 -0
- package/dist/shared/args.js +27 -0
- package/dist/shared/args.js.map +1 -0
- package/dist/shared/browser.d.ts +4 -0
- package/dist/shared/browser.js +17 -0
- package/dist/shared/browser.js.map +1 -0
- package/dist/shared/fs.d.ts +15 -0
- package/dist/shared/fs.js +48 -0
- package/dist/shared/fs.js.map +1 -0
- package/dist/shared/i18n.d.ts +5 -0
- package/dist/shared/i18n.js +65 -0
- package/dist/shared/i18n.js.map +1 -0
- package/dist/shared/locales/en-US.json +88 -0
- package/dist/shared/locales/zh-CN.json +88 -0
- package/dist/shared/plugin-registry.d.ts +36 -0
- package/dist/shared/plugin-registry.js +51 -0
- package/dist/shared/plugin-registry.js.map +1 -0
- package/dist/shared/project-state.d.ts +17 -0
- package/dist/shared/project-state.js +75 -0
- package/dist/shared/project-state.js.map +1 -0
- package/dist/shared/terminal.d.ts +10 -0
- package/dist/shared/terminal.js +110 -0
- package/dist/shared/terminal.js.map +1 -0
- package/package.json +28 -0
- package/templates/archive/.gitkeep +1 -0
- package/templates/config.json +11 -0
- package/templates/current.json +3 -0
- package/templates/iterations/.gitkeep +1 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# PRD Level Routing
|
|
2
|
+
|
|
3
|
+
PRD 按产品复杂度分三级。在生成 PRD 前,根据需求特征判断应使用的 Level,然后只生成对应 Level 必选(`*`)和推荐(`+`)的章节。
|
|
4
|
+
|
|
5
|
+
## Level 1 — Quick PRD(轻量需求)
|
|
6
|
+
|
|
7
|
+
**适用场景**:
|
|
8
|
+
- 单个简单功能,1-2 个用户场景
|
|
9
|
+
- 现有功能的小幅调整或开关
|
|
10
|
+
- 一个独立的小页面或表单
|
|
11
|
+
- 影响范围有限,不涉及跨模块变更
|
|
12
|
+
|
|
13
|
+
**典型例子**:
|
|
14
|
+
- 给现有页面加一个导出按钮
|
|
15
|
+
- 增加一个简单的设置项
|
|
16
|
+
- 单个工具类页面(如健康检查页)
|
|
17
|
+
|
|
18
|
+
**章节集**:
|
|
19
|
+
- 必选:Background, Goals & Success Metrics, Functional Design (1-2 个 feature), Non-Goals, Global Acceptance Criteria, Risks & Mitigations
|
|
20
|
+
- 推荐:User Stories, Edge Cases(在 feature 内部)
|
|
21
|
+
|
|
22
|
+
**Wireframe**:通常不需要。如果有 UI 改动,在 Functional Design 中文字描述即可。
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Level 2 — Standard PRD(标准需求)
|
|
27
|
+
|
|
28
|
+
**适用场景**:
|
|
29
|
+
- 多个相关功能组成一个完整模块
|
|
30
|
+
- 需要明确用户角色和场景
|
|
31
|
+
- 涉及一定的设计决策和取舍
|
|
32
|
+
- 大多数产品需求都属于此级
|
|
33
|
+
|
|
34
|
+
**典型例子**:
|
|
35
|
+
- 用户登录注册系统
|
|
36
|
+
- 个人主页与设置
|
|
37
|
+
- 评论功能模块
|
|
38
|
+
- 单个业务流程(如下单流程)
|
|
39
|
+
|
|
40
|
+
**章节集**:
|
|
41
|
+
- 必选:Background, Goals & Success Metrics, Personas, User Stories, Functional Design(含每 feature 的 Edge Cases), Non-Goals, Global Acceptance Criteria, Risks & Mitigations, NFR(基础项)
|
|
42
|
+
- 推荐:TL;DR, User Journey(多角色或多步骤时), Feature Priority Matrix(功能 ≥ 4 个时), Information Architecture, Test Scenarios, Decision Log, Open Dependencies
|
|
43
|
+
- 可选:Content Strategy, Data Model, Integration Points, Glossary
|
|
44
|
+
|
|
45
|
+
**Wireframe**:核心交互页面需要,简单页面可省略。
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Level 3 — Full PRD(完整需求)
|
|
50
|
+
|
|
51
|
+
**适用场景**:
|
|
52
|
+
- 跨模块、产品级或重大改造
|
|
53
|
+
- 涉及多角色、多业务流程、长期影响
|
|
54
|
+
- 需要协调多个团队或外部依赖
|
|
55
|
+
- 信息架构和数据模型有显著改动
|
|
56
|
+
|
|
57
|
+
**典型例子**:
|
|
58
|
+
- 重构整个文档站点
|
|
59
|
+
- 多角色权限系统
|
|
60
|
+
- 复杂业务流程改造
|
|
61
|
+
- 全新产品线
|
|
62
|
+
|
|
63
|
+
**章节集**:
|
|
64
|
+
- 必选:全部章节
|
|
65
|
+
- 优先生成:TL;DR, Personas, User Stories, User Journey, Feature Priority Matrix, Functional Design, Information Architecture, NFR(完整), Test Scenarios, Decision Log, Glossary, Open Dependencies, Risks
|
|
66
|
+
|
|
67
|
+
**Wireframe**:每个核心交互页面一张,并按需补充流程图(mermaid flowchart)和状态图(state diagram)。
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 路由判定流程
|
|
72
|
+
|
|
73
|
+
执行以下检查决定 Level:
|
|
74
|
+
|
|
75
|
+
1. **Level 3 触发条件**(任一满足):
|
|
76
|
+
- 跨多个产品模块或包
|
|
77
|
+
- 涉及 ≥ 3 个用户角色
|
|
78
|
+
- 包含信息架构或数据模型的重大改动
|
|
79
|
+
- 涉及外部团队依赖
|
|
80
|
+
- 需求文档讨论时长明显较长(draft 内容 > 200 行)
|
|
81
|
+
|
|
82
|
+
2. **Level 1 触发条件**(全部满足):
|
|
83
|
+
- 单一功能,无明显角色分化
|
|
84
|
+
- 不涉及新页面或新流程
|
|
85
|
+
- draft 内容 < 80 行
|
|
86
|
+
- 无外部依赖
|
|
87
|
+
|
|
88
|
+
3. **其余情况** → Level 2(默认)
|
|
89
|
+
|
|
90
|
+
判定后,向用户说明判定结果及章节范围,让用户确认或调整:
|
|
91
|
+
|
|
92
|
+
> "根据需求特征,建议使用 Level <N> PRD(<理由>)。将生成以下章节:<章节列表>。是否调整 Level?"
|
|
93
|
+
|
|
94
|
+
如果用户希望升级或降级 Level,按其意愿调整。
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# PRD: <title>
|
|
2
|
+
|
|
3
|
+
> **Level annotation**: each section is tagged `[L1]`, `[L2]`, `[L3]` showing which PRD levels require it. `*` = required, `+` = recommended, `?` = optional, `–` = skip.
|
|
4
|
+
|
|
5
|
+
## TL;DR `[L1: ?] [L2: +] [L3: *]`
|
|
6
|
+
|
|
7
|
+
_One paragraph (3-5 sentences) summarizing the product, the user, the value, and the success criterion. Written so an executive can grasp it in 30 seconds._
|
|
8
|
+
|
|
9
|
+
## Background `[L1: *] [L2: *] [L3: *]`
|
|
10
|
+
|
|
11
|
+
_Why this matters now. Include:_
|
|
12
|
+
- _Current situation and concrete problems (with evidence, not just claims)_
|
|
13
|
+
- _Why now — what changed that makes this urgent or timely_
|
|
14
|
+
- _Strategic or business context_
|
|
15
|
+
|
|
16
|
+
## Goals & Success Metrics `[L1: *] [L2: *] [L3: *]`
|
|
17
|
+
|
|
18
|
+
_What does success look like? Define measurable outcomes._
|
|
19
|
+
|
|
20
|
+
| Goal | Success Metric | Target | How to Measure |
|
|
21
|
+
|------|---------------|--------|----------------|
|
|
22
|
+
| <goal> | <metric> | <target value> | <measurement method> |
|
|
23
|
+
|
|
24
|
+
## Personas `[L1: ?] [L2: *] [L3: *]`
|
|
25
|
+
|
|
26
|
+
_Concise persona cards. Keep them short (3-5 lines each) but specific enough to make design decisions._
|
|
27
|
+
|
|
28
|
+
### <Persona name>
|
|
29
|
+
- **Role**: <job/identity>
|
|
30
|
+
- **Context**: <when/where/why they use the product>
|
|
31
|
+
- **Goal**: <what they're trying to achieve>
|
|
32
|
+
- **Pain Point**: <what frustrates them today>
|
|
33
|
+
- **Tech Familiarity**: <novice / intermediate / expert>
|
|
34
|
+
|
|
35
|
+
## User Stories `[L1: +] [L2: *] [L3: *]`
|
|
36
|
+
|
|
37
|
+
_Standard format. Group by persona or by feature area._
|
|
38
|
+
|
|
39
|
+
- As a **<persona>**, I want to **<action>** so that **<benefit>**.
|
|
40
|
+
- As a **<persona>**, I want to **<action>** so that **<benefit>**.
|
|
41
|
+
|
|
42
|
+
## User Journey `[L1: –] [L2: +] [L3: *]`
|
|
43
|
+
|
|
44
|
+
_How users progress through the product over time. Use a state diagram or journey map. Required when the product has distinct lifecycle stages or multiple touchpoints._
|
|
45
|
+
|
|
46
|
+
## Feature Priority Matrix `[L1: –] [L2: +] [L3: *]`
|
|
47
|
+
|
|
48
|
+
_MoSCoW classification for the feature set. Helps separate MVP from full scope._
|
|
49
|
+
|
|
50
|
+
| Feature | Priority | Rationale |
|
|
51
|
+
|---------|----------|-----------|
|
|
52
|
+
| <feature> | Must / Should / Could / Won't | <why this priority> |
|
|
53
|
+
|
|
54
|
+
## Functional Design `[L1: *] [L2: *] [L3: *]`
|
|
55
|
+
|
|
56
|
+
_The core of the PRD. Organize by feature or feature group. Each feature must be detailed enough that an engineer can understand the expected behavior without ambiguity._
|
|
57
|
+
|
|
58
|
+
### Feature: <name>
|
|
59
|
+
|
|
60
|
+
**Purpose**: <what this feature does and why it exists>
|
|
61
|
+
|
|
62
|
+
**User Story**: As a <persona>, I want to <action> so that <benefit>.
|
|
63
|
+
|
|
64
|
+
**Detailed Behavior**:
|
|
65
|
+
- <specific behavior 1>
|
|
66
|
+
- <specific behavior 2>
|
|
67
|
+
- <input/output specification>
|
|
68
|
+
- <business rules>
|
|
69
|
+
|
|
70
|
+
**UI/Interaction** (when applicable):
|
|
71
|
+
- Layout: <describe the layout structure>
|
|
72
|
+
- Key elements: <list interactive elements and their behavior>
|
|
73
|
+
- States: <normal / empty / error / loading / disabled — describe each>
|
|
74
|
+
- Wireframe: [<feature>-wireframe.html](./assets/<feature>-wireframe.html) (if visual complexity warrants)
|
|
75
|
+
|
|
76
|
+
**Flow** (when multi-step or has branches):
|
|
77
|
+
- Either describe in a numbered list, or include a mermaid flowchart in `assets/`
|
|
78
|
+
|
|
79
|
+
**Edge Cases & Error States** `[L1: +] [L2: *] [L3: *]`:
|
|
80
|
+
- <edge case 1 and how it's handled>
|
|
81
|
+
- <error scenario and recovery>
|
|
82
|
+
|
|
83
|
+
**Acceptance Criteria**:
|
|
84
|
+
- [ ] <criterion specific to this feature>
|
|
85
|
+
- [ ] <criterion specific to this feature>
|
|
86
|
+
|
|
87
|
+
### Feature Group: <name> (for closely related features)
|
|
88
|
+
|
|
89
|
+
#### Sub-feature A: <name>
|
|
90
|
+
_<same structure as above>_
|
|
91
|
+
|
|
92
|
+
#### Sub-feature B: <name>
|
|
93
|
+
_<same structure as above>_
|
|
94
|
+
|
|
95
|
+
## Information Architecture `[L1: –] [L2: +] [L3: *]`
|
|
96
|
+
|
|
97
|
+
_How content/features are organized and navigated. Include site map, navigation structure, or content hierarchy diagram. Required when the product has multiple pages or sections._
|
|
98
|
+
|
|
99
|
+
## Content Strategy `[L1: –] [L2: ?] [L3: +]`
|
|
100
|
+
|
|
101
|
+
_Content rules and conventions:_
|
|
102
|
+
- _Tone and voice_
|
|
103
|
+
- _Naming conventions_
|
|
104
|
+
- _Content sources (where text/data comes from)_
|
|
105
|
+
- _Localization approach_
|
|
106
|
+
|
|
107
|
+
## Data Model `[L1: –] [L2: ?] [L3: +]`
|
|
108
|
+
|
|
109
|
+
_Key entities, their fields, and relationships. Use a table or ER diagram. Include only entities directly relevant to product behavior._
|
|
110
|
+
|
|
111
|
+
| Entity | Fields | Relationships |
|
|
112
|
+
|--------|--------|---------------|
|
|
113
|
+
| <entity> | <key fields> | <relationships> |
|
|
114
|
+
|
|
115
|
+
## Integration Points `[L1: –] [L2: ?] [L3: +]`
|
|
116
|
+
|
|
117
|
+
_External systems, APIs, or services this product reads from or writes to._
|
|
118
|
+
|
|
119
|
+
| System | Direction | Purpose |
|
|
120
|
+
|--------|-----------|---------|
|
|
121
|
+
| <system> | in/out/both | <why> |
|
|
122
|
+
|
|
123
|
+
## Non-Functional Requirements `[L1: ?] [L2: +] [L3: *]`
|
|
124
|
+
|
|
125
|
+
_Quality attributes that constrain the design._
|
|
126
|
+
|
|
127
|
+
| Dimension | Requirement |
|
|
128
|
+
|-----------|-------------|
|
|
129
|
+
| Performance | <e.g., page load < 2s, p95 response < 500ms> |
|
|
130
|
+
| Security | <auth, data protection, audit requirements> |
|
|
131
|
+
| Accessibility | <WCAG level, keyboard navigation, screen reader> |
|
|
132
|
+
| Internationalization | <languages, locale-specific behavior> |
|
|
133
|
+
| Compatibility | <browsers, OS, devices> |
|
|
134
|
+
| Reliability | <uptime, error budget> |
|
|
135
|
+
|
|
136
|
+
## Non-Goals `[L1: *] [L2: *] [L3: *]`
|
|
137
|
+
|
|
138
|
+
_What this explicitly does NOT cover and why. Prevents scope creep._
|
|
139
|
+
|
|
140
|
+
| Excluded | Reason |
|
|
141
|
+
|----------|--------|
|
|
142
|
+
| <what> | <why> |
|
|
143
|
+
|
|
144
|
+
## Test Scenarios `[L1: –] [L2: +] [L3: *]`
|
|
145
|
+
|
|
146
|
+
_Product-level test scenarios from the user's perspective. Not implementation-level test cases — those belong in SPEC. Each scenario should map to one or more acceptance criteria._
|
|
147
|
+
|
|
148
|
+
| ID | Scenario | Expected Outcome |
|
|
149
|
+
|----|----------|-----------------|
|
|
150
|
+
| TS-1 | <user-perspective scenario> | <observable outcome> |
|
|
151
|
+
|
|
152
|
+
## Global Acceptance Criteria `[L1: *] [L2: *] [L3: *]`
|
|
153
|
+
|
|
154
|
+
_Cross-cutting acceptance criteria that span multiple features or apply to the product as a whole. Per-feature criteria stay inside Functional Design._
|
|
155
|
+
|
|
156
|
+
- [ ] <cross-cutting criterion>
|
|
157
|
+
- [ ] <cross-cutting criterion>
|
|
158
|
+
|
|
159
|
+
## Decision Log `[L1: –] [L2: +] [L3: *]`
|
|
160
|
+
|
|
161
|
+
_Key product decisions made during discussion, with rationale. Different from Open Questions: these are RESOLVED. This is the audit trail of "why we chose X over Y"._
|
|
162
|
+
|
|
163
|
+
| Decision | Options Considered | Chosen | Rationale |
|
|
164
|
+
|----------|-------------------|--------|-----------|
|
|
165
|
+
| <decision topic> | <A / B / C> | <chosen option> | <why> |
|
|
166
|
+
|
|
167
|
+
## Risks & Mitigations `[L1: *] [L2: *] [L3: *]`
|
|
168
|
+
|
|
169
|
+
| Risk | Impact | Likelihood | Mitigation |
|
|
170
|
+
|------|--------|-----------|------------|
|
|
171
|
+
| <risk> | High/Medium/Low | High/Medium/Low | <mitigation> |
|
|
172
|
+
|
|
173
|
+
## Open Dependencies `[L1: –] [L2: +] [L3: *]`
|
|
174
|
+
|
|
175
|
+
_External dependencies that block or affect this work. Surface them so they can be tracked._
|
|
176
|
+
|
|
177
|
+
| Dependency | Owner | Needed By | Status |
|
|
178
|
+
|-----------|-------|-----------|--------|
|
|
179
|
+
| <dependency> | <team/person> | <date or milestone> | <pending/ready> |
|
|
180
|
+
|
|
181
|
+
## Glossary `[L1: –] [L2: ?] [L3: *]`
|
|
182
|
+
|
|
183
|
+
_Domain terms used in this PRD, defined consistently to prevent ambiguity._
|
|
184
|
+
|
|
185
|
+
| Term | Definition |
|
|
186
|
+
|------|-----------|
|
|
187
|
+
| <term> | <definition> |
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Wireframe: <page-name></title>
|
|
7
|
+
<!--
|
|
8
|
+
WIREFRAME GUIDELINES:
|
|
9
|
+
- Grayscale only: #fff, #f5f5f5, #e0e0e0, #999, #666, #333
|
|
10
|
+
- No brand colors, gradients, or decorative elements
|
|
11
|
+
- Use dashed borders for placeholder/content areas
|
|
12
|
+
- Use solid borders for structural boundaries
|
|
13
|
+
- Focus on layout, hierarchy, and element placement
|
|
14
|
+
- Label all interactive elements clearly
|
|
15
|
+
- Show content structure, not visual polish
|
|
16
|
+
- Keep fonts system default, no custom fonts
|
|
17
|
+
- Max width 960px, responsive-aware
|
|
18
|
+
-->
|
|
19
|
+
<style>
|
|
20
|
+
* { box-sizing: border-box; margin: 0; padding: 0; }
|
|
21
|
+
body {
|
|
22
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
23
|
+
padding: 24px;
|
|
24
|
+
background: #fff;
|
|
25
|
+
color: #333;
|
|
26
|
+
font-size: 14px;
|
|
27
|
+
line-height: 1.5;
|
|
28
|
+
}
|
|
29
|
+
.page {
|
|
30
|
+
max-width: 960px;
|
|
31
|
+
margin: 0 auto;
|
|
32
|
+
border: 1px solid #ccc;
|
|
33
|
+
}
|
|
34
|
+
.header {
|
|
35
|
+
padding: 12px 24px;
|
|
36
|
+
border-bottom: 1px solid #ccc;
|
|
37
|
+
display: flex;
|
|
38
|
+
justify-content: space-between;
|
|
39
|
+
align-items: center;
|
|
40
|
+
}
|
|
41
|
+
.nav {
|
|
42
|
+
display: flex;
|
|
43
|
+
gap: 24px;
|
|
44
|
+
padding: 10px 24px;
|
|
45
|
+
border-bottom: 1px solid #e0e0e0;
|
|
46
|
+
font-size: 13px;
|
|
47
|
+
color: #666;
|
|
48
|
+
}
|
|
49
|
+
.main {
|
|
50
|
+
padding: 24px;
|
|
51
|
+
}
|
|
52
|
+
.placeholder {
|
|
53
|
+
border: 2px dashed #ccc;
|
|
54
|
+
padding: 32px 16px;
|
|
55
|
+
text-align: center;
|
|
56
|
+
color: #999;
|
|
57
|
+
font-size: 13px;
|
|
58
|
+
margin: 12px 0;
|
|
59
|
+
}
|
|
60
|
+
.btn {
|
|
61
|
+
display: inline-block;
|
|
62
|
+
padding: 8px 16px;
|
|
63
|
+
border: 1px solid #999;
|
|
64
|
+
color: #333;
|
|
65
|
+
font-size: 13px;
|
|
66
|
+
cursor: pointer;
|
|
67
|
+
}
|
|
68
|
+
.btn-primary {
|
|
69
|
+
background: #333;
|
|
70
|
+
color: #fff;
|
|
71
|
+
border-color: #333;
|
|
72
|
+
}
|
|
73
|
+
.label {
|
|
74
|
+
font-size: 11px;
|
|
75
|
+
color: #999;
|
|
76
|
+
text-transform: uppercase;
|
|
77
|
+
letter-spacing: 0.5px;
|
|
78
|
+
margin-bottom: 4px;
|
|
79
|
+
}
|
|
80
|
+
.footer {
|
|
81
|
+
padding: 12px 24px;
|
|
82
|
+
border-top: 1px solid #ccc;
|
|
83
|
+
text-align: center;
|
|
84
|
+
color: #999;
|
|
85
|
+
font-size: 12px;
|
|
86
|
+
}
|
|
87
|
+
/* Annotation: marks areas with notes for reviewers */
|
|
88
|
+
.annotation {
|
|
89
|
+
position: relative;
|
|
90
|
+
}
|
|
91
|
+
.annotation::after {
|
|
92
|
+
content: attr(data-note);
|
|
93
|
+
position: absolute;
|
|
94
|
+
top: -6px;
|
|
95
|
+
right: -6px;
|
|
96
|
+
background: #666;
|
|
97
|
+
color: #fff;
|
|
98
|
+
font-size: 10px;
|
|
99
|
+
padding: 2px 6px;
|
|
100
|
+
white-space: nowrap;
|
|
101
|
+
}
|
|
102
|
+
</style>
|
|
103
|
+
</head>
|
|
104
|
+
<body>
|
|
105
|
+
<div class="page">
|
|
106
|
+
<div class="header">
|
|
107
|
+
<strong>Page Title</strong>
|
|
108
|
+
<span class="btn">Action</span>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="nav">
|
|
111
|
+
<span>Nav 1</span>
|
|
112
|
+
<span>Nav 2</span>
|
|
113
|
+
<span>Nav 3</span>
|
|
114
|
+
</div>
|
|
115
|
+
<div class="main">
|
|
116
|
+
<div class="placeholder">Main Content Area — describe what goes here</div>
|
|
117
|
+
<div class="placeholder">Secondary Area — describe what goes here</div>
|
|
118
|
+
</div>
|
|
119
|
+
<div class="footer">Footer</div>
|
|
120
|
+
</div>
|
|
121
|
+
</body>
|
|
122
|
+
</html>
|