@xulthekl/team-flow 0.22.4

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 (405) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/.agents/skills +1 -0
  3. package/.claude/always/phase-guard.md +3 -0
  4. package/.claude-plugin/marketplace.json +20 -0
  5. package/.claude-plugin/plugin.json +31 -0
  6. package/.codex-plugin/plugin.json +45 -0
  7. package/.codexignore +6 -0
  8. package/.cursor-plugin/marketplace.json +17 -0
  9. package/.cursor-plugin/plugin.json +31 -0
  10. package/.github/copilot-instructions.md +15 -0
  11. package/.github/dependabot.yml +10 -0
  12. package/.github/plugin/marketplace.json +42 -0
  13. package/.github/workflows/ci.yml +98 -0
  14. package/.github/workflows/hol-plugin-scanner.yml +17 -0
  15. package/.opencode/INSTALL.md +61 -0
  16. package/.opencode/plugins/team-flow.js +70 -0
  17. package/AGENTS.md +280 -0
  18. package/CHANGELOG.md +635 -0
  19. package/CONTRIBUTING.md +115 -0
  20. package/GEMINI.md +14 -0
  21. package/HANDOFF.md +219 -0
  22. package/INSTALL.md +810 -0
  23. package/LICENSE +21 -0
  24. package/README.md +185 -0
  25. package/SECURITY.md +37 -0
  26. package/agents/bug-investigator.md +180 -0
  27. package/agents/change-split-auditor.md +257 -0
  28. package/agents/code-reviewer.md +171 -0
  29. package/agents/cross-change-consistency-checker.md +215 -0
  30. package/agents/prd-completeness-reviewer.md +197 -0
  31. package/agents/prototype-builder.md +230 -0
  32. package/agents/prototype-env-scout.md +156 -0
  33. package/agents/prototype-reviewer.md +226 -0
  34. package/assets/icon.svg +6 -0
  35. package/dist/index.d.ts +13 -0
  36. package/dist/index.js +5 -0
  37. package/dist/parsing/change-parser.d.ts +12 -0
  38. package/dist/parsing/change-parser.js +54 -0
  39. package/dist/parsing/requirement-blocks.d.ts +31 -0
  40. package/dist/parsing/requirement-blocks.js +192 -0
  41. package/dist/schema/base.d.ts +7 -0
  42. package/dist/schema/base.js +1 -0
  43. package/dist/schema/change.d.ts +25 -0
  44. package/dist/schema/change.js +1 -0
  45. package/dist/schema/index.d.ts +3 -0
  46. package/dist/schema/index.js +1 -0
  47. package/dist/schema/spec.d.ts +11 -0
  48. package/dist/schema/spec.js +1 -0
  49. package/dist/validation/constants.d.ts +42 -0
  50. package/dist/validation/constants.js +42 -0
  51. package/dist/validation/tokenizer.d.ts +17 -0
  52. package/dist/validation/tokenizer.js +173 -0
  53. package/dist/validation/types.d.ts +40 -0
  54. package/dist/validation/types.js +1 -0
  55. package/dist/validation/validator.d.ts +21 -0
  56. package/dist/validation/validator.js +489 -0
  57. package/docs/README_en.md +358 -0
  58. package/docs/artifact-contract.md +96 -0
  59. package/docs/decision-points.md +88 -0
  60. package/docs/e2e-integration-design.md +207 -0
  61. package/docs/examples/README.md +25 -0
  62. package/docs/examples/add-dark-mode/README.md +13 -0
  63. package/docs/examples/add-dark-mode/design.md +49 -0
  64. package/docs/examples/add-dark-mode/execution-contract.md +56 -0
  65. package/docs/examples/add-dark-mode/proposal.md +46 -0
  66. package/docs/examples/add-dark-mode/specs/ui-theme/spec.md +35 -0
  67. package/docs/examples/add-dark-mode/tasks.md +26 -0
  68. package/docs/examples/refactor-auth-boundary/README.md +15 -0
  69. package/docs/examples/refactor-auth-boundary/design.md +41 -0
  70. package/docs/examples/refactor-auth-boundary/execution-contract.md +61 -0
  71. package/docs/examples/refactor-auth-boundary/proposal.md +47 -0
  72. package/docs/examples/refactor-auth-boundary/specs/auth-boundary/spec.md +45 -0
  73. package/docs/examples/refactor-auth-boundary/tasks.md +25 -0
  74. package/docs/plans/2026-07-07-fix-batch-design.md +68 -0
  75. package/docs/plans/2026-07-20-001-refactor-skill-collaboration-protocol-plan.md +128 -0
  76. package/docs/platform-matrix.md +45 -0
  77. package/docs/prototype-design-research.md +206 -0
  78. package/docs/release-checklist.md +96 -0
  79. package/docs/showcase.html +699 -0
  80. package/docs/skill-rename-v0.8.0.md +49 -0
  81. package/docs/state-machine.md +162 -0
  82. package/gemini-extension.json +6 -0
  83. package/hooks/hooks-cursor.json +8 -0
  84. package/hooks/hooks.json +26 -0
  85. package/hooks/pre-tool-use-guard +116 -0
  86. package/hooks/session-start +14 -0
  87. package/llms.txt +51 -0
  88. package/package.json +48 -0
  89. package/plugin.json +27 -0
  90. package/prd/v1/plan.md +443 -0
  91. package/prd/v1/prd.md +580 -0
  92. package/scripts/check-update.mjs +91 -0
  93. package/scripts/check-version-consistency.mjs +345 -0
  94. package/scripts/ensure-branch.mjs +71 -0
  95. package/scripts/get-config +31 -0
  96. package/scripts/guard/checks/artifacts-exist.mjs +36 -0
  97. package/scripts/guard/checks/contract-current.mjs +33 -0
  98. package/scripts/guard/checks/contract-fresh.mjs +17 -0
  99. package/scripts/guard/checks/dp-gate-passed.mjs +35 -0
  100. package/scripts/guard/checks/dp3-approved.mjs +22 -0
  101. package/scripts/guard/checks/execution-plan-ready.mjs +40 -0
  102. package/scripts/guard/checks/execution-reviews-passed.mjs +36 -0
  103. package/scripts/guard/checks/schema-valid.mjs +63 -0
  104. package/scripts/guard/checks/specs-merged.mjs +51 -0
  105. package/scripts/guard/checks/tasks-complete.mjs +31 -0
  106. package/scripts/guard/checks/tests-passing.mjs +31 -0
  107. package/scripts/guard/design-token-guard.mjs +237 -0
  108. package/scripts/guard/guard.mjs +205 -0
  109. package/scripts/infer-workflow.mjs +136 -0
  110. package/scripts/install-amazon-q.mjs +9 -0
  111. package/scripts/install-cline.mjs +9 -0
  112. package/scripts/install-continue.mjs +9 -0
  113. package/scripts/install-cursor.mjs +265 -0
  114. package/scripts/install-git-hooks.mjs +82 -0
  115. package/scripts/install-kiro.mjs +9 -0
  116. package/scripts/install-pi.mjs +9 -0
  117. package/scripts/install-qoder.mjs +9 -0
  118. package/scripts/install-qwen.mjs +9 -0
  119. package/scripts/install-roocode.mjs +9 -0
  120. package/scripts/install-windsurf.mjs +9 -0
  121. package/scripts/install-zcode.mjs +265 -0
  122. package/scripts/lib/cmd-audit.mjs +127 -0
  123. package/scripts/lib/cmd-checkpoint.mjs +118 -0
  124. package/scripts/lib/cmd-config.mjs +88 -0
  125. package/scripts/lib/cmd-doctor.mjs +267 -0
  126. package/scripts/lib/cmd-execution.mjs +206 -0
  127. package/scripts/lib/cmd-handoff.mjs +94 -0
  128. package/scripts/lib/cmd-inject.mjs +310 -0
  129. package/scripts/lib/cmd-install-amazon-q.mjs +11 -0
  130. package/scripts/lib/cmd-install-cline.mjs +11 -0
  131. package/scripts/lib/cmd-install-continue.mjs +11 -0
  132. package/scripts/lib/cmd-install-cursor.mjs +14 -0
  133. package/scripts/lib/cmd-install-kiro.mjs +11 -0
  134. package/scripts/lib/cmd-install-pi.mjs +11 -0
  135. package/scripts/lib/cmd-install-qoder.mjs +11 -0
  136. package/scripts/lib/cmd-install-qwen.mjs +11 -0
  137. package/scripts/lib/cmd-install-roocode.mjs +11 -0
  138. package/scripts/lib/cmd-install-windsurf.mjs +11 -0
  139. package/scripts/lib/cmd-install-workbuddy.mjs +359 -0
  140. package/scripts/lib/cmd-install-zcode.mjs +14 -0
  141. package/scripts/lib/cmd-isolate.mjs +37 -0
  142. package/scripts/lib/cmd-list.mjs +71 -0
  143. package/scripts/lib/cmd-runtime.mjs +85 -0
  144. package/scripts/lib/cmd-solutions.mjs +71 -0
  145. package/scripts/lib/cmd-state.mjs +231 -0
  146. package/scripts/lib/cmd-sync.mjs +102 -0
  147. package/scripts/lib/cmd-validate.mjs +105 -0
  148. package/scripts/lib/cmd-version.mjs +148 -0
  149. package/scripts/lib/config-loader.mjs +107 -0
  150. package/scripts/lib/execution-plan.mjs +492 -0
  151. package/scripts/lib/execution-recommendation.mjs +221 -0
  152. package/scripts/lib/hash.mjs +74 -0
  153. package/scripts/lib/install.mjs +267 -0
  154. package/scripts/lib/platform-runtime-inventory.mjs +27 -0
  155. package/scripts/lib/platforms.mjs +165 -0
  156. package/scripts/lib/prototype-sync.mjs +192 -0
  157. package/scripts/lib/sdd-overlay.mjs +262 -0
  158. package/scripts/lib/shell-quote.mjs +4 -0
  159. package/scripts/lib/solutions-capture.mjs +102 -0
  160. package/scripts/lib/solutions-index-gen.mjs +112 -0
  161. package/scripts/lib/solutions-inject.mjs +77 -0
  162. package/scripts/lib/solutions-promote.mjs +145 -0
  163. package/scripts/lib/spec-paths.mjs +85 -0
  164. package/scripts/lib/state-loader.mjs +154 -0
  165. package/scripts/lint/lint-skills.mjs +149 -0
  166. package/scripts/lint/rules/behavior-consistency.mjs +56 -0
  167. package/scripts/lint/rules/dp-trigger-points.mjs +60 -0
  168. package/scripts/lint/rules/exception-handling.mjs +59 -0
  169. package/scripts/lint/rules/no-contradictory-instructions.mjs +67 -0
  170. package/scripts/lint/rules/no-redundant-checks.mjs +50 -0
  171. package/scripts/lint/rules/token-rules.mjs +122 -0
  172. package/scripts/review-package +44 -0
  173. package/scripts/task-brief +40 -0
  174. package/scripts/team-flow.mjs +164 -0
  175. package/scripts/token-baseline.mjs +158 -0
  176. package/scripts/validate-artifacts +96 -0
  177. package/scripts/verify-marketplace-release.mjs +59 -0
  178. package/skills/architecture-design/SKILL.md +140 -0
  179. package/skills/architecture-design/chapters/ch01-4a-domains.md +27 -0
  180. package/skills/architecture-design/chapters/ch02-change-cascade.md +27 -0
  181. package/skills/architecture-design/chapters/ch03-architecture-outputs.md +25 -0
  182. package/skills/architecture-design/chapters/ch04-entity-to-aggregate.md +27 -0
  183. package/skills/architecture-design/chapters/ch05-cqrs.md +32 -0
  184. package/skills/architecture-design/chapters/ch06-integration.md +54 -0
  185. package/skills/architecture-design/cheatsheet.md +51 -0
  186. package/skills/architecture-design/glossary.md +23 -0
  187. package/skills/architecture-design/patterns.md +32 -0
  188. package/skills/bug-investigator/SKILL.md +77 -0
  189. package/skills/build-executor/SKILL.md +163 -0
  190. package/skills/build-executor/implementer-prompt.md +162 -0
  191. package/skills/build-executor/references/execution-modes.md +86 -0
  192. package/skills/build-executor/task-reviewer-prompt.md +195 -0
  193. package/skills/ce-brainstorm/SKILL.md +415 -0
  194. package/skills/ce-brainstorm/references/agents/slack-researcher.md +127 -0
  195. package/skills/ce-brainstorm/references/blindspot-pass.md +70 -0
  196. package/skills/ce-brainstorm/references/brainstorm-sections.md +285 -0
  197. package/skills/ce-brainstorm/references/handoff.md +168 -0
  198. package/skills/ce-brainstorm/references/html-rendering.md +634 -0
  199. package/skills/ce-brainstorm/references/markdown-rendering.md +241 -0
  200. package/skills/ce-brainstorm/references/model-tiers.md +9 -0
  201. package/skills/ce-brainstorm/references/prd-mapping.md +71 -0
  202. package/skills/ce-brainstorm/references/product-pressure-test.md +42 -0
  203. package/skills/ce-brainstorm/references/reasoning-elevation.md +63 -0
  204. package/skills/ce-brainstorm/references/settled-decisions.md +45 -0
  205. package/skills/ce-brainstorm/references/synthesis-summary.md +282 -0
  206. package/skills/ce-brainstorm/references/universal-brainstorming.md +73 -0
  207. package/skills/ce-brainstorm/references/verdict-routing.md +26 -0
  208. package/skills/ce-brainstorm/references/visual-probes.md +158 -0
  209. package/skills/ce-brainstorm/scripts/visual-probe-server.js +418 -0
  210. package/skills/ce-compound/SKILL.md +114 -0
  211. package/skills/ce-compound/assets/resolution-template.md +94 -0
  212. package/skills/ce-compound/references/agents/best-practices-researcher.md +115 -0
  213. package/skills/ce-compound/references/agents/data-integrity-guardian.md +68 -0
  214. package/skills/ce-compound/references/agents/framework-docs-researcher.md +93 -0
  215. package/skills/ce-compound/references/agents/pattern-recognition-specialist.md +55 -0
  216. package/skills/ce-compound/references/agents/performance-oracle.md +108 -0
  217. package/skills/ce-compound/references/agents/security-sentinel.md +91 -0
  218. package/skills/ce-compound/references/agents/session-historian.md +83 -0
  219. package/skills/ce-compound/references/concepts-vocabulary.md +78 -0
  220. package/skills/ce-compound/references/full-mode-workflow.md +413 -0
  221. package/skills/ce-compound/references/grounding-validation.md +84 -0
  222. package/skills/ce-compound/references/lightweight-mode.md +53 -0
  223. package/skills/ce-compound/references/output-standards.md +182 -0
  224. package/skills/ce-compound/references/promotion-rules.md +38 -0
  225. package/skills/ce-compound/references/schema.yaml +231 -0
  226. package/skills/ce-compound/references/three-tier-index.md +55 -0
  227. package/skills/ce-compound/references/v0.5-upgrade.md +32 -0
  228. package/skills/ce-compound/references/write-flow.md +36 -0
  229. package/skills/ce-compound/references/yaml-schema.md +118 -0
  230. package/skills/ce-compound/scripts/session-history/discover-sessions.sh +130 -0
  231. package/skills/ce-compound/scripts/session-history/extract-errors.py +254 -0
  232. package/skills/ce-compound/scripts/session-history/extract-metadata.py +456 -0
  233. package/skills/ce-compound/scripts/session-history/extract-skeleton.py +575 -0
  234. package/skills/ce-compound/scripts/validate-doc-claims.py +346 -0
  235. package/skills/ce-compound/scripts/validate-frontmatter.py +137 -0
  236. package/skills/ce-ideate/SKILL.md +402 -0
  237. package/skills/ce-ideate/references/agents/issue-intelligence-analyst.md +200 -0
  238. package/skills/ce-ideate/references/agents/learnings-researcher.md +247 -0
  239. package/skills/ce-ideate/references/agents/slack-researcher.md +127 -0
  240. package/skills/ce-ideate/references/agents/web-researcher.md +121 -0
  241. package/skills/ce-ideate/references/divergent-ideation.md +89 -0
  242. package/skills/ce-ideate/references/html-rendering.md +634 -0
  243. package/skills/ce-ideate/references/ideation-sections.md +191 -0
  244. package/skills/ce-ideate/references/markdown-rendering.md +238 -0
  245. package/skills/ce-ideate/references/post-ideation-workflow.md +167 -0
  246. package/skills/ce-ideate/references/universal-ideation.md +107 -0
  247. package/skills/ce-ideate/references/web-research-cache.md +56 -0
  248. package/skills/ce-plan/SKILL.md +137 -0
  249. package/skills/ce-plan/references/agents/agent-native-planning-strategist.md +62 -0
  250. package/skills/ce-plan/references/agents/architecture-strategist.md +46 -0
  251. package/skills/ce-plan/references/agents/best-practices-researcher.md +114 -0
  252. package/skills/ce-plan/references/agents/data-integrity-guardian.md +68 -0
  253. package/skills/ce-plan/references/agents/data-migration-reviewer.md +103 -0
  254. package/skills/ce-plan/references/agents/deployment-verification-agent.md +157 -0
  255. package/skills/ce-plan/references/agents/framework-docs-researcher.md +93 -0
  256. package/skills/ce-plan/references/agents/git-history-analyzer.md +40 -0
  257. package/skills/ce-plan/references/agents/learnings-researcher.md +247 -0
  258. package/skills/ce-plan/references/agents/pattern-recognition-specialist.md +55 -0
  259. package/skills/ce-plan/references/agents/performance-oracle.md +108 -0
  260. package/skills/ce-plan/references/agents/repo-research-analyst.md +258 -0
  261. package/skills/ce-plan/references/agents/security-sentinel.md +91 -0
  262. package/skills/ce-plan/references/agents/slack-researcher.md +127 -0
  263. package/skills/ce-plan/references/agents/spec-flow-analyzer.md +80 -0
  264. package/skills/ce-plan/references/agents/web-researcher.md +121 -0
  265. package/skills/ce-plan/references/approach-altitude.md +55 -0
  266. package/skills/ce-plan/references/change-splitting.md +65 -0
  267. package/skills/ce-plan/references/completion-contract.md +33 -0
  268. package/skills/ce-plan/references/core-principles.md +40 -0
  269. package/skills/ce-plan/references/deepening-workflow.md +263 -0
  270. package/skills/ce-plan/references/dependency-graph.md +36 -0
  271. package/skills/ce-plan/references/html-rendering.md +634 -0
  272. package/skills/ce-plan/references/intake-routing.md +189 -0
  273. package/skills/ce-plan/references/markdown-rendering.md +238 -0
  274. package/skills/ce-plan/references/plan-handoff.md +150 -0
  275. package/skills/ce-plan/references/plan-sections.md +427 -0
  276. package/skills/ce-plan/references/plan-structure.md +120 -0
  277. package/skills/ce-plan/references/planning-modes.md +69 -0
  278. package/skills/ce-plan/references/reasoning-elevation.md +63 -0
  279. package/skills/ce-plan/references/research-workflow.md +165 -0
  280. package/skills/ce-plan/references/review-and-write.md +127 -0
  281. package/skills/ce-plan/references/settled-decisions.md +45 -0
  282. package/skills/ce-plan/references/synthesis-summary.md +418 -0
  283. package/skills/ce-plan/references/universal-planning.md +168 -0
  284. package/skills/ce-proof/SKILL.md +346 -0
  285. package/skills/ce-strategy/SKILL.md +97 -0
  286. package/skills/ce-strategy/references/interview.md +143 -0
  287. package/skills/ce-strategy/references/strategy-template.md +89 -0
  288. package/skills/code-reviewer/SKILL.md +84 -0
  289. package/skills/code-reviewer/code-reviewer-prompt.md +195 -0
  290. package/skills/contract-builder/SKILL.md +72 -0
  291. package/skills/design-system/SKILL.md +75 -0
  292. package/skills/design-system/references/agents/design-system-architect.md +138 -0
  293. package/skills/design-system/references/creation-flow.md +170 -0
  294. package/skills/design-system/references/preview-template.html +319 -0
  295. package/skills/design-system/references/token-derivation.md +115 -0
  296. package/skills/design-system/references/variant-schema.md +60 -0
  297. package/skills/e2e/SKILL.md +56 -0
  298. package/skills/e2e/references/test-verifier.md +40 -0
  299. package/skills/need-explorer/SKILL.md +79 -0
  300. package/skills/prototype/SKILL.md +98 -0
  301. package/skills/prototype/references/agents/design-system-architect.md +122 -0
  302. package/skills/prototype/references/checklist.md +82 -0
  303. package/skills/prototype/references/craft/accessibility-baseline.md +71 -0
  304. package/skills/prototype/references/craft/anti-ai-slop.md +87 -0
  305. package/skills/prototype/references/craft/laws-of-ux.md +60 -0
  306. package/skills/prototype/references/craft/state-coverage.md +81 -0
  307. package/skills/prototype/references/craft/typography-hierarchy.md +50 -0
  308. package/skills/prototype/references/layouts.md +223 -0
  309. package/skills/prototype/references/orchestration-flow.md +101 -0
  310. package/skills/prototype/references/prototype-scaffold/assets/design-tokens.css +19 -0
  311. package/skills/prototype/references/prototype-scaffold/components/button.html +3 -0
  312. package/skills/prototype/references/prototype-scaffold/design-system.md +7 -0
  313. package/skills/prototype/references/prototype-scaffold/flow.md +11 -0
  314. package/skills/prototype/references/prototype-scaffold/index.html +20 -0
  315. package/skills/prototype/references/prototype-scaffold/pages/index.html +11 -0
  316. package/skills/prototype/references/template.html +396 -0
  317. package/skills/release-archivist/SKILL.md +166 -0
  318. package/skills/release-archivist/references/closing-procedures.md +81 -0
  319. package/skills/session-handoff/SKILL.md +110 -0
  320. package/skills/session-handoff/references/context-extraction.md +70 -0
  321. package/skills/session-handoff/references/handoff-template.md +90 -0
  322. package/skills/session-handoff/references/skill-recommendation.md +43 -0
  323. package/skills/spec-merger/SKILL.md +66 -0
  324. package/skills/spec-writer/SKILL.md +149 -0
  325. package/skills/workflow-bootstrap/SKILL.md +148 -0
  326. package/skills/workflow-bootstrap/references/agents/codebase-recon-analyst.md +121 -0
  327. package/skills/workflow-bootstrap/references/b1-reconnaissance.md +80 -0
  328. package/skills/workflow-bootstrap/scripts/recon-probe.sh +328 -0
  329. package/skills/workflow-feedback/SKILL.md +120 -0
  330. package/skills/workflow-feedback/references/category-guide.md +121 -0
  331. package/skills/workflow-feedback/references/feedback-template.md +73 -0
  332. package/skills/workflow-feedback/references/review-mode.md +92 -0
  333. package/skills/workflow-orchestrator/SKILL.md +94 -0
  334. package/skills/workflow-orchestrator/references/feedback-loops.md +56 -0
  335. package/skills/workflow-orchestrator/references/s1-path-router.md +81 -0
  336. package/skills/workflow-orchestrator/references/s2-prd-prototype-loop.md +96 -0
  337. package/skills/workflow-orchestrator/references/s3-plan-pipeline.md +50 -0
  338. package/skills/workflow-orchestrator/references/s4-split-validate.md +108 -0
  339. package/skills/workflow-orchestrator/references/s5-monitoring.md +61 -0
  340. package/skills/workflow-orchestrator/references/state-model.md +185 -0
  341. package/skills/workflow-start/SKILL.md +147 -0
  342. package/skills/workflow-start/references/routing-rules.md +155 -0
  343. package/src/index.ts +16 -0
  344. package/src/parsing/change-parser.ts +79 -0
  345. package/src/parsing/requirement-blocks.ts +244 -0
  346. package/src/schema/base.ts +8 -0
  347. package/src/schema/change.ts +29 -0
  348. package/src/schema/index.ts +3 -0
  349. package/src/schema/spec.ts +12 -0
  350. package/src/validation/constants.ts +53 -0
  351. package/src/validation/tokenizer.ts +180 -0
  352. package/src/validation/types.ts +47 -0
  353. package/src/validation/validator.ts +552 -0
  354. package/templates/abandonment-summary.md +29 -0
  355. package/templates/design.md +37 -0
  356. package/templates/execution-contract.md +99 -0
  357. package/templates/plan.md +86 -0
  358. package/templates/prd.md +468 -0
  359. package/templates/proposal.md +37 -0
  360. package/templates/spec.md +31 -0
  361. package/templates/tasks.md +47 -0
  362. package/tests/e2e.test.mjs +266 -0
  363. package/tests/lib/cmd-audit.test.mjs +202 -0
  364. package/tests/lib/cmd-checkpoint.test.mjs +98 -0
  365. package/tests/lib/cmd-config.test.mjs +101 -0
  366. package/tests/lib/cmd-doctor.test.mjs +450 -0
  367. package/tests/lib/cmd-execution.test.mjs +647 -0
  368. package/tests/lib/cmd-handoff.test.mjs +137 -0
  369. package/tests/lib/cmd-inject.test.mjs +218 -0
  370. package/tests/lib/cmd-install-workbuddy.test.mjs +113 -0
  371. package/tests/lib/cmd-install-zcode.test.mjs +42 -0
  372. package/tests/lib/cmd-isolate.test.mjs +68 -0
  373. package/tests/lib/cmd-list.test.mjs +127 -0
  374. package/tests/lib/cmd-runtime.test.mjs +83 -0
  375. package/tests/lib/cmd-state-missing.test.mjs +65 -0
  376. package/tests/lib/cmd-state.test.mjs +365 -0
  377. package/tests/lib/cmd-sync-paths.test.mjs +84 -0
  378. package/tests/lib/cmd-validate-paths.test.mjs +90 -0
  379. package/tests/lib/config-loader.test.mjs +175 -0
  380. package/tests/lib/ensure-branch.test.mjs +59 -0
  381. package/tests/lib/execution-control-plane.test.mjs +168 -0
  382. package/tests/lib/execution-plan.test.mjs +474 -0
  383. package/tests/lib/guard-specs-merged.test.mjs +108 -0
  384. package/tests/lib/guard-tests-passing.test.mjs +112 -0
  385. package/tests/lib/guard-transitions.test.mjs +262 -0
  386. package/tests/lib/guard.test.mjs +611 -0
  387. package/tests/lib/hash.test.mjs +138 -0
  388. package/tests/lib/infer-workflow.test.mjs +161 -0
  389. package/tests/lib/install-git-hooks.test.mjs +20 -0
  390. package/tests/lib/marketplace-release-docs.test.mjs +31 -0
  391. package/tests/lib/minimality-discipline.test.mjs +37 -0
  392. package/tests/lib/model-profiles-docs.test.mjs +33 -0
  393. package/tests/lib/node20-compatibility.test.mjs +73 -0
  394. package/tests/lib/node20-test-entry.test.mjs +17 -0
  395. package/tests/lib/platform-runtime-distribution.test.mjs +150 -0
  396. package/tests/lib/raw-mode-smoke.test.mjs +42 -0
  397. package/tests/lib/sdd-overlay.test.mjs +118 -0
  398. package/tests/lib/spec-paths.test.mjs +80 -0
  399. package/tests/lib/state-loader.test.mjs +251 -0
  400. package/tests/lib/token-baseline.test.mjs +72 -0
  401. package/tests/lib/token-rules.test.mjs +94 -0
  402. package/tests/lib/verify-marketplace-release.test.mjs +128 -0
  403. package/tests/tsconfig.json +12 -0
  404. package/token-baseline.json +95 -0
  405. package/tsconfig.json +14 -0
@@ -0,0 +1,699 @@
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>spec-superflow — AI 编程工作流引擎</title>
7
+ <style>
8
+ @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Noto+Sans+SC:wght@300;400;500;700;900&display=swap');
9
+
10
+ :root {
11
+ --bg: #0d0f12;
12
+ --surface: #15181e;
13
+ --surface-raised: #1c2028;
14
+ --border: #2a2f3a;
15
+ --border-accent: #3d4555;
16
+ --text-primary: #e4e6ea;
17
+ --text-secondary: #9299a8;
18
+ --text-muted: #5e6678;
19
+ --accent: #5b9bd5;
20
+ --accent-glow: rgba(91, 155, 213, 0.15);
21
+ --amber: #d4a853;
22
+ --green: #6aab73;
23
+ --red: #c96b6b;
24
+ }
25
+
26
+ * { margin: 0; padding: 0; box-sizing: border-box; }
27
+
28
+ body {
29
+ font-family: 'Noto Sans SC', -apple-system, sans-serif;
30
+ background: var(--bg);
31
+ color: var(--text-primary);
32
+ line-height: 1.7;
33
+ overflow-x: hidden;
34
+ }
35
+
36
+ body::before {
37
+ content: '';
38
+ position: fixed;
39
+ inset: 0;
40
+ background-image:
41
+ linear-gradient(rgba(42, 47, 58, 0.03) 1px, transparent 1px),
42
+ linear-gradient(90deg, rgba(42, 47, 58, 0.03) 1px, transparent 1px);
43
+ background-size: 60px 60px;
44
+ pointer-events: none;
45
+ z-index: 0;
46
+ }
47
+
48
+ .container {
49
+ max-width: 960px;
50
+ margin: 0 auto;
51
+ padding: 0 32px;
52
+ position: relative;
53
+ z-index: 1;
54
+ }
55
+
56
+ /* Hero */
57
+ .hero {
58
+ padding: 100px 0 80px;
59
+ text-align: center;
60
+ position: relative;
61
+ }
62
+
63
+ .hero-badge {
64
+ display: inline-block;
65
+ padding: 6px 16px;
66
+ border: 1px solid var(--border-accent);
67
+ border-radius: 4px;
68
+ font-size: 13px;
69
+ color: var(--text-secondary);
70
+ letter-spacing: 0.5px;
71
+ margin-bottom: 32px;
72
+ font-family: 'JetBrains Mono', monospace;
73
+ }
74
+
75
+ .hero h1 {
76
+ font-size: 56px;
77
+ font-weight: 900;
78
+ letter-spacing: -1.5px;
79
+ margin-bottom: 20px;
80
+ line-height: 1.15;
81
+ background: linear-gradient(180deg, #ffffff 0%, #b0b8c4 100%);
82
+ -webkit-background-clip: text;
83
+ -webkit-text-fill-color: transparent;
84
+ background-clip: text;
85
+ }
86
+
87
+ .hero .tagline {
88
+ font-size: 20px;
89
+ color: var(--text-secondary);
90
+ font-weight: 300;
91
+ max-width: 600px;
92
+ margin: 0 auto 48px;
93
+ }
94
+
95
+ .hero-divider {
96
+ width: 100%;
97
+ height: 1px;
98
+ background: linear-gradient(90deg, transparent, var(--border-accent), transparent);
99
+ margin: 0 auto;
100
+ max-width: 600px;
101
+ }
102
+
103
+ .hero-stats {
104
+ display: flex;
105
+ justify-content: center;
106
+ gap: 64px;
107
+ margin-top: 48px;
108
+ }
109
+
110
+ .hero-stat {
111
+ text-align: center;
112
+ }
113
+
114
+ .hero-stat .num {
115
+ font-size: 36px;
116
+ font-weight: 700;
117
+ color: var(--text-primary);
118
+ font-family: 'JetBrains Mono', monospace;
119
+ }
120
+
121
+ .hero-stat .label {
122
+ font-size: 13px;
123
+ color: var(--text-muted);
124
+ margin-top: 4px;
125
+ letter-spacing: 0.5px;
126
+ }
127
+
128
+ /* Sections */
129
+ section {
130
+ padding: 80px 0;
131
+ border-top: 1px solid var(--border);
132
+ }
133
+
134
+ .section-label {
135
+ font-family: 'JetBrains Mono', monospace;
136
+ font-size: 12px;
137
+ color: var(--text-muted);
138
+ text-transform: uppercase;
139
+ letter-spacing: 2px;
140
+ margin-bottom: 16px;
141
+ }
142
+
143
+ section h2 {
144
+ font-size: 32px;
145
+ font-weight: 700;
146
+ margin-bottom: 24px;
147
+ letter-spacing: -0.5px;
148
+ }
149
+
150
+ section h3 {
151
+ font-size: 18px;
152
+ font-weight: 600;
153
+ margin-bottom: 12px;
154
+ color: var(--text-primary);
155
+ }
156
+
157
+ section p {
158
+ color: var(--text-secondary);
159
+ font-weight: 300;
160
+ margin-bottom: 16px;
161
+ }
162
+
163
+ /* Pain Points */
164
+ .pain-grid {
165
+ display: grid;
166
+ grid-template-columns: 1fr 1fr;
167
+ gap: 24px;
168
+ margin-top: 40px;
169
+ }
170
+
171
+ .pain-card {
172
+ background: var(--surface);
173
+ border: 1px solid var(--border);
174
+ border-left: 3px solid var(--red);
175
+ padding: 28px;
176
+ border-radius: 0 6px 6px 0;
177
+ }
178
+
179
+ .pain-card .card-icon {
180
+ font-family: 'JetBrains Mono', monospace;
181
+ font-size: 13px;
182
+ color: var(--red);
183
+ margin-bottom: 12px;
184
+ letter-spacing: 1px;
185
+ }
186
+
187
+ .pain-card h4 {
188
+ font-size: 17px;
189
+ font-weight: 600;
190
+ margin-bottom: 10px;
191
+ }
192
+
193
+ .pain-card p {
194
+ font-size: 14px;
195
+ color: var(--text-secondary);
196
+ line-height: 1.6;
197
+ }
198
+
199
+ /* Solution Bridge */
200
+ .bridge-visual {
201
+ display: flex;
202
+ align-items: center;
203
+ justify-content: center;
204
+ gap: 0;
205
+ margin: 48px 0;
206
+ }
207
+
208
+ .bridge-block {
209
+ flex: 1;
210
+ max-width: 200px;
211
+ text-align: center;
212
+ padding: 24px 16px;
213
+ }
214
+
215
+ .bridge-block .block-icon {
216
+ font-family: 'JetBrains Mono', monospace;
217
+ font-size: 12px;
218
+ color: var(--text-muted);
219
+ margin-bottom: 8px;
220
+ letter-spacing: 1px;
221
+ }
222
+
223
+ .bridge-block h5 {
224
+ font-size: 15px;
225
+ font-weight: 600;
226
+ margin-bottom: 4px;
227
+ }
228
+
229
+ .bridge-block p {
230
+ font-size: 12px;
231
+ color: var(--text-muted);
232
+ }
233
+
234
+ .bridge-arrow {
235
+ font-family: 'JetBrains Mono', monospace;
236
+ font-size: 20px;
237
+ color: var(--accent);
238
+ flex-shrink: 0;
239
+ }
240
+
241
+ .bridge-core {
242
+ background: var(--surface-raised);
243
+ border: 2px solid var(--accent);
244
+ border-radius: 8px;
245
+ padding: 20px 28px;
246
+ display: flex;
247
+ flex-direction: column;
248
+ align-items: center;
249
+ justify-content: center;
250
+ min-width: 140px;
251
+ }
252
+
253
+ .bridge-core .block-icon {
254
+ color: var(--accent);
255
+ }
256
+
257
+ /* State Machine */
258
+ .state-pipeline {
259
+ display: flex;
260
+ align-items: center;
261
+ gap: 0;
262
+ margin: 48px 0;
263
+ overflow-x: auto;
264
+ padding: 8px 0;
265
+ }
266
+
267
+ .state-node {
268
+ flex-shrink: 0;
269
+ padding: 16px 24px;
270
+ background: var(--surface);
271
+ border: 1px solid var(--border);
272
+ text-align: center;
273
+ min-width: 130px;
274
+ }
275
+
276
+ .state-node:first-child { border-radius: 6px 0 0 6px; }
277
+ .state-node:last-child { border-radius: 0 6px 6px 0; }
278
+
279
+ .state-node .state-name {
280
+ font-family: 'JetBrains Mono', monospace;
281
+ font-size: 13px;
282
+ font-weight: 600;
283
+ margin-bottom: 4px;
284
+ }
285
+
286
+ .state-node .state-label {
287
+ font-size: 12px;
288
+ color: var(--text-muted);
289
+ }
290
+
291
+ .state-node.spec { border-color: var(--amber); }
292
+ .state-node.spec .state-name { color: var(--amber); }
293
+ .state-node.bridge { border-color: var(--accent); }
294
+ .state-node.bridge .state-name { color: var(--accent); }
295
+ .state-node.exec { border-color: var(--green); }
296
+ .state-node.exec .state-name { color: var(--green); }
297
+
298
+ .state-arrow {
299
+ font-family: 'JetBrains Mono', monospace;
300
+ font-size: 18px;
301
+ color: var(--border-accent);
302
+ flex-shrink: 0;
303
+ padding: 0 4px;
304
+ }
305
+
306
+ /* Skills Grid */
307
+ .skills-grid {
308
+ display: grid;
309
+ grid-template-columns: repeat(3, 1fr);
310
+ gap: 16px;
311
+ margin-top: 40px;
312
+ }
313
+
314
+ .skill-card {
315
+ background: var(--surface);
316
+ border: 1px solid var(--border);
317
+ padding: 24px;
318
+ border-radius: 6px;
319
+ transition: border-color 0.2s;
320
+ }
321
+
322
+ .skill-card:hover {
323
+ border-color: var(--border-accent);
324
+ }
325
+
326
+ .skill-card .skill-phase {
327
+ font-family: 'JetBrains Mono', monospace;
328
+ font-size: 11px;
329
+ color: var(--text-muted);
330
+ letter-spacing: 1.5px;
331
+ text-transform: uppercase;
332
+ margin-bottom: 10px;
333
+ }
334
+
335
+ .skill-card .skill-name {
336
+ font-family: 'JetBrains Mono', monospace;
337
+ font-size: 15px;
338
+ font-weight: 600;
339
+ margin-bottom: 8px;
340
+ color: var(--text-primary);
341
+ }
342
+
343
+ .skill-card .skill-desc {
344
+ font-size: 13px;
345
+ color: var(--text-secondary);
346
+ line-height: 1.6;
347
+ }
348
+
349
+ /* Principles */
350
+ .principles-grid {
351
+ display: grid;
352
+ grid-template-columns: 1fr 1fr;
353
+ gap: 16px;
354
+ margin-top: 40px;
355
+ }
356
+
357
+ .principle-card {
358
+ background: var(--surface);
359
+ border: 1px solid var(--border);
360
+ padding: 24px;
361
+ border-radius: 6px;
362
+ }
363
+
364
+ .principle-card .principle-title {
365
+ font-family: 'JetBrains Mono', monospace;
366
+ font-size: 14px;
367
+ font-weight: 600;
368
+ margin-bottom: 8px;
369
+ color: var(--text-primary);
370
+ }
371
+
372
+ .principle-card .principle-desc {
373
+ font-size: 13px;
374
+ color: var(--text-secondary);
375
+ line-height: 1.6;
376
+ }
377
+
378
+ .principle-card .principle-title::before {
379
+ content: '# ';
380
+ color: var(--accent);
381
+ }
382
+
383
+ /* Contract Highlight */
384
+ .contract-highlight {
385
+ background: var(--surface-raised);
386
+ border: 1px solid var(--accent);
387
+ border-radius: 8px;
388
+ padding: 32px;
389
+ margin-top: 40px;
390
+ }
391
+
392
+ .contract-highlight h3 {
393
+ font-family: 'JetBrains Mono', monospace;
394
+ font-size: 16px;
395
+ color: var(--accent);
396
+ margin-bottom: 16px;
397
+ }
398
+
399
+ .contract-items {
400
+ display: grid;
401
+ grid-template-columns: repeat(3, 1fr);
402
+ gap: 20px;
403
+ }
404
+
405
+ .contract-item {
406
+ font-size: 14px;
407
+ color: var(--text-secondary);
408
+ line-height: 1.6;
409
+ }
410
+
411
+ .contract-item strong {
412
+ color: var(--text-primary);
413
+ display: block;
414
+ font-size: 13px;
415
+ margin-bottom: 4px;
416
+ }
417
+
418
+ /* CTA */
419
+ .cta {
420
+ text-align: center;
421
+ padding: 80px 0;
422
+ }
423
+
424
+ .cta h2 {
425
+ font-size: 28px;
426
+ margin-bottom: 16px;
427
+ }
428
+
429
+ .cta p {
430
+ color: var(--text-secondary);
431
+ margin-bottom: 32px;
432
+ }
433
+
434
+ .cta-btn {
435
+ display: inline-flex;
436
+ align-items: center;
437
+ gap: 10px;
438
+ background: var(--accent);
439
+ color: #fff;
440
+ text-decoration: none;
441
+ padding: 14px 32px;
442
+ border-radius: 6px;
443
+ font-size: 15px;
444
+ font-weight: 600;
445
+ transition: background 0.2s, transform 0.2s;
446
+ }
447
+
448
+ .cta-btn:hover {
449
+ background: #4a8bc4;
450
+ transform: translateY(-1px);
451
+ }
452
+
453
+ .cta-btn .btn-arrow {
454
+ font-family: 'JetBrains Mono', monospace;
455
+ }
456
+
457
+ /* Footer */
458
+ footer {
459
+ text-align: center;
460
+ padding: 40px 0;
461
+ border-top: 1px solid var(--border);
462
+ color: var(--text-muted);
463
+ font-size: 13px;
464
+ }
465
+
466
+ footer a {
467
+ color: var(--text-secondary);
468
+ text-decoration: none;
469
+ }
470
+
471
+ footer a:hover { color: var(--text-primary); }
472
+
473
+ @media (max-width: 768px) {
474
+ .hero h1 { font-size: 36px; }
475
+ .pain-grid { grid-template-columns: 1fr; }
476
+ .skills-grid { grid-template-columns: 1fr 1fr; }
477
+ .contract-items { grid-template-columns: 1fr; }
478
+ .principles-grid { grid-template-columns: 1fr; }
479
+ .hero-stats { gap: 32px; }
480
+ .state-pipeline { flex-wrap: wrap; justify-content: center; gap: 4px; }
481
+ .state-arrow { display: none; }
482
+ .state-node { border-radius: 6px; min-width: 100px; padding: 12px 16px; }
483
+ }
484
+ </style>
485
+ </head>
486
+ <body>
487
+
488
+ <div class="container">
489
+ <!-- Hero -->
490
+ <div class="hero">
491
+ <div class="hero-badge">Claude Code / Trae Workflow Plugin</div>
492
+ <h1>spec-superflow</h1>
493
+ <p class="tagline">连通"需求说清楚"和"代码写对路"的 AI 编程工作流引擎</p>
494
+ <div class="hero-divider"></div>
495
+ <div class="hero-stats">
496
+ <div class="hero-stat">
497
+ <div class="num">6</div>
498
+ <div class="label">协作 Skill</div>
499
+ </div>
500
+ <div class="hero-stat">
501
+ <div class="num">6</div>
502
+ <div class="label">状态管线</div>
503
+ </div>
504
+ <div class="hero-stat">
505
+ <div class="num">MIT</div>
506
+ <div class="label">开源许可</div>
507
+ </div>
508
+ </div>
509
+ </div>
510
+
511
+ <!-- Problem -->
512
+ <section>
513
+ <div class="section-label">The Problem</div>
514
+ <h2>AI 编程的两个失控点</h2>
515
+ <p>用 AI 写代码时,最常碰到的两个问题,恰好分别发生在动手之前和动手之后。</p>
516
+ <div class="pain-grid">
517
+ <div class="pain-card">
518
+ <div class="card-icon">// PAIN POINT 01</div>
519
+ <h4>方向失控</h4>
520
+ <p>还没想清楚要做什么,AI 就开始写代码。你说"帮我加个权限控制",它就开始改几十个文件。改到一半才发现 —— 到底要 RBAC 还是 ABAC?</p>
521
+ </div>
522
+ <div class="pain-card">
523
+ <div class="card-icon">// PAIN POINT 02</div>
524
+ <h4>质量失控</h4>
525
+ <p>规划文档写得明明白白,但执行阶段还是会跑偏。proposal 写了、design 画了,但实现过程中没人盯着测试、没人卡 review,等到合并才发现行为不对。</p>
526
+ </div>
527
+ </div>
528
+ </section>
529
+
530
+ <!-- Bridge Solution -->
531
+ <section>
532
+ <div class="section-label">The Solution</div>
533
+ <h2>在两个失控点之间架一座硬桥</h2>
534
+ <div class="bridge-visual">
535
+ <div class="bridge-block">
536
+ <div class="block-icon">STEP 1-2</div>
537
+ <h5>澄清 & 规划</h5>
538
+ <p>need-explorer<br>spec-writer</p>
539
+ </div>
540
+ <div class="bridge-arrow">→</div>
541
+ <div class="bridge-core">
542
+ <div class="block-icon">BRIDGE</div>
543
+ <h5 style="font-family: 'JetBrains Mono', monospace; font-size: 14px; color: var(--text-primary);">execution<br>contract</h5>
544
+ <p style="font-size: 11px; color: var(--accent);">契约层</p>
545
+ </div>
546
+ <div class="bridge-arrow">→</div>
547
+ <div class="bridge-block">
548
+ <div class="block-icon">STEP 4-6</div>
549
+ <h5>执行 & 收口</h5>
550
+ <p>build-executor<br>release-archivist</p>
551
+ </div>
552
+ </div>
553
+ <p style="text-align: center; color: var(--text-secondary);">spec-superflow 不是把 OpenSpec 和 Superpowers 并排安装再手工拼接,而是把两者最有价值的部分吸收进一个统一的工作流引擎。</p>
554
+ </section>
555
+
556
+ <!-- State Machine -->
557
+ <section>
558
+ <div class="section-label">State Machine</div>
559
+ <h2>6 状态管线:每一步都有硬约束</h2>
560
+ <div class="state-pipeline">
561
+ <div class="state-node">
562
+ <div class="state-name">exploring</div>
563
+ <div class="state-label">探索意图</div>
564
+ </div>
565
+ <div class="state-arrow">→</div>
566
+ <div class="state-node spec">
567
+ <div class="state-name">specifying</div>
568
+ <div class="state-label">产出规划</div>
569
+ </div>
570
+ <div class="state-arrow">→</div>
571
+ <div class="state-node bridge">
572
+ <div class="state-name">bridging</div>
573
+ <div class="state-label">生成契约</div>
574
+ </div>
575
+ <div class="state-arrow">→</div>
576
+ <div class="state-node">
577
+ <div class="state-name">approved</div>
578
+ <div class="state-label">待执行</div>
579
+ </div>
580
+ <div class="state-arrow">→</div>
581
+ <div class="state-node exec">
582
+ <div class="state-name">executing</div>
583
+ <div class="state-label">纪律实现</div>
584
+ </div>
585
+ <div class="state-arrow">→</div>
586
+ <div class="state-node">
587
+ <div class="state-name">closing</div>
588
+ <div class="state-label">验证归档</div>
589
+ </div>
590
+ </div>
591
+ <p style="text-align: center; color: var(--text-muted); font-size: 13px;">没有稳定规划工件 → 不允许进入实现 | 违反契约 → 拦截回退 | 需求变更 → 强制回退到对应规划阶段</p>
592
+ </section>
593
+
594
+ <!-- Skills -->
595
+ <section>
596
+ <div class="section-label">Skills</div>
597
+ <h2>6 个协作 Skill,各司其职</h2>
598
+ <div class="skills-grid">
599
+ <div class="skill-card">
600
+ <div class="skill-phase">入口</div>
601
+ <div class="skill-name">workflow-start</div>
602
+ <div class="skill-desc">检查当前状态、路由到正确的 skill、阻止非法跳转</div>
603
+ </div>
604
+ <div class="skill-card">
605
+ <div class="skill-phase">探索</div>
606
+ <div class="skill-name">need-explorer</div>
607
+ <div class="skill-desc">澄清意图、范围、约束、成功标准,把模糊需求变明确边界</div>
608
+ </div>
609
+ <div class="skill-card">
610
+ <div class="skill-phase">规格</div>
611
+ <div class="skill-name">spec-writer</div>
612
+ <div class="skill-desc">生成 proposal、specs、design、tasks 四份正式规划工件</div>
613
+ </div>
614
+ <div class="skill-card">
615
+ <div class="skill-phase">桥接</div>
616
+ <div class="skill-name">contract-builder</div>
617
+ <div class="skill-desc">把规划工件压缩为可检查的 execution-contract.md</div>
618
+ </div>
619
+ <div class="skill-card">
620
+ <div class="skill-phase">执行</div>
621
+ <div class="skill-name">build-executor</div>
622
+ <div class="skill-desc">强制 TDD、评审关卡、契约优先实现,违规即拦截</div>
623
+ </div>
624
+ <div class="skill-card">
625
+ <div class="skill-phase">收口</div>
626
+ <div class="skill-name">release-archivist</div>
627
+ <div class="skill-desc">验证完成度、生成变更总结、准备归档</div>
628
+ </div>
629
+ </div>
630
+ </section>
631
+
632
+ <!-- Design Principles -->
633
+ <section>
634
+ <div class="section-label">Design Principles</div>
635
+ <h2>四大设计原则</h2>
636
+ <div class="principles-grid">
637
+ <div class="principle-card">
638
+ <div class="principle-title">Spec First</div>
639
+ <div class="principle-desc">没有稳定的规划工件,不允许进入实现。把"先想清楚再动手"从口号变成硬约束。</div>
640
+ </div>
641
+ <div class="principle-card">
642
+ <div class="principle-title">Guarded Handoff</div>
643
+ <div class="principle-desc">execution-contract.md 是规划到实现的唯一交接层,所有模糊决策在这里被显式压缩为可验证条目。</div>
644
+ </div>
645
+ <div class="principle-card">
646
+ <div class="principle-title">Strong Guardrails</div>
647
+ <div class="principle-desc">实现过程中违反契约的行为被明确拦截并回退,而不是靠开发者"感觉不对"来手动纠偏。</div>
648
+ </div>
649
+ <div class="principle-card">
650
+ <div class="principle-title">Self-Contained</div>
651
+ <div class="principle-desc">不需要运行时安装 OpenSpec 或 Superpowers,即装即用,零运行时依赖。</div>
652
+ </div>
653
+ </div>
654
+ </section>
655
+
656
+ <!-- Execution Contract -->
657
+ <section>
658
+ <div class="section-label">Key Innovation</div>
659
+ <h2>execution-contract.md:不只是一份文档</h2>
660
+ <p>这是 spec-superflow 区别于其他工作流工具的核心。它不是又一份规划文档,而是一份可检查的契约。</p>
661
+ <div class="contract-highlight">
662
+ <h3>// execution-contract.md</h3>
663
+ <div class="contract-items">
664
+ <div class="contract-item">
665
+ <strong>Input / Output</strong>
666
+ 明确本次变更的输入、输出、边界条件
667
+ </div>
668
+ <div class="contract-item">
669
+ <strong>Test Checklist</strong>
670
+ 逐条对应该通过的测试用例
671
+ </div>
672
+ <div class="contract-item">
673
+ <strong>Review Gates</strong>
674
+ 预定义验收关卡和 escalation 规则
675
+ </div>
676
+ </div>
677
+ </div>
678
+ </section>
679
+
680
+ <!-- CTA -->
681
+ <div class="cta">
682
+ <h2>让 AI 编程从随机游走变成可控流水线</h2>
683
+ <p>开源、自包含、即装即用。支持 Claude Code 和 Trae。</p>
684
+ <a href="https://github.com/MageByte-Zero/spec-superflow" class="cta-btn" target="_blank">
685
+ GitHub
686
+ <span class="btn-arrow">-></span>
687
+ </a>
688
+ </div>
689
+ </div>
690
+
691
+ <footer>
692
+ <div class="container">
693
+ spec-superflow v0.8.12 &middot; MIT License &middot;
694
+ <a href="https://github.com/MageByte-Zero/spec-superflow" target="_blank">github.com/MageByte-Zero/spec-superflow</a>
695
+ </div>
696
+ </footer>
697
+
698
+ </body>
699
+ </html>