@wipcomputer/wip-ai-devops-toolbox 1.9.59 → 1.9.60

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 (739) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/SKILL.md +1 -1
  3. package/package.json +1 -1
  4. package/tools/deploy-public/package.json +1 -1
  5. package/tools/post-merge-rename/package.json +1 -1
  6. package/tools/wip-branch-guard/package.json +1 -1
  7. package/tools/wip-file-guard/package.json +1 -1
  8. package/tools/wip-license-guard/package.json +1 -1
  9. package/tools/wip-license-hook/package.json +1 -1
  10. package/tools/wip-readme-format/package.json +1 -1
  11. package/tools/wip-release/package.json +1 -1
  12. package/tools/wip-repo-init/package.json +1 -1
  13. package/tools/wip-repo-permissions-hook/package.json +1 -1
  14. package/tools/wip-repos/package.json +1 -1
  15. package/tools/wip-universal-installer/package.json +1 -1
  16. package/.worktrees/toolbox--guard-plan/.license-guard.json +0 -7
  17. package/.worktrees/toolbox--guard-plan/.publish-skill.json +0 -4
  18. package/.worktrees/toolbox--guard-plan/CHANGELOG.md +0 -1965
  19. package/.worktrees/toolbox--guard-plan/CLA.md +0 -19
  20. package/.worktrees/toolbox--guard-plan/DEV-GUIDE-GENERAL-PUBLIC.md +0 -949
  21. package/.worktrees/toolbox--guard-plan/LICENSE +0 -52
  22. package/.worktrees/toolbox--guard-plan/README.md +0 -238
  23. package/.worktrees/toolbox--guard-plan/RELEASE-NOTES-v1-9-59.md +0 -28
  24. package/.worktrees/toolbox--guard-plan/SKILL.md +0 -821
  25. package/.worktrees/toolbox--guard-plan/TECHNICAL.md +0 -416
  26. package/.worktrees/toolbox--guard-plan/UNIVERSAL-INTERFACE.md +0 -180
  27. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
  28. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
  29. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
  30. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
  31. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
  32. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
  33. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
  34. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
  35. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
  36. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
  37. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
  38. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
  39. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
  40. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
  41. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
  42. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
  43. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
  44. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
  45. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
  46. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
  47. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
  48. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-56.md +0 -42
  49. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-57.md +0 -18
  50. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-58.md +0 -21
  51. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
  52. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
  53. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
  54. package/.worktrees/toolbox--guard-plan/_trash/guide 2/DEV-GUIDE.md +0 -487
  55. package/.worktrees/toolbox--guard-plan/_trash/guide 2/scripts/deploy-public.sh +0 -152
  56. package/.worktrees/toolbox--guard-plan/package.json +0 -27
  57. package/.worktrees/toolbox--guard-plan/scripts/SKILL-deploy-public.md +0 -61
  58. package/.worktrees/toolbox--guard-plan/scripts/SKILL-post-merge-rename.md +0 -47
  59. package/.worktrees/toolbox--guard-plan/scripts/deploy-public.sh +0 -350
  60. package/.worktrees/toolbox--guard-plan/scripts/post-merge-rename.sh +0 -210
  61. package/.worktrees/toolbox--guard-plan/scripts/publish-skill.sh +0 -134
  62. package/.worktrees/toolbox--guard-plan/templates/global-claude-md.md +0 -73
  63. package/.worktrees/toolbox--guard-plan/templates/repo-claude-md.template +0 -24
  64. package/.worktrees/toolbox--guard-plan/tools/deploy-public/LICENSE +0 -52
  65. package/.worktrees/toolbox--guard-plan/tools/deploy-public/README.md +0 -31
  66. package/.worktrees/toolbox--guard-plan/tools/deploy-public/SKILL.md +0 -71
  67. package/.worktrees/toolbox--guard-plan/tools/deploy-public/deploy-public.sh +0 -264
  68. package/.worktrees/toolbox--guard-plan/tools/deploy-public/package.json +0 -9
  69. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/LICENSE +0 -52
  70. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/README.md +0 -46
  71. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/backup.sh +0 -16
  72. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/branch-protect.sh +0 -39
  73. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/crystal-capture.sh +0 -19
  74. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/setup-shell.sh +0 -27
  75. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/visibility-audit.sh +0 -27
  76. package/.worktrees/toolbox--guard-plan/tools/post-merge-rename/LICENSE +0 -52
  77. package/.worktrees/toolbox--guard-plan/tools/post-merge-rename/README.md +0 -29
  78. package/.worktrees/toolbox--guard-plan/tools/post-merge-rename/SKILL.md +0 -57
  79. package/.worktrees/toolbox--guard-plan/tools/post-merge-rename/package.json +0 -9
  80. package/.worktrees/toolbox--guard-plan/tools/post-merge-rename/post-merge-rename.sh +0 -122
  81. package/.worktrees/toolbox--guard-plan/tools/wip-branch-guard/INSTALL.md +0 -41
  82. package/.worktrees/toolbox--guard-plan/tools/wip-branch-guard/guard.mjs +0 -477
  83. package/.worktrees/toolbox--guard-plan/tools/wip-branch-guard/package.json +0 -18
  84. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/CHANGELOG.md +0 -6
  85. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/LICENSE +0 -52
  86. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/README.md +0 -113
  87. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/REFERENCE.md +0 -86
  88. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/SKILL.md +0 -105
  89. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/guard.mjs +0 -161
  90. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/openclaw.plugin.json +0 -8
  91. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/package.json +0 -27
  92. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/test.sh +0 -119
  93. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/LICENSE +0 -52
  94. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/README.md +0 -69
  95. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/SKILL.md +0 -65
  96. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/cli.mjs +0 -472
  97. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/core.mjs +0 -310
  98. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/guard.mjs +0 -146
  99. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/package.json +0 -22
  100. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/CHANGELOG.md +0 -17
  101. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/LICENSE +0 -52
  102. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/README.md +0 -200
  103. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/SKILL.md +0 -111
  104. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/cli/index.d.ts +0 -15
  105. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/cli/index.js +0 -170
  106. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/cli/index.js.map +0 -1
  107. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/detector.d.ts +0 -12
  108. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/detector.js +0 -104
  109. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/detector.js.map +0 -1
  110. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/index.d.ts +0 -4
  111. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/index.js +0 -5
  112. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/index.js.map +0 -1
  113. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/ledger.d.ts +0 -49
  114. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/ledger.js +0 -72
  115. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/ledger.js.map +0 -1
  116. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/reporter.d.ts +0 -14
  117. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/reporter.js +0 -227
  118. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/reporter.js.map +0 -1
  119. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/scanner.d.ts +0 -39
  120. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/scanner.js +0 -325
  121. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/scanner.js.map +0 -1
  122. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/hooks/pre-pull.sh +0 -55
  123. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/hooks/pre-push.sh +0 -51
  124. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/mcp-server.mjs +0 -119
  125. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/package-lock.json +0 -54
  126. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/package.json +0 -43
  127. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/cli/index.ts +0 -189
  128. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/core/detector.ts +0 -130
  129. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/core/index.ts +0 -4
  130. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/core/ledger.ts +0 -116
  131. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/core/reporter.ts +0 -255
  132. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/core/scanner.ts +0 -367
  133. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/tsconfig.json +0 -16
  134. package/.worktrees/toolbox--guard-plan/tools/wip-readme-format/README.md +0 -49
  135. package/.worktrees/toolbox--guard-plan/tools/wip-readme-format/SKILL.md +0 -84
  136. package/.worktrees/toolbox--guard-plan/tools/wip-readme-format/format.mjs +0 -597
  137. package/.worktrees/toolbox--guard-plan/tools/wip-readme-format/package.json +0 -15
  138. package/.worktrees/toolbox--guard-plan/tools/wip-release/CHANGELOG.md +0 -42
  139. package/.worktrees/toolbox--guard-plan/tools/wip-release/LICENSE +0 -52
  140. package/.worktrees/toolbox--guard-plan/tools/wip-release/README.md +0 -45
  141. package/.worktrees/toolbox--guard-plan/tools/wip-release/REFERENCE.md +0 -100
  142. package/.worktrees/toolbox--guard-plan/tools/wip-release/SKILL.md +0 -139
  143. package/.worktrees/toolbox--guard-plan/tools/wip-release/cli.js +0 -175
  144. package/.worktrees/toolbox--guard-plan/tools/wip-release/core.mjs +0 -1664
  145. package/.worktrees/toolbox--guard-plan/tools/wip-release/mcp-server.mjs +0 -113
  146. package/.worktrees/toolbox--guard-plan/tools/wip-release/package.json +0 -36
  147. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/README.md +0 -38
  148. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/SKILL.md +0 -77
  149. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/init.mjs +0 -148
  150. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/package.json +0 -11
  151. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/_sort/README.md +0 -15
  152. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/_trash/README.md +0 -16
  153. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/dev-updates/README.md +0 -50
  154. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/product/notes/README.md +0 -26
  155. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/product/plans-prds/roadmap.md +0 -77
  156. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/product/plans-prds/todos/README.md +0 -63
  157. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/product/product-ideas/README.md +0 -24
  158. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/product/readme-first-product.md +0 -128
  159. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/read-me-first.md +0 -80
  160. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/LICENSE +0 -52
  161. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/README.md +0 -86
  162. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/SKILL.md +0 -73
  163. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/cli.js +0 -93
  164. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/core.mjs +0 -122
  165. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/guard.mjs +0 -64
  166. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/mcp-server.mjs +0 -92
  167. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/openclaw.plugin.json +0 -8
  168. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/package.json +0 -31
  169. package/.worktrees/toolbox--guard-plan/tools/wip-repos/LICENSE +0 -52
  170. package/.worktrees/toolbox--guard-plan/tools/wip-repos/README.md +0 -77
  171. package/.worktrees/toolbox--guard-plan/tools/wip-repos/SKILL.md +0 -80
  172. package/.worktrees/toolbox--guard-plan/tools/wip-repos/claude.mjs +0 -248
  173. package/.worktrees/toolbox--guard-plan/tools/wip-repos/cli.mjs +0 -191
  174. package/.worktrees/toolbox--guard-plan/tools/wip-repos/core.mjs +0 -290
  175. package/.worktrees/toolbox--guard-plan/tools/wip-repos/mcp-server.mjs +0 -157
  176. package/.worktrees/toolbox--guard-plan/tools/wip-repos/package.json +0 -34
  177. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/CHANGELOG.md +0 -57
  178. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/LICENSE +0 -52
  179. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/README.md +0 -81
  180. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/REFERENCE.md +0 -122
  181. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/SKILL.md +0 -87
  182. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/SPEC.md +0 -206
  183. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/detect.mjs +0 -130
  184. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/README.md +0 -20
  185. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/SKILL.md +0 -28
  186. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/cli.mjs +0 -4
  187. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/core.mjs +0 -8
  188. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/mcp-server.mjs +0 -27
  189. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/package.json +0 -12
  190. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/install.js +0 -930
  191. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/package.json +0 -32
  192. package/.worktrees/toolbox--release-notes/.license-guard.json +0 -7
  193. package/.worktrees/toolbox--release-notes/.publish-skill.json +0 -4
  194. package/.worktrees/toolbox--release-notes/CHANGELOG.md +0 -1875
  195. package/.worktrees/toolbox--release-notes/CLA.md +0 -19
  196. package/.worktrees/toolbox--release-notes/DEV-GUIDE-GENERAL-PUBLIC.md +0 -949
  197. package/.worktrees/toolbox--release-notes/LICENSE +0 -52
  198. package/.worktrees/toolbox--release-notes/README.md +0 -238
  199. package/.worktrees/toolbox--release-notes/RELEASE-NOTES-v1-9-56.md +0 -42
  200. package/.worktrees/toolbox--release-notes/SKILL.md +0 -821
  201. package/.worktrees/toolbox--release-notes/TECHNICAL.md +0 -416
  202. package/.worktrees/toolbox--release-notes/UNIVERSAL-INTERFACE.md +0 -180
  203. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
  204. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
  205. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
  206. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
  207. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
  208. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
  209. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
  210. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
  211. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
  212. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
  213. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
  214. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
  215. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
  216. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
  217. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
  218. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
  219. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
  220. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
  221. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
  222. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
  223. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
  224. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
  225. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
  226. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
  227. package/.worktrees/toolbox--release-notes/_trash/guide 2/DEV-GUIDE.md +0 -487
  228. package/.worktrees/toolbox--release-notes/_trash/guide 2/scripts/deploy-public.sh +0 -152
  229. package/.worktrees/toolbox--release-notes/package.json +0 -27
  230. package/.worktrees/toolbox--release-notes/scripts/SKILL-deploy-public.md +0 -61
  231. package/.worktrees/toolbox--release-notes/scripts/SKILL-post-merge-rename.md +0 -47
  232. package/.worktrees/toolbox--release-notes/scripts/deploy-public.sh +0 -345
  233. package/.worktrees/toolbox--release-notes/scripts/post-merge-rename.sh +0 -210
  234. package/.worktrees/toolbox--release-notes/scripts/publish-skill.sh +0 -134
  235. package/.worktrees/toolbox--release-notes/templates/global-claude-md.md +0 -73
  236. package/.worktrees/toolbox--release-notes/templates/repo-claude-md.template +0 -24
  237. package/.worktrees/toolbox--release-notes/tools/deploy-public/LICENSE +0 -52
  238. package/.worktrees/toolbox--release-notes/tools/deploy-public/README.md +0 -31
  239. package/.worktrees/toolbox--release-notes/tools/deploy-public/SKILL.md +0 -71
  240. package/.worktrees/toolbox--release-notes/tools/deploy-public/deploy-public.sh +0 -264
  241. package/.worktrees/toolbox--release-notes/tools/deploy-public/package.json +0 -9
  242. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/LICENSE +0 -52
  243. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/README.md +0 -46
  244. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/backup.sh +0 -16
  245. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/branch-protect.sh +0 -39
  246. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/crystal-capture.sh +0 -19
  247. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/setup-shell.sh +0 -27
  248. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/visibility-audit.sh +0 -27
  249. package/.worktrees/toolbox--release-notes/tools/post-merge-rename/LICENSE +0 -52
  250. package/.worktrees/toolbox--release-notes/tools/post-merge-rename/README.md +0 -29
  251. package/.worktrees/toolbox--release-notes/tools/post-merge-rename/SKILL.md +0 -57
  252. package/.worktrees/toolbox--release-notes/tools/post-merge-rename/package.json +0 -9
  253. package/.worktrees/toolbox--release-notes/tools/post-merge-rename/post-merge-rename.sh +0 -122
  254. package/.worktrees/toolbox--release-notes/tools/wip-branch-guard/INSTALL.md +0 -41
  255. package/.worktrees/toolbox--release-notes/tools/wip-branch-guard/guard.mjs +0 -459
  256. package/.worktrees/toolbox--release-notes/tools/wip-branch-guard/package.json +0 -18
  257. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/CHANGELOG.md +0 -6
  258. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/LICENSE +0 -52
  259. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/README.md +0 -113
  260. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/REFERENCE.md +0 -86
  261. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/SKILL.md +0 -105
  262. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/guard.mjs +0 -161
  263. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/openclaw.plugin.json +0 -8
  264. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/package.json +0 -27
  265. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/test.sh +0 -119
  266. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/LICENSE +0 -52
  267. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/README.md +0 -69
  268. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/SKILL.md +0 -65
  269. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/cli.mjs +0 -472
  270. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/core.mjs +0 -310
  271. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/guard.mjs +0 -146
  272. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/package.json +0 -22
  273. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/CHANGELOG.md +0 -17
  274. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/LICENSE +0 -52
  275. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/README.md +0 -200
  276. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/SKILL.md +0 -111
  277. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/cli/index.d.ts +0 -15
  278. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/cli/index.js +0 -170
  279. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/cli/index.js.map +0 -1
  280. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/detector.d.ts +0 -12
  281. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/detector.js +0 -104
  282. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/detector.js.map +0 -1
  283. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/index.d.ts +0 -4
  284. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/index.js +0 -5
  285. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/index.js.map +0 -1
  286. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/ledger.d.ts +0 -49
  287. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/ledger.js +0 -72
  288. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/ledger.js.map +0 -1
  289. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/reporter.d.ts +0 -14
  290. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/reporter.js +0 -227
  291. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/reporter.js.map +0 -1
  292. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/scanner.d.ts +0 -39
  293. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/scanner.js +0 -325
  294. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/scanner.js.map +0 -1
  295. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/hooks/pre-pull.sh +0 -55
  296. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/hooks/pre-push.sh +0 -51
  297. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/mcp-server.mjs +0 -119
  298. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/package-lock.json +0 -54
  299. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/package.json +0 -43
  300. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/cli/index.ts +0 -189
  301. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/detector.ts +0 -130
  302. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/index.ts +0 -4
  303. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/ledger.ts +0 -116
  304. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/reporter.ts +0 -255
  305. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/scanner.ts +0 -367
  306. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/tsconfig.json +0 -16
  307. package/.worktrees/toolbox--release-notes/tools/wip-readme-format/README.md +0 -49
  308. package/.worktrees/toolbox--release-notes/tools/wip-readme-format/SKILL.md +0 -84
  309. package/.worktrees/toolbox--release-notes/tools/wip-readme-format/format.mjs +0 -597
  310. package/.worktrees/toolbox--release-notes/tools/wip-readme-format/package.json +0 -15
  311. package/.worktrees/toolbox--release-notes/tools/wip-release/CHANGELOG.md +0 -42
  312. package/.worktrees/toolbox--release-notes/tools/wip-release/LICENSE +0 -52
  313. package/.worktrees/toolbox--release-notes/tools/wip-release/README.md +0 -45
  314. package/.worktrees/toolbox--release-notes/tools/wip-release/REFERENCE.md +0 -100
  315. package/.worktrees/toolbox--release-notes/tools/wip-release/SKILL.md +0 -139
  316. package/.worktrees/toolbox--release-notes/tools/wip-release/cli.js +0 -175
  317. package/.worktrees/toolbox--release-notes/tools/wip-release/core.mjs +0 -1664
  318. package/.worktrees/toolbox--release-notes/tools/wip-release/mcp-server.mjs +0 -113
  319. package/.worktrees/toolbox--release-notes/tools/wip-release/package.json +0 -36
  320. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/README.md +0 -38
  321. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/SKILL.md +0 -77
  322. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/init.mjs +0 -148
  323. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/package.json +0 -11
  324. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/_sort/README.md +0 -15
  325. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/_trash/README.md +0 -16
  326. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/dev-updates/README.md +0 -50
  327. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/notes/README.md +0 -26
  328. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/plans-prds/roadmap.md +0 -77
  329. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/plans-prds/todos/README.md +0 -63
  330. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/product-ideas/README.md +0 -24
  331. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/readme-first-product.md +0 -128
  332. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/read-me-first.md +0 -80
  333. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/LICENSE +0 -52
  334. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/README.md +0 -86
  335. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/SKILL.md +0 -73
  336. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/cli.js +0 -93
  337. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/core.mjs +0 -122
  338. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/guard.mjs +0 -64
  339. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/mcp-server.mjs +0 -92
  340. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/openclaw.plugin.json +0 -8
  341. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/package.json +0 -31
  342. package/.worktrees/toolbox--release-notes/tools/wip-repos/LICENSE +0 -52
  343. package/.worktrees/toolbox--release-notes/tools/wip-repos/README.md +0 -77
  344. package/.worktrees/toolbox--release-notes/tools/wip-repos/SKILL.md +0 -80
  345. package/.worktrees/toolbox--release-notes/tools/wip-repos/claude.mjs +0 -248
  346. package/.worktrees/toolbox--release-notes/tools/wip-repos/cli.mjs +0 -191
  347. package/.worktrees/toolbox--release-notes/tools/wip-repos/core.mjs +0 -290
  348. package/.worktrees/toolbox--release-notes/tools/wip-repos/mcp-server.mjs +0 -157
  349. package/.worktrees/toolbox--release-notes/tools/wip-repos/package.json +0 -34
  350. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/CHANGELOG.md +0 -57
  351. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/LICENSE +0 -52
  352. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/README.md +0 -81
  353. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/REFERENCE.md +0 -122
  354. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/SKILL.md +0 -87
  355. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/SPEC.md +0 -206
  356. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/detect.mjs +0 -130
  357. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/README.md +0 -20
  358. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/SKILL.md +0 -28
  359. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/cli.mjs +0 -4
  360. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/core.mjs +0 -8
  361. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/mcp-server.mjs +0 -27
  362. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/package.json +0 -12
  363. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/install.js +0 -930
  364. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/package.json +0 -32
  365. package/.worktrees/toolbox--save-stale/.license-guard.json +0 -7
  366. package/.worktrees/toolbox--save-stale/.publish-skill.json +0 -4
  367. package/.worktrees/toolbox--save-stale/CHANGELOG.md +0 -1875
  368. package/.worktrees/toolbox--save-stale/CLA.md +0 -19
  369. package/.worktrees/toolbox--save-stale/DEV-GUIDE-GENERAL-PUBLIC.md +0 -949
  370. package/.worktrees/toolbox--save-stale/LICENSE +0 -52
  371. package/.worktrees/toolbox--save-stale/README.md +0 -238
  372. package/.worktrees/toolbox--save-stale/SKILL.md +0 -821
  373. package/.worktrees/toolbox--save-stale/TECHNICAL.md +0 -416
  374. package/.worktrees/toolbox--save-stale/UNIVERSAL-INTERFACE.md +0 -180
  375. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
  376. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
  377. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
  378. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
  379. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
  380. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
  381. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
  382. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
  383. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
  384. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
  385. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
  386. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
  387. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
  388. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
  389. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
  390. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
  391. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
  392. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
  393. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
  394. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
  395. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
  396. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
  397. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
  398. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
  399. package/.worktrees/toolbox--save-stale/_trash/guide 2/DEV-GUIDE.md +0 -487
  400. package/.worktrees/toolbox--save-stale/_trash/guide 2/scripts/deploy-public.sh +0 -152
  401. package/.worktrees/toolbox--save-stale/package.json +0 -27
  402. package/.worktrees/toolbox--save-stale/scripts/SKILL-deploy-public.md +0 -61
  403. package/.worktrees/toolbox--save-stale/scripts/SKILL-post-merge-rename.md +0 -47
  404. package/.worktrees/toolbox--save-stale/scripts/deploy-public.sh +0 -345
  405. package/.worktrees/toolbox--save-stale/scripts/post-merge-rename.sh +0 -210
  406. package/.worktrees/toolbox--save-stale/scripts/publish-skill.sh +0 -134
  407. package/.worktrees/toolbox--save-stale/templates/global-claude-md.md +0 -73
  408. package/.worktrees/toolbox--save-stale/templates/repo-claude-md.template +0 -24
  409. package/.worktrees/toolbox--save-stale/tools/deploy-public/LICENSE +0 -52
  410. package/.worktrees/toolbox--save-stale/tools/deploy-public/README.md +0 -31
  411. package/.worktrees/toolbox--save-stale/tools/deploy-public/SKILL.md +0 -71
  412. package/.worktrees/toolbox--save-stale/tools/deploy-public/deploy-public.sh +0 -264
  413. package/.worktrees/toolbox--save-stale/tools/deploy-public/package.json +0 -9
  414. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/LICENSE +0 -52
  415. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/README.md +0 -46
  416. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/backup.sh +0 -16
  417. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/branch-protect.sh +0 -39
  418. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/crystal-capture.sh +0 -19
  419. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/setup-shell.sh +0 -27
  420. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/visibility-audit.sh +0 -27
  421. package/.worktrees/toolbox--save-stale/tools/post-merge-rename/LICENSE +0 -52
  422. package/.worktrees/toolbox--save-stale/tools/post-merge-rename/README.md +0 -29
  423. package/.worktrees/toolbox--save-stale/tools/post-merge-rename/SKILL.md +0 -57
  424. package/.worktrees/toolbox--save-stale/tools/post-merge-rename/package.json +0 -9
  425. package/.worktrees/toolbox--save-stale/tools/post-merge-rename/post-merge-rename.sh +0 -122
  426. package/.worktrees/toolbox--save-stale/tools/wip-branch-guard/INSTALL.md +0 -41
  427. package/.worktrees/toolbox--save-stale/tools/wip-branch-guard/guard.mjs +0 -459
  428. package/.worktrees/toolbox--save-stale/tools/wip-branch-guard/package.json +0 -18
  429. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/CHANGELOG.md +0 -6
  430. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/LICENSE +0 -52
  431. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/README.md +0 -113
  432. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/REFERENCE.md +0 -86
  433. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/SKILL.md +0 -105
  434. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/guard.mjs +0 -161
  435. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/openclaw.plugin.json +0 -8
  436. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/package.json +0 -27
  437. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/test.sh +0 -119
  438. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/LICENSE +0 -52
  439. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/README.md +0 -69
  440. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/SKILL.md +0 -65
  441. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/cli.mjs +0 -472
  442. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/core.mjs +0 -310
  443. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/guard.mjs +0 -146
  444. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/package.json +0 -22
  445. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/CHANGELOG.md +0 -17
  446. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/LICENSE +0 -52
  447. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/README.md +0 -200
  448. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/SKILL.md +0 -111
  449. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/cli/index.d.ts +0 -15
  450. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/cli/index.js +0 -170
  451. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/cli/index.js.map +0 -1
  452. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/detector.d.ts +0 -12
  453. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/detector.js +0 -104
  454. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/detector.js.map +0 -1
  455. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/index.d.ts +0 -4
  456. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/index.js +0 -5
  457. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/index.js.map +0 -1
  458. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/ledger.d.ts +0 -49
  459. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/ledger.js +0 -72
  460. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/ledger.js.map +0 -1
  461. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/reporter.d.ts +0 -14
  462. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/reporter.js +0 -227
  463. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/reporter.js.map +0 -1
  464. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/scanner.d.ts +0 -39
  465. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/scanner.js +0 -325
  466. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/scanner.js.map +0 -1
  467. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/hooks/pre-pull.sh +0 -55
  468. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/hooks/pre-push.sh +0 -51
  469. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/mcp-server.mjs +0 -119
  470. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/package-lock.json +0 -54
  471. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/package.json +0 -43
  472. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/cli/index.ts +0 -189
  473. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/detector.ts +0 -130
  474. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/index.ts +0 -4
  475. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/ledger.ts +0 -116
  476. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/reporter.ts +0 -255
  477. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/scanner.ts +0 -367
  478. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/tsconfig.json +0 -16
  479. package/.worktrees/toolbox--save-stale/tools/wip-readme-format/README.md +0 -49
  480. package/.worktrees/toolbox--save-stale/tools/wip-readme-format/SKILL.md +0 -84
  481. package/.worktrees/toolbox--save-stale/tools/wip-readme-format/format.mjs +0 -597
  482. package/.worktrees/toolbox--save-stale/tools/wip-readme-format/package.json +0 -15
  483. package/.worktrees/toolbox--save-stale/tools/wip-release/CHANGELOG.md +0 -42
  484. package/.worktrees/toolbox--save-stale/tools/wip-release/LICENSE +0 -52
  485. package/.worktrees/toolbox--save-stale/tools/wip-release/README.md +0 -45
  486. package/.worktrees/toolbox--save-stale/tools/wip-release/REFERENCE.md +0 -100
  487. package/.worktrees/toolbox--save-stale/tools/wip-release/SKILL.md +0 -139
  488. package/.worktrees/toolbox--save-stale/tools/wip-release/cli.js +0 -175
  489. package/.worktrees/toolbox--save-stale/tools/wip-release/core.mjs +0 -1664
  490. package/.worktrees/toolbox--save-stale/tools/wip-release/mcp-server.mjs +0 -113
  491. package/.worktrees/toolbox--save-stale/tools/wip-release/package.json +0 -36
  492. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/README.md +0 -38
  493. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/SKILL.md +0 -77
  494. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/init.mjs +0 -148
  495. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/package.json +0 -11
  496. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/_sort/README.md +0 -15
  497. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/_trash/README.md +0 -16
  498. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/dev-updates/README.md +0 -50
  499. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/notes/README.md +0 -26
  500. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/plans-prds/roadmap.md +0 -77
  501. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/plans-prds/todos/README.md +0 -63
  502. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/product-ideas/README.md +0 -24
  503. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/readme-first-product.md +0 -128
  504. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/read-me-first.md +0 -80
  505. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/LICENSE +0 -52
  506. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/README.md +0 -86
  507. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/SKILL.md +0 -73
  508. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/cli.js +0 -93
  509. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/core.mjs +0 -122
  510. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/guard.mjs +0 -64
  511. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/mcp-server.mjs +0 -92
  512. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/openclaw.plugin.json +0 -8
  513. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/package.json +0 -31
  514. package/.worktrees/toolbox--save-stale/tools/wip-repos/LICENSE +0 -52
  515. package/.worktrees/toolbox--save-stale/tools/wip-repos/README.md +0 -77
  516. package/.worktrees/toolbox--save-stale/tools/wip-repos/SKILL.md +0 -80
  517. package/.worktrees/toolbox--save-stale/tools/wip-repos/claude.mjs +0 -248
  518. package/.worktrees/toolbox--save-stale/tools/wip-repos/cli.mjs +0 -191
  519. package/.worktrees/toolbox--save-stale/tools/wip-repos/core.mjs +0 -290
  520. package/.worktrees/toolbox--save-stale/tools/wip-repos/mcp-server.mjs +0 -157
  521. package/.worktrees/toolbox--save-stale/tools/wip-repos/package.json +0 -34
  522. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/CHANGELOG.md +0 -57
  523. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/LICENSE +0 -52
  524. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/README.md +0 -81
  525. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/REFERENCE.md +0 -122
  526. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/SKILL.md +0 -87
  527. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/SPEC.md +0 -206
  528. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/detect.mjs +0 -130
  529. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/README.md +0 -20
  530. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/SKILL.md +0 -28
  531. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/cli.mjs +0 -4
  532. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/core.mjs +0 -8
  533. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/mcp-server.mjs +0 -27
  534. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/package.json +0 -12
  535. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/install.js +0 -930
  536. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/package.json +0 -32
  537. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/.license-guard.json +0 -7
  538. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/.publish-skill.json +0 -4
  539. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/CHANGELOG.md +0 -1875
  540. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/CLA.md +0 -19
  541. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/DEV-GUIDE-GENERAL-PUBLIC.md +0 -949
  542. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/LICENSE +0 -52
  543. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/README.md +0 -238
  544. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/SKILL.md +0 -821
  545. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/TECHNICAL.md +0 -416
  546. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/UNIVERSAL-INTERFACE.md +0 -180
  547. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
  548. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
  549. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
  550. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
  551. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
  552. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
  553. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
  554. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
  555. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
  556. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
  557. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
  558. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
  559. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
  560. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
  561. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
  562. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
  563. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
  564. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
  565. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
  566. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
  567. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
  568. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
  569. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
  570. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
  571. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/guide 2/DEV-GUIDE.md +0 -487
  572. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/guide 2/scripts/deploy-public.sh +0 -152
  573. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/package.json +0 -27
  574. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/SKILL-deploy-public.md +0 -61
  575. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/SKILL-post-merge-rename.md +0 -47
  576. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/deploy-public.sh +0 -345
  577. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/post-merge-rename.sh +0 -210
  578. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/publish-skill.sh +0 -134
  579. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/templates/global-claude-md.md +0 -73
  580. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/templates/repo-claude-md.template +0 -24
  581. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/LICENSE +0 -52
  582. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/README.md +0 -31
  583. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/SKILL.md +0 -71
  584. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/deploy-public.sh +0 -264
  585. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/package.json +0 -9
  586. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/LICENSE +0 -52
  587. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/README.md +0 -46
  588. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/backup.sh +0 -16
  589. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/branch-protect.sh +0 -39
  590. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/crystal-capture.sh +0 -19
  591. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/setup-shell.sh +0 -27
  592. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/visibility-audit.sh +0 -27
  593. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/LICENSE +0 -52
  594. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/README.md +0 -29
  595. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/SKILL.md +0 -57
  596. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/package.json +0 -9
  597. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/post-merge-rename.sh +0 -122
  598. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-branch-guard/INSTALL.md +0 -41
  599. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-branch-guard/guard.mjs +0 -418
  600. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-branch-guard/package.json +0 -18
  601. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/CHANGELOG.md +0 -6
  602. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/LICENSE +0 -52
  603. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/README.md +0 -113
  604. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/REFERENCE.md +0 -86
  605. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/SKILL.md +0 -105
  606. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/guard.mjs +0 -161
  607. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/openclaw.plugin.json +0 -8
  608. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/package.json +0 -27
  609. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/test.sh +0 -119
  610. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/LICENSE +0 -52
  611. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/README.md +0 -69
  612. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/SKILL.md +0 -65
  613. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/cli.mjs +0 -472
  614. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/core.mjs +0 -310
  615. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/guard.mjs +0 -146
  616. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/package.json +0 -22
  617. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/CHANGELOG.md +0 -17
  618. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/LICENSE +0 -52
  619. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/README.md +0 -200
  620. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/SKILL.md +0 -111
  621. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/cli/index.d.ts +0 -15
  622. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/cli/index.js +0 -170
  623. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/cli/index.js.map +0 -1
  624. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/detector.d.ts +0 -12
  625. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/detector.js +0 -104
  626. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/detector.js.map +0 -1
  627. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/index.d.ts +0 -4
  628. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/index.js +0 -5
  629. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/index.js.map +0 -1
  630. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/ledger.d.ts +0 -49
  631. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/ledger.js +0 -72
  632. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/ledger.js.map +0 -1
  633. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/reporter.d.ts +0 -14
  634. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/reporter.js +0 -227
  635. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/reporter.js.map +0 -1
  636. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/scanner.d.ts +0 -39
  637. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/scanner.js +0 -325
  638. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/scanner.js.map +0 -1
  639. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/hooks/pre-pull.sh +0 -55
  640. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/hooks/pre-push.sh +0 -51
  641. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/mcp-server.mjs +0 -119
  642. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/package-lock.json +0 -54
  643. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/package.json +0 -43
  644. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/cli/index.ts +0 -189
  645. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/detector.ts +0 -130
  646. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/index.ts +0 -4
  647. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/ledger.ts +0 -116
  648. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/reporter.ts +0 -255
  649. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/scanner.ts +0 -367
  650. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/tsconfig.json +0 -16
  651. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/README.md +0 -49
  652. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/SKILL.md +0 -84
  653. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/format.mjs +0 -597
  654. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/package.json +0 -15
  655. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/CHANGELOG.md +0 -42
  656. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/LICENSE +0 -52
  657. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/README.md +0 -45
  658. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/REFERENCE.md +0 -100
  659. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/SKILL.md +0 -139
  660. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/cli.js +0 -175
  661. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/core.mjs +0 -1664
  662. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/mcp-server.mjs +0 -113
  663. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/package.json +0 -36
  664. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/README.md +0 -38
  665. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/SKILL.md +0 -77
  666. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/init.mjs +0 -148
  667. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/package.json +0 -11
  668. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/_sort/README.md +0 -15
  669. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/_trash/README.md +0 -16
  670. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/dev-updates/README.md +0 -50
  671. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/notes/README.md +0 -26
  672. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/plans-prds/roadmap.md +0 -77
  673. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/plans-prds/todos/README.md +0 -63
  674. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/product-ideas/README.md +0 -24
  675. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/readme-first-product.md +0 -128
  676. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/read-me-first.md +0 -80
  677. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/LICENSE +0 -52
  678. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/README.md +0 -86
  679. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/SKILL.md +0 -73
  680. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/cli.js +0 -93
  681. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/core.mjs +0 -122
  682. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/guard.mjs +0 -64
  683. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/mcp-server.mjs +0 -92
  684. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/openclaw.plugin.json +0 -8
  685. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/package.json +0 -31
  686. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/LICENSE +0 -52
  687. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/README.md +0 -77
  688. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/SKILL.md +0 -80
  689. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/claude.mjs +0 -248
  690. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/cli.mjs +0 -191
  691. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/core.mjs +0 -290
  692. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/mcp-server.mjs +0 -157
  693. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/package.json +0 -34
  694. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/CHANGELOG.md +0 -57
  695. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/LICENSE +0 -52
  696. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/README.md +0 -81
  697. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/REFERENCE.md +0 -122
  698. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/SKILL.md +0 -87
  699. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/SPEC.md +0 -206
  700. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/detect.mjs +0 -130
  701. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/README.md +0 -20
  702. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/SKILL.md +0 -28
  703. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/cli.mjs +0 -4
  704. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/core.mjs +0 -8
  705. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/mcp-server.mjs +0 -27
  706. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/package.json +0 -12
  707. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/install.js +0 -930
  708. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/package.json +0 -32
  709. package/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
  710. package/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
  711. package/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
  712. package/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
  713. package/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
  714. package/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
  715. package/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
  716. package/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
  717. package/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
  718. package/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
  719. package/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
  720. package/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
  721. package/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
  722. package/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
  723. package/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
  724. package/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
  725. package/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
  726. package/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
  727. package/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
  728. package/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
  729. package/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
  730. package/_trash/RELEASE-NOTES-v1-9-56.md +0 -42
  731. package/_trash/RELEASE-NOTES-v1-9-57.md +0 -18
  732. package/_trash/RELEASE-NOTES-v1-9-58.md +0 -21
  733. package/_trash/RELEASE-NOTES-v1-9-59.md +0 -28
  734. package/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
  735. package/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
  736. package/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
  737. package/_trash/guide 2/DEV-GUIDE.md +0 -487
  738. package/_trash/guide 2/scripts/deploy-public.sh +0 -152
  739. package/tools/wip-repo-init/templates/_trash/README.md +0 -16
@@ -1,189 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * wip-license-hook CLI
4
- *
5
- * Commands:
6
- * init Initialize ledger for current project
7
- * scan Scan all deps, update ledger
8
- * check <dep> Check specific dependency
9
- * gate Pre-merge license gate (for hooks)
10
- * report Print ledger report
11
- * dashboard Generate static dashboard HTML
12
- * alert Print current alerts
13
- * install Install git hooks in current repo
14
- */
15
-
16
- import { resolve } from "node:path";
17
- import { existsSync, writeFileSync, mkdirSync, copyFileSync } from "node:fs";
18
- import {
19
- readLedger, writeLedger, createEmptyLedger, findEntry,
20
- scanAndUpdate, gateCheck,
21
- formatScanReport, formatGateOutput, formatLedgerReport,
22
- writeDashboard, generateBadgeUrl,
23
- } from "../core/index.js";
24
-
25
- const args = process.argv.slice(2);
26
- const command = args[0];
27
- const flags = new Set(args.filter((a) => a.startsWith("--")));
28
- const positional = args.filter((a) => !a.startsWith("--")).slice(1);
29
-
30
- const repoRoot = resolve(process.cwd());
31
- const offline = flags.has("--offline");
32
- const verbose = flags.has("--verbose");
33
-
34
- function help(): void {
35
- console.log(`
36
- wip-license-hook — License rug-pull detection
37
-
38
- Usage: wip-license-hook <command> [options]
39
-
40
- Commands:
41
- init Initialize LICENSE-LEDGER.json
42
- scan Scan all dependencies, update ledger
43
- check <name> Check a specific dependency
44
- gate Pre-merge license gate (exit 1 if changed)
45
- report Print ledger status
46
- dashboard Generate static HTML dashboard
47
- alert Show current alerts
48
- install Install git hooks in .git/hooks/
49
- badge Print shields.io badge URL
50
-
51
- Options:
52
- --offline Skip network calls (use cached data only)
53
- --verbose Verbose output
54
- --help Show this help
55
- `);
56
- }
57
-
58
- async function main(): Promise<void> {
59
- if (!command || command === "--help" || flags.has("--help")) {
60
- help();
61
- return;
62
- }
63
-
64
- switch (command) {
65
- case "init": {
66
- const ledgerPath = resolve(repoRoot, "LICENSE-LEDGER.json");
67
- if (existsSync(ledgerPath)) {
68
- console.log("⚠️ LICENSE-LEDGER.json already exists. Use 'scan' to update.");
69
- return;
70
- }
71
- writeLedger(repoRoot, createEmptyLedger());
72
- mkdirSync(resolve(repoRoot, "ledger/snapshots"), { recursive: true });
73
- console.log("✅ Initialized LICENSE-LEDGER.json and ledger/snapshots/");
74
- console.log(" Run 'wip-license-hook scan' to populate.");
75
- break;
76
- }
77
-
78
- case "scan": {
79
- console.log(offline ? "📡 Scanning (offline mode)..." : "📡 Scanning dependencies...");
80
- const results = scanAndUpdate({ repoRoot, offline, verbose });
81
- console.log(formatScanReport(results));
82
- break;
83
- }
84
-
85
- case "check": {
86
- const name = positional[0];
87
- if (!name) {
88
- console.error("Usage: wip-license-hook check <dependency-name>");
89
- process.exit(1);
90
- }
91
- const ledger = readLedger(repoRoot);
92
- const entry = findEntry(ledger, name);
93
- if (!entry) {
94
- console.log(`❓ ${name} not found in ledger. Run 'scan' first.`);
95
- process.exit(1);
96
- }
97
- console.log(`\n ${entry.status === "clean" ? "✅" : "🚫"} ${entry.name}`);
98
- console.log(` Type: ${entry.type}`);
99
- console.log(` Source: ${entry.source}`);
100
- console.log(` Adopted: ${entry.license_at_adoption} on ${entry.adopted_date}`);
101
- console.log(` Current: ${entry.license_current} (checked ${entry.last_checked})`);
102
- console.log(` Status: ${entry.status}\n`);
103
- break;
104
- }
105
-
106
- case "gate": {
107
- if (offline) {
108
- console.log("⚠️ Offline mode — skipping license gate (cannot verify upstream).");
109
- console.log(" Your push will proceed, but licenses were NOT checked.");
110
- process.exit(0);
111
- }
112
- const { safe, alerts } = gateCheck(repoRoot, offline);
113
- console.log(formatGateOutput(safe, alerts));
114
- if (!safe) process.exit(1);
115
- break;
116
- }
117
-
118
- case "report": {
119
- const ledger = readLedger(repoRoot);
120
- console.log(formatLedgerReport(ledger));
121
- break;
122
- }
123
-
124
- case "dashboard": {
125
- const outPath = writeDashboard(repoRoot);
126
- console.log(`✅ Dashboard written to ${outPath}`);
127
- break;
128
- }
129
-
130
- case "alert": {
131
- const ledger = readLedger(repoRoot);
132
- if (ledger.alerts.length === 0) {
133
- console.log("✅ No active alerts.");
134
- } else {
135
- console.log(`\n⚠️ ${ledger.alerts.length} alert(s):\n`);
136
- for (const a of ledger.alerts) {
137
- console.log(` ${a.message}`);
138
- console.log(` Detected: ${a.detected}\n`);
139
- }
140
- }
141
- break;
142
- }
143
-
144
- case "install": {
145
- const hooksDir = resolve(repoRoot, ".git/hooks");
146
- if (!existsSync(resolve(repoRoot, ".git"))) {
147
- console.error("❌ Not a git repository. Run from a git repo root.");
148
- process.exit(1);
149
- }
150
- mkdirSync(hooksDir, { recursive: true });
151
-
152
- // Find hooks relative to the package
153
- const pkgRoot = resolve(new URL(".", import.meta.url).pathname, "../../..");
154
- const prePullSrc = resolve(pkgRoot, "hooks/pre-pull.sh");
155
- const preCommitSrc = resolve(pkgRoot, "hooks/pre-push.sh");
156
-
157
- for (const [src, dest] of [
158
- [prePullSrc, resolve(hooksDir, "pre-merge-commit")],
159
- [preCommitSrc, resolve(hooksDir, "pre-push")],
160
- ]) {
161
- if (existsSync(src)) {
162
- copyFileSync(src, dest);
163
- const { chmodSync } = await import("node:fs");
164
- chmodSync(dest, 0o755);
165
- console.log(`✅ Installed ${dest}`);
166
- } else {
167
- console.log(`⚠️ Hook source not found: ${src}`);
168
- }
169
- }
170
- break;
171
- }
172
-
173
- case "badge": {
174
- const ledger = readLedger(repoRoot);
175
- console.log(generateBadgeUrl(ledger));
176
- break;
177
- }
178
-
179
- default:
180
- console.error(`Unknown command: ${command}`);
181
- help();
182
- process.exit(1);
183
- }
184
- }
185
-
186
- main().catch((err) => {
187
- console.error("Fatal error:", err.message);
188
- process.exit(1);
189
- });
@@ -1,130 +0,0 @@
1
- /**
2
- * License text fingerprinting — identifies license type from file content.
3
- */
4
-
5
- export type LicenseId =
6
- | "MIT"
7
- | "Apache-2.0"
8
- | "BSD-2-Clause"
9
- | "BSD-3-Clause"
10
- | "GPL-2.0"
11
- | "GPL-3.0"
12
- | "LGPL-2.1"
13
- | "LGPL-3.0"
14
- | "MPL-2.0"
15
- | "ISC"
16
- | "BSL-1.1"
17
- | "SSPL-1.0"
18
- | "Unlicense"
19
- | "AGPL-3.0"
20
- | "UNKNOWN";
21
-
22
- interface Fingerprint {
23
- id: LicenseId;
24
- markers: string[]; // All must match (case-insensitive)
25
- antiMarkers?: string[]; // None must match
26
- }
27
-
28
- const FINGERPRINTS: Fingerprint[] = [
29
- {
30
- id: "MIT",
31
- markers: ["permission is hereby granted, free of charge", "the software is provided \"as is\""],
32
- antiMarkers: ["apache", "gnu general public"],
33
- },
34
- {
35
- id: "Apache-2.0",
36
- markers: ["apache license", "version 2.0"],
37
- },
38
- {
39
- id: "GPL-3.0",
40
- markers: ["gnu general public license", "version 3"],
41
- antiMarkers: ["lesser general public"],
42
- },
43
- {
44
- id: "GPL-2.0",
45
- markers: ["gnu general public license", "version 2"],
46
- antiMarkers: ["lesser general public", "version 3"],
47
- },
48
- {
49
- id: "LGPL-3.0",
50
- markers: ["gnu lesser general public license", "version 3"],
51
- },
52
- {
53
- id: "LGPL-2.1",
54
- markers: ["gnu lesser general public license", "version 2.1"],
55
- },
56
- {
57
- id: "AGPL-3.0",
58
- markers: ["gnu affero general public license", "version 3"],
59
- },
60
- {
61
- id: "BSD-3-Clause",
62
- markers: ["redistribution and use in source and binary forms", "neither the name"],
63
- },
64
- {
65
- id: "BSD-2-Clause",
66
- markers: ["redistribution and use in source and binary forms"],
67
- antiMarkers: ["neither the name"],
68
- },
69
- {
70
- id: "MPL-2.0",
71
- markers: ["mozilla public license", "version 2.0"],
72
- },
73
- {
74
- id: "ISC",
75
- markers: ["isc license", "permission to use, copy, modify"],
76
- },
77
- {
78
- id: "BSL-1.1",
79
- markers: ["business source license", "1.1"],
80
- },
81
- {
82
- id: "SSPL-1.0",
83
- markers: ["server side public license"],
84
- },
85
- {
86
- id: "Unlicense",
87
- markers: ["this is free and unencumbered software released into the public domain"],
88
- },
89
- ];
90
-
91
- /**
92
- * Detect license type from raw license file text.
93
- */
94
- export function detectLicenseFromText(text: string): LicenseId {
95
- const lower = text.toLowerCase();
96
-
97
- for (const fp of FINGERPRINTS) {
98
- const allMatch = fp.markers.every((m) => lower.includes(m));
99
- const anyAnti = fp.antiMarkers?.some((m) => lower.includes(m)) ?? false;
100
- if (allMatch && !anyAnti) return fp.id;
101
- }
102
-
103
- return "UNKNOWN";
104
- }
105
-
106
- /**
107
- * Normalize a license SPDX identifier from package metadata.
108
- */
109
- export function normalizeSpdx(raw: string): LicenseId {
110
- const map: Record<string, LicenseId> = {
111
- mit: "MIT",
112
- "apache-2.0": "Apache-2.0",
113
- apache2: "Apache-2.0",
114
- "bsd-2-clause": "BSD-2-Clause",
115
- "bsd-3-clause": "BSD-3-Clause",
116
- "gpl-2.0": "GPL-2.0",
117
- "gpl-3.0": "GPL-3.0",
118
- "gpl-3.0-only": "GPL-3.0",
119
- "lgpl-2.1": "LGPL-2.1",
120
- "lgpl-3.0": "LGPL-3.0",
121
- "mpl-2.0": "MPL-2.0",
122
- isc: "ISC",
123
- "bsl-1.1": "BSL-1.1",
124
- "sspl-1.0": "SSPL-1.0",
125
- unlicense: "Unlicense",
126
- "agpl-3.0": "AGPL-3.0",
127
- "agpl-3.0-only": "AGPL-3.0",
128
- };
129
- return map[raw.toLowerCase().trim()] ?? "UNKNOWN";
130
- }
@@ -1,4 +0,0 @@
1
- export { detectLicenseFromText, normalizeSpdx, type LicenseId } from "./detector.js";
2
- export { readLedger, writeLedger, createEmptyLedger, findEntry, upsertEntry, archiveSnapshot, hasLicenseChanged, addAlert, type Ledger, type LedgerEntry, type Alert, type DependencyType, type DependencyStatus } from "./ledger.js";
3
- export { scanAll, scanAndUpdate, gateCheck, findLicenseFile, readLicenseFromDir, type ScanResult } from "./scanner.js";
4
- export { formatScanReport, formatGateOutput, formatLedgerReport, generateDashboardHtml, generateBadgeUrl, writeDashboard } from "./reporter.js";
@@ -1,116 +0,0 @@
1
- /**
2
- * License ledger — read/write/compare LICENSE-LEDGER.json + snapshot archiving.
3
- */
4
-
5
- import { readFileSync, writeFileSync, mkdirSync, existsSync, copyFileSync } from "node:fs";
6
- import { join, dirname } from "node:path";
7
- import type { LicenseId } from "./detector.js";
8
-
9
- export type DependencyStatus = "clean" | "changed" | "removed" | "unknown";
10
- export type DependencyType = "fork" | "npm" | "pip" | "cargo" | "go";
11
-
12
- export interface LedgerEntry {
13
- name: string;
14
- source: string;
15
- type: DependencyType;
16
- license_at_adoption: LicenseId;
17
- license_current: LicenseId;
18
- adopted_date: string; // ISO date
19
- last_checked: string; // ISO date
20
- commit_at_adoption?: string;
21
- status: DependencyStatus;
22
- }
23
-
24
- export interface Alert {
25
- dependency: string;
26
- from: LicenseId;
27
- to: LicenseId;
28
- detected: string; // ISO datetime
29
- message: string;
30
- }
31
-
32
- export interface Ledger {
33
- version: 1;
34
- dependencies: LedgerEntry[];
35
- last_full_scan: string | null;
36
- alerts: Alert[];
37
- }
38
-
39
- const LEDGER_FILE = "LICENSE-LEDGER.json";
40
- const SNAPSHOT_DIR = "ledger/snapshots";
41
-
42
- export function ledgerPath(repoRoot: string): string {
43
- return join(repoRoot, LEDGER_FILE);
44
- }
45
-
46
- export function createEmptyLedger(): Ledger {
47
- return {
48
- version: 1,
49
- dependencies: [],
50
- last_full_scan: null,
51
- alerts: [],
52
- };
53
- }
54
-
55
- export function readLedger(repoRoot: string): Ledger {
56
- const p = ledgerPath(repoRoot);
57
- if (!existsSync(p)) return createEmptyLedger();
58
- return JSON.parse(readFileSync(p, "utf-8"));
59
- }
60
-
61
- export function writeLedger(repoRoot: string, ledger: Ledger): void {
62
- const p = ledgerPath(repoRoot);
63
- writeFileSync(p, JSON.stringify(ledger, null, 2) + "\n", "utf-8");
64
- }
65
-
66
- export function findEntry(ledger: Ledger, name: string): LedgerEntry | undefined {
67
- return ledger.dependencies.find((d) => d.name === name);
68
- }
69
-
70
- export function upsertEntry(ledger: Ledger, entry: LedgerEntry): void {
71
- const idx = ledger.dependencies.findIndex((d) => d.name === entry.name);
72
- if (idx >= 0) {
73
- ledger.dependencies[idx] = entry;
74
- } else {
75
- ledger.dependencies.push(entry);
76
- }
77
- }
78
-
79
- /**
80
- * Archive a LICENSE file snapshot for a dependency.
81
- */
82
- export function archiveSnapshot(
83
- repoRoot: string,
84
- depName: string,
85
- licenseContent: string,
86
- date?: string
87
- ): string {
88
- const d = date ?? new Date().toISOString().slice(0, 10);
89
- const dir = join(repoRoot, SNAPSHOT_DIR, depName);
90
- mkdirSync(dir, { recursive: true });
91
- const filename = `LICENSE-${d}.txt`;
92
- const p = join(dir, filename);
93
- writeFileSync(p, licenseContent, "utf-8");
94
- return p;
95
- }
96
-
97
- /**
98
- * Compare an entry's current license against its adoption license.
99
- * Returns true if changed.
100
- */
101
- export function hasLicenseChanged(entry: LedgerEntry): boolean {
102
- return entry.license_at_adoption !== entry.license_current;
103
- }
104
-
105
- /**
106
- * Add an alert to the ledger.
107
- */
108
- export function addAlert(ledger: Ledger, dep: string, from: LicenseId, to: LicenseId): void {
109
- ledger.alerts.push({
110
- dependency: dep,
111
- from,
112
- to,
113
- detected: new Date().toISOString(),
114
- message: `⚠️ License changed: ${dep} went from ${from} → ${to}`,
115
- });
116
- }
@@ -1,255 +0,0 @@
1
- /**
2
- * Reporter — generate reports, alerts, and static dashboard HTML.
3
- */
4
-
5
- import { readFileSync, writeFileSync, mkdirSync, existsSync } from "node:fs";
6
- import { join } from "node:path";
7
- import { readLedger, type Ledger, type LedgerEntry, type Alert } from "./ledger.js";
8
- import type { ScanResult } from "./scanner.js";
9
-
10
- // ─── Console reports ───
11
-
12
- export function formatScanReport(results: ScanResult[]): string {
13
- const lines: string[] = [
14
- "",
15
- "╔══════════════════════════════════════════════════╗",
16
- "║ wip-license-hook — Scan Report ║",
17
- "╚══════════════════════════════════════════════════╝",
18
- "",
19
- ];
20
-
21
- const changed = results.filter((r) => r.wasChanged);
22
- const newDeps = results.filter((r) => r.isNew);
23
- const clean = results.filter((r) => !r.wasChanged && !r.isNew);
24
-
25
- if (changed.length > 0) {
26
- lines.push("🚨 LICENSE CHANGES DETECTED:");
27
- lines.push("─".repeat(50));
28
- for (const r of changed) {
29
- lines.push(` 🚫 ${r.name} (${r.type})`);
30
- lines.push(` License changed → now: ${r.detectedLicense}`);
31
- lines.push(` Source: ${r.source}`);
32
- }
33
- lines.push("");
34
- }
35
-
36
- if (newDeps.length > 0) {
37
- lines.push(`📦 New dependencies found: ${newDeps.length}`);
38
- for (const r of newDeps) {
39
- lines.push(` ➕ ${r.name} (${r.type}) — ${r.detectedLicense}`);
40
- }
41
- lines.push("");
42
- }
43
-
44
- if (clean.length > 0) {
45
- lines.push(`✅ Clean dependencies: ${clean.length}`);
46
- for (const r of clean) {
47
- lines.push(` ✓ ${r.name} — ${r.detectedLicense}`);
48
- }
49
- lines.push("");
50
- }
51
-
52
- lines.push(`Total scanned: ${results.length}`);
53
- lines.push("");
54
-
55
- return lines.join("\n");
56
- }
57
-
58
- export function formatGateOutput(safe: boolean, alerts: string[]): string {
59
- const lines: string[] = [];
60
-
61
- if (safe) {
62
- lines.push("");
63
- lines.push("╔══════════════════════════════════════════════════╗");
64
- lines.push("║ ✅ LICENSE CHECK PASSED — All licenses clean ║");
65
- lines.push("╚══════════════════════════════════════════════════╝");
66
- lines.push("");
67
- } else {
68
- lines.push("");
69
- lines.push("╔══════════════════════════════════════════════════╗");
70
- lines.push("║ 🚫 LICENSE CHECK FAILED — Changes detected! ║");
71
- lines.push("╚══════════════════════════════════════════════════╝");
72
- lines.push("");
73
- for (const alert of alerts) {
74
- lines.push(` ${alert}`);
75
- }
76
- lines.push("");
77
- lines.push(" Action required: Review license changes before proceeding.");
78
- lines.push(" Run: wip-license-hook scan --verbose for details.");
79
- lines.push("");
80
- }
81
-
82
- return lines.join("\n");
83
- }
84
-
85
- export function formatLedgerReport(ledger: Ledger): string {
86
- const lines: string[] = [
87
- "",
88
- "╔══════════════════════════════════════════════════╗",
89
- "║ wip-license-hook — Ledger Status ║",
90
- "╚══════════════════════════════════════════════════╝",
91
- "",
92
- `Last full scan: ${ledger.last_full_scan ?? "never"}`,
93
- `Total dependencies: ${ledger.dependencies.length}`,
94
- `Active alerts: ${ledger.alerts.length}`,
95
- "",
96
- ];
97
-
98
- const statusIcon: Record<string, string> = {
99
- clean: "✅",
100
- changed: "🚫",
101
- removed: "❓",
102
- unknown: "❔",
103
- };
104
-
105
- for (const dep of ledger.dependencies) {
106
- const icon = statusIcon[dep.status] ?? "❔";
107
- lines.push(` ${icon} ${dep.name} (${dep.type})`);
108
- lines.push(` Adopted: ${dep.license_at_adoption} on ${dep.adopted_date}`);
109
- lines.push(` Current: ${dep.license_current} (checked ${dep.last_checked})`);
110
- lines.push(` Source: ${dep.source}`);
111
- }
112
-
113
- if (ledger.alerts.length > 0) {
114
- lines.push("");
115
- lines.push("⚠️ ALERTS:");
116
- lines.push("─".repeat(50));
117
- for (const a of ledger.alerts) {
118
- lines.push(` ${a.message}`);
119
- lines.push(` Detected: ${a.detected}`);
120
- }
121
- }
122
-
123
- lines.push("");
124
- return lines.join("\n");
125
- }
126
-
127
- // ─── Dashboard HTML generation ───
128
-
129
- export function generateDashboardHtml(ledger: Ledger): string {
130
- const rows = ledger.dependencies
131
- .map((d) => {
132
- const statusClass = d.status === "clean" ? "clean" : d.status === "changed" ? "changed" : "unknown";
133
- const statusEmoji = d.status === "clean" ? "✅" : d.status === "changed" ? "🚫" : "❔";
134
- return `<tr class="${statusClass}">
135
- <td>${statusEmoji} ${escHtml(d.name)}</td>
136
- <td>${escHtml(d.type)}</td>
137
- <td>${escHtml(d.license_at_adoption)}</td>
138
- <td>${escHtml(d.license_current)}</td>
139
- <td>${escHtml(d.adopted_date)}</td>
140
- <td>${escHtml(d.last_checked)}</td>
141
- <td>${escHtml(d.status)}</td>
142
- </tr>`;
143
- })
144
- .join("\n");
145
-
146
- const alertRows = ledger.alerts
147
- .map(
148
- (a) => `<tr>
149
- <td>⚠️ ${escHtml(a.dependency)}</td>
150
- <td>${escHtml(a.from)} → ${escHtml(a.to)}</td>
151
- <td>${escHtml(a.detected)}</td>
152
- <td>${escHtml(a.message)}</td>
153
- </tr>`
154
- )
155
- .join("\n");
156
-
157
- return `<!DOCTYPE html>
158
- <html lang="en">
159
- <head>
160
- <meta charset="UTF-8">
161
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
162
- <title>License Compliance Dashboard — wip-license-hook</title>
163
- <style>
164
- * { margin: 0; padding: 0; box-sizing: border-box; }
165
- body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: #0d1117; color: #c9d1d9; padding: 2rem; }
166
- h1 { color: #58a6ff; margin-bottom: 0.5rem; }
167
- .subtitle { color: #8b949e; margin-bottom: 2rem; }
168
- .stats { display: flex; gap: 2rem; margin-bottom: 2rem; }
169
- .stat { background: #161b22; border: 1px solid #30363d; border-radius: 8px; padding: 1rem 1.5rem; }
170
- .stat-value { font-size: 2rem; font-weight: bold; }
171
- .stat-label { color: #8b949e; font-size: 0.875rem; }
172
- .stat-clean .stat-value { color: #3fb950; }
173
- .stat-changed .stat-value { color: #f85149; }
174
- .stat-total .stat-value { color: #58a6ff; }
175
- table { width: 100%; border-collapse: collapse; background: #161b22; border: 1px solid #30363d; border-radius: 8px; overflow: hidden; margin-bottom: 2rem; }
176
- th { background: #21262d; text-align: left; padding: 0.75rem 1rem; color: #8b949e; font-weight: 600; border-bottom: 1px solid #30363d; }
177
- td { padding: 0.75rem 1rem; border-bottom: 1px solid #30363d; }
178
- tr.changed td { background: #f8514922; }
179
- tr.clean td { }
180
- .footer { color: #8b949e; font-size: 0.8rem; margin-top: 2rem; }
181
- h2 { color: #58a6ff; margin: 1.5rem 0 1rem; }
182
- </style>
183
- </head>
184
- <body>
185
- <h1>🔒 License Compliance Dashboard</h1>
186
- <p class="subtitle">Generated by wip-license-hook — ${new Date().toISOString()}</p>
187
-
188
- <div class="stats">
189
- <div class="stat stat-total">
190
- <div class="stat-value">${ledger.dependencies.length}</div>
191
- <div class="stat-label">Total Dependencies</div>
192
- </div>
193
- <div class="stat stat-clean">
194
- <div class="stat-value">${ledger.dependencies.filter((d) => d.status === "clean").length}</div>
195
- <div class="stat-label">Clean</div>
196
- </div>
197
- <div class="stat stat-changed">
198
- <div class="stat-value">${ledger.dependencies.filter((d) => d.status === "changed").length}</div>
199
- <div class="stat-label">Changed</div>
200
- </div>
201
- </div>
202
-
203
- <h2>Dependencies</h2>
204
- <table>
205
- <thead>
206
- <tr><th>Name</th><th>Type</th><th>License (Adopted)</th><th>License (Current)</th><th>Adopted</th><th>Last Checked</th><th>Status</th></tr>
207
- </thead>
208
- <tbody>${rows}</tbody>
209
- </table>
210
-
211
- ${
212
- ledger.alerts.length > 0
213
- ? `<h2>⚠️ Alerts</h2>
214
- <table>
215
- <thead><tr><th>Dependency</th><th>Change</th><th>Detected</th><th>Message</th></tr></thead>
216
- <tbody>${alertRows}</tbody>
217
- </table>`
218
- : ""
219
- }
220
-
221
- <div class="footer">
222
- <p>Last full scan: ${ledger.last_full_scan ?? "never"}</p>
223
- <p>Powered by <a href="https://github.com/wipcomputer/wip-license-hook" style="color: #58a6ff;">wip-license-hook</a></p>
224
- </div>
225
- </body>
226
- </html>`;
227
- }
228
-
229
- function escHtml(s: string): string {
230
- return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
231
- }
232
-
233
- // ─── Badge generation (shields.io style) ───
234
-
235
- export function generateBadgeUrl(ledger: Ledger): string {
236
- const changed = ledger.dependencies.filter((d) => d.status === "changed").length;
237
- const total = ledger.dependencies.length;
238
- const color = changed === 0 ? "brightgreen" : "red";
239
- const label = "license%20compliance";
240
- const message = changed === 0 ? `${total}%20clean` : `${changed}%20changed`;
241
- return `https://img.shields.io/badge/${label}-${message}-${color}`;
242
- }
243
-
244
- /**
245
- * Write the dashboard HTML to disk.
246
- */
247
- export function writeDashboard(repoRoot: string, ledger?: Ledger): string {
248
- const l = ledger ?? readLedger(repoRoot);
249
- const html = generateDashboardHtml(l);
250
- const dir = join(repoRoot, "dashboard");
251
- mkdirSync(dir, { recursive: true });
252
- const outPath = join(dir, "index.html");
253
- writeFileSync(outPath, html, "utf-8");
254
- return outPath;
255
- }