bigpowers 2.83.4 → 2.84.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 (486) hide show
  1. package/.codebuddy/skills/align-grid/SKILL.md +110 -0
  2. package/.codebuddy/skills/assess-impact/SKILL.md +91 -0
  3. package/.codebuddy/skills/audit-code/SKILL.md +187 -0
  4. package/.codebuddy/skills/audit-plan/SKILL.md +89 -0
  5. package/.codebuddy/skills/build-epic/SKILL.md +105 -0
  6. package/.codebuddy/skills/change-request/SKILL.md +121 -0
  7. package/.codebuddy/skills/commit-message/SKILL.md +140 -0
  8. package/.codebuddy/skills/compose-workflow/SKILL.md +82 -0
  9. package/.codebuddy/skills/context7-mcp/SKILL.md +55 -0
  10. package/.codebuddy/skills/craft-skill/SKILL.md +179 -0
  11. package/.codebuddy/skills/deepen-architecture/SKILL.md +260 -0
  12. package/.codebuddy/skills/define-language/SKILL.md +80 -0
  13. package/.codebuddy/skills/define-success/SKILL.md +65 -0
  14. package/.codebuddy/skills/delegate-task/SKILL.md +91 -0
  15. package/.codebuddy/skills/deploy/SKILL.md +198 -0
  16. package/.codebuddy/skills/design-interface/SKILL.md +97 -0
  17. package/.codebuddy/skills/develop-tdd/SKILL.md +406 -0
  18. package/.codebuddy/skills/diagnose-root/SKILL.md +24 -0
  19. package/.codebuddy/skills/diagnose-stall/SKILL.md +54 -0
  20. package/.codebuddy/skills/dispatch-agents/SKILL.md +118 -0
  21. package/.codebuddy/skills/edit-document/SKILL.md +23 -0
  22. package/.codebuddy/skills/elaborate-spec/SKILL.md +101 -0
  23. package/.codebuddy/skills/enforce-first/SKILL.md +32 -0
  24. package/.codebuddy/skills/evolve-skill/SKILL.md +55 -0
  25. package/.codebuddy/skills/execute-plan/SKILL.md +61 -0
  26. package/.codebuddy/skills/extract-design/SKILL.md +132 -0
  27. package/.codebuddy/skills/find-way/SKILL.md +191 -0
  28. package/.codebuddy/skills/fix-bug/SKILL.md +67 -0
  29. package/.codebuddy/skills/gate-trace/SKILL.md +88 -0
  30. package/.codebuddy/skills/generate-allure-report/SKILL.md +285 -0
  31. package/.codebuddy/skills/grill-me/SKILL.md +96 -0
  32. package/.codebuddy/skills/grill-with-docs/SKILL.md +41 -0
  33. package/.codebuddy/skills/guard-git/SKILL.md +231 -0
  34. package/.codebuddy/skills/harden-vps/SKILL.md +288 -0
  35. package/.codebuddy/skills/hook-commits/SKILL.md +94 -0
  36. package/.codebuddy/skills/inspect-quality/SKILL.md +106 -0
  37. package/.codebuddy/skills/investigate-bug/SKILL.md +127 -0
  38. package/.codebuddy/skills/kickoff-branch/SKILL.md +143 -0
  39. package/.codebuddy/skills/maintain-wiki/SKILL.md +64 -0
  40. package/.codebuddy/skills/map-codebase/SKILL.md +71 -0
  41. package/.codebuddy/skills/migrate-spec/SKILL.md +862 -0
  42. package/.codebuddy/skills/model-domain/SKILL.md +232 -0
  43. package/.codebuddy/skills/orchestrate-project/SKILL.md +174 -0
  44. package/.codebuddy/skills/organize-workspace/SKILL.md +164 -0
  45. package/.codebuddy/skills/plan-refactor/SKILL.md +87 -0
  46. package/.codebuddy/skills/plan-release/SKILL.md +145 -0
  47. package/.codebuddy/skills/plan-tests/SKILL.md +75 -0
  48. package/.codebuddy/skills/plan-work/SKILL.md +260 -0
  49. package/.codebuddy/skills/publish-package/SKILL.md +328 -0
  50. package/.codebuddy/skills/quick-fix/SKILL.md +114 -0
  51. package/.codebuddy/skills/release-branch/SKILL.md +298 -0
  52. package/.codebuddy/skills/request-review/SKILL.md +112 -0
  53. package/.codebuddy/skills/research-first/SKILL.md +87 -0
  54. package/.codebuddy/skills/reset-baseline/SKILL.md +21 -0
  55. package/.codebuddy/skills/respond-review/SKILL.md +71 -0
  56. package/.codebuddy/skills/run-benchmark/SKILL.md +85 -0
  57. package/.codebuddy/skills/run-evals/SKILL.md +80 -0
  58. package/.codebuddy/skills/run-planning/SKILL.md +101 -0
  59. package/.codebuddy/skills/scope-work/SKILL.md +63 -0
  60. package/.codebuddy/skills/search-skills/SKILL.md +73 -0
  61. package/.codebuddy/skills/security-review/SKILL.md +384 -0
  62. package/.codebuddy/skills/seed-conventions/SKILL.md +285 -0
  63. package/.codebuddy/skills/session-state/SKILL.md +146 -0
  64. package/.codebuddy/skills/setup-environment/SKILL.md +39 -0
  65. package/.codebuddy/skills/simulate-agents/SKILL.md +26 -0
  66. package/.codebuddy/skills/slice-tasks/SKILL.md +68 -0
  67. package/.codebuddy/skills/smoke-test/SKILL.md +242 -0
  68. package/.codebuddy/skills/spike-prototype/SKILL.md +95 -0
  69. package/.codebuddy/skills/stocktake-skills/SKILL.md +72 -0
  70. package/.codebuddy/skills/survey-context/SKILL.md +135 -0
  71. package/.codebuddy/skills/terse-mode/SKILL.md +42 -0
  72. package/.codebuddy/skills/trace-requirement/SKILL.md +69 -0
  73. package/.codebuddy/skills/using-bigpowers/SKILL.md +111 -0
  74. package/.codebuddy/skills/validate-contracts/SKILL.md +309 -0
  75. package/.codebuddy/skills/validate-fix/SKILL.md +106 -0
  76. package/.codebuddy/skills/verify-work/SKILL.md +191 -0
  77. package/.codebuddy/skills/visual-dashboard/SKILL.md +50 -0
  78. package/.codebuddy/skills/wire-ci/SKILL.md +375 -0
  79. package/.codebuddy/skills/wire-observability/SKILL.md +97 -0
  80. package/.codebuddy/skills/write-document/SKILL.md +255 -0
  81. package/.codex/skills/align-grid/SKILL.md +110 -0
  82. package/.codex/skills/assess-impact/SKILL.md +91 -0
  83. package/.codex/skills/audit-code/SKILL.md +187 -0
  84. package/.codex/skills/audit-plan/SKILL.md +89 -0
  85. package/.codex/skills/build-epic/SKILL.md +105 -0
  86. package/.codex/skills/change-request/SKILL.md +121 -0
  87. package/.codex/skills/commit-message/SKILL.md +140 -0
  88. package/.codex/skills/compose-workflow/SKILL.md +82 -0
  89. package/.codex/skills/context7-mcp/SKILL.md +55 -0
  90. package/.codex/skills/craft-skill/SKILL.md +179 -0
  91. package/.codex/skills/deepen-architecture/SKILL.md +260 -0
  92. package/.codex/skills/define-language/SKILL.md +80 -0
  93. package/.codex/skills/define-success/SKILL.md +65 -0
  94. package/.codex/skills/delegate-task/SKILL.md +91 -0
  95. package/.codex/skills/deploy/SKILL.md +198 -0
  96. package/.codex/skills/design-interface/SKILL.md +97 -0
  97. package/.codex/skills/develop-tdd/SKILL.md +406 -0
  98. package/.codex/skills/diagnose-root/SKILL.md +24 -0
  99. package/.codex/skills/diagnose-stall/SKILL.md +54 -0
  100. package/.codex/skills/dispatch-agents/SKILL.md +118 -0
  101. package/.codex/skills/edit-document/SKILL.md +23 -0
  102. package/.codex/skills/elaborate-spec/SKILL.md +101 -0
  103. package/.codex/skills/enforce-first/SKILL.md +32 -0
  104. package/.codex/skills/evolve-skill/SKILL.md +55 -0
  105. package/.codex/skills/execute-plan/SKILL.md +61 -0
  106. package/.codex/skills/extract-design/SKILL.md +132 -0
  107. package/.codex/skills/find-way/SKILL.md +191 -0
  108. package/.codex/skills/fix-bug/SKILL.md +67 -0
  109. package/.codex/skills/gate-trace/SKILL.md +88 -0
  110. package/.codex/skills/generate-allure-report/SKILL.md +285 -0
  111. package/.codex/skills/grill-me/SKILL.md +96 -0
  112. package/.codex/skills/grill-with-docs/SKILL.md +41 -0
  113. package/.codex/skills/guard-git/SKILL.md +231 -0
  114. package/.codex/skills/harden-vps/SKILL.md +288 -0
  115. package/.codex/skills/hook-commits/SKILL.md +94 -0
  116. package/.codex/skills/inspect-quality/SKILL.md +106 -0
  117. package/.codex/skills/investigate-bug/SKILL.md +127 -0
  118. package/.codex/skills/kickoff-branch/SKILL.md +143 -0
  119. package/.codex/skills/maintain-wiki/SKILL.md +64 -0
  120. package/.codex/skills/map-codebase/SKILL.md +71 -0
  121. package/.codex/skills/migrate-spec/SKILL.md +862 -0
  122. package/.codex/skills/model-domain/SKILL.md +232 -0
  123. package/.codex/skills/orchestrate-project/SKILL.md +174 -0
  124. package/.codex/skills/organize-workspace/SKILL.md +164 -0
  125. package/.codex/skills/plan-refactor/SKILL.md +87 -0
  126. package/.codex/skills/plan-release/SKILL.md +145 -0
  127. package/.codex/skills/plan-tests/SKILL.md +75 -0
  128. package/.codex/skills/plan-work/SKILL.md +260 -0
  129. package/.codex/skills/publish-package/SKILL.md +328 -0
  130. package/.codex/skills/quick-fix/SKILL.md +114 -0
  131. package/.codex/skills/release-branch/SKILL.md +298 -0
  132. package/.codex/skills/request-review/SKILL.md +112 -0
  133. package/.codex/skills/research-first/SKILL.md +87 -0
  134. package/.codex/skills/reset-baseline/SKILL.md +21 -0
  135. package/.codex/skills/respond-review/SKILL.md +71 -0
  136. package/.codex/skills/run-benchmark/SKILL.md +85 -0
  137. package/.codex/skills/run-evals/SKILL.md +80 -0
  138. package/.codex/skills/run-planning/SKILL.md +101 -0
  139. package/.codex/skills/scope-work/SKILL.md +63 -0
  140. package/.codex/skills/search-skills/SKILL.md +73 -0
  141. package/.codex/skills/security-review/SKILL.md +384 -0
  142. package/.codex/skills/seed-conventions/SKILL.md +285 -0
  143. package/.codex/skills/session-state/SKILL.md +146 -0
  144. package/.codex/skills/setup-environment/SKILL.md +39 -0
  145. package/.codex/skills/simulate-agents/SKILL.md +26 -0
  146. package/.codex/skills/slice-tasks/SKILL.md +68 -0
  147. package/.codex/skills/smoke-test/SKILL.md +242 -0
  148. package/.codex/skills/spike-prototype/SKILL.md +95 -0
  149. package/.codex/skills/stocktake-skills/SKILL.md +72 -0
  150. package/.codex/skills/survey-context/SKILL.md +135 -0
  151. package/.codex/skills/terse-mode/SKILL.md +42 -0
  152. package/.codex/skills/trace-requirement/SKILL.md +69 -0
  153. package/.codex/skills/using-bigpowers/SKILL.md +111 -0
  154. package/.codex/skills/validate-contracts/SKILL.md +309 -0
  155. package/.codex/skills/validate-fix/SKILL.md +106 -0
  156. package/.codex/skills/verify-work/SKILL.md +191 -0
  157. package/.codex/skills/visual-dashboard/SKILL.md +50 -0
  158. package/.codex/skills/wire-ci/SKILL.md +375 -0
  159. package/.codex/skills/wire-observability/SKILL.md +97 -0
  160. package/.codex/skills/write-document/SKILL.md +255 -0
  161. package/.kilocode/rules/align-grid.md +110 -0
  162. package/.kilocode/rules/assess-impact.md +91 -0
  163. package/.kilocode/rules/audit-code.md +187 -0
  164. package/.kilocode/rules/audit-plan.md +89 -0
  165. package/.kilocode/rules/build-epic.md +105 -0
  166. package/.kilocode/rules/change-request.md +121 -0
  167. package/.kilocode/rules/commit-message.md +140 -0
  168. package/.kilocode/rules/compose-workflow.md +82 -0
  169. package/.kilocode/rules/context7-mcp.md +55 -0
  170. package/.kilocode/rules/craft-skill.md +179 -0
  171. package/.kilocode/rules/deepen-architecture.md +260 -0
  172. package/.kilocode/rules/define-language.md +80 -0
  173. package/.kilocode/rules/define-success.md +65 -0
  174. package/.kilocode/rules/delegate-task.md +91 -0
  175. package/.kilocode/rules/deploy.md +198 -0
  176. package/.kilocode/rules/design-interface.md +97 -0
  177. package/.kilocode/rules/develop-tdd.md +406 -0
  178. package/.kilocode/rules/diagnose-root.md +24 -0
  179. package/.kilocode/rules/diagnose-stall.md +54 -0
  180. package/.kilocode/rules/dispatch-agents.md +118 -0
  181. package/.kilocode/rules/edit-document.md +23 -0
  182. package/.kilocode/rules/elaborate-spec.md +101 -0
  183. package/.kilocode/rules/enforce-first.md +32 -0
  184. package/.kilocode/rules/evolve-skill.md +55 -0
  185. package/.kilocode/rules/execute-plan.md +61 -0
  186. package/.kilocode/rules/extract-design.md +132 -0
  187. package/.kilocode/rules/find-way.md +191 -0
  188. package/.kilocode/rules/fix-bug.md +67 -0
  189. package/.kilocode/rules/gate-trace.md +88 -0
  190. package/.kilocode/rules/generate-allure-report.md +285 -0
  191. package/.kilocode/rules/grill-me.md +96 -0
  192. package/.kilocode/rules/grill-with-docs.md +41 -0
  193. package/.kilocode/rules/guard-git.md +231 -0
  194. package/.kilocode/rules/harden-vps.md +288 -0
  195. package/.kilocode/rules/hook-commits.md +94 -0
  196. package/.kilocode/rules/inspect-quality.md +106 -0
  197. package/.kilocode/rules/investigate-bug.md +127 -0
  198. package/.kilocode/rules/kickoff-branch.md +143 -0
  199. package/.kilocode/rules/maintain-wiki.md +64 -0
  200. package/.kilocode/rules/map-codebase.md +71 -0
  201. package/.kilocode/rules/migrate-spec.md +862 -0
  202. package/.kilocode/rules/model-domain.md +232 -0
  203. package/.kilocode/rules/orchestrate-project.md +174 -0
  204. package/.kilocode/rules/organize-workspace.md +164 -0
  205. package/.kilocode/rules/plan-refactor.md +87 -0
  206. package/.kilocode/rules/plan-release.md +145 -0
  207. package/.kilocode/rules/plan-tests.md +75 -0
  208. package/.kilocode/rules/plan-work.md +260 -0
  209. package/.kilocode/rules/publish-package.md +328 -0
  210. package/.kilocode/rules/quick-fix.md +114 -0
  211. package/.kilocode/rules/release-branch.md +298 -0
  212. package/.kilocode/rules/request-review.md +112 -0
  213. package/.kilocode/rules/research-first.md +87 -0
  214. package/.kilocode/rules/reset-baseline.md +21 -0
  215. package/.kilocode/rules/respond-review.md +71 -0
  216. package/.kilocode/rules/run-benchmark.md +85 -0
  217. package/.kilocode/rules/run-evals.md +80 -0
  218. package/.kilocode/rules/run-planning.md +101 -0
  219. package/.kilocode/rules/scope-work.md +63 -0
  220. package/.kilocode/rules/search-skills.md +73 -0
  221. package/.kilocode/rules/security-review.md +384 -0
  222. package/.kilocode/rules/seed-conventions.md +285 -0
  223. package/.kilocode/rules/session-state.md +146 -0
  224. package/.kilocode/rules/setup-environment.md +39 -0
  225. package/.kilocode/rules/simulate-agents.md +26 -0
  226. package/.kilocode/rules/slice-tasks.md +68 -0
  227. package/.kilocode/rules/smoke-test.md +242 -0
  228. package/.kilocode/rules/spike-prototype.md +95 -0
  229. package/.kilocode/rules/stocktake-skills.md +72 -0
  230. package/.kilocode/rules/survey-context.md +135 -0
  231. package/.kilocode/rules/terse-mode.md +42 -0
  232. package/.kilocode/rules/trace-requirement.md +69 -0
  233. package/.kilocode/rules/using-bigpowers.md +111 -0
  234. package/.kilocode/rules/validate-contracts.md +309 -0
  235. package/.kilocode/rules/validate-fix.md +106 -0
  236. package/.kilocode/rules/verify-work.md +191 -0
  237. package/.kilocode/rules/visual-dashboard.md +50 -0
  238. package/.kilocode/rules/wire-ci.md +375 -0
  239. package/.kilocode/rules/wire-observability.md +97 -0
  240. package/.kilocode/rules/write-document.md +255 -0
  241. package/.pi/package.json +1 -1
  242. package/.trae/skills/align-grid/SKILL.md +110 -0
  243. package/.trae/skills/assess-impact/SKILL.md +91 -0
  244. package/.trae/skills/audit-code/SKILL.md +187 -0
  245. package/.trae/skills/audit-plan/SKILL.md +89 -0
  246. package/.trae/skills/build-epic/SKILL.md +105 -0
  247. package/.trae/skills/change-request/SKILL.md +121 -0
  248. package/.trae/skills/commit-message/SKILL.md +140 -0
  249. package/.trae/skills/compose-workflow/SKILL.md +82 -0
  250. package/.trae/skills/context7-mcp/SKILL.md +55 -0
  251. package/.trae/skills/craft-skill/SKILL.md +179 -0
  252. package/.trae/skills/deepen-architecture/SKILL.md +260 -0
  253. package/.trae/skills/define-language/SKILL.md +80 -0
  254. package/.trae/skills/define-success/SKILL.md +65 -0
  255. package/.trae/skills/delegate-task/SKILL.md +91 -0
  256. package/.trae/skills/deploy/SKILL.md +198 -0
  257. package/.trae/skills/design-interface/SKILL.md +97 -0
  258. package/.trae/skills/develop-tdd/SKILL.md +406 -0
  259. package/.trae/skills/diagnose-root/SKILL.md +24 -0
  260. package/.trae/skills/diagnose-stall/SKILL.md +54 -0
  261. package/.trae/skills/dispatch-agents/SKILL.md +118 -0
  262. package/.trae/skills/edit-document/SKILL.md +23 -0
  263. package/.trae/skills/elaborate-spec/SKILL.md +101 -0
  264. package/.trae/skills/enforce-first/SKILL.md +32 -0
  265. package/.trae/skills/evolve-skill/SKILL.md +55 -0
  266. package/.trae/skills/execute-plan/SKILL.md +61 -0
  267. package/.trae/skills/extract-design/SKILL.md +132 -0
  268. package/.trae/skills/find-way/SKILL.md +191 -0
  269. package/.trae/skills/fix-bug/SKILL.md +67 -0
  270. package/.trae/skills/gate-trace/SKILL.md +88 -0
  271. package/.trae/skills/generate-allure-report/SKILL.md +285 -0
  272. package/.trae/skills/grill-me/SKILL.md +96 -0
  273. package/.trae/skills/grill-with-docs/SKILL.md +41 -0
  274. package/.trae/skills/guard-git/SKILL.md +231 -0
  275. package/.trae/skills/harden-vps/SKILL.md +288 -0
  276. package/.trae/skills/hook-commits/SKILL.md +94 -0
  277. package/.trae/skills/inspect-quality/SKILL.md +106 -0
  278. package/.trae/skills/investigate-bug/SKILL.md +127 -0
  279. package/.trae/skills/kickoff-branch/SKILL.md +143 -0
  280. package/.trae/skills/maintain-wiki/SKILL.md +64 -0
  281. package/.trae/skills/map-codebase/SKILL.md +71 -0
  282. package/.trae/skills/migrate-spec/SKILL.md +862 -0
  283. package/.trae/skills/model-domain/SKILL.md +232 -0
  284. package/.trae/skills/orchestrate-project/SKILL.md +174 -0
  285. package/.trae/skills/organize-workspace/SKILL.md +164 -0
  286. package/.trae/skills/plan-refactor/SKILL.md +87 -0
  287. package/.trae/skills/plan-release/SKILL.md +145 -0
  288. package/.trae/skills/plan-tests/SKILL.md +75 -0
  289. package/.trae/skills/plan-work/SKILL.md +260 -0
  290. package/.trae/skills/publish-package/SKILL.md +328 -0
  291. package/.trae/skills/quick-fix/SKILL.md +114 -0
  292. package/.trae/skills/release-branch/SKILL.md +298 -0
  293. package/.trae/skills/request-review/SKILL.md +112 -0
  294. package/.trae/skills/research-first/SKILL.md +87 -0
  295. package/.trae/skills/reset-baseline/SKILL.md +21 -0
  296. package/.trae/skills/respond-review/SKILL.md +71 -0
  297. package/.trae/skills/run-benchmark/SKILL.md +85 -0
  298. package/.trae/skills/run-evals/SKILL.md +80 -0
  299. package/.trae/skills/run-planning/SKILL.md +101 -0
  300. package/.trae/skills/scope-work/SKILL.md +63 -0
  301. package/.trae/skills/search-skills/SKILL.md +73 -0
  302. package/.trae/skills/security-review/SKILL.md +384 -0
  303. package/.trae/skills/seed-conventions/SKILL.md +285 -0
  304. package/.trae/skills/session-state/SKILL.md +146 -0
  305. package/.trae/skills/setup-environment/SKILL.md +39 -0
  306. package/.trae/skills/simulate-agents/SKILL.md +26 -0
  307. package/.trae/skills/slice-tasks/SKILL.md +68 -0
  308. package/.trae/skills/smoke-test/SKILL.md +242 -0
  309. package/.trae/skills/spike-prototype/SKILL.md +95 -0
  310. package/.trae/skills/stocktake-skills/SKILL.md +72 -0
  311. package/.trae/skills/survey-context/SKILL.md +135 -0
  312. package/.trae/skills/terse-mode/SKILL.md +42 -0
  313. package/.trae/skills/trace-requirement/SKILL.md +69 -0
  314. package/.trae/skills/using-bigpowers/SKILL.md +111 -0
  315. package/.trae/skills/validate-contracts/SKILL.md +309 -0
  316. package/.trae/skills/validate-fix/SKILL.md +106 -0
  317. package/.trae/skills/verify-work/SKILL.md +191 -0
  318. package/.trae/skills/visual-dashboard/SKILL.md +50 -0
  319. package/.trae/skills/wire-ci/SKILL.md +375 -0
  320. package/.trae/skills/wire-observability/SKILL.md +97 -0
  321. package/.trae/skills/write-document/SKILL.md +255 -0
  322. package/.windsurf/rules/align-grid.md +110 -0
  323. package/.windsurf/rules/assess-impact.md +91 -0
  324. package/.windsurf/rules/audit-code.md +187 -0
  325. package/.windsurf/rules/audit-plan.md +89 -0
  326. package/.windsurf/rules/build-epic.md +105 -0
  327. package/.windsurf/rules/change-request.md +121 -0
  328. package/.windsurf/rules/commit-message.md +140 -0
  329. package/.windsurf/rules/compose-workflow.md +82 -0
  330. package/.windsurf/rules/context7-mcp.md +55 -0
  331. package/.windsurf/rules/craft-skill.md +179 -0
  332. package/.windsurf/rules/deepen-architecture.md +260 -0
  333. package/.windsurf/rules/define-language.md +80 -0
  334. package/.windsurf/rules/define-success.md +65 -0
  335. package/.windsurf/rules/delegate-task.md +91 -0
  336. package/.windsurf/rules/deploy.md +198 -0
  337. package/.windsurf/rules/design-interface.md +97 -0
  338. package/.windsurf/rules/develop-tdd.md +406 -0
  339. package/.windsurf/rules/diagnose-root.md +24 -0
  340. package/.windsurf/rules/diagnose-stall.md +54 -0
  341. package/.windsurf/rules/dispatch-agents.md +118 -0
  342. package/.windsurf/rules/edit-document.md +23 -0
  343. package/.windsurf/rules/elaborate-spec.md +101 -0
  344. package/.windsurf/rules/enforce-first.md +32 -0
  345. package/.windsurf/rules/evolve-skill.md +55 -0
  346. package/.windsurf/rules/execute-plan.md +61 -0
  347. package/.windsurf/rules/extract-design.md +132 -0
  348. package/.windsurf/rules/find-way.md +191 -0
  349. package/.windsurf/rules/fix-bug.md +67 -0
  350. package/.windsurf/rules/gate-trace.md +88 -0
  351. package/.windsurf/rules/generate-allure-report.md +285 -0
  352. package/.windsurf/rules/grill-me.md +96 -0
  353. package/.windsurf/rules/grill-with-docs.md +41 -0
  354. package/.windsurf/rules/guard-git.md +231 -0
  355. package/.windsurf/rules/harden-vps.md +288 -0
  356. package/.windsurf/rules/hook-commits.md +94 -0
  357. package/.windsurf/rules/inspect-quality.md +106 -0
  358. package/.windsurf/rules/investigate-bug.md +127 -0
  359. package/.windsurf/rules/kickoff-branch.md +143 -0
  360. package/.windsurf/rules/maintain-wiki.md +64 -0
  361. package/.windsurf/rules/map-codebase.md +71 -0
  362. package/.windsurf/rules/migrate-spec.md +862 -0
  363. package/.windsurf/rules/model-domain.md +232 -0
  364. package/.windsurf/rules/orchestrate-project.md +174 -0
  365. package/.windsurf/rules/organize-workspace.md +164 -0
  366. package/.windsurf/rules/plan-refactor.md +87 -0
  367. package/.windsurf/rules/plan-release.md +145 -0
  368. package/.windsurf/rules/plan-tests.md +75 -0
  369. package/.windsurf/rules/plan-work.md +260 -0
  370. package/.windsurf/rules/publish-package.md +328 -0
  371. package/.windsurf/rules/quick-fix.md +114 -0
  372. package/.windsurf/rules/release-branch.md +298 -0
  373. package/.windsurf/rules/request-review.md +112 -0
  374. package/.windsurf/rules/research-first.md +87 -0
  375. package/.windsurf/rules/reset-baseline.md +21 -0
  376. package/.windsurf/rules/respond-review.md +71 -0
  377. package/.windsurf/rules/run-benchmark.md +85 -0
  378. package/.windsurf/rules/run-evals.md +80 -0
  379. package/.windsurf/rules/run-planning.md +101 -0
  380. package/.windsurf/rules/scope-work.md +63 -0
  381. package/.windsurf/rules/search-skills.md +73 -0
  382. package/.windsurf/rules/security-review.md +384 -0
  383. package/.windsurf/rules/seed-conventions.md +285 -0
  384. package/.windsurf/rules/session-state.md +146 -0
  385. package/.windsurf/rules/setup-environment.md +39 -0
  386. package/.windsurf/rules/simulate-agents.md +26 -0
  387. package/.windsurf/rules/slice-tasks.md +68 -0
  388. package/.windsurf/rules/smoke-test.md +242 -0
  389. package/.windsurf/rules/spike-prototype.md +95 -0
  390. package/.windsurf/rules/stocktake-skills.md +72 -0
  391. package/.windsurf/rules/survey-context.md +135 -0
  392. package/.windsurf/rules/terse-mode.md +42 -0
  393. package/.windsurf/rules/trace-requirement.md +69 -0
  394. package/.windsurf/rules/using-bigpowers.md +111 -0
  395. package/.windsurf/rules/validate-contracts.md +309 -0
  396. package/.windsurf/rules/validate-fix.md +106 -0
  397. package/.windsurf/rules/verify-work.md +191 -0
  398. package/.windsurf/rules/visual-dashboard.md +50 -0
  399. package/.windsurf/rules/wire-ci.md +375 -0
  400. package/.windsurf/rules/wire-observability.md +97 -0
  401. package/.windsurf/rules/write-document.md +255 -0
  402. package/CHANGELOG.md +30 -0
  403. package/CONVENTIONS.md +22 -0
  404. package/bin/setup.js +9 -1
  405. package/instructions +1 -0
  406. package/package.json +1 -1
  407. package/scripts/adapters/cline.sh +53 -3
  408. package/scripts/adapters/codebuddy.sh +58 -0
  409. package/scripts/adapters/codex.sh +58 -0
  410. package/scripts/adapters/copilot.sh +58 -0
  411. package/scripts/adapters/kilocode.sh +44 -3
  412. package/scripts/adapters/opencode.sh +58 -0
  413. package/scripts/adapters/qwen.sh +53 -1
  414. package/scripts/adapters/trae.sh +58 -0
  415. package/scripts/adapters/windsurf.sh +52 -0
  416. package/scripts/bp-yaml-set.sh +2 -0
  417. package/scripts/generate-wave-b-hub.py +31 -0
  418. package/scripts/hooks/cline/HOOKS.md +16 -0
  419. package/scripts/hooks/cline/hooks-manifest.json +12 -0
  420. package/scripts/hooks/cline/plugin/guard-git-plugin.ts +16 -0
  421. package/scripts/hooks/codebuddy/HOOKS.md +24 -0
  422. package/scripts/hooks/codebuddy/hooks-manifest.json +20 -0
  423. package/scripts/hooks/codebuddy/pre-tool-git-guard.sh +22 -0
  424. package/scripts/hooks/codebuddy/settings.example.json +16 -0
  425. package/scripts/hooks/codex/HOOKS.md +21 -0
  426. package/scripts/hooks/codex/hooks-manifest.json +17 -0
  427. package/scripts/hooks/codex/pre-tool-git-guard.sh +22 -0
  428. package/scripts/hooks/codex/settings.example.json +16 -0
  429. package/scripts/hooks/kilocode/HOOKS.md +16 -0
  430. package/scripts/hooks/kilocode/hooks-manifest.json +12 -0
  431. package/scripts/hooks/kilocode/plugin/guard-git-plugin.ts +16 -0
  432. package/scripts/hooks/qwen/HOOKS.md +27 -0
  433. package/scripts/hooks/qwen/hooks-manifest.json +23 -0
  434. package/scripts/hooks/qwen/pre-tool-git-guard.sh +22 -0
  435. package/scripts/hooks/qwen/settings.example.json +16 -0
  436. package/scripts/hooks/trae/HOOKS.md +17 -0
  437. package/scripts/hooks/trae/hooks-manifest.json +13 -0
  438. package/scripts/hooks/trae/pre-tool-git-guard.sh +22 -0
  439. package/scripts/hooks/trae/settings.example.json +16 -0
  440. package/scripts/hooks/windsurf/HOOKS.md +23 -0
  441. package/scripts/hooks/windsurf/hooks-manifest.json +19 -0
  442. package/scripts/hooks/windsurf/pre-tool-git-guard.sh +22 -0
  443. package/scripts/hooks/windsurf/settings.example.json +16 -0
  444. package/scripts/install.sh +33 -373
  445. package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
  446. package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
  447. package/scripts/lib/context-wire.sh +5 -0
  448. package/scripts/lib/install-grep.sh +18 -0
  449. package/scripts/lib/install-helpers.js +139 -2
  450. package/scripts/lib/install-targets-a.sh +227 -0
  451. package/scripts/lib/install-targets-b.sh +226 -0
  452. package/scripts/lib/install-targets-c.sh +128 -0
  453. package/scripts/lib/install-targets-d.sh +179 -0
  454. package/scripts/lib/srp-engine.py +2 -70
  455. package/scripts/lib/srp_engine_links.py +59 -0
  456. package/scripts/lib/wave_b_hub_codegen_helpers.py +273 -0
  457. package/scripts/lib/wave_b_hub_codegen_install.py +134 -0
  458. package/scripts/lib/wave_b_hub_config.py +130 -0
  459. package/scripts/lib/wave_b_hub_patch.py +213 -0
  460. package/scripts/record-cycle-time.sh +3 -14
  461. package/scripts/targets.yaml +75 -2
  462. package/scripts/test-agy-hub.sh +11 -10
  463. package/scripts/test-cline-adapter.sh +55 -0
  464. package/scripts/test-cline-hub.sh +48 -0
  465. package/scripts/test-codebuddy-adapter.sh +63 -0
  466. package/scripts/test-codebuddy-hub.sh +49 -0
  467. package/scripts/test-codex-adapter.sh +63 -0
  468. package/scripts/test-codex-hub.sh +49 -0
  469. package/scripts/test-copilot-adapter.sh +47 -0
  470. package/scripts/test-copilot-hub.sh +43 -0
  471. package/scripts/test-gemini-hub.sh +10 -9
  472. package/scripts/test-hermes-hub.sh +7 -6
  473. package/scripts/test-install-helpers.js +9 -3
  474. package/scripts/test-kilocode-adapter.sh +55 -0
  475. package/scripts/test-kilocode-hub.sh +48 -0
  476. package/scripts/test-mimo-hub.sh +7 -6
  477. package/scripts/test-opencode-adapter.sh +47 -0
  478. package/scripts/test-opencode-hub.sh +43 -0
  479. package/scripts/test-qwen-adapter.sh +63 -0
  480. package/scripts/test-qwen-hub.sh +49 -0
  481. package/scripts/test-trae-adapter.sh +63 -0
  482. package/scripts/test-trae-hub.sh +49 -0
  483. package/scripts/test-windsurf-adapter.sh +63 -0
  484. package/scripts/test-windsurf-hub.sh +49 -0
  485. package/scripts/test-zcode-hub.sh +7 -6
  486. package/scripts/verify-install.sh +83 -29
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env bash
2
+ # story: e62s01
3
+ # scenario: SC-e62s01-P1-01
4
+ # OpenCode skill adapter — renders .opencode/skills from SkillIR.
5
+
6
+ opencode_is_unsafe_skill_name() {
7
+ local name="$1"
8
+ [[ -z "$name" || "$name" == "null" || "$name" == *"/"* || "$name" == *".."* ]]
9
+ }
10
+
11
+ opencode_sanitize_name() {
12
+ local name="$1"
13
+ if opencode_is_unsafe_skill_name "$name"; then
14
+ echo "opencode: invalid skill name: ${name:-<empty>}" >&2
15
+ return 1
16
+ fi
17
+ printf '%s' "$name"
18
+ }
19
+
20
+ render_skill() {
21
+ local safe_name
22
+ safe_name=$(opencode_sanitize_name "${IR_NAME:-}") || return 1
23
+ local out="${OPENCODE_SKILLS:-.opencode/skills}"
24
+ mkdir -p "$out/$safe_name"
25
+
26
+ if [[ -n "${SKILL_MD_PATH:-}" && -f "$SKILL_MD_PATH" ]]; then
27
+ cp "$SKILL_MD_PATH" "$out/$safe_name/SKILL.md"
28
+ return 0
29
+ fi
30
+
31
+ {
32
+ echo "---"
33
+ echo "name: $safe_name"
34
+ [[ -n "${IR_MODEL:-}" && "$IR_MODEL" != "null" ]] && echo "model: $IR_MODEL"
35
+ echo "description: \"${IR_DESC_ESCAPED:-}\""
36
+ echo "---"
37
+ echo ""
38
+ echo "${IR_BODY:-}"
39
+ } > "$out/$safe_name/SKILL.md"
40
+ }
41
+
42
+
43
+ wire_context() {
44
+ source "$(dirname "${BASH_SOURCE[0]}")/../lib/context-wire.sh"
45
+ wire_context_mode symlink "${1:-AGENTS.md}"
46
+ }
47
+
48
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]] && [[ ! -t 0 ]]; then
49
+ JSON_INPUT=$(cat)
50
+ if [[ -n "$JSON_INPUT" ]]; then
51
+ IR_NAME=$(echo "$JSON_INPUT" | jq -r '.name')
52
+ IR_MODEL=$(echo "$JSON_INPUT" | jq -r '.model')
53
+ IR_DESCRIPTION=$(echo "$JSON_INPUT" | jq -r '.description')
54
+ IR_BODY=$(echo "$JSON_INPUT" | jq -r '.body')
55
+ IR_DESC_ESCAPED=$(echo "$IR_DESCRIPTION" | sed 's/\\/\\\\/g; s/\"/\\"/g')
56
+ render_skill
57
+ fi
58
+ fi
@@ -1,6 +1,58 @@
1
1
  #!/usr/bin/env bash
2
- # story: e37s11
2
+ # story: e68s01
3
+ # scenario: SC-e68s01-P1-01
4
+ # Qwen Code skill adapter — renders .qwen/skills from SkillIR.
5
+
6
+ qwen_is_unsafe_skill_name() {
7
+ local name="$1"
8
+ [[ -z "$name" || "$name" == "null" || "$name" == *"/"* || "$name" == *".."* ]]
9
+ }
10
+
11
+ qwen_sanitize_name() {
12
+ local name="$1"
13
+ if qwen_is_unsafe_skill_name "$name"; then
14
+ echo "qwen: invalid skill name: ${name:-<empty>}" >&2
15
+ return 1
16
+ fi
17
+ printf '%s' "$name"
18
+ }
19
+
20
+ render_skill() {
21
+ local safe_name
22
+ safe_name=$(qwen_sanitize_name "${IR_NAME:-}") || return 1
23
+ local out="${QWEN_SKILLS:-.qwen/skills}"
24
+ mkdir -p "$out/$safe_name"
25
+
26
+ if [[ -n "${SKILL_MD_PATH:-}" && -f "$SKILL_MD_PATH" ]]; then
27
+ cp "$SKILL_MD_PATH" "$out/$safe_name/SKILL.md"
28
+ return 0
29
+ fi
30
+
31
+ {
32
+ echo "---"
33
+ echo "name: $safe_name"
34
+ [[ -n "${IR_MODEL:-}" && "$IR_MODEL" != "null" ]] && echo "model: $IR_MODEL"
35
+ echo "description: \"${IR_DESC_ESCAPED:-}\""
36
+ echo "---"
37
+ echo ""
38
+ echo "${IR_BODY:-}"
39
+ } > "$out/$safe_name/SKILL.md"
40
+ }
41
+
42
+
3
43
  wire_context() {
4
44
  source "$(dirname "${BASH_SOURCE[0]}")/../lib/context-wire.sh"
5
45
  wire_context_mode symlink "${1:-QWEN.md}"
6
46
  }
47
+
48
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]] && [[ ! -t 0 ]]; then
49
+ JSON_INPUT=$(cat)
50
+ if [[ -n "$JSON_INPUT" ]]; then
51
+ IR_NAME=$(echo "$JSON_INPUT" | jq -r '.name')
52
+ IR_MODEL=$(echo "$JSON_INPUT" | jq -r '.model')
53
+ IR_DESCRIPTION=$(echo "$JSON_INPUT" | jq -r '.description')
54
+ IR_BODY=$(echo "$JSON_INPUT" | jq -r '.body')
55
+ IR_DESC_ESCAPED=$(echo "$IR_DESCRIPTION" | sed 's/\\/\\\\/g; s/\"/\\"/g')
56
+ render_skill
57
+ fi
58
+ fi
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env bash
2
+ # story: e70s01
3
+ # scenario: SC-e70s01-P1-01
4
+ # Trae skill adapter — renders .trae/skills from SkillIR.
5
+
6
+ trae_is_unsafe_skill_name() {
7
+ local name="$1"
8
+ [[ -z "$name" || "$name" == "null" || "$name" == *"/"* || "$name" == *".."* ]]
9
+ }
10
+
11
+ trae_sanitize_name() {
12
+ local name="$1"
13
+ if trae_is_unsafe_skill_name "$name"; then
14
+ echo "trae: invalid skill name: ${name:-<empty>}" >&2
15
+ return 1
16
+ fi
17
+ printf '%s' "$name"
18
+ }
19
+
20
+ render_skill() {
21
+ local safe_name
22
+ safe_name=$(trae_sanitize_name "${IR_NAME:-}") || return 1
23
+ local out="${TRAE_SKILLS:-.trae/skills}"
24
+ mkdir -p "$out/$safe_name"
25
+
26
+ if [[ -n "${SKILL_MD_PATH:-}" && -f "$SKILL_MD_PATH" ]]; then
27
+ cp "$SKILL_MD_PATH" "$out/$safe_name/SKILL.md"
28
+ return 0
29
+ fi
30
+
31
+ {
32
+ echo "---"
33
+ echo "name: $safe_name"
34
+ [[ -n "${IR_MODEL:-}" && "$IR_MODEL" != "null" ]] && echo "model: $IR_MODEL"
35
+ echo "description: \"${IR_DESC_ESCAPED:-}\""
36
+ echo "---"
37
+ echo ""
38
+ echo "${IR_BODY:-}"
39
+ } > "$out/$safe_name/SKILL.md"
40
+ }
41
+
42
+
43
+ wire_context() {
44
+ source "$(dirname "${BASH_SOURCE[0]}")/../lib/context-wire.sh"
45
+ wire_context_mode symlink "${1:-AGENTS.md}"
46
+ }
47
+
48
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]] && [[ ! -t 0 ]]; then
49
+ JSON_INPUT=$(cat)
50
+ if [[ -n "$JSON_INPUT" ]]; then
51
+ IR_NAME=$(echo "$JSON_INPUT" | jq -r '.name')
52
+ IR_MODEL=$(echo "$JSON_INPUT" | jq -r '.model')
53
+ IR_DESCRIPTION=$(echo "$JSON_INPUT" | jq -r '.description')
54
+ IR_BODY=$(echo "$JSON_INPUT" | jq -r '.body')
55
+ IR_DESC_ESCAPED=$(echo "$IR_DESCRIPTION" | sed 's/\\/\\\\/g; s/\"/\\"/g')
56
+ render_skill
57
+ fi
58
+ fi
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env bash
2
+ # story: e73s01
3
+ # scenario: SC-e73s01-P1-01
4
+ # Windsurf skill adapter — renders .windsurf/rules from SkillIR.
5
+
6
+ windsurf_is_unsafe_skill_name() {
7
+ local name="$1"
8
+ [[ -z "$name" || "$name" == "null" || "$name" == *"/"* || "$name" == *".."* ]]
9
+ }
10
+
11
+ windsurf_sanitize_name() {
12
+ local name="$1"
13
+ if windsurf_is_unsafe_skill_name "$name"; then
14
+ echo "windsurf: invalid skill name: ${name:-<empty>}" >&2
15
+ return 1
16
+ fi
17
+ printf '%s' "$name"
18
+ }
19
+
20
+ render_skill() {
21
+ local safe_name
22
+ safe_name=$(windsurf_sanitize_name "${IR_NAME:-}") || return 1
23
+ local out="${WINDSURF_RULES:-.windsurf/rules}"
24
+ mkdir -p "$out"
25
+ {
26
+ echo "---"
27
+ echo "name: $safe_name"
28
+ [[ -n "${IR_MODEL:-}" && "$IR_MODEL" != "null" ]] && echo "model: $IR_MODEL"
29
+ echo "description: \"${IR_DESC_ESCAPED:-}\""
30
+ echo "---"
31
+ echo ""
32
+ echo "${IR_BODY:-}"
33
+ } > "$out/$safe_name.md"
34
+ }
35
+
36
+
37
+ wire_context() {
38
+ source "$(dirname "${BASH_SOURCE[0]}")/../lib/context-wire.sh"
39
+ wire_context_mode copy "${1:-AGENTS.md}"
40
+ }
41
+
42
+ if [[ "${BASH_SOURCE[0]}" == "${0}" ]] && [[ ! -t 0 ]]; then
43
+ JSON_INPUT=$(cat)
44
+ if [[ -n "$JSON_INPUT" ]]; then
45
+ IR_NAME=$(echo "$JSON_INPUT" | jq -r '.name')
46
+ IR_MODEL=$(echo "$JSON_INPUT" | jq -r '.model')
47
+ IR_DESCRIPTION=$(echo "$JSON_INPUT" | jq -r '.description')
48
+ IR_BODY=$(echo "$JSON_INPUT" | jq -r '.body')
49
+ IR_DESC_ESCAPED=$(echo "$IR_DESCRIPTION" | sed 's/\\/\\\\/g; s/\"/\\"/g')
50
+ render_skill
51
+ fi
52
+ fi
@@ -3,6 +3,8 @@
3
3
  # Usage: bp-yaml-set.sh <file> <dotted.key> <value>
4
4
  set -euo pipefail
5
5
  source "$(dirname "${BASH_SOURCE[0]}")/lib/python-env.sh"
6
+ source "$(dirname "${BASH_SOURCE[0]}")/lib/skill-common.sh"
7
+ resolve_repo_root
6
8
  FILE="${1:?file}"
7
9
  KEY="${2:?dotted.key}"
8
10
  VAL="${3:?value}"
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env python3
2
+ # story: e45s22
3
+ """Apply Wave B install hub wiring for fleet integration epics."""
4
+ from __future__ import annotations
5
+
6
+ import sys
7
+ from pathlib import Path
8
+
9
+ _LIB = Path(__file__).resolve().parent / "lib"
10
+ if str(_LIB) not in sys.path:
11
+ sys.path.insert(0, str(_LIB))
12
+
13
+ from wave_b_hub_patch import apply_epic # noqa: E402
14
+ from wave_b_hub_config import HUB_EPICS # noqa: E402
15
+
16
+ def main(argv: list[str]) -> int:
17
+ if len(argv) < 2:
18
+ print("Usage: generate-wave-b-hub.py <e65|e68|...|all>", file=sys.stderr)
19
+ return 1
20
+ target = argv[1]
21
+ ids = list(HUB_EPICS.keys()) if target == "all" else [target]
22
+ for eid in ids:
23
+ if eid not in HUB_EPICS:
24
+ print(f"Unknown epic: {eid}", file=sys.stderr)
25
+ return 1
26
+ apply_epic(eid)
27
+ return 0
28
+
29
+
30
+ if __name__ == "__main__":
31
+ raise SystemExit(main(sys.argv))
@@ -0,0 +1,16 @@
1
+ # Cline Hook Templates (Wave A)
2
+
3
+ Shipped under `scripts/hooks/cline/` — copy to user config in Wave B.
4
+
5
+ ## Events
6
+
7
+ - `tool.execute.before`
8
+ - `tool.execute.after`
9
+ - `session`
10
+ - `message`
11
+ - `permission`
12
+
13
+ ## Security
14
+
15
+ Templates use fixed guard logic only — no dynamic eval.
16
+
@@ -0,0 +1,12 @@
1
+ {
2
+ "schema_version": 1,
3
+ "target": "cline",
4
+ "events_total": 5,
5
+ "events": [
6
+ "tool.execute.before",
7
+ "tool.execute.after",
8
+ "session",
9
+ "message",
10
+ "permission"
11
+ ]
12
+ }
@@ -0,0 +1,16 @@
1
+ // story: e66s01
2
+ // scenario: SC-e66s01-P1-03
3
+ // cline plugin hook template — register tool guards (no dynamic eval).
4
+
5
+ export function register(ctx: { registerHook: (event: string, fn: Function) => void }) {
6
+ const events = ["tool.execute.before", "tool.execute.after", "session"] as const;
7
+ for (const event of events) {
8
+ ctx.registerHook(event, async (payload: { command?: string }) => {
9
+ const cmd = payload?.command ?? "";
10
+ if (/git push --force|reset --hard|rm -rf \//.test(cmd)) {
11
+ return { decision: "block", reason: "BLOCKED: dangerous command pattern" };
12
+ }
13
+ return { decision: "allow" };
14
+ });
15
+ }
16
+ }
@@ -0,0 +1,24 @@
1
+ # CodeBuddy Hook Templates (Wave A)
2
+
3
+ Shipped under `scripts/hooks/codebuddy/` — copy to user config in Wave B.
4
+
5
+ ## Events
6
+
7
+ - `PreToolUse`
8
+ - `PostToolUse`
9
+ - `PostToolUseFailure`
10
+ - `SessionStart`
11
+ - `SessionEnd`
12
+ - `Stop`
13
+ - `SubagentStart`
14
+ - `SubagentStop`
15
+ - `UserPromptSubmit`
16
+ - `Notification`
17
+ - `PermissionRequest`
18
+ - `PreCompact`
19
+ - `PostCompact`
20
+
21
+ ## Security
22
+
23
+ Templates use fixed guard logic only — no dynamic eval.
24
+
@@ -0,0 +1,20 @@
1
+ {
2
+ "schema_version": 1,
3
+ "target": "codebuddy",
4
+ "events_total": 13,
5
+ "events": [
6
+ "PreToolUse",
7
+ "PostToolUse",
8
+ "PostToolUseFailure",
9
+ "SessionStart",
10
+ "SessionEnd",
11
+ "Stop",
12
+ "SubagentStart",
13
+ "SubagentStop",
14
+ "UserPromptSubmit",
15
+ "Notification",
16
+ "PermissionRequest",
17
+ "PreCompact",
18
+ "PostCompact"
19
+ ]
20
+ }
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env bash
2
+ # story: e72s01
3
+ # scenario: SC-e72s01-P2-02
4
+ # codebuddy hook template — blocks dangerous terminal/git commands (fixed guard logic).
5
+ set -euo pipefail
6
+
7
+ INPUT=$(cat)
8
+ CMD=$(echo "$INPUT" | jq -r '.tool_input.command // .tool_input.cmd // .command // empty')
9
+
10
+ if [[ -z "$CMD" ]]; then
11
+ exit 0
12
+ fi
13
+
14
+ case "$CMD" in
15
+ *'git push --force'*|*'git push -f '*|*'reset --hard'*|*'git clean -f'*|*'rm -rf /'*)
16
+ jq -nc --arg reason "BLOCKED: dangerous command pattern" \
17
+ '{decision: "block", reason: $reason, hookVersion: "1.0.0"}'
18
+ exit 0
19
+ ;;
20
+ esac
21
+
22
+ exit 0
@@ -0,0 +1,16 @@
1
+ {
2
+ "hooks": {
3
+ "PreToolUse": [
4
+ {
5
+ "type": "command",
6
+ "command": "bash scripts/hooks/codebuddy/pre-tool-git-guard.sh"
7
+ }
8
+ ],
9
+ "PostToolUse": [
10
+ {
11
+ "type": "command",
12
+ "command": "bash scripts/hooks/codebuddy/pre-tool-git-guard.sh"
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,21 @@
1
+ # Codex CLI Hook Templates (Wave A)
2
+
3
+ Shipped under `scripts/hooks/codex/` — copy to user config in Wave B.
4
+
5
+ ## Events
6
+
7
+ - `PreToolUse`
8
+ - `PostToolUse`
9
+ - `SessionStart`
10
+ - `PermissionRequest`
11
+ - `PreCompact`
12
+ - `PostCompact`
13
+ - `UserPromptSubmit`
14
+ - `SubagentStart`
15
+ - `SubagentStop`
16
+ - `Stop`
17
+
18
+ ## Security
19
+
20
+ Templates use fixed guard logic only — no dynamic eval.
21
+
@@ -0,0 +1,17 @@
1
+ {
2
+ "schema_version": 1,
3
+ "target": "codex",
4
+ "events_total": 10,
5
+ "events": [
6
+ "PreToolUse",
7
+ "PostToolUse",
8
+ "SessionStart",
9
+ "PermissionRequest",
10
+ "PreCompact",
11
+ "PostCompact",
12
+ "UserPromptSubmit",
13
+ "SubagentStart",
14
+ "SubagentStop",
15
+ "Stop"
16
+ ]
17
+ }
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env bash
2
+ # story: e65s01
3
+ # scenario: SC-e65s01-P2-02
4
+ # codex hook template — blocks dangerous terminal/git commands (fixed guard logic).
5
+ set -euo pipefail
6
+
7
+ INPUT=$(cat)
8
+ CMD=$(echo "$INPUT" | jq -r '.tool_input.command // .tool_input.cmd // .command // empty')
9
+
10
+ if [[ -z "$CMD" ]]; then
11
+ exit 0
12
+ fi
13
+
14
+ case "$CMD" in
15
+ *'git push --force'*|*'git push -f '*|*'reset --hard'*|*'git clean -f'*|*'rm -rf /'*)
16
+ jq -nc --arg reason "BLOCKED: dangerous command pattern" \
17
+ '{decision: "block", reason: $reason, hookVersion: "1.0.0"}'
18
+ exit 0
19
+ ;;
20
+ esac
21
+
22
+ exit 0
@@ -0,0 +1,16 @@
1
+ {
2
+ "hooks": {
3
+ "PreToolUse": [
4
+ {
5
+ "type": "command",
6
+ "command": "bash scripts/hooks/codex/pre-tool-git-guard.sh"
7
+ }
8
+ ],
9
+ "PostToolUse": [
10
+ {
11
+ "type": "command",
12
+ "command": "bash scripts/hooks/codex/pre-tool-git-guard.sh"
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,16 @@
1
+ # Kilo Hook Templates (Wave A)
2
+
3
+ Shipped under `scripts/hooks/kilocode/` — copy to user config in Wave B.
4
+
5
+ ## Events
6
+
7
+ - `tool.execute.before`
8
+ - `tool.execute.after`
9
+ - `chat.message`
10
+ - `permission.ask`
11
+ - `event`
12
+
13
+ ## Security
14
+
15
+ Templates use fixed guard logic only — no dynamic eval.
16
+
@@ -0,0 +1,12 @@
1
+ {
2
+ "schema_version": 1,
3
+ "target": "kilocode",
4
+ "events_total": 5,
5
+ "events": [
6
+ "tool.execute.before",
7
+ "tool.execute.after",
8
+ "chat.message",
9
+ "permission.ask",
10
+ "event"
11
+ ]
12
+ }
@@ -0,0 +1,16 @@
1
+ // story: e67s01
2
+ // scenario: SC-e67s01-P1-03
3
+ // kilocode plugin hook template — register tool guards (no dynamic eval).
4
+
5
+ export function register(ctx: { registerHook: (event: string, fn: Function) => void }) {
6
+ const events = ["tool.execute.before", "tool.execute.after", "chat.message"] as const;
7
+ for (const event of events) {
8
+ ctx.registerHook(event, async (payload: { command?: string }) => {
9
+ const cmd = payload?.command ?? "";
10
+ if (/git push --force|reset --hard|rm -rf \//.test(cmd)) {
11
+ return { decision: "block", reason: "BLOCKED: dangerous command pattern" };
12
+ }
13
+ return { decision: "allow" };
14
+ });
15
+ }
16
+ }
@@ -0,0 +1,27 @@
1
+ # Qwen Code Hook Templates (Wave A)
2
+
3
+ Shipped under `scripts/hooks/qwen/` — copy to user config in Wave B.
4
+
5
+ ## Events
6
+
7
+ - `PreToolUse`
8
+ - `PostToolUse`
9
+ - `PostToolUseFailure`
10
+ - `UserPromptSubmit`
11
+ - `SessionStart`
12
+ - `SessionEnd`
13
+ - `Stop`
14
+ - `SubagentStart`
15
+ - `SubagentStop`
16
+ - `PreCompact`
17
+ - `PostCompact`
18
+ - `Notification`
19
+ - `PermissionRequest`
20
+ - `TodoCreated`
21
+ - `TodoCompleted`
22
+ - `StopFailure`
23
+
24
+ ## Security
25
+
26
+ Templates use fixed guard logic only — no dynamic eval.
27
+
@@ -0,0 +1,23 @@
1
+ {
2
+ "schema_version": 1,
3
+ "target": "qwen",
4
+ "events_total": 16,
5
+ "events": [
6
+ "PreToolUse",
7
+ "PostToolUse",
8
+ "PostToolUseFailure",
9
+ "UserPromptSubmit",
10
+ "SessionStart",
11
+ "SessionEnd",
12
+ "Stop",
13
+ "SubagentStart",
14
+ "SubagentStop",
15
+ "PreCompact",
16
+ "PostCompact",
17
+ "Notification",
18
+ "PermissionRequest",
19
+ "TodoCreated",
20
+ "TodoCompleted",
21
+ "StopFailure"
22
+ ]
23
+ }
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/env bash
2
+ # story: e68s01
3
+ # scenario: SC-e68s01-P2-02
4
+ # qwen hook template — blocks dangerous terminal/git commands (fixed guard logic).
5
+ set -euo pipefail
6
+
7
+ INPUT=$(cat)
8
+ CMD=$(echo "$INPUT" | jq -r '.tool_input.command // .tool_input.cmd // .command // empty')
9
+
10
+ if [[ -z "$CMD" ]]; then
11
+ exit 0
12
+ fi
13
+
14
+ case "$CMD" in
15
+ *'git push --force'*|*'git push -f '*|*'reset --hard'*|*'git clean -f'*|*'rm -rf /'*)
16
+ jq -nc --arg reason "BLOCKED: dangerous command pattern" \
17
+ '{decision: "block", reason: $reason, hookVersion: "1.0.0"}'
18
+ exit 0
19
+ ;;
20
+ esac
21
+
22
+ exit 0
@@ -0,0 +1,16 @@
1
+ {
2
+ "hooks": {
3
+ "PreToolUse": [
4
+ {
5
+ "type": "command",
6
+ "command": "bash scripts/hooks/qwen/pre-tool-git-guard.sh"
7
+ }
8
+ ],
9
+ "PostToolUse": [
10
+ {
11
+ "type": "command",
12
+ "command": "bash scripts/hooks/qwen/pre-tool-git-guard.sh"
13
+ }
14
+ ]
15
+ }
16
+ }
@@ -0,0 +1,17 @@
1
+ # Trae Hook Templates (Wave A)
2
+
3
+ Shipped under `scripts/hooks/trae/` — copy to user config in Wave B.
4
+
5
+ ## Events
6
+
7
+ - `SessionStart`
8
+ - `UserPromptSubmit`
9
+ - `PreToolUse`
10
+ - `PostToolUse`
11
+ - `Stop`
12
+ - `Notification`
13
+
14
+ ## Security
15
+
16
+ Templates use fixed guard logic only — no dynamic eval.
17
+
@@ -0,0 +1,13 @@
1
+ {
2
+ "schema_version": 1,
3
+ "target": "trae",
4
+ "events_total": 6,
5
+ "events": [
6
+ "SessionStart",
7
+ "UserPromptSubmit",
8
+ "PreToolUse",
9
+ "PostToolUse",
10
+ "Stop",
11
+ "Notification"
12
+ ]
13
+ }