agentic-flow-kit 1.8.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (936) hide show
  1. package/README.md +113 -148
  2. package/bin/flow-kit.mjs +5 -2
  3. package/locales/en/installer.json +25 -0
  4. package/locales/en/overrides/.agents/commands/deploy.md +52 -0
  5. package/locales/en/overrides/.agents/commands/maintain.md +76 -0
  6. package/locales/en/overrides/.agents/commands/new-task.md +89 -0
  7. package/locales/en/overrides/.agents/commands/pipeline-run.md +56 -0
  8. package/locales/en/overrides/.agents/commands/pr-review.md +30 -0
  9. package/locales/en/overrides/.agents/commands/review.md +93 -0
  10. package/locales/en/overrides/.agents/commands/stages.md +256 -0
  11. package/locales/en/overrides/.agents/notes/pr-review-cost-discipline.md +48 -0
  12. package/locales/en/overrides/.agents/notes/process-order-rule.md +21 -0
  13. package/locales/en/overrides/.agents/notes/runtime-env.local.example.md +21 -0
  14. package/locales/en/overrides/.agents/pipelines/_TEMPLATE.md +75 -0
  15. package/locales/en/overrides/.agents/pipelines/pipeline-closing.md +28 -0
  16. package/locales/en/overrides/.agents/roles/implementer.md +28 -0
  17. package/locales/en/overrides/.agents/roles/independent-reviewer.md +39 -0
  18. package/locales/en/overrides/.agents/roles/pr-adjudicator.md +27 -0
  19. package/locales/en/overrides/.agents/roles/pr-finder.md +51 -0
  20. package/locales/en/overrides/.agents/roles/pr-verifier.md +44 -0
  21. package/locales/en/overrides/.agents/roles/ui-verifier.md +22 -0
  22. package/locales/en/overrides/.agents/roles/wiki-compiler.md +47 -0
  23. package/locales/en/overrides/.agents/skills/arena/SKILL.md +50 -0
  24. package/locales/en/overrides/.agents/skills/autonomous-run/SKILL.md +45 -0
  25. package/locales/en/overrides/.agents/skills/blast-radius/SKILL.md +53 -0
  26. package/locales/en/overrides/.agents/skills/csharp-quality-gates/SKILL.md +109 -0
  27. package/locales/en/overrides/.agents/skills/dev-tour/SKILL.md +98 -0
  28. package/locales/en/overrides/.agents/skills/dream/SKILL.md +63 -0
  29. package/locales/en/overrides/.agents/skills/eval/SKILL.md +42 -0
  30. package/locales/en/overrides/.agents/skills/interrogate/SKILL.md +49 -0
  31. package/locales/en/overrides/.agents/skills/number-vetting/SKILL.md +35 -0
  32. package/locales/en/overrides/.agents/skills/page-refactor/SKILL.md +192 -0
  33. package/locales/en/overrides/.agents/skills/papercut-fix/SKILL.md +92 -0
  34. package/locales/en/overrides/.agents/skills/pause-safely/SKILL.md +31 -0
  35. package/locales/en/overrides/.agents/skills/perf/SKILL.md +42 -0
  36. package/locales/en/overrides/.agents/skills/review-method/SKILL.md +92 -0
  37. package/locales/en/overrides/.agents/skills/session-resume/SKILL.md +69 -0
  38. package/locales/en/overrides/.agents/skills/shipyard-workflow-closeout/SKILL.md +109 -0
  39. package/locales/en/overrides/.agents/skills/show-me-your-work/SKILL.md +57 -0
  40. package/locales/en/overrides/.agents/skills/tfs-pr/SKILL.md +95 -0
  41. package/locales/en/overrides/.agents/skills/verify-ui/SKILL.md +116 -0
  42. package/locales/en/overrides/.agents/skills/visual-parity/SKILL.md +35 -0
  43. package/locales/en/overrides/.agents/skills/why/SKILL.md +56 -0
  44. package/locales/en/overrides/.agents/skills/wiki/SKILL.md +53 -0
  45. package/locales/en/overrides/.claude/agents/implementer.md +9 -0
  46. package/locales/en/overrides/.claude/agents/independent-reviewer.md +10 -0
  47. package/locales/en/overrides/.claude/agents/pr-adjudicator.md +10 -0
  48. package/locales/en/overrides/.claude/agents/pr-finder.md +10 -0
  49. package/locales/en/overrides/.claude/agents/pr-verifier.md +10 -0
  50. package/locales/en/overrides/.claude/agents/ui-verifier.md +10 -0
  51. package/locales/en/overrides/.claude/agents/wiki-compiler.md +10 -0
  52. package/locales/en/overrides/.claude/commands/wf-deploy.md +8 -0
  53. package/locales/en/overrides/.claude/commands/wf-maintain.md +8 -0
  54. package/locales/en/overrides/.claude/commands/wf-new-task.md +8 -0
  55. package/locales/en/overrides/.claude/commands/wf-pipeline-run.md +8 -0
  56. package/locales/en/overrides/.claude/commands/wf-pr-review.md +8 -0
  57. package/locales/en/overrides/.claude/commands/wf-review.md +8 -0
  58. package/locales/en/overrides/.claude/commands/wf-stages.md +8 -0
  59. package/locales/en/overrides/.cline/agents/implementer.yml +13 -0
  60. package/locales/en/overrides/.cline/agents/independent-reviewer.yml +11 -0
  61. package/locales/en/overrides/.cline/agents/pr-adjudicator.yml +11 -0
  62. package/locales/en/overrides/.cline/agents/pr-finder.yml +11 -0
  63. package/locales/en/overrides/.cline/agents/pr-verifier.yml +11 -0
  64. package/locales/en/overrides/.cline/agents/ui-verifier.yml +8 -0
  65. package/locales/en/overrides/.cline/agents/wiki-compiler.yml +14 -0
  66. package/locales/en/overrides/.cline/workflows/wf-deploy.md +8 -0
  67. package/locales/en/overrides/.cline/workflows/wf-maintain.md +8 -0
  68. package/locales/en/overrides/.cline/workflows/wf-new-task.md +8 -0
  69. package/locales/en/overrides/.cline/workflows/wf-pipeline-run.md +8 -0
  70. package/locales/en/overrides/.cline/workflows/wf-pr-review.md +8 -0
  71. package/locales/en/overrides/.cline/workflows/wf-review.md +8 -0
  72. package/locales/en/overrides/.cline/workflows/wf-stages.md +8 -0
  73. package/locales/en/overrides/.codebuddy/CODEBUDDY.md +7 -0
  74. package/locales/en/overrides/.codebuddy/agents/implementer.md +9 -0
  75. package/locales/en/overrides/.codebuddy/agents/independent-reviewer.md +10 -0
  76. package/locales/en/overrides/.codebuddy/agents/pr-adjudicator.md +10 -0
  77. package/locales/en/overrides/.codebuddy/agents/pr-finder.md +10 -0
  78. package/locales/en/overrides/.codebuddy/agents/pr-verifier.md +10 -0
  79. package/locales/en/overrides/.codebuddy/agents/ui-verifier.md +11 -0
  80. package/locales/en/overrides/.codebuddy/agents/wiki-compiler.md +10 -0
  81. package/locales/en/overrides/.codebuddy/commands/wf-deploy.md +8 -0
  82. package/locales/en/overrides/.codebuddy/commands/wf-maintain.md +8 -0
  83. package/locales/en/overrides/.codebuddy/commands/wf-new-task.md +8 -0
  84. package/locales/en/overrides/.codebuddy/commands/wf-pipeline-run.md +8 -0
  85. package/locales/en/overrides/.codebuddy/commands/wf-pr-review.md +8 -0
  86. package/locales/en/overrides/.codebuddy/commands/wf-review.md +8 -0
  87. package/locales/en/overrides/.codebuddy/commands/wf-stages.md +8 -0
  88. package/locales/en/overrides/.codebuddy/rules/backend-scope.md +5 -0
  89. package/locales/en/overrides/.codebuddy/rules/frontend-scope.md +5 -0
  90. package/locales/en/overrides/.codebuddy/skills/tfs-pr/SKILL.md +6 -0
  91. package/locales/en/overrides/.commandcode/agents/implementer.md +10 -0
  92. package/locales/en/overrides/.commandcode/agents/independent-reviewer.md +9 -0
  93. package/locales/en/overrides/.commandcode/agents/pr-adjudicator.md +9 -0
  94. package/locales/en/overrides/.commandcode/agents/pr-finder.md +9 -0
  95. package/locales/en/overrides/.commandcode/agents/pr-verifier.md +9 -0
  96. package/locales/en/overrides/.commandcode/agents/ui-verifier.md +10 -0
  97. package/locales/en/overrides/.commandcode/agents/wiki-compiler.md +10 -0
  98. package/locales/en/overrides/.commandcode/commands/wf-deploy.md +7 -0
  99. package/locales/en/overrides/.commandcode/commands/wf-maintain.md +7 -0
  100. package/locales/en/overrides/.commandcode/commands/wf-new-task.md +7 -0
  101. package/locales/en/overrides/.commandcode/commands/wf-pipeline-run.md +7 -0
  102. package/locales/en/overrides/.commandcode/commands/wf-pr-review.md +7 -0
  103. package/locales/en/overrides/.commandcode/commands/wf-review.md +7 -0
  104. package/locales/en/overrides/.commandcode/commands/wf-stages.md +7 -0
  105. package/locales/en/overrides/.opencode/agents/implementer.md +51 -0
  106. package/locales/en/overrides/.opencode/agents/independent-reviewer.md +18 -0
  107. package/locales/en/overrides/.opencode/agents/pr-adjudicator.md +18 -0
  108. package/locales/en/overrides/.opencode/agents/pr-finder.md +18 -0
  109. package/locales/en/overrides/.opencode/agents/pr-verifier.md +18 -0
  110. package/locales/en/overrides/.opencode/agents/ui-verifier.md +45 -0
  111. package/locales/en/overrides/.opencode/agents/wiki-compiler.md +51 -0
  112. package/locales/en/overrides/.opencode/commands/wf-deploy.md +7 -0
  113. package/locales/en/overrides/.opencode/commands/wf-maintain.md +7 -0
  114. package/locales/en/overrides/.opencode/commands/wf-new-task.md +7 -0
  115. package/locales/en/overrides/.opencode/commands/wf-pipeline-run.md +7 -0
  116. package/locales/en/overrides/.opencode/commands/wf-pr-review.md +7 -0
  117. package/locales/en/overrides/.opencode/commands/wf-review.md +7 -0
  118. package/locales/en/overrides/.opencode/commands/wf-stages.md +7 -0
  119. package/locales/en/overrides/.pi/agents/implementer.md +11 -0
  120. package/locales/en/overrides/.pi/agents/independent-reviewer.md +12 -0
  121. package/locales/en/overrides/.pi/agents/pr-adjudicator.md +12 -0
  122. package/locales/en/overrides/.pi/agents/pr-finder.md +11 -0
  123. package/locales/en/overrides/.pi/agents/pr-verifier.md +11 -0
  124. package/locales/en/overrides/.pi/agents/ui-verifier.md +11 -0
  125. package/locales/en/overrides/.pi/agents/wiki-compiler.md +11 -0
  126. package/locales/en/overrides/.qoder/agents/implementer.md +9 -0
  127. package/locales/en/overrides/.qoder/agents/independent-reviewer.md +10 -0
  128. package/locales/en/overrides/.qoder/agents/pr-adjudicator.md +10 -0
  129. package/locales/en/overrides/.qoder/agents/pr-finder.md +10 -0
  130. package/locales/en/overrides/.qoder/agents/pr-verifier.md +10 -0
  131. package/locales/en/overrides/.qoder/agents/ui-verifier.md +10 -0
  132. package/locales/en/overrides/.qoder/agents/wiki-compiler.md +10 -0
  133. package/locales/en/overrides/.qoder/commands/wf-deploy.md +8 -0
  134. package/locales/en/overrides/.qoder/commands/wf-maintain.md +8 -0
  135. package/locales/en/overrides/.qoder/commands/wf-new-task.md +8 -0
  136. package/locales/en/overrides/.qoder/commands/wf-pipeline-run.md +8 -0
  137. package/locales/en/overrides/.qoder/commands/wf-pr-review.md +8 -0
  138. package/locales/en/overrides/.qoder/commands/wf-review.md +8 -0
  139. package/locales/en/overrides/.qoder/commands/wf-stages.md +8 -0
  140. package/locales/en/overrides/.qwen/agents/implementer.md +10 -0
  141. package/locales/en/overrides/.qwen/agents/independent-reviewer.md +10 -0
  142. package/locales/en/overrides/.qwen/agents/pr-adjudicator.md +10 -0
  143. package/locales/en/overrides/.qwen/agents/pr-finder.md +10 -0
  144. package/locales/en/overrides/.qwen/agents/pr-verifier.md +10 -0
  145. package/locales/en/overrides/.qwen/agents/ui-verifier.md +10 -0
  146. package/locales/en/overrides/.qwen/agents/wiki-compiler.md +13 -0
  147. package/locales/en/overrides/.qwen/commands/wf-deploy.md +7 -0
  148. package/locales/en/overrides/.qwen/commands/wf-maintain.md +7 -0
  149. package/locales/en/overrides/.qwen/commands/wf-new-task.md +7 -0
  150. package/locales/en/overrides/.qwen/commands/wf-pipeline-run.md +7 -0
  151. package/locales/en/overrides/.qwen/commands/wf-pr-review.md +7 -0
  152. package/locales/en/overrides/.qwen/commands/wf-review.md +7 -0
  153. package/locales/en/overrides/.qwen/commands/wf-stages.md +7 -0
  154. package/locales/en/overrides/.trae/agents/implementer.md +9 -0
  155. package/locales/en/overrides/.trae/agents/independent-reviewer.md +10 -0
  156. package/locales/en/overrides/.trae/agents/pr-adjudicator.md +10 -0
  157. package/locales/en/overrides/.trae/agents/pr-finder.md +10 -0
  158. package/locales/en/overrides/.trae/agents/pr-verifier.md +10 -0
  159. package/locales/en/overrides/.trae/agents/ui-verifier.md +10 -0
  160. package/locales/en/overrides/.trae/agents/wiki-compiler.md +10 -0
  161. package/locales/en/overrides/.trae/commands/wf-deploy.md +8 -0
  162. package/locales/en/overrides/.trae/commands/wf-maintain.md +8 -0
  163. package/locales/en/overrides/.trae/commands/wf-new-task.md +8 -0
  164. package/locales/en/overrides/.trae/commands/wf-pipeline-run.md +8 -0
  165. package/locales/en/overrides/.trae/commands/wf-pr-review.md +8 -0
  166. package/locales/en/overrides/.trae/commands/wf-review.md +8 -0
  167. package/locales/en/overrides/.trae/commands/wf-stages.md +8 -0
  168. package/locales/en/overrides/.trae/rules/backend-scope.md +5 -0
  169. package/locales/en/overrides/.trae/rules/frontend-scope.md +5 -0
  170. package/locales/en/overrides/.zcode/agents/implementer.md +8 -0
  171. package/locales/en/overrides/.zcode/agents/independent-reviewer.md +8 -0
  172. package/locales/en/overrides/.zcode/agents/ui-verifier.md +8 -0
  173. package/locales/en/overrides/.zcode/agents/wiki-compiler.md +8 -0
  174. package/locales/en/overrides/AGENTS.md +52 -0
  175. package/locales/en/overrides/CLAUDE.md +20 -0
  176. package/locales/en/overrides/wiki/INDEX.md +33 -0
  177. package/locales/en/overrides/wiki/drafts-archive/README.md +6 -0
  178. package/locales/en/overrides/wiki//346/225/260/346/215/256/347/273/264/346/212/244/README.md +22 -0
  179. package/locales/en/overrides/wiki//347/237/245/350/257/206/346/262/211/346/267/200/346/200/273/350/247/210.html +230 -0
  180. package/locales/en/overrides/workflow/INDEX.md +13 -0
  181. package/locales/en/overrides/workflow/README.md +67 -0
  182. package/locales/en/overrides/workflow/archive/README.md +3 -0
  183. package/locales/en/overrides/workflow/delegations.md +4 -0
  184. package/locales/en/overrides/workflow/effective-policy.md +4 -0
  185. package/locales/en/overrides/workflow/gate-cost.md +4 -0
  186. package/locales/en/overrides/workflow/incidents/_TEMPLATE.md +49 -0
  187. package/locales/en/overrides/workflow/intents/_TEMPLATE.md +43 -0
  188. package/locales/en/overrides/workflow/metrics.md +4 -0
  189. package/locales/en/overrides/workflow/papercuts.md +3 -0
  190. package/locales/en/overrides/workflow/plans/_TEMPLATE.md +47 -0
  191. package/locales/en/overrides/workflow/regression-checklist.md +3 -0
  192. package/locales/en/overrides/workflow/specs/_TEMPLATE.md +86 -0
  193. package/locales/en/overrides/workflow/verify-evidence.md +4 -0
  194. package/locales/zh-CN/installer.json +25 -0
  195. package/package.json +23 -36
  196. package/schemas/install-manifest.schema.json +24 -0
  197. package/schemas/project-profile.schema.json +28 -0
  198. package/src/cli/args.mjs +41 -0
  199. package/src/cli/main.mjs +72 -0
  200. package/src/commands/add-host.mjs +29 -0
  201. package/src/commands/doctor.mjs +80 -0
  202. package/src/commands/install.mjs +149 -0
  203. package/src/commands/upgrade.mjs +30 -0
  204. package/src/git/config.mjs +61 -0
  205. package/src/hosts/registry.mjs +26 -0
  206. package/src/i18n.mjs +32 -0
  207. package/src/install/apply.mjs +124 -0
  208. package/src/install/manifest.mjs +40 -0
  209. package/src/install/plan.mjs +83 -0
  210. package/src/render/tokens.mjs +58 -0
  211. package/templates/engine/.agents/board/dev-tour.html +1940 -0
  212. package/templates/engine/.agents/board/index.html +835 -0
  213. package/templates/engine/.agents/commands/deploy.md +52 -0
  214. package/templates/engine/.agents/commands/maintain.md +76 -0
  215. package/templates/engine/.agents/commands/new-task.md +89 -0
  216. package/templates/engine/.agents/commands/pipeline-run.md +56 -0
  217. package/templates/engine/.agents/commands/pr-review.md +30 -0
  218. package/templates/engine/.agents/commands/review.md +93 -0
  219. package/templates/engine/.agents/commands/stages.md +256 -0
  220. package/templates/engine/.agents/config/commit-msg-rules.json +7 -0
  221. package/templates/engine/.agents/config/engine.json +11 -0
  222. package/templates/engine/.agents/config/gate-budgets.json +5 -0
  223. package/templates/engine/.agents/config/mechanism-registry.md +62 -0
  224. package/templates/engine/.agents/config/model-roles.json +26 -0
  225. package/templates/engine/.agents/config/model-roles.local.example.json +7 -0
  226. package/templates/engine/.agents/config/pr-review.json +67 -0
  227. package/templates/engine/.agents/config/principles.md +32 -0
  228. package/templates/engine/.agents/config/workflow-enums.txt +25 -0
  229. package/templates/engine/.agents/hooks/check-architecture.mjs +168 -0
  230. package/templates/engine/.agents/hooks/check-audit-fields.mjs +56 -0
  231. package/templates/engine/.agents/hooks/check-commit-plan-ref.mjs +84 -0
  232. package/templates/engine/.agents/hooks/check-confirm-order.mjs +281 -0
  233. package/templates/engine/.agents/hooks/check-delete-guard.mjs +63 -0
  234. package/templates/engine/.agents/hooks/check-notify-guard.mjs +55 -0
  235. package/templates/engine/.agents/hooks/commit-check.cjs +208 -0
  236. package/templates/engine/.agents/hooks/gates.json +33 -0
  237. package/templates/engine/.agents/hooks/local-pre-commit.mjs +27 -0
  238. package/templates/engine/.agents/hooks/pre-shell-check.cjs +361 -0
  239. package/templates/engine/.agents/hooks/pre-write-check.cjs +220 -0
  240. package/templates/engine/.agents/notes/gate-diet.md +75 -0
  241. package/templates/engine/.agents/notes/pr-review-cost-discipline.md +48 -0
  242. package/templates/engine/.agents/notes/process-order-rule.md +21 -0
  243. package/templates/engine/.agents/notes/runtime-env.local.example.md +21 -0
  244. package/templates/engine/.agents/pipelines/_TEMPLATE.md +75 -0
  245. package/templates/engine/.agents/pipelines/pipeline-closing.md +28 -0
  246. package/templates/engine/.agents/pipelines//347/244/272/344/276/213-/345/271/266/350/241/214/345/256/236/347/216/260/350/257/204/345/256/241.md +16 -0
  247. package/templates/engine/.agents/roles/implementer.md +28 -0
  248. package/templates/engine/.agents/roles/independent-reviewer.md +39 -0
  249. package/templates/engine/.agents/roles/pr-adjudicator.md +27 -0
  250. package/templates/engine/.agents/roles/pr-finder.md +51 -0
  251. package/templates/engine/.agents/roles/pr-verifier.md +44 -0
  252. package/templates/engine/.agents/roles/ui-verifier.md +22 -0
  253. package/templates/engine/.agents/roles/wiki-compiler.md +47 -0
  254. package/templates/engine/.agents/scripts/agg-delegations.mjs +439 -0
  255. package/templates/engine/.agents/scripts/agg-judgments.mjs +301 -0
  256. package/templates/engine/.agents/scripts/agg-kb-usage.mjs +196 -0
  257. package/templates/engine/.agents/scripts/append-compensation.mjs +109 -0
  258. package/templates/engine/.agents/scripts/archive-sweep.mjs +229 -0
  259. package/templates/engine/.agents/scripts/auto-tour.mjs +77 -0
  260. package/templates/engine/.agents/scripts/board-port.mjs +17 -0
  261. package/templates/engine/.agents/scripts/check-doc-body-drift.mjs +102 -0
  262. package/templates/engine/.agents/scripts/check-engine-artifacts.mjs +54 -0
  263. package/templates/engine/.agents/scripts/check-hook-wiring.mjs +75 -0
  264. package/templates/engine/.agents/scripts/check-lane-surface.mjs +393 -0
  265. package/templates/engine/.agents/scripts/check-ledger-doc-presence.mjs +71 -0
  266. package/templates/engine/.agents/scripts/check-ledger-invariant.mjs +873 -0
  267. package/templates/engine/.agents/scripts/check-local-gate-config.mjs +95 -0
  268. package/templates/engine/.agents/scripts/check-local-gates.mjs +248 -0
  269. package/templates/engine/.agents/scripts/check-loop-kit.mjs +550 -0
  270. package/templates/engine/.agents/scripts/check-loop-rev-semantics.mjs +59 -0
  271. package/templates/engine/.agents/scripts/check-loop-sections/s01-pairing.mjs +116 -0
  272. package/templates/engine/.agents/scripts/check-loop-sections/s03x-regr-evidence.mjs +38 -0
  273. package/templates/engine/.agents/scripts/check-loop-sections/s08-acceptance.mjs +130 -0
  274. package/templates/engine/.agents/scripts/check-loop-sections/s15-fingerprint.mjs +152 -0
  275. package/templates/engine/.agents/scripts/check-loop-sections/s23-convergence-audit.mjs +182 -0
  276. package/templates/engine/.agents/scripts/check-loop-sections/s29-regr-enforcer.mjs +69 -0
  277. package/templates/engine/.agents/scripts/check-loop.mjs +131 -0
  278. package/templates/engine/.agents/scripts/check-regression-consistency.mjs +252 -0
  279. package/templates/engine/.agents/scripts/check-schema-residue.mjs +144 -0
  280. package/templates/engine/.agents/scripts/check-scope-range.mjs +156 -0
  281. package/templates/engine/.agents/scripts/check-scope.mjs +121 -0
  282. package/templates/engine/.agents/scripts/check-scripts-syntax.mjs +138 -0
  283. package/templates/engine/.agents/scripts/check-secrets-lite.mjs +239 -0
  284. package/templates/engine/.agents/scripts/check-secrets.mjs +104 -0
  285. package/templates/engine/.agents/scripts/check-test-impact-map.mjs +107 -0
  286. package/templates/engine/.agents/scripts/ci-assert-frontend-deps.mjs +42 -0
  287. package/templates/engine/.agents/scripts/ci-commit-hygiene.mjs +86 -0
  288. package/templates/engine/.agents/scripts/ci-install-gitleaks.mjs +75 -0
  289. package/templates/engine/.agents/scripts/ci-push-before.mjs +49 -0
  290. package/templates/engine/.agents/scripts/closeout.mjs +127 -0
  291. package/templates/engine/.agents/scripts/compact-ledgers.mjs +70 -0
  292. package/templates/engine/.agents/scripts/confirm-doc.mjs +737 -0
  293. package/templates/engine/.agents/scripts/delegation-presence.mjs +38 -0
  294. package/templates/engine/.agents/scripts/dev-tour-model.mjs +1398 -0
  295. package/templates/engine/.agents/scripts/dream-run.mjs +283 -0
  296. package/templates/engine/.agents/scripts/ensure-board.mjs +187 -0
  297. package/templates/engine/.agents/scripts/failure-attribution.mjs +11 -0
  298. package/templates/engine/.agents/scripts/fill-intent.mjs +60 -0
  299. package/templates/engine/.agents/scripts/fill-plan.mjs +105 -0
  300. package/templates/engine/.agents/scripts/fill-spec.mjs +72 -0
  301. package/templates/engine/.agents/scripts/gen-dev-tour.mjs +191 -0
  302. package/templates/engine/.agents/scripts/gen-effective-policy.mjs +113 -0
  303. package/templates/engine/.agents/scripts/gen-engine-map.mjs +292 -0
  304. package/templates/engine/.agents/scripts/gen-narrative-claims.mjs +275 -0
  305. package/templates/engine/.agents/scripts/gen-verify-evidence.mjs +115 -0
  306. package/templates/engine/.agents/scripts/gen-wiki-board.mjs +221 -0
  307. package/templates/engine/.agents/scripts/gen-workflow-index.mjs +201 -0
  308. package/templates/engine/.agents/scripts/gen-workflow-metrics.mjs +692 -0
  309. package/templates/engine/.agents/scripts/git-merge-jsonl.mjs +62 -0
  310. package/templates/engine/.agents/scripts/judgment-ledger.mjs +68 -0
  311. package/templates/engine/.agents/scripts/kb-cache-evict.mjs +50 -0
  312. package/templates/engine/.agents/scripts/kb-search.mjs +423 -0
  313. package/templates/engine/.agents/scripts/lane-surface-audit.mjs +145 -0
  314. package/templates/engine/.agents/scripts/ledger-loader.mjs +77 -0
  315. package/templates/engine/.agents/scripts/ledger-shards.mjs +346 -0
  316. package/templates/engine/.agents/scripts/metrics-core.mjs +131 -0
  317. package/templates/engine/.agents/scripts/pipeline-run.mjs +964 -0
  318. package/templates/engine/.agents/scripts/policy.mjs +250 -0
  319. package/templates/engine/.agents/scripts/pr-create.mjs +54 -0
  320. package/templates/engine/.agents/scripts/pr-review.mjs +1551 -0
  321. package/templates/engine/.agents/scripts/quote-grounding.mjs +233 -0
  322. package/templates/engine/.agents/scripts/regen-ledgers.mjs +59 -0
  323. package/templates/engine/.agents/scripts/rewrite-file.mjs +135 -0
  324. package/templates/engine/.agents/scripts/rule-budget.mjs +246 -0
  325. package/templates/engine/.agents/scripts/stage-gates.mjs +812 -0
  326. package/templates/engine/.agents/scripts/test-impact-lib.mjs +451 -0
  327. package/templates/engine/.agents/scripts/test-impact.mjs +105 -0
  328. package/templates/engine/.agents/scripts/trust-mode.mjs +130 -0
  329. package/templates/engine/.agents/scripts/verify-scope.mjs +163 -0
  330. package/templates/engine/.agents/scripts/verify-wiki-consistency.mjs +264 -0
  331. package/templates/engine/.agents/scripts/verify.mjs +847 -0
  332. package/templates/engine/.agents/scripts/warn-format.mjs +57 -0
  333. package/templates/engine/.agents/scripts/wf-journal.mjs +230 -0
  334. package/templates/engine/.agents/scripts/workflow-board-server.mjs +696 -0
  335. package/templates/engine/.agents/scripts/workflow-enums.mjs +70 -0
  336. package/templates/engine/.agents/scripts/workflows-check.mjs +260 -0
  337. package/templates/engine/.agents/settings.json +33 -0
  338. package/templates/engine/.agents/skills/arena/SKILL.md +50 -0
  339. package/templates/engine/.agents/skills/autonomous-run/SKILL.md +45 -0
  340. package/templates/engine/.agents/skills/blast-radius/SKILL.md +53 -0
  341. package/templates/engine/.agents/skills/csharp-quality-gates/SKILL.md +109 -0
  342. package/templates/engine/.agents/skills/csharp-quality-gates/scripts/quality-gates.mjs +430 -0
  343. package/templates/engine/.agents/skills/dev-tour/SKILL.md +98 -0
  344. package/templates/engine/.agents/skills/dream/SKILL.md +63 -0
  345. package/templates/engine/.agents/skills/eval/SKILL.md +42 -0
  346. package/templates/engine/.agents/skills/eval/scripts/eval-score.mjs +59 -0
  347. package/templates/engine/.agents/skills/interrogate/SKILL.md +49 -0
  348. package/templates/engine/.agents/skills/interrogate/scripts/interrogate-plan.mjs +72 -0
  349. package/templates/engine/.agents/skills/number-vetting/SKILL.md +35 -0
  350. package/templates/engine/.agents/skills/page-refactor/SKILL.md +192 -0
  351. package/templates/engine/.agents/skills/page-refactor/references/templates.md +989 -0
  352. package/templates/engine/.agents/skills/papercut-fix/SKILL.md +92 -0
  353. package/templates/engine/.agents/skills/papercut-fix/references/response-template.md +81 -0
  354. package/templates/engine/.agents/skills/pause-safely/SKILL.md +31 -0
  355. package/templates/engine/.agents/skills/perf/SKILL.md +42 -0
  356. package/templates/engine/.agents/skills/review-method/SKILL.md +92 -0
  357. package/templates/engine/.agents/skills/review-method/golden-set.md +61 -0
  358. package/templates/engine/.agents/skills/session-resume/SKILL.md +69 -0
  359. package/templates/engine/.agents/skills/session-resume/scripts/worktree-audit.mjs +110 -0
  360. package/templates/engine/.agents/skills/shipyard-workflow-closeout/SKILL.md +109 -0
  361. package/templates/engine/.agents/skills/show-me-your-work/SKILL.md +57 -0
  362. package/templates/engine/.agents/skills/show-me-your-work/references/decision-log-template.tsv +1 -0
  363. package/templates/engine/.agents/skills/show-me-your-work/scripts/decision-log.mjs +24 -0
  364. package/templates/engine/.agents/skills/tfs-pr/SKILL.md +95 -0
  365. package/templates/engine/.agents/skills/tfs-pr/scripts/tfs-pr.mjs +947 -0
  366. package/templates/engine/.agents/skills/verify-ui/SKILL.md +116 -0
  367. package/templates/engine/.agents/skills/verify-ui/features/.gitkeep +0 -0
  368. package/templates/engine/.agents/skills/verify-ui/scripts/gen-verify-feature.mjs +114 -0
  369. package/templates/engine/.agents/skills/visual-parity/SKILL.md +35 -0
  370. package/templates/engine/.agents/skills/why/SKILL.md +56 -0
  371. package/templates/engine/.agents/skills/why/scripts/why-evidence.mjs +74 -0
  372. package/templates/engine/.agents/skills/wiki/SKILL.md +53 -0
  373. package/templates/engine/.agents/tests/auto-tour.test.mjs +82 -0
  374. package/templates/engine/.agents/tests/dev-tour-model.test.mjs +452 -0
  375. package/templates/engine/.agents/tests/fill-plan-lite.test.mjs +46 -0
  376. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-bare-mid-path.md +14 -0
  377. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-bare-mid-path.model.json +179 -0
  378. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-fake-path-guard.md +21 -0
  379. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-fake-path-guard.model.json +194 -0
  380. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-h3-batches.md +20 -0
  381. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-h3-batches.model.json +207 -0
  382. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-issues.md +24 -0
  383. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-issues.model.json +225 -0
  384. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-l1-single-file.md +15 -0
  385. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-l1-single-file.model.json +160 -0
  386. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layer-word-unique.md +29 -0
  387. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layer-word-unique.model.json +266 -0
  388. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layers-fallback.md +17 -0
  389. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layers-fallback.model.json +207 -0
  390. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-numbered-steps.md +39 -0
  391. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-numbered-steps.model.json +359 -0
  392. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-path-guess.md +16 -0
  393. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-path-guess.model.json +131 -0
  394. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-table-rows.md +29 -0
  395. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-table-rows.model.json +190 -0
  396. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-task-checkboxes.md +39 -0
  397. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-task-checkboxes.model.json +362 -0
  398. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-union-label.md +24 -0
  399. package/templates/engine/.agents/tests/fixtures/dev-tour/plan-union-label.model.json +224 -0
  400. package/templates/engine/.agents/tests/tools/gen-synthetic-plan.mjs +108 -0
  401. package/templates/git/.gitattributes +22 -0
  402. package/templates/git/.githooks/commit-msg +72 -0
  403. package/templates/git/.githooks/post-commit +62 -0
  404. package/templates/git/.githooks/pre-commit +197 -0
  405. package/templates/git/.githooks/pre-merge-commit +28 -0
  406. package/templates/git/.githooks/pre-push +201 -0
  407. package/templates/git/.gitignore.engine +11 -0
  408. package/templates/hosts/claude/CLAUDE.md +55 -0
  409. package/templates/hosts/claude/agents/implementer.md +7 -0
  410. package/templates/hosts/claude/agents/independent-reviewer.md +8 -0
  411. package/templates/hosts/claude/agents/pr-adjudicator.md +8 -0
  412. package/templates/hosts/claude/agents/pr-finder.md +8 -0
  413. package/templates/hosts/claude/agents/pr-verifier.md +8 -0
  414. package/templates/hosts/claude/agents/ui-verifier.md +8 -0
  415. package/templates/hosts/claude/agents/wiki-compiler.md +8 -0
  416. package/templates/hosts/claude/commands/wf-deploy.md +10 -0
  417. package/templates/hosts/claude/commands/wf-maintain.md +10 -0
  418. package/templates/hosts/claude/commands/wf-new-task.md +10 -0
  419. package/templates/hosts/claude/commands/wf-pipeline-run.md +10 -0
  420. package/templates/hosts/claude/commands/wf-pr-review.md +10 -0
  421. package/templates/hosts/claude/commands/wf-review.md +10 -0
  422. package/templates/hosts/claude/commands/wf-stages.md +10 -0
  423. package/templates/hosts/claude/settings.json +57 -0
  424. package/templates/hosts/cline/agents/implementer.yml +15 -0
  425. package/templates/hosts/cline/agents/independent-reviewer.yml +20 -0
  426. package/templates/hosts/cline/agents/pr-adjudicator.yml +18 -0
  427. package/templates/hosts/cline/agents/pr-finder.yml +19 -0
  428. package/templates/hosts/cline/agents/pr-verifier.yml +18 -0
  429. package/templates/hosts/cline/agents/ui-verifier.yml +17 -0
  430. package/templates/hosts/cline/agents/wiki-compiler.yml +20 -0
  431. package/templates/hosts/cline/hooks/PreToolUse.cjs +260 -0
  432. package/templates/hosts/cline/workflows/wf-deploy.md +8 -0
  433. package/templates/hosts/cline/workflows/wf-maintain.md +8 -0
  434. package/templates/hosts/cline/workflows/wf-new-task.md +8 -0
  435. package/templates/hosts/cline/workflows/wf-pipeline-run.md +8 -0
  436. package/templates/hosts/cline/workflows/wf-pr-review.md +8 -0
  437. package/templates/hosts/cline/workflows/wf-review.md +8 -0
  438. package/templates/hosts/cline/workflows/wf-stages.md +8 -0
  439. package/templates/hosts/codebuddy/CODEBUDDY.md +7 -0
  440. package/templates/hosts/codebuddy/agents/implementer.md +9 -0
  441. package/templates/hosts/codebuddy/agents/independent-reviewer.md +10 -0
  442. package/templates/hosts/codebuddy/agents/pr-adjudicator.md +10 -0
  443. package/templates/hosts/codebuddy/agents/pr-finder.md +10 -0
  444. package/templates/hosts/codebuddy/agents/pr-verifier.md +10 -0
  445. package/templates/hosts/codebuddy/agents/ui-verifier.md +11 -0
  446. package/templates/hosts/codebuddy/agents/wiki-compiler.md +10 -0
  447. package/templates/hosts/codebuddy/commands/wf-deploy.md +10 -0
  448. package/templates/hosts/codebuddy/commands/wf-maintain.md +10 -0
  449. package/templates/hosts/codebuddy/commands/wf-new-task.md +10 -0
  450. package/templates/hosts/codebuddy/commands/wf-pipeline-run.md +10 -0
  451. package/templates/hosts/codebuddy/commands/wf-pr-review.md +10 -0
  452. package/templates/hosts/codebuddy/commands/wf-review.md +10 -0
  453. package/templates/hosts/codebuddy/commands/wf-stages.md +10 -0
  454. package/templates/hosts/codebuddy/rules/backend-scope.md +5 -0
  455. package/templates/hosts/codebuddy/rules/frontend-scope.md +5 -0
  456. package/templates/hosts/codebuddy/settings.json +31 -0
  457. package/templates/hosts/codebuddy/skills/tfs-pr/SKILL.md +6 -0
  458. package/templates/hosts/commandcode/agents/implementer.md +10 -0
  459. package/templates/hosts/commandcode/agents/independent-reviewer.md +9 -0
  460. package/templates/hosts/commandcode/agents/pr-adjudicator.md +9 -0
  461. package/templates/hosts/commandcode/agents/pr-finder.md +9 -0
  462. package/templates/hosts/commandcode/agents/pr-verifier.md +9 -0
  463. package/templates/hosts/commandcode/agents/ui-verifier.md +11 -0
  464. package/templates/hosts/commandcode/agents/wiki-compiler.md +10 -0
  465. package/templates/hosts/commandcode/commands/wf-deploy.md +9 -0
  466. package/templates/hosts/commandcode/commands/wf-maintain.md +9 -0
  467. package/templates/hosts/commandcode/commands/wf-new-task.md +9 -0
  468. package/templates/hosts/commandcode/commands/wf-pipeline-run.md +9 -0
  469. package/templates/hosts/commandcode/commands/wf-pr-review.md +9 -0
  470. package/templates/hosts/commandcode/commands/wf-review.md +9 -0
  471. package/templates/hosts/commandcode/commands/wf-stages.md +9 -0
  472. package/templates/hosts/commandcode/settings.json +59 -0
  473. package/templates/hosts/opencode/agents/implementer.md +51 -0
  474. package/templates/hosts/opencode/agents/independent-reviewer.md +18 -0
  475. package/templates/hosts/opencode/agents/pr-adjudicator.md +18 -0
  476. package/templates/hosts/opencode/agents/pr-finder.md +18 -0
  477. package/templates/hosts/opencode/agents/pr-verifier.md +18 -0
  478. package/templates/hosts/opencode/agents/ui-verifier.md +45 -0
  479. package/templates/hosts/opencode/agents/wiki-compiler.md +51 -0
  480. package/templates/hosts/opencode/commands/wf-deploy.md +7 -0
  481. package/templates/hosts/opencode/commands/wf-maintain.md +7 -0
  482. package/templates/hosts/opencode/commands/wf-new-task.md +7 -0
  483. package/templates/hosts/opencode/commands/wf-pipeline-run.md +7 -0
  484. package/templates/hosts/opencode/commands/wf-pr-review.md +7 -0
  485. package/templates/hosts/opencode/commands/wf-review.md +7 -0
  486. package/templates/hosts/opencode/commands/wf-stages.md +7 -0
  487. package/templates/hosts/pi/agents/implementer.md +10 -0
  488. package/templates/hosts/pi/agents/independent-reviewer.md +11 -0
  489. package/templates/hosts/pi/agents/pr-adjudicator.md +11 -0
  490. package/templates/hosts/pi/agents/pr-finder.md +10 -0
  491. package/templates/hosts/pi/agents/pr-verifier.md +10 -0
  492. package/templates/hosts/pi/agents/ui-verifier.md +10 -0
  493. package/templates/hosts/pi/agents/wiki-compiler.md +10 -0
  494. package/templates/hosts/pi/extensions/lib/gates-core.cjs +196 -0
  495. package/templates/hosts/pi/extensions/shipyard-gates.ts +95 -0
  496. package/templates/hosts/pi/settings.json +5 -0
  497. package/templates/hosts/qoder/agents/implementer.md +9 -0
  498. package/templates/hosts/qoder/agents/independent-reviewer.md +10 -0
  499. package/templates/hosts/qoder/agents/pr-adjudicator.md +10 -0
  500. package/templates/hosts/qoder/agents/pr-finder.md +10 -0
  501. package/templates/hosts/qoder/agents/pr-verifier.md +10 -0
  502. package/templates/hosts/qoder/agents/ui-verifier.md +10 -0
  503. package/templates/hosts/qoder/agents/wiki-compiler.md +10 -0
  504. package/templates/hosts/qoder/commands/wf-deploy.md +8 -0
  505. package/templates/hosts/qoder/commands/wf-maintain.md +8 -0
  506. package/templates/hosts/qoder/commands/wf-new-task.md +8 -0
  507. package/templates/hosts/qoder/commands/wf-pipeline-run.md +8 -0
  508. package/templates/hosts/qoder/commands/wf-pr-review.md +8 -0
  509. package/templates/hosts/qoder/commands/wf-review.md +8 -0
  510. package/templates/hosts/qoder/commands/wf-stages.md +8 -0
  511. package/templates/hosts/qoder/settings.json +63 -0
  512. package/templates/hosts/qwen/agents/implementer.md +8 -0
  513. package/templates/hosts/qwen/agents/independent-reviewer.md +8 -0
  514. package/templates/hosts/qwen/agents/pr-adjudicator.md +8 -0
  515. package/templates/hosts/qwen/agents/pr-finder.md +8 -0
  516. package/templates/hosts/qwen/agents/pr-verifier.md +8 -0
  517. package/templates/hosts/qwen/agents/ui-verifier.md +8 -0
  518. package/templates/hosts/qwen/agents/wiki-compiler.md +11 -0
  519. package/templates/hosts/qwen/commands/wf-deploy.md +9 -0
  520. package/templates/hosts/qwen/commands/wf-maintain.md +9 -0
  521. package/templates/hosts/qwen/commands/wf-new-task.md +9 -0
  522. package/templates/hosts/qwen/commands/wf-pipeline-run.md +9 -0
  523. package/templates/hosts/qwen/commands/wf-pr-review.md +9 -0
  524. package/templates/hosts/qwen/commands/wf-review.md +9 -0
  525. package/templates/hosts/qwen/commands/wf-stages.md +9 -0
  526. package/templates/hosts/qwen/settings.json +59 -0
  527. package/templates/hosts/trae/agents/implementer.md +9 -0
  528. package/templates/hosts/trae/agents/independent-reviewer.md +10 -0
  529. package/templates/hosts/trae/agents/pr-adjudicator.md +10 -0
  530. package/templates/hosts/trae/agents/pr-finder.md +10 -0
  531. package/templates/hosts/trae/agents/pr-verifier.md +10 -0
  532. package/templates/hosts/trae/agents/ui-verifier.md +10 -0
  533. package/templates/hosts/trae/agents/wiki-compiler.md +10 -0
  534. package/templates/hosts/trae/commands/wf-deploy.md +8 -0
  535. package/templates/hosts/trae/commands/wf-maintain.md +8 -0
  536. package/templates/hosts/trae/commands/wf-new-task.md +8 -0
  537. package/templates/hosts/trae/commands/wf-pipeline-run.md +8 -0
  538. package/templates/hosts/trae/commands/wf-pr-review.md +8 -0
  539. package/templates/hosts/trae/commands/wf-review.md +8 -0
  540. package/templates/hosts/trae/commands/wf-stages.md +8 -0
  541. package/templates/hosts/trae/hooks.json +17 -0
  542. package/templates/hosts/trae/rules/backend-scope.md +5 -0
  543. package/templates/hosts/trae/rules/frontend-scope.md +5 -0
  544. package/templates/hosts/zcode/agents/implementer.md +8 -0
  545. package/templates/hosts/zcode/agents/independent-reviewer.md +8 -0
  546. package/templates/hosts/zcode/agents/ui-verifier.md +8 -0
  547. package/templates/hosts/zcode/agents/wiki-compiler.md +8 -0
  548. package/templates/hosts/zcode/config.json +31 -0
  549. package/templates/hosts/zcode/workflows/code-review.dwf.ts +428 -0
  550. package/templates/hosts/zcode/workflows/fullchain-flow-test.dwf.ts +898 -0
  551. package/templates/profiles/dotnet/.agents/config/lane-surfaces.txt +33 -0
  552. package/templates/profiles/dotnet/.agents/config/rule-budgets.txt +84 -0
  553. package/templates/profiles/dotnet/.agents/config/test-impact-map.json +590 -0
  554. package/templates/profiles/dotnet/.agents/config/workflow-modules.txt +18 -0
  555. package/templates/profiles/dotnet/.agents/hooks/commit-check.config.json +18 -0
  556. package/templates/profiles/dotnet/.agents/hooks/delete-guard-allowlist.txt +28 -0
  557. package/templates/profiles/dotnet/.agents/notes/runtime-env.md +178 -0
  558. package/templates/profiles/dotnet/AGENTS.md +52 -0
  559. package/templates/profiles/empty/.agents/config/lane-surfaces.txt +12 -0
  560. package/templates/profiles/empty/.agents/config/rule-budgets.txt +3 -0
  561. package/templates/profiles/empty/.agents/config/test-impact-map.json +8 -0
  562. package/templates/profiles/empty/.agents/config/workflow-modules.txt +2 -0
  563. package/templates/profiles/empty/.agents/hooks/commit-check.config.json +5 -0
  564. package/templates/profiles/empty/.agents/hooks/delete-guard-allowlist.txt +2 -0
  565. package/templates/profiles/empty/.agents/notes/runtime-env.md +44 -0
  566. package/templates/profiles/empty/AGENTS.md +52 -0
  567. package/templates/profiles/node/.agents/config/lane-surfaces.txt +12 -0
  568. package/templates/profiles/node/.agents/config/rule-budgets.txt +3 -0
  569. package/templates/profiles/node/.agents/config/test-impact-map.json +8 -0
  570. package/templates/profiles/node/.agents/config/workflow-modules.txt +2 -0
  571. package/templates/profiles/node/.agents/hooks/commit-check.config.json +5 -0
  572. package/templates/profiles/node/.agents/hooks/delete-guard-allowlist.txt +2 -0
  573. package/templates/profiles/node/.agents/notes/runtime-env.md +44 -0
  574. package/templates/profiles/node/AGENTS.md +52 -0
  575. package/templates/scaffold/wiki/INDEX.md +33 -0
  576. package/templates/scaffold/wiki/drafts-archive/README.md +7 -0
  577. package/templates/scaffold/wiki//344/272/247/345/223/201/351/234/200/346/261/202/.gitkeep +0 -0
  578. package/templates/scaffold/wiki//345/274/200/345/217/221/346/226/271/346/241/210/.gitkeep +0 -0
  579. package/templates/scaffold/wiki//346/225/260/346/215/256/347/273/264/346/212/244/README.md +22 -0
  580. package/templates/scaffold/wiki//346/265/213/350/257/225/346/212/245/345/221/212/.gitkeep +0 -0
  581. package/templates/scaffold/wiki//347/224/250/346/210/267/345/212/237/350/203/275/.gitkeep +0 -0
  582. package/templates/scaffold/wiki//347/237/245/350/257/206/346/262/211/346/267/200/346/200/273/350/247/210.html +230 -0
  583. package/templates/scaffold/wiki//351/241/271/347/233/256/350/247/204/350/214/203/.gitkeep +0 -0
  584. package/templates/scaffold/workflow/INDEX.md +13 -0
  585. package/templates/scaffold/workflow/README.md +67 -0
  586. package/templates/scaffold/workflow/archive/README.md +3 -0
  587. package/templates/scaffold/workflow/delegations.d/.gitkeep +0 -0
  588. package/templates/scaffold/workflow/delegations.md +4 -0
  589. package/templates/scaffold/workflow/effective-policy.md +4 -0
  590. package/templates/scaffold/workflow/evidence/.gitkeep +0 -0
  591. package/templates/scaffold/workflow/gate-cost.md +4 -0
  592. package/templates/scaffold/workflow/gate-metrics.d/.gitkeep +0 -0
  593. package/templates/scaffold/workflow/incidents/_TEMPLATE.md +49 -0
  594. package/templates/scaffold/workflow/intents/_TEMPLATE.md +43 -0
  595. package/templates/scaffold/workflow/metrics.md +4 -0
  596. package/templates/scaffold/workflow/papercuts.d/.gitkeep +0 -0
  597. package/templates/scaffold/workflow/papercuts.md +3 -0
  598. package/templates/scaffold/workflow/plans/_TEMPLATE.md +47 -0
  599. package/templates/scaffold/workflow/regression-checklist.d/.gitkeep +0 -0
  600. package/templates/scaffold/workflow/regression-checklist.md +3 -0
  601. package/templates/scaffold/workflow/research/.gitkeep +0 -0
  602. package/templates/scaffold/workflow/reviews.d/.gitkeep +0 -0
  603. package/templates/scaffold/workflow/specs/_TEMPLATE.md +87 -0
  604. package/templates/scaffold/workflow/verify-evidence/.gitkeep +0 -0
  605. package/templates/scaffold/workflow/verify-evidence.md +4 -0
  606. package/LICENSE +0 -21
  607. package/modules/gates/README.md +0 -25
  608. package/modules/gates/dotnet-ca/README.md +0 -24
  609. package/modules/gates/dotnet-ca/check-architecture.sh +0 -150
  610. package/modules/gates/dotnet-ca/local-pre-commit.line +0 -1
  611. package/modules/gates/generated-readonly/README.md +0 -13
  612. package/modules/gates/generated-readonly/check-generated.mjs +0 -61
  613. package/modules/gates/generated-readonly/local-pre-commit.line +0 -1
  614. package/modules/gates/node-layer/README.md +0 -9
  615. package/modules/gates/node-layer/check-node-layer.mjs +0 -29
  616. package/modules/gates/node-layer/local-pre-commit.line +0 -1
  617. package/modules/gates/py-import/README.md +0 -9
  618. package/modules/gates/py-import/check-py-import.mjs +0 -30
  619. package/modules/gates/py-import/local-pre-commit.line +0 -1
  620. package/modules/gates/test-protect/README.md +0 -23
  621. package/modules/gates/test-protect/check-test-protect.mjs +0 -64
  622. package/modules/gates/test-protect/local-pre-commit.line +0 -1
  623. package/modules/hosts/README.md +0 -57
  624. package/modules/hosts/claude/agents/implementer.md +0 -51
  625. package/modules/hosts/claude/agents/independent-reviewer.md +0 -49
  626. package/modules/hosts/claude/agents/ui-verifier.md +0 -48
  627. package/modules/hosts/claude/commands/wf-build.md +0 -69
  628. package/modules/hosts/claude/commands/wf-deploy.md +0 -58
  629. package/modules/hosts/claude/commands/wf-design.md +0 -49
  630. package/modules/hosts/claude/commands/wf-gate-checklist.md +0 -77
  631. package/modules/hosts/claude/commands/wf-maintain.md +0 -76
  632. package/modules/hosts/claude/commands/wf-new-task.md +0 -102
  633. package/modules/hosts/claude/commands/wf-pipeline-run.md +0 -35
  634. package/modules/hosts/claude/commands/wf-plan.md +0 -40
  635. package/modules/hosts/claude/commands/wf-review.md +0 -49
  636. package/modules/hosts/claude/commands/wf-sync-hosts.md +0 -64
  637. package/modules/hosts/claude/commands/wf-test.md +0 -68
  638. package/modules/hosts/codex/agents/implementer.md +0 -51
  639. package/modules/hosts/codex/agents/independent-reviewer.md +0 -49
  640. package/modules/hosts/codex/agents/ui-verifier.md +0 -48
  641. package/modules/hosts/codex/commands/wf-build.md +0 -69
  642. package/modules/hosts/codex/commands/wf-deploy.md +0 -58
  643. package/modules/hosts/codex/commands/wf-design.md +0 -49
  644. package/modules/hosts/codex/commands/wf-gate-checklist.md +0 -77
  645. package/modules/hosts/codex/commands/wf-maintain.md +0 -76
  646. package/modules/hosts/codex/commands/wf-new-task.md +0 -102
  647. package/modules/hosts/codex/commands/wf-pipeline-run.md +0 -35
  648. package/modules/hosts/codex/commands/wf-plan.md +0 -40
  649. package/modules/hosts/codex/commands/wf-review.md +0 -49
  650. package/modules/hosts/codex/commands/wf-sync-hosts.md +0 -64
  651. package/modules/hosts/codex/commands/wf-test.md +0 -68
  652. package/modules/hosts/codex/skills/flow-kit/SKILL.md +0 -14
  653. package/modules/hosts/cursor/agents/implementer.md +0 -51
  654. package/modules/hosts/cursor/agents/independent-reviewer.md +0 -49
  655. package/modules/hosts/cursor/agents/ui-verifier.md +0 -48
  656. package/modules/hosts/cursor/commands/wf-build.md +0 -69
  657. package/modules/hosts/cursor/commands/wf-deploy.md +0 -58
  658. package/modules/hosts/cursor/commands/wf-design.md +0 -49
  659. package/modules/hosts/cursor/commands/wf-gate-checklist.md +0 -77
  660. package/modules/hosts/cursor/commands/wf-maintain.md +0 -76
  661. package/modules/hosts/cursor/commands/wf-new-task.md +0 -102
  662. package/modules/hosts/cursor/commands/wf-pipeline-run.md +0 -35
  663. package/modules/hosts/cursor/commands/wf-plan.md +0 -40
  664. package/modules/hosts/cursor/commands/wf-review.md +0 -49
  665. package/modules/hosts/cursor/commands/wf-sync-hosts.md +0 -64
  666. package/modules/hosts/cursor/commands/wf-test.md +0 -68
  667. package/modules/hosts/omp/agents/implementer.md +0 -52
  668. package/modules/hosts/omp/agents/independent-reviewer.md +0 -50
  669. package/modules/hosts/omp/agents/ui-verifier.md +0 -49
  670. package/modules/hosts/opencode/agents/implementer.md +0 -59
  671. package/modules/hosts/opencode/agents/independent-reviewer.md +0 -53
  672. package/modules/hosts/opencode/agents/ui-verifier.md +0 -52
  673. package/modules/hosts/opencode/commands/wf-build.md +0 -69
  674. package/modules/hosts/opencode/commands/wf-deploy.md +0 -58
  675. package/modules/hosts/opencode/commands/wf-design.md +0 -49
  676. package/modules/hosts/opencode/commands/wf-gate-checklist.md +0 -77
  677. package/modules/hosts/opencode/commands/wf-maintain.md +0 -76
  678. package/modules/hosts/opencode/commands/wf-new-task.md +0 -102
  679. package/modules/hosts/opencode/commands/wf-pipeline-run.md +0 -35
  680. package/modules/hosts/opencode/commands/wf-plan.md +0 -40
  681. package/modules/hosts/opencode/commands/wf-review.md +0 -49
  682. package/modules/hosts/opencode/commands/wf-sync-hosts.md +0 -64
  683. package/modules/hosts/opencode/commands/wf-test.md +0 -68
  684. package/modules/hosts/trae/agents/implementer.md +0 -52
  685. package/modules/hosts/trae/agents/independent-reviewer.md +0 -51
  686. package/modules/hosts/trae/agents/ui-verifier.md +0 -50
  687. package/modules/hosts/trae/commands/wf-build.md +0 -70
  688. package/modules/hosts/trae/commands/wf-deploy.md +0 -59
  689. package/modules/hosts/trae/commands/wf-design.md +0 -50
  690. package/modules/hosts/trae/commands/wf-gate-checklist.md +0 -78
  691. package/modules/hosts/trae/commands/wf-maintain.md +0 -77
  692. package/modules/hosts/trae/commands/wf-new-task.md +0 -103
  693. package/modules/hosts/trae/commands/wf-pipeline-run.md +0 -36
  694. package/modules/hosts/trae/commands/wf-plan.md +0 -41
  695. package/modules/hosts/trae/commands/wf-review.md +0 -50
  696. package/modules/hosts/trae/commands/wf-sync-hosts.md +0 -65
  697. package/modules/hosts/trae/commands/wf-test.md +0 -69
  698. package/modules/hosts/trae/hooks/post-edit-check.cjs +0 -98
  699. package/modules/hosts/trae/hooks/pre-shell-check.cjs +0 -192
  700. package/modules/hosts/trae/hooks/resolve-shell.cjs +0 -30
  701. package/modules/hosts/trae/hooks.json +0 -29
  702. package/modules/hosts/trae/rules/beautify-input-chinese.md +0 -6
  703. package/modules/hosts/trae/rules/git-commit-message.md +0 -10
  704. package/modules/hosts/trae/rules/project-workflow.md +0 -14
  705. package/modules/hosts/zcode/agents/implementer.md +0 -51
  706. package/modules/hosts/zcode/agents/independent-reviewer.md +0 -49
  707. package/modules/hosts/zcode/agents/ui-verifier.md +0 -48
  708. package/src/add-gate.mjs +0 -116
  709. package/src/add-gate.test.mjs +0 -103
  710. package/src/add-host.mjs +0 -68
  711. package/src/cli.mjs +0 -169
  712. package/src/doctor.mjs +0 -629
  713. package/src/executor.mjs +0 -262
  714. package/src/executor.test.mjs +0 -295
  715. package/src/fresh-init.test.mjs +0 -64
  716. package/src/gate-dotnet-ca.test.mjs +0 -124
  717. package/src/gates.test.mjs +0 -143
  718. package/src/init.mjs +0 -382
  719. package/src/init.test.mjs +0 -163
  720. package/src/instance-ref.test.mjs +0 -62
  721. package/src/jscpd-drift.test.mjs +0 -144
  722. package/src/pack.test.mjs +0 -24
  723. package/src/profiles.mjs +0 -183
  724. package/src/render.mjs +0 -132
  725. package/src/rule-budget.test.mjs +0 -103
  726. package/src/run-tests.mjs +0 -56
  727. package/src/stack-profile.test.mjs +0 -95
  728. package/src/sync-hosts.mjs +0 -257
  729. package/src/sync-hosts.test.mjs +0 -291
  730. package/src/sync.mjs +0 -228
  731. package/src/sync.test.mjs +0 -452
  732. package/src/trae-hooks.test.mjs +0 -127
  733. package/src/validate.mjs +0 -77
  734. package/src/validate.test.mjs +0 -95
  735. package/templates/.gitattributes +0 -17
  736. package/templates/AGENTS.md +0 -57
  737. package/templates/_agents/board/index.html +0 -676
  738. package/templates/_agents/commands/build.md +0 -84
  739. package/templates/_agents/commands/deploy.md +0 -66
  740. package/templates/_agents/commands/design.md +0 -63
  741. package/templates/_agents/commands/gate-checklist.md +0 -91
  742. package/templates/_agents/commands/maintain.md +0 -90
  743. package/templates/_agents/commands/new-task.md +0 -110
  744. package/templates/_agents/commands/pipeline-run.md +0 -43
  745. package/templates/_agents/commands/plan.md +0 -48
  746. package/templates/_agents/commands/review.md +0 -62
  747. package/templates/_agents/commands/sync-hosts.md +0 -77
  748. package/templates/_agents/commands/test.md +0 -87
  749. package/templates/_agents/control-surfaces.txt +0 -53
  750. package/templates/_agents/engine-lock.json +0 -342
  751. package/templates/_agents/hooks/check-index-incremental.mjs +0 -48
  752. package/templates/_agents/hooks/check-pairing-incremental.mjs +0 -66
  753. package/templates/_agents/hooks/check-wiki-ledger.mjs +0 -30
  754. package/templates/_agents/hooks/commit-check.cjs +0 -193
  755. package/templates/_agents/hooks/local-pre-commit +0 -6
  756. package/templates/_agents/lane-surfaces.txt +0 -17
  757. package/templates/_agents/level-hints.txt +0 -30
  758. package/templates/_agents/loop/papercut-debt/DESIGN.md +0 -112
  759. package/templates/_agents/mechanism-registry.md +0 -27
  760. package/templates/_agents/metric-claims.txt +0 -81
  761. package/templates/_agents/notes/engine-internals.md +0 -17
  762. package/templates/_agents/notes/runtime-env.md +0 -18
  763. package/templates/_agents/roles/implementer.md +0 -47
  764. package/templates/_agents/roles/independent-reviewer.md +0 -45
  765. package/templates/_agents/roles/ui-verifier.md +0 -44
  766. package/templates/_agents/rule-budgets.txt +0 -18
  767. package/templates/_agents/scripts/agg-delegations.cjs +0 -302
  768. package/templates/_agents/scripts/agg-delegations.test.mjs +0 -282
  769. package/templates/_agents/scripts/agg-gate-stats.mjs +0 -113
  770. package/templates/_agents/scripts/agg-gate-stats.test.mjs +0 -95
  771. package/templates/_agents/scripts/agg-judgments.mjs +0 -156
  772. package/templates/_agents/scripts/agg-judgments.test.mjs +0 -93
  773. package/templates/_agents/scripts/archive-sweep.mjs +0 -235
  774. package/templates/_agents/scripts/archive-sweep.test.mjs +0 -129
  775. package/templates/_agents/scripts/check-attribution.mjs +0 -37
  776. package/templates/_agents/scripts/check-convergence.mjs +0 -124
  777. package/templates/_agents/scripts/check-engine-integrity.mjs +0 -220
  778. package/templates/_agents/scripts/check-engine-integrity.test.mjs +0 -215
  779. package/templates/_agents/scripts/check-funnel.mjs +0 -56
  780. package/templates/_agents/scripts/check-hygiene.mjs +0 -167
  781. package/templates/_agents/scripts/check-hygiene.test.mjs +0 -182
  782. package/templates/_agents/scripts/check-index-incremental.test.mjs +0 -73
  783. package/templates/_agents/scripts/check-lane-surface.mjs +0 -238
  784. package/templates/_agents/scripts/check-lane-surface.test.mjs +0 -302
  785. package/templates/_agents/scripts/check-ledger-invariant.mjs +0 -527
  786. package/templates/_agents/scripts/check-ledger-invariant.test.mjs +0 -639
  787. package/templates/_agents/scripts/check-loop-rev.test.mjs +0 -336
  788. package/templates/_agents/scripts/check-loop-unit.test.mjs +0 -103
  789. package/templates/_agents/scripts/check-loop.mjs +0 -1958
  790. package/templates/_agents/scripts/check-loop.sh +0 -6
  791. package/templates/_agents/scripts/check-loop.test.mjs +0 -3875
  792. package/templates/_agents/scripts/check-metric-claims.mjs +0 -277
  793. package/templates/_agents/scripts/check-prejudgment.mjs +0 -64
  794. package/templates/_agents/scripts/check-registry.mjs +0 -45
  795. package/templates/_agents/scripts/check-scope.mjs +0 -96
  796. package/templates/_agents/scripts/check-scope.test.mjs +0 -96
  797. package/templates/_agents/scripts/check-scripts-syntax.mjs +0 -61
  798. package/templates/_agents/scripts/check-scripts-syntax.test.mjs +0 -72
  799. package/templates/_agents/scripts/check-spec-verif.mjs +0 -47
  800. package/templates/_agents/scripts/check-stage-index.mjs +0 -40
  801. package/templates/_agents/scripts/check-stage-index.test.mjs +0 -77
  802. package/templates/_agents/scripts/closeout-l1.mjs +0 -217
  803. package/templates/_agents/scripts/closeout-l1.test.mjs +0 -105
  804. package/templates/_agents/scripts/commit-check-trigger.test.mjs +0 -205
  805. package/templates/_agents/scripts/compact-ledgers.mjs +0 -97
  806. package/templates/_agents/scripts/compact-ledgers.test.mjs +0 -162
  807. package/templates/_agents/scripts/confirm-doc.mjs +0 -603
  808. package/templates/_agents/scripts/confirm-doc.test.mjs +0 -1103
  809. package/templates/_agents/scripts/doctor.test.mjs +0 -770
  810. package/templates/_agents/scripts/draft-sediment.mjs +0 -178
  811. package/templates/_agents/scripts/draft-sediment.test.mjs +0 -272
  812. package/templates/_agents/scripts/edit-face-check.mjs +0 -109
  813. package/templates/_agents/scripts/edit-face-check.test.mjs +0 -99
  814. package/templates/_agents/scripts/ensure-board.mjs +0 -185
  815. package/templates/_agents/scripts/fill-intent.mjs +0 -91
  816. package/templates/_agents/scripts/fill-intent.test.mjs +0 -113
  817. package/templates/_agents/scripts/fill-plan.mjs +0 -79
  818. package/templates/_agents/scripts/fill-plan.test.mjs +0 -224
  819. package/templates/_agents/scripts/fill-spec.mjs +0 -70
  820. package/templates/_agents/scripts/fill-spec.test.mjs +0 -266
  821. package/templates/_agents/scripts/fixture-scripts.mjs +0 -153
  822. package/templates/_agents/scripts/fixture-scripts.test.mjs +0 -112
  823. package/templates/_agents/scripts/gate-checklist.mjs +0 -209
  824. package/templates/_agents/scripts/gate-checklist.test.mjs +0 -201
  825. package/templates/_agents/scripts/gate-seg.mjs +0 -54
  826. package/templates/_agents/scripts/gate-seg.test.mjs +0 -112
  827. package/templates/_agents/scripts/gen-effective-policy.mjs +0 -107
  828. package/templates/_agents/scripts/gen-effective-policy.test.mjs +0 -100
  829. package/templates/_agents/scripts/gen-verify-evidence.mjs +0 -107
  830. package/templates/_agents/scripts/gen-verify-evidence.test.mjs +0 -84
  831. package/templates/_agents/scripts/gen-wiki-board.mjs +0 -276
  832. package/templates/_agents/scripts/gen-wiki-board.test.mjs +0 -249
  833. package/templates/_agents/scripts/gen-workflow-dashboard.mjs +0 -251
  834. package/templates/_agents/scripts/gen-workflow-dashboard.test.mjs +0 -188
  835. package/templates/_agents/scripts/gen-workflow-index.mjs +0 -201
  836. package/templates/_agents/scripts/gen-workflow-index.test.mjs +0 -152
  837. package/templates/_agents/scripts/gen-workflow-metrics.mjs +0 -334
  838. package/templates/_agents/scripts/gen-workflow-metrics.test.mjs +0 -224
  839. package/templates/_agents/scripts/git-merge-jsonl.mjs +0 -63
  840. package/templates/_agents/scripts/git-merge-jsonl.test.mjs +0 -125
  841. package/templates/_agents/scripts/judgment-ledger.mjs +0 -65
  842. package/templates/_agents/scripts/judgment-ledger.test.mjs +0 -129
  843. package/templates/_agents/scripts/kb-cache-evict.mjs +0 -50
  844. package/templates/_agents/scripts/kb-cache-evict.test.mjs +0 -104
  845. package/templates/_agents/scripts/kb-search.mjs +0 -413
  846. package/templates/_agents/scripts/kb-search.test.mjs +0 -299
  847. package/templates/_agents/scripts/lane-surface-audit.mjs +0 -143
  848. package/templates/_agents/scripts/lane-surface-audit.test.mjs +0 -93
  849. package/templates/_agents/scripts/ledger-doc-chain.test.mjs +0 -166
  850. package/templates/_agents/scripts/ledger-loader.mjs +0 -108
  851. package/templates/_agents/scripts/ledger-loader.test.mjs +0 -131
  852. package/templates/_agents/scripts/ledger-prune.mjs +0 -96
  853. package/templates/_agents/scripts/ledger-prune.test.mjs +0 -120
  854. package/templates/_agents/scripts/ledger-shards.mjs +0 -344
  855. package/templates/_agents/scripts/ledger-shards.test.mjs +0 -356
  856. package/templates/_agents/scripts/ledger-ts-monotonic.test.mjs +0 -135
  857. package/templates/_agents/scripts/level-criteria.mjs +0 -231
  858. package/templates/_agents/scripts/level-criteria.test.mjs +0 -281
  859. package/templates/_agents/scripts/mechanism-retire-watch.mjs +0 -183
  860. package/templates/_agents/scripts/mechanism-retire-watch.test.mjs +0 -114
  861. package/templates/_agents/scripts/papercut-debt-controller.mjs +0 -141
  862. package/templates/_agents/scripts/papercut-debt-controller.test.mjs +0 -127
  863. package/templates/_agents/scripts/papercut-debt-sensor.mjs +0 -170
  864. package/templates/_agents/scripts/papercut-debt-sensor.test.mjs +0 -146
  865. package/templates/_agents/scripts/pipeline-run-docs.mjs +0 -76
  866. package/templates/_agents/scripts/pipeline-run-run.mjs +0 -63
  867. package/templates/_agents/scripts/pipeline-run.mjs +0 -867
  868. package/templates/_agents/scripts/pipeline-run.test.mjs +0 -517
  869. package/templates/_agents/scripts/policy.mjs +0 -281
  870. package/templates/_agents/scripts/pre-push.test.mjs +0 -105
  871. package/templates/_agents/scripts/resolve-merge-conflicts.mjs +0 -110
  872. package/templates/_agents/scripts/resolve-merge-conflicts.test.mjs +0 -87
  873. package/templates/_agents/scripts/rewrite-file.mjs +0 -133
  874. package/templates/_agents/scripts/rewrite-file.test.mjs +0 -148
  875. package/templates/_agents/scripts/rule-budget.mjs +0 -96
  876. package/templates/_agents/scripts/rule-budget.test.mjs +0 -118
  877. package/templates/_agents/scripts/run-tests.mjs +0 -99
  878. package/templates/_agents/scripts/run-tests.test.mjs +0 -105
  879. package/templates/_agents/scripts/solidify-task.mjs +0 -107
  880. package/templates/_agents/scripts/solidify-task.test.mjs +0 -129
  881. package/templates/_agents/scripts/stage-gates.mjs +0 -343
  882. package/templates/_agents/scripts/stage-gates.test.mjs +0 -105
  883. package/templates/_agents/scripts/trust-mode.mjs +0 -67
  884. package/templates/_agents/scripts/trust-mode.test.mjs +0 -110
  885. package/templates/_agents/scripts/verify-wiki-consistency.mjs +0 -253
  886. package/templates/_agents/scripts/verify-wiki-consistency.test.mjs +0 -123
  887. package/templates/_agents/scripts/verify.mjs +0 -210
  888. package/templates/_agents/scripts/verify.test.mjs +0 -358
  889. package/templates/_agents/scripts/wf-journal.mjs +0 -231
  890. package/templates/_agents/scripts/wf-journal.test.mjs +0 -216
  891. package/templates/_agents/scripts/wiki-search.mjs +0 -19
  892. package/templates/_agents/scripts/wiki-search.test.mjs +0 -57
  893. package/templates/_agents/scripts/workflow-board-server.mjs +0 -393
  894. package/templates/_agents/scripts/workflow-board-server.test.mjs +0 -201
  895. package/templates/_agents/scripts/workflow-enums.mjs +0 -70
  896. package/templates/_agents/scripts/workflow-enums.test.mjs +0 -118
  897. package/templates/_agents/scripts/workflows-check.mjs +0 -260
  898. package/templates/_agents/scripts/workflows-check.test.mjs +0 -278
  899. package/templates/_agents/scripts-test-exempt.txt +0 -16
  900. package/templates/_agents/skills/papercut-fix/SKILL.md +0 -60
  901. package/templates/_agents/skills/papercut-fix/references/response-template.md +0 -81
  902. package/templates/_agents/skills/review-method/SKILL.md +0 -55
  903. package/templates/_agents/skills/verify-ui/SKILL.md +0 -61
  904. package/templates/_agents/skills/wiki/SKILL.md +0 -106
  905. package/templates/_agents/workflow-enums.txt +0 -26
  906. package/templates/_agents/workflow-modules.txt +0 -11
  907. package/templates/_agents/workflows/_TEMPLATE.md +0 -75
  908. package/templates/_agents/workflows/pipeline-closing.md +0 -28
  909. package/templates/_agents/workflows//347/244/272/344/276/213-/345/271/266/350/241/214/345/256/236/347/216/260/350/257/204/345/256/241.md +0 -16
  910. package/templates/_githooks/commit-msg +0 -17
  911. package/templates/_githooks/post-commit +0 -10
  912. package/templates/_githooks/pre-commit +0 -126
  913. package/templates/_githooks/pre-merge-commit +0 -29
  914. package/templates/_githooks/pre-push +0 -136
  915. package/templates/_github/workflows/kit-ci.yml +0 -49
  916. package/templates/wiki/INDEX.md +0 -73
  917. package/templates/wiki/drafts-archive/README.md +0 -3
  918. package/templates/wiki//344/272/247/345/223/201/351/234/200/346/261/202/README.md +0 -3
  919. package/templates/wiki//345/274/200/345/217/221/346/226/271/346/241/210/README.md +0 -3
  920. package/templates/wiki//346/225/260/346/215/256/347/273/264/346/212/244/README.md +0 -3
  921. package/templates/wiki//346/265/213/350/257/225/346/212/245/345/221/212/README.md +0 -3
  922. package/templates/wiki//347/224/250/346/210/267/345/212/237/350/203/275/README.md +0 -3
  923. package/templates/wiki//347/237/245/350/257/206/346/262/211/346/267/200/346/200/273/350/247/210.html +0 -77
  924. package/templates/wiki//351/241/271/347/233/256/350/247/204/350/214/203/README.md +0 -3
  925. package/templates/wiki//351/241/271/347/233/256/350/256/241/345/210/222/README.md +0 -3
  926. package/templates/workflow/README.md +0 -90
  927. package/templates/workflow/delegations.md +0 -29
  928. package/templates/workflow/incidents/_TEMPLATE.md +0 -51
  929. package/templates/workflow/intents/_TEMPLATE.md +0 -46
  930. package/templates/workflow/papercuts.md +0 -9
  931. package/templates/workflow/plans/_TEMPLATE.md +0 -47
  932. package/templates/workflow/regression-checklist.md +0 -23
  933. package/templates/workflow/specs/_TEMPLATE.md +0 -80
  934. /package/templates/{_agents → engine/.agents}/board/marked.min.js +0 -0
  935. /package/templates/{_agents/workflows → engine/.agents/pipelines}/steps//347/244/272/344/276/213-/351/203/250/347/275/262/351/252/214/350/257/201.md" +0 -0
  936. /package/templates/{_agents → engine/.agents}/scripts/git-core.mjs +0 -0
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: verify-ui
3
+ description: UI 改动实测(只读验证、不留脏数据)。第一选择 chrome-devtools MCP:take_snapshot 探形 + 单步驱动 + 截图取证;harness .mjs 脚本只作回归/无人值守的降级路径,降级须在实测报告记一行原因。
4
+ ---
5
+
6
+ # verify-ui — UI 实测引导
7
+
8
+ ## 分工
9
+ - 本文件只载方法(环境 / 选点 / 证据 / 清理);执行契约(环境安全 / 禁自修 / HALT 礼仪 / 交付物形态)单源在 `.agents/roles/ui-verifier.md`。
10
+ - 委派子代理以契约为准;主智能体自测按本文件执行。
11
+
12
+ ## 触发条件
13
+ - 用户要求:`实测` / `UI 验证` / `浏览器验证`。
14
+
15
+ ## 工具路径优先级
16
+ - 交互式 UI 实测默认走 chrome-devtools MCP:浏览器实例全程复用;先 `take_snapshot` 探形,再单步驱动、局部重试。
17
+ - harness 脚本只用于:回归 / 防复发资产;批量断言汇总 + 退出码门禁(`makeRecorder`);无人值守 / 流水线批次。
18
+ - 降级阶梯(2026-11-04 立,2026-11-11 修订):chrome-devtools MCP 是第一选择,harness 探针只是降级路径。**宿主无 chrome-devtools 工具(MCP 未安装 / 未连接)**:有人值守时 HALT 并提示用户安装 / 启用 chrome-devtools MCP,不自动降级(探针太慢);无人值守 / 过夜批次才直接降级 harness headless 探针。**MCP 已装但不通**(浏览器起不来且按 runtime-env §6.4 处置后仍失败 / 关键步骤被 MCP 报错阻断):降级 harness headless 探针。凡降级须在实测报告记一行「降级原因」——无降级原因的探针实测 = 路径违规,报告不收口。
19
+ - 脚本技术细节单源 = `scripts/verify/e2e/harness.mjs`(导出清单:`grep '^export' scripts/verify/e2e/harness.mjs`);写脚本 import 其导出,禁手写等价逻辑。
20
+
21
+ ### 能力映射(harness ↔ MCP)
22
+
23
+ | 目标 | MCP | harness |
24
+ |---|---|---|
25
+ | 会话播种 | API 取 token → `evaluate_script` 写 `auth_token` / `auth_user` → `navigate_page reload` | `getToken` + `seedSession` |
26
+ | 导航 / 等待 | `navigate_page` + `wait_for` | `goto` / `hardGoto` / `reload` |
27
+ | 探形 | `take_snapshot`(a11y 树 + uid) | `inventory` / 一次性探针 |
28
+ | 驱动 | `click` / `fill` / `press_key` | `clickText` / `setInput` / `pressKey` |
29
+ | 网络采集 | `list_network_requests` | `installNetCapture` + `apiCalls` |
30
+ | 控制台采集 | `list_console_messages` | `installConsoleCapture` + `consoleErrors` |
31
+ | 度量 / 截图 | `evaluate_script` / `take_screenshot` | `ctx.evaluate` / `ctx.screenshot` |
32
+
33
+ ### 会话与采集规则(两路径同口径)
34
+ - 注入前先到达 FE origin;同文档 hash 切换不重载文档,播种后必须整页 reload。
35
+ - 缺省身份 = 所播 token 的 JWT claims;仅测「与 token 不同身份」才手工播种 `auth_user`(取登录响应的 `jobNo` / `displayName` / `dept`)。
36
+ - 合成 JWT 只适用于零授权 API 调用的页面:`exp = Math.floor(Date.now()/1000) + 1800`,禁写远期;注入后经 about:blank 中转再硬导航。
37
+ - 页面发出带 token 的 API 且 401 即被清会话弹回 `/login`:有真实数据依赖走账号池登录(账号池单源 `.agents/notes/runtime-env.md` §6.1a)。
38
+ - 请求计数剔除 OPTIONS 预检;断言取数以接口响应为准,禁数 DOM(虚拟滚动 / 虚拟列只渲染可视窗口)。
39
+ - 断「控制台零错误」前先滤应用自身噪声(AG Grid license banner、API 未起的 Network Error);过滤按内容特征,禁用 `^` 行首锚。
40
+
41
+ ### MCP 会话差异
42
+ - MCP 用持久 profile(跨轮保留 localStorage):先清 localStorage 再播种,或 `new_page` 传 `isolatedContext`。
43
+ - 报「The browser is already running for …chrome-profile」→ 按命令行含 `chrome-devtools-mcp` 杀残留进程(处置登记 runtime-env §6.4)。
44
+ - `take_screenshot` 的 `filePath` 受 MCP 工作区白名单限制(部分宿主连仓库路径与会话目录全拒,2026-10-31 实测):落盘被拒时不反复试路径,改**无 `filePath` 内联截图**留档;证据效力以 `.md` 报告的 DOM/接口断言为准(spec 验收判据本就不认图片路径)。
45
+ - `upload_file` 触发 `input[type=file]` 时仓库/会话路径同样可被白名单全拒(2026-11-07 实测):不试路径,改页面内注入——临时只读 HTTP 服务(如 `npx serve` 随机口)伺服夹具,`evaluate_script` fetch 成 File 塞 `DataTransfer` 再 `dispatchEvent(new Event('change', {bubbles:true}))` 给 antd 上传 input;注入前 `modalCount` 记 1 防旧弹窗 DOM 残留错位(MTO 弹窗关闭后残留曾致 PML 注入错位,reload 清残留)。验证:上传项 tag/预览接口收到文件行数与夹具行数一致。
46
+
47
+ ## 工作流
48
+
49
+ ### 1. 环境准备
50
+ - 按 `.agents/notes/runtime-env.md` 启动 API / 前端;记录所有启动进程。
51
+ - 多 worktree 并行:设 `SHIPYARD_SLOT` 使 API / 前端 / CDP 三组端口整体偏移(端口字面量单源 `scripts/verify/e2e/ports.mjs`,端口表见 runtime-env §6.1b)。
52
+ - 仅 harness / 降级路径自建浏览器:较新 Chromium 内核 headless(如 Edge `--headless=new`);MCP 路径浏览器实例由 MCP 自管,禁手动另起。
53
+ - 长命服务以独立进程启动(如 PowerShell `Start-Process`);启动命令末尾禁接管道。
54
+
55
+ ### 2. 执行验证
56
+ - 选点取特性地图(`features/`);至少各执行一条正常路径与一条失败 / 边界路径(校验 / 空态 / 权限)。
57
+ - 导航:hash 模式用 `goto`;深链接(Query 变化)用 `hardGoto`(about:blank 中转)。
58
+ - 弹窗内分页表格的数据条件断言:点 `.ant-pagination-item` 逐页扫全量后合并断言,禁只看首屏。
59
+ - 布局类断言先探真实 DOM(快照 / 探针读 `outerHTML` + `getComputedStyle`),禁从 CSS 源码反推期望值;拿不准用与规范数值解耦的不变量,规范对账降为 NOTE。
60
+ - 证据采集:截图、网络报文、控制台日志;路径记入任务文档「验收标准」项后。
61
+
62
+ ### 3. 清理收尾
63
+ - 按 POST 响应返回的 ID 精确删除临时数据;禁模糊匹配删除。
64
+ - 关闭本流程启动的所有进程。
65
+ - 按 `页面 / 步骤 / 期望 vs 实际 / 证据` 汇报;末行附「特性地图覆盖 M/N」(M = 本次覆盖特性数,N = `features/` 条目总数),未覆盖项逐一留名。
66
+ - 仅记录缺陷,禁直接修代码。
67
+ - UI 实测报告写 `workflow/evidence/<YYYY-MM-DD>-<主题>.md`:头部记环境 / 复现命令,断言表每行带「对应验收 An」列(形态对照 `workflow/evidence/2026-10-24-purchase-contract-template-print-ui.md`)。报告留在会话或 `tmp/` = 实测未收口。
68
+
69
+ ## 特性地图(features/)
70
+ - `features/` 每核心特性一文件,四段缺一不建:到达路径 / 驱动 / 可观察终态 / Gotchas。
71
+ - 实测与关单抽验按地图取覆盖面;当前覆盖面以 `features/` 目录为准。
72
+ - 新页面或新主链上线时同步建文件;以 `frontend/src/router/index.ts` 路由为源波次:路由有、地图无 = 待补;地图有、路由无 = 待删或改写。
73
+ - 覆盖缺口 / 骨架:`node .agents/skills/verify-ui/scripts/gen-verify-feature.mjs --check`(或 `--json`)列未覆盖路由;`--route <path>` 只写四段 H2 + TODO 骨架,禁编造驱动步骤。
74
+ - 月度漂移维护:① 取路由 / 组件近月 diff 作源波次;② 只对触及特性跑一次实测;③ 修正最多一笔提交。
75
+ - 每个失败先判定「地图漂移」或「代码缺陷」:前者改地图,后者进 incident,禁混写。
76
+ - 前置条件缺失 → 按失败记录并把原因写进该特性 Gotchas;禁为通过而弱化验证路径。
77
+ - 发现页面 / 行为与地图不符 → 先修地图再出结论。
78
+ - 关单前置跑 `check-regression-consistency.mjs`:地图引用的 `#/路由` / `frontend/src/*` / `workflow/*.md` / `scripts/verify/*.mjs` 悬空即红;代码符号悬空只 advisory。
79
+
80
+ ## 技术要求与约束
81
+
82
+ ### Shell 与进程
83
+ - 协议优先 HTTP,避免自签证书拦截。
84
+ - 「部分改动生效」→ 重启 dev server;单文件未生效而他文件正常 → 先 touch 该文件。
85
+ - 探针必打本 worktree 的 dev server:vite 端口被占会静默漂移——起服务后确认实际端口,用 `E2E_FE_URL=http://localhost:<实际端口>` 运行;登录页导航用同一 `FE`(localStorage 按 origin 隔离)。
86
+ - 输出截断用 `| tail -N`,禁 `| head -N`(SIGPIPE 在 finally 前终止进程,残留浏览器占 CDP 端口)。
87
+ - 每次导航前重置 Console / Log 采集器;toast 观察器在导航动作前安装。
88
+ - 实测脚本三件套缺一不可:`installNetCapture(ctx)`、`seedSession(token, { reload: true })`、`hardGoto(url)`。
89
+ - 探针主体包 `try { … } finally { await ctx.close?.() }`;脚本启动前按 `--remote-debugging-port=<port>` 杀残留进程自愈。
90
+ - 用 `harness.dbQuery` 前先确认 database-explorer 技能在本机可用;不连库也能立的判据优先。
91
+
92
+ ### 断言汇总
93
+ - 断言主体包 try/catch:catch 里追加一条失败断言(含错误信息)并计入汇总,退出码随之为 1;禁「跑一半 + 打印 GREEN + 退出码 0」。
94
+
95
+ ### DOM 定位与交互
96
+ - 覆盖层 / 抽屉 / 弹窗内表单定位一律限定覆盖层根(如 `.pml-detail .ant-form-item`),禁全局 `querySelector` / `querySelectorAll`。
97
+ - 按 placeholder 找输入框须限定在目标容器内。
98
+ - 文本比较两侧都 `.replace(/\s+/g,'')` 归一(antd 对两字中文按钮插空格)。
99
+ - 可见性判据用 `getClientRects().length > 0` 或 `getBoundingClientRect().width > 0`;禁用 `offsetParent`(`position: fixed` 祖先下恒为 null)。
100
+ - `a-select` 清除图标悬停才渲染:先派发 mouseenter / mouseover,等一拍再点。
101
+ - antd 分页 size-changer 下拉合成事件开不了(focus + 派发 keydown Enter 亦不稳):真实路径 = click 工具点 combobox uid;量测用不变量「每选项 `scrollWidth <= clientWidth+1` 且下拉宽 ≥ 最宽选项 scrollWidth」,下拉动画未收尾会量到 0 尺寸,等 ≥600ms 再量(2026-11-06 PML 分页实测)。
102
+ - 弹窗内小控件(如分页器)被身后大表挤出 a11y 快照(输出超限截断取不到 uid):临时对背景表容器 `setAttribute('aria-hidden','e2e-hide')` 缩树,取 uid 完成真实点击后移除属性;注意别把弹窗自己的表一并隐掉(2026-11-06 PML 实测)。
103
+ - `a-select` 合成事件选不中 → 走真实鼠标 + 键盘:CDP `Input.dispatchMouseEvent` 点开,`ArrowDown` + `Enter` 落选;多 select 之间先 `Escape` 关上一个下拉;选项查询限定可见下拉(`.ant-select-dropdown:not(.ant-select-dropdown-hidden)`)的最后一个。
104
+ - 分段 / 单选 / tabs 按渲染形态定位(如 `.ant-radio-button-wrapper`),勿只找 `<button>`。
105
+ - 表格选择态:清空遗留勾选按 `data-row-key` 去重逐行点击,且与后续勾选分两拍执行;表头全选框在半选 / 无选态点击是「全选」而非「清空」。
106
+ - `:scroll={y}` 的 antd 表格 tbody 首行是 `.ant-table-measure-row`(高 0、无 `ant-table-cell` 类):行高 / 单元格度量跳过它。
107
+ - `ctx.evaluate` 返回已是对象,禁再套 `JSON.parse`。
108
+ - 详情覆盖层的「返回」类按钮走 `history.back()`:实测点它会退到上一步甚至 `about:blank`(2026-11-03 采购订单详情实测踩中)——回列表改用刷新或直接重导航,禁点「返回」当关闭动作。
109
+ - 断言前先确认覆盖层内容已渲染(头部按钮组出现):并行会话新建的单据可能详情拉不出,覆盖层只剩「返回」按钮(2026-11-03 实测)——换已知样本单,勿据此判功能缺陷。
110
+
111
+ ### AG Grid 列表页
112
+ - 单元格开销 32px(padding 15×2 + 边框 2),非 16 / 24。
113
+ - 量宽用隐藏 DOM span(复制 `font` / `letter-spacing`),禁 canvas;定宽 `ceil10(max(列头需求, 内容 p90 需求) + 32 + 8)`,离群值交 `tooltipShowMode:'whenTruncated'`。
114
+ - 判截断直接比 `.ag-cell` 的 `scrollWidth > clientWidth`;量横向溢出用 `.ag-center-cols-viewport`,勿量 `.ag-body-viewport`。
115
+ - 列虚拟化下视口外列不在 DOM:`.ag-header-cell` 计数 ≠ 列总数。
116
+ - 空值经 `valueFormatter` 渲染成字面 `-`:按单元格判空须显式排除 `'-'`。
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env node
2
+ // gen-verify-feature.mjs — verify-ui 特性地图生成器(2026-10-22 pstack create-verification-skill 借鉴)
3
+ // 用法:
4
+ // node .agents/skills/verify-ui/scripts/gen-verify-feature.mjs [--check] [--json] 列出未覆盖的顶层路由
5
+ // node .agents/skills/verify-ui/scripts/gen-verify-feature.mjs --route /suppliers 生成 features/suppliers.md 骨架
6
+ // 口径:顶层路由 = router 里一段路径(排除 /login、/、/home、含 :param 的动态路由)。
7
+ // 覆盖 = 任一 features/*.md 提到该路由(#/route 或 /route)。
8
+ // 生成只写骨架(四段 H2 + TODO),不编造驱动步骤;填完再用于实测。
9
+ import { spawnSync } from 'node:child_process';
10
+ import fs from 'node:fs';
11
+ import path from 'node:path';
12
+
13
+ const argv = process.argv.slice(2);
14
+ const argOf = (k) => {
15
+ const i = argv.indexOf(k);
16
+ return i >= 0 && i + 1 < argv.length ? argv[i + 1] : '';
17
+ };
18
+ const asJson = argv.includes('--json');
19
+ const check = argv.includes('--check');
20
+ const routeArg = argOf('--route');
21
+
22
+ const root = spawnSync('git', ['rev-parse', '--show-toplevel'], { encoding: 'utf8' });
23
+ if (root.status !== 0 || !root.stdout.trim()) {
24
+ console.error('gen-verify-feature: 不在 git 仓库');
25
+ process.exit(2);
26
+ }
27
+ const ROOT = root.stdout.trim();
28
+ const routerPath = path.join(ROOT, 'frontend', 'src', 'router', 'index.ts');
29
+ if (!fs.existsSync(routerPath)) {
30
+ console.error('gen-verify-feature: 未找到 frontend/src/router/index.ts');
31
+ process.exit(2);
32
+ }
33
+ const routes = new Set();
34
+ for (const m of fs.readFileSync(routerPath, 'utf8').matchAll(/path:\s*'([^']+)'/g)) {
35
+ const raw = m[1];
36
+ routes.add(raw.startsWith('/') ? raw : `/${raw}`);
37
+ }
38
+ const topLevel = [...routes].filter((r) => {
39
+ if (r === '/' || r === '/login' || r === '/home') return false;
40
+ if (r.includes(':')) return false;
41
+ return r.split('/').filter(Boolean).length === 1;
42
+ }).sort();
43
+
44
+ const featuresDir = path.join(ROOT, '.agents', 'skills', 'verify-ui', 'features');
45
+ const covered = new Set();
46
+ if (fs.existsSync(featuresDir)) {
47
+ for (const f of fs.readdirSync(featuresDir).filter((x) => x.endsWith('.md'))) {
48
+ const text = fs.readFileSync(path.join(featuresDir, f), 'utf8');
49
+ for (const m of text.matchAll(/#?(\/[A-Za-z0-9_./:-]+)/g)) covered.add(m[1]);
50
+ }
51
+ }
52
+ const uncovered = topLevel.filter((r) => !covered.has(r));
53
+
54
+ if (asJson) {
55
+ console.log(JSON.stringify({ topLevel, covered: [...covered].sort(), uncovered }, null, 2));
56
+ process.exit(check && uncovered.length ? 1 : 0);
57
+ }
58
+ if (check) {
59
+ if (uncovered.length) {
60
+ console.error(`特性地图覆盖缺口(${uncovered.length} 个顶层路由未进地图):`);
61
+ for (const r of uncovered) console.error(` - ${r}`);
62
+ console.error(' 处理:按核心特性优先级补 features/<slug>.md(node .agents/skills/verify-ui/scripts/gen-verify-feature.mjs --route <path> 生成骨架)。');
63
+ process.exit(1);
64
+ }
65
+ console.log(`✅ 特性地图覆盖全部 ${topLevel.length} 个顶层路由`);
66
+ process.exit(0);
67
+ }
68
+ if (routeArg) {
69
+ const route = routeArg.startsWith('/') ? routeArg : `/${routeArg}`;
70
+ if (!routes.has(route)) {
71
+ console.error(`gen-verify-feature: 路由 ${route} 不在 router(先确认路径)`);
72
+ process.exit(2);
73
+ }
74
+ if (covered.has(route)) {
75
+ console.error(`gen-verify-feature: 路由 ${route} 已被特性地图覆盖——改现有文件,不新建`);
76
+ process.exit(1);
77
+ }
78
+ const slug = route.replace(/^\//, '').replace(/[^a-z0-9]+/gi, '-').replace(/^-|-$/g, '') || 'feature';
79
+ const file = path.join(featuresDir, `${slug}.md`);
80
+ if (fs.existsSync(file)) {
81
+ console.error(`gen-verify-feature: 文件已存在 ${path.relative(ROOT, file)}——改现有文件,不覆盖`);
82
+ process.exit(1);
83
+ }
84
+ const content = [
85
+ `# 特性:${route}`,
86
+ '',
87
+ '> 生成骨架(gen-verify-feature.mjs,2026-10-22)。四段缺一不建;填完再用于实测。',
88
+ '',
89
+ '## 到达路径',
90
+ '',
91
+ `hash 路由 \`#${route}\`。入口:<TODO 侧栏/列表/按钮>。`,
92
+ '',
93
+ '## 驱动',
94
+ '',
95
+ '<TODO 用户 POV 的操作步骤;优先稳定锚点(ARIA/data-testid/路由)>。',
96
+ '',
97
+ '## 可观察终态',
98
+ '',
99
+ '<TODO 什么现象证明它工作;给 file:line 或接口/字段>。',
100
+ '',
101
+ '## Gotchas',
102
+ '',
103
+ '<TODO 前置条件、坑、已知漂移>。',
104
+ '',
105
+ ].join('\n');
106
+ fs.mkdirSync(featuresDir, { recursive: true });
107
+ fs.writeFileSync(file, content, 'utf8');
108
+ console.log(`✅ 已生成 ${path.relative(ROOT, file)}——填完四段再用于实测`);
109
+ process.exit(0);
110
+ }
111
+
112
+ console.log(`顶层路由 ${topLevel.length} 个,已覆盖 ${topLevel.length - uncovered.length} 个,缺口 ${uncovered.length} 个:`);
113
+ for (const r of uncovered) console.log(` - ${r}`);
114
+ console.log('生成骨架:node .agents/skills/verify-ui/scripts/gen-verify-feature.mjs --route <path>');
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: visual-parity
3
+ description: 视觉对齐 playbook——两个实现(原型 / 旧页 / 设计稿)像素级对齐时,固定视口与数据、只改样式、差异分类留证;供 UI 还原任务使用。
4
+ ---
5
+
6
+ # visual-parity — 视觉对齐
7
+
8
+ ## 触发
9
+
10
+ 原型 → 实现、旧页 → 新页、设计稿 → 页面,要求「看起来一致」。
11
+
12
+ ## 0. 固定比较条件
13
+
14
+ 同一视口(宽高 + DPR)、缩放 100%、同一主题、同一份数据(种子 ID 固定)。服务在线与鉴权按 `.agents/skills/verify-ui/SKILL.md` §1;技术细节单源 `scripts/verify/e2e/harness.mjs`。
15
+
16
+ ## 1. 取对照
17
+
18
+ 两侧各截同区域(含边界元素),命名 `tmp/e2e-evidence/parity-<topic>-{before,after}.png`。截图前重置滚动位置、关闭动画与 tooltip。
19
+
20
+ ## 2. 差异分类(逐项计数)
21
+
22
+ 间距 / 字号字重 / 颜色 / 层级与阴影 / 圆角 / 换行与溢出 / 滚动条。渲染噪声(字体抗锯齿、次像素)单列,不计入待修项。
23
+
24
+ ## 3. 迭代
25
+
26
+ 只改样式与布局,不改数据、不改后端、不引原型字体。每轮重截同区域;差异项只减不增。
27
+
28
+ ## 4. 判据与证据
29
+
30
+ 待修项 = 0 才算对齐;未清零不宣称「一致」。证据:两侧截图路径 + 视口 + 差异表(项 / 前 / 后 / 状态)。
31
+
32
+ ## 红线
33
+
34
+ - 不弱化验证路径(`.agents/skills/verify-ui/SKILL.md`「禁为通过而弱化验证路径」)。
35
+ - 不以「肉眼看着一样」代替差异表。
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: why
3
+ description: 追溯「为什么长这样」——并行查源码历史、流程留痕、领域文档、会话记录、issue/PR 与外部证据,逐条给指针;供动手改一段不理解的代码前使用。
4
+ ---
5
+
6
+ # why — 为什么长这样
7
+
8
+ ## 触发
9
+
10
+ - 「为什么这样设计 / 为什么这个 flag 没开 / 为什么选了这个方案」。
11
+ - 准备改一段不理解的代码,先要知道它为什么存在。
12
+ - 复核时对「这行不能删」的直觉不放心,需要证据。
13
+
14
+ ## 核心
15
+
16
+ **不靠记忆,不靠猜。** 按证据类别并行查,每条结论带指针(`file:line` / commit / 文档 / issue / 指标)。区分 **measured / inferred / guess**;找不到也是答案,写「无记录」,不要编。
17
+
18
+ ## 证据类别(并行查)
19
+
20
+ | 类别 | 本仓入口 |
21
+ |---|---|
22
+ | 源码与历史 | `git log -S<term>`(pickaxe)、`git log --follow -- <path>`、`git blame`、`xd://lsp` references |
23
+ | 流程留痕 | `workflow/{intents,specs,plans,incidents}`、`workflow/archive/`、`workflow/delegations.md`、`workflow/papercuts.md`、`workflow/regression-checklist.md` |
24
+ | 领域知识 | `wiki/`、`node .agents/scripts/kb-search.mjs <term>` |
25
+ | 会话记录 | `history://`、`archive`(eval 全局)、`.agents/skills/session-resume/SKILL.md` |
26
+ | Issue / PR | `issue://<N>`、`pr://<N>`(有 GitHub 远端时) |
27
+ | 外部文档 | `microsoft_docs_search`、`web_search`、`read <url>` |
28
+ | 运行时 / 监控 | 可用的 MCP(chrome-devtools、context-mode 等)、日志、`workflow/metrics.md` |
29
+
30
+ ## 步骤
31
+
32
+ 1. **拆主体**:把问题拆成可检索的词——符号名、文件路径、功能名、决策关键词。一个词查不到就换同义词/中文/英文。
33
+ 2. **本地证据**:跑 `node .agents/skills/why/scripts/why-evidence.mjs <term> [--path <file>]`,一次拿到 pickaxe、路径历史、workflow/wiki 命中、kb-search 摘要。
34
+ 3. **外部证据**:按可用 MCP 并行查 issue/PR、外部文档、监控;没有就跳过,不假装查过。
35
+ 4. **合成**:先给结论(为什么),再给证据链(每条 claim 带指针),最后列未知/冲突。
36
+ 5. **标确定性**:`measured`(跑过/读到原文)、`inferred`(从证据推)、`guess`(没有证据)。预测与未观察到的原因一律 `guess`。
37
+ 6. **时间线**(可选):决策跨多个提交/文档时,按时间排一条链,标出转折点。
38
+
39
+ ## 输出格式
40
+
41
+ - **结论**:一句话回答「为什么」。
42
+ - **证据链**:每条 = claim + 指针(`file:line` / commit / doc / issue)+ 确定性。
43
+ - **未知 / 冲突**:查不到、证据互相矛盾、或需要 owner 才能定的部分。
44
+ - **对改动的含义**:这段能不能动、动之前要满足什么。
45
+
46
+ ## 本仓落点
47
+
48
+ - 接手/续作:`session-resume` 重建当前态后,用本技能补「为什么」。
49
+ - 修 bug:`diagnosing-bugs` 找根因前,先确认这段为什么存在。
50
+ - 复核:`review.md` 的「影响面证明」用 `blast-radius`;本技能补「历史意图」。
51
+ - 证据收集器:`.agents/skills/why/scripts/why-evidence.mjs`(只收集,不下结论)。
52
+
53
+ ## 边界
54
+
55
+ - 本技能回答「为什么长这样」;`blast-radius` 回答「会碰坏什么」;`how` 回答「怎么运作」。三者不互相替代。
56
+ - 不把推测写成事实;没有证据就写「无记录」。
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env node
2
+ // why-evidence.mjs — /why 的本地证据收集器(2026-10-22 pstack 借鉴)
3
+ // 用法:node .agents/skills/why/scripts/why-evidence.mjs <term> [--path <file>] [--json]
4
+ // 收集:git pickaxe(-S)、路径历史(--follow)、workflow 文档命中、wiki 命中、kb-search 摘要。
5
+ // 不做结论——结论由 why 技能合成;本脚本只保证证据面一致、可复跑、可对质。
6
+ import { spawnSync } from 'node:child_process';
7
+ import fs from 'node:fs';
8
+ import path from 'node:path';
9
+ import { fileURLToPath } from 'node:url';
10
+
11
+ const SCRIPT_DIR = path.dirname(fileURLToPath(import.meta.url));
12
+ const argv = process.argv.slice(2);
13
+ let term = '';
14
+ let pathArg = '';
15
+ for (let i = 0; i < argv.length; i++) {
16
+ if (argv[i] === '--path') { pathArg = argv[++i] || ''; continue; }
17
+ if (argv[i] === '--json') continue;
18
+ if (!term) term = argv[i];
19
+ }
20
+ const asJson = argv.includes('--json');
21
+ if (!term) {
22
+ console.error('用法:node .agents/skills/why/scripts/why-evidence.mjs <term> [--path <file>] [--json]');
23
+ process.exit(2);
24
+ }
25
+
26
+ const root = spawnSync('git', ['rev-parse', '--show-toplevel'], { encoding: 'utf8' });
27
+ const ROOT = root.status === 0 && root.stdout.trim() ? root.stdout.trim() : process.cwd();
28
+ process.chdir(ROOT);
29
+
30
+ const git = (args) => spawnSync('git', args, { encoding: 'utf8' });
31
+ const lines = (s) => String(s || '').split(/\r?\n/).map((l) => l.trim()).filter(Boolean);
32
+
33
+ const pickaxe = lines(git(['log', '-S', term, '--oneline', '--all', '-n', '20']).stdout);
34
+ const pathHistory = pathArg ? lines(git(['log', '--oneline', '--follow', '-n', '10', '--', pathArg]).stdout) : [];
35
+
36
+ // 文档命中:只取每个文件的第一处,限 20 条;跳过生成物(verify-evidence / INDEX / metrics)。
37
+ const scan = (dir, limit = 20) => {
38
+ const out = [];
39
+ const walk = (d) => {
40
+ let entries = [];
41
+ try { entries = fs.readdirSync(d, { withFileTypes: true }); } catch { return; }
42
+ for (const e of entries) {
43
+ if (out.length >= limit) return;
44
+ const p = path.join(d, e.name);
45
+ if (e.isDirectory()) { if (!/^(node_modules|\.git)$/.test(e.name)) walk(p); continue; }
46
+ if (!/\.md$/i.test(e.name)) continue;
47
+ if (/^(verify-evidence|INDEX|metrics)\.md$/.test(e.name)) continue;
48
+ let text = '';
49
+ try { text = fs.readFileSync(p, 'utf8'); } catch { continue; }
50
+ const rows = text.split(/\r?\n/);
51
+ const hit = rows.findIndex((l) => l.toLowerCase().includes(term.toLowerCase()));
52
+ if (hit >= 0) out.push(`${path.relative(ROOT, p).replace(/\\/g, '/')}:${hit + 1}: ${rows[hit].trim().slice(0, 160)}`);
53
+ }
54
+ };
55
+ walk(path.join(ROOT, dir));
56
+ return out;
57
+ };
58
+ const workflow = scan('workflow');
59
+ const wiki = scan('wiki');
60
+
61
+ const kb = spawnSync(process.execPath, [path.join(SCRIPT_DIR, 'kb-search.mjs'), term, '-n', '5'], { cwd: ROOT, encoding: 'utf8' });
62
+ const kbOut = String(kb.stdout || '').trim();
63
+
64
+ if (asJson) {
65
+ console.log(JSON.stringify({ term, path: pathArg || null, pickaxe, pathHistory, workflow, wiki, kb: kbOut }, null, 2));
66
+ process.exit(0);
67
+ }
68
+ const section = (title, rows) => `## ${title}\n${rows.length ? rows.map((r) => `- ${r}`).join('\n') : '(无命中)'}`;
69
+ console.log(`# why evidence: ${term}${pathArg ? `(path: ${pathArg})` : ''}\n`);
70
+ console.log(section('git pickaxe(-S:增删过该词的提交)', pickaxe));
71
+ if (pathArg) console.log(`\n${section('路径历史(--follow)', pathHistory)}`);
72
+ console.log(`\n${section('workflow 文档命中', workflow)}`);
73
+ console.log(`\n${section('wiki 命中', wiki)}`);
74
+ console.log(`\n## kb-search\n${kbOut || '(无输出)'}`);
@@ -0,0 +1,53 @@
1
+ ---
2
+ name: wiki
3
+ description: 项目 wiki 整理与验证技能。负责将散落文档归位到 wiki/,并维护 INDEX.md、知识沉淀总览.html 及归档一致性。
4
+ ---
5
+
6
+ # Wiki 整理与验证技能
7
+
8
+ ## 目标
9
+ 构建并维护结构化的项目知识库,确保磁盘文件、索引文件与可视化看板三方一致。
10
+
11
+ ## 触发条件
12
+ - 用户指令:`整理 wiki` / `归类文档` / `建知识库` / `同步知识沉淀看板` / `新增文档到 wiki`。
13
+
14
+ ## 范围与约束
15
+ - **收录范围**:
16
+ - **In**: 主数据知识文档、全项目数据维护 SQL。
17
+ - **Out**: `workflow/` 目录、MTO/采购/库存/UI 等非主数据知识文档、依赖锁文件、IDE 配置。
18
+ - **目录结构**:`wiki/<主题>/<关键词文件>`。
19
+ - **命名规范**:`<主题>-<关键词>[-范围/版本].ext`。
20
+ - **权威性**:`.md` 为内容源 $\rightarrow$ `.html` 为展示快照。冲突时以 `.md` 为准。
21
+ - **操作限制**:仅执行复制 (`Copy-Item`/`cp`)。删除原文件必须获得用户单独确认。
22
+
23
+ ## 标准操作流程
24
+
25
+ ### 1. 整理与归位 (批量/新建)
26
+ 1. **主题判定**:读取文件首 8 行,根据内容判定主题。新主题需与用户对齐。
27
+ 2. **目录创建**:创建 `wiki/<主题>/` 及对应的 `wiki/drafts-archive/YYYY-MM-DD_<主题>/`。
28
+ 3. **文件迁移**:
29
+ - 将文件复制到 `wiki/<主题>/` 并按规范重命名。
30
+ - 将原文件副本复制到 `drafts-archive/` 留溯源。
31
+ 4. **索引更新**:运行 `node .agents/scripts/gen-wiki-board.mjs`。
32
+ 5. **描述补全**:在 `wiki/INDEX.md` 速览表的「用途」列为新主题补全描述,然后再次运行生成器。
33
+
34
+ ### 2. 单篇文档新增
35
+ 1. 判定主题 $\rightarrow$ 复制到 `wiki/<主题>/` $\rightarrow$ 运行生成器 $\rightarrow$ 运行验证脚本。
36
+
37
+ ### 3. 错误归位修正
38
+ 1. 移动文件至正确主题目录 $\rightarrow$ 运行生成器 $\rightarrow$ 运行验证脚本。`drafts-archive` 保持不动。
39
+
40
+ ## 验证机制
41
+ 每次改动后必须运行:
42
+ ```bash
43
+ node .agents/scripts/verify-wiki-consistency.mjs
44
+ ```
45
+ **验收标准**:
46
+ - `exit 0` 且输出 `✅ wiki 三方一致`。
47
+ - 检查项涵盖:磁盘 $\leftrightarrow$ INDEX $\leftrightarrow$ 看板 DATA $\leftrightarrow$ 数据维护台账 $\leftrightarrow$ 链接可达性。
48
+
49
+ ## 维护须知
50
+ - **生成区**:`wiki/INDEX.md` 的计数/映射表及 `知识沉淀总览.html` 的 DATA 块为自动生成区,禁止手动修改。
51
+ - **人工编辑位**:仅维护 `wiki/INDEX.md` 的「用途」列及 `wiki/数据维护/README.md` 台账。
52
+ - **冲突处理**:wiki 与 `AGENTS.md` 或 `workflow` 冲突时,以后者为准。
53
+ - **提交规范**:调整 wiki 内容(知识文档新增/修改/删除/更名/归位、INDEX、看板、本技能文件)属 docs 级改动,**豁免工作流三件套**(不生成 intents/specs/plans、不走确认门),直接 commit (`docs(wiki): <动作>`);规则单源 = 根 `AGENTS.md` §4「wiki 豁免」。删除文件仍须用户单独确认(见「操作限制」)。
@@ -0,0 +1,82 @@
1
+ // auto-tour.test.mjs — 自动拉起开发全景看板脚本测试(node:test + node:assert,零新依赖)
2
+ // 被测:.agents/scripts/auto-tour.mjs
3
+ //
4
+ // 测三条本脚本自带的非平凡逻辑(其余是纯 spawn 转发,不测):
5
+ // 1. 参数校验:缺文档 / 文档不存在 → exit 1 且给出可操作的提示;
6
+ // 2. 失败降级:ensure-board 起不来时脚本 exit 0 且打印告警——全景图是可选观察面,不是门禁,
7
+ // 不得因看板不可用阻断 Build 流程;
8
+ // 3. 端口语义:显式 --port 是绝对值、不吃 SHIPYARD_SLOT 槽位偏移(与 ensure-board 同口径)。
9
+ //
10
+ // 确定性口径:第 2/3 条用一个「快速响应非 200」的桩 HTTP 服务器占住端口——ensure-board 的
11
+ // httpProbe 立即拿到非 200 → 判「他人进程占用槽位口」→ exit 1,走与真实占用同一条分支,
12
+ // 但不触发它 25s 的挂起超时(那是「占端口但不响应」的慢路径,真实冷启动环境才有,
13
+ // 放到测试里会把本门从 <3s 拉到 30s)。
14
+ import { test, describe } from 'node:test';
15
+ import assert from 'node:assert/strict';
16
+ import { spawn } from 'node:child_process';
17
+ import http from 'node:http';
18
+ import path from 'node:path';
19
+ import { fileURLToPath } from 'node:url';
20
+
21
+ const HERE = path.dirname(fileURLToPath(import.meta.url));
22
+ const ROOT = path.resolve(HERE, '../..');
23
+ const AUTO_TOUR = path.join(ROOT, '.agents', 'scripts', 'auto-tour.mjs');
24
+ const PLAN = 'workflow/plans/2026-11-09-document-attachment.md';
25
+
26
+ function run(args, env = {}) {
27
+ return new Promise((resolve) => {
28
+ const c = spawn(process.execPath, [AUTO_TOUR, ...args], {
29
+ cwd: ROOT, encoding: 'utf8',
30
+ env: { ...process.env, ...env },
31
+ });
32
+ let out = '', err = '';
33
+ c.stdout.on('data', (d) => { out += d; });
34
+ c.stderr.on('data', (d) => { err += d; });
35
+ c.on('close', (code) => resolve({ code, out, err }));
36
+ });
37
+ }
38
+
39
+ // 起一个立刻回 404 的 HTTP 服务器占端口(非看板身份)
40
+ function occupy(port) {
41
+ return new Promise((resolve) => {
42
+ const s = http.createServer((req, res) => { res.statusCode = 404; res.end('not a board'); });
43
+ s.listen(port, '127.0.0.1', () => resolve(s));
44
+ });
45
+ }
46
+
47
+ describe('auto-tour', () => {
48
+ test('缺文档参数时 exit 1 并打印用法', async () => {
49
+ const r = await run([]);
50
+ assert.equal(r.code, 1);
51
+ assert.match(r.err, /用法/);
52
+ });
53
+
54
+ test('文档不存在时 exit 1 并点名文件', async () => {
55
+ const r = await run(['workflow/plans/__not-exist__.md']);
56
+ assert.equal(r.code, 1);
57
+ assert.match(r.err, /找不到文档/);
58
+ });
59
+
60
+ test('看板拉不起来时 exit 0 且告警——不阻断 Build 流程', async () => {
61
+ const s = await occupy(18777);
62
+ try {
63
+ const r = await run([PLAN, '--port', '18777']);
64
+ assert.equal(r.code, 0, '看板不可用时必须 exit 0');
65
+ assert.match(r.err + r.out, /未就绪|不影响/);
66
+ assert.match(r.err + r.out, /ensure-board/, '告警须给出手动兜底命令');
67
+ } finally {
68
+ s.close();
69
+ }
70
+ });
71
+
72
+ test('显式 --port 是绝对值,不吃 SHIPYARD_SLOT 槽位偏移', async () => {
73
+ const s = await occupy(18778);
74
+ try {
75
+ const r = await run([PLAN, '--port', '18778'], { SHIPYARD_SLOT: '2' });
76
+ // 槽位 2 的偏移是 +20;端口若被偏移到 18798,桩服务器(18778)就拦不住它——失败分支不触发
77
+ assert.match(r.err + r.out, /未就绪|不影响/, '端口应按绝对值使用,未被槽位偏移');
78
+ } finally {
79
+ s.close();
80
+ }
81
+ });
82
+ });