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

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 (742) hide show
  1. package/CHANGELOG.md +44 -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/guard.mjs +1 -1
  7. package/tools/wip-branch-guard/package.json +1 -1
  8. package/tools/wip-branch-guard/test.sh +117 -0
  9. package/tools/wip-file-guard/package.json +1 -1
  10. package/tools/wip-license-guard/package.json +1 -1
  11. package/tools/wip-license-hook/package.json +1 -1
  12. package/tools/wip-readme-format/package.json +1 -1
  13. package/tools/wip-release/core.mjs +38 -0
  14. package/tools/wip-release/package.json +1 -1
  15. package/tools/wip-repo-init/package.json +1 -1
  16. package/tools/wip-repo-permissions-hook/package.json +1 -1
  17. package/tools/wip-repos/package.json +1 -1
  18. package/tools/wip-universal-installer/package.json +1 -1
  19. package/.worktrees/toolbox--guard-plan/.license-guard.json +0 -7
  20. package/.worktrees/toolbox--guard-plan/.publish-skill.json +0 -4
  21. package/.worktrees/toolbox--guard-plan/CHANGELOG.md +0 -1965
  22. package/.worktrees/toolbox--guard-plan/CLA.md +0 -19
  23. package/.worktrees/toolbox--guard-plan/DEV-GUIDE-GENERAL-PUBLIC.md +0 -949
  24. package/.worktrees/toolbox--guard-plan/LICENSE +0 -52
  25. package/.worktrees/toolbox--guard-plan/README.md +0 -238
  26. package/.worktrees/toolbox--guard-plan/RELEASE-NOTES-v1-9-59.md +0 -28
  27. package/.worktrees/toolbox--guard-plan/SKILL.md +0 -821
  28. package/.worktrees/toolbox--guard-plan/TECHNICAL.md +0 -416
  29. package/.worktrees/toolbox--guard-plan/UNIVERSAL-INTERFACE.md +0 -180
  30. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
  31. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
  32. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
  33. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
  34. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
  35. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
  36. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
  37. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
  38. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
  39. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
  40. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
  41. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
  42. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
  43. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
  44. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
  45. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
  46. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
  47. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
  48. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
  49. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
  50. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
  51. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-56.md +0 -42
  52. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-57.md +0 -18
  53. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-58.md +0 -21
  54. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
  55. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
  56. package/.worktrees/toolbox--guard-plan/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
  57. package/.worktrees/toolbox--guard-plan/_trash/guide 2/DEV-GUIDE.md +0 -487
  58. package/.worktrees/toolbox--guard-plan/_trash/guide 2/scripts/deploy-public.sh +0 -152
  59. package/.worktrees/toolbox--guard-plan/package.json +0 -27
  60. package/.worktrees/toolbox--guard-plan/scripts/SKILL-deploy-public.md +0 -61
  61. package/.worktrees/toolbox--guard-plan/scripts/SKILL-post-merge-rename.md +0 -47
  62. package/.worktrees/toolbox--guard-plan/scripts/deploy-public.sh +0 -350
  63. package/.worktrees/toolbox--guard-plan/scripts/post-merge-rename.sh +0 -210
  64. package/.worktrees/toolbox--guard-plan/scripts/publish-skill.sh +0 -134
  65. package/.worktrees/toolbox--guard-plan/templates/global-claude-md.md +0 -73
  66. package/.worktrees/toolbox--guard-plan/templates/repo-claude-md.template +0 -24
  67. package/.worktrees/toolbox--guard-plan/tools/deploy-public/LICENSE +0 -52
  68. package/.worktrees/toolbox--guard-plan/tools/deploy-public/README.md +0 -31
  69. package/.worktrees/toolbox--guard-plan/tools/deploy-public/SKILL.md +0 -71
  70. package/.worktrees/toolbox--guard-plan/tools/deploy-public/deploy-public.sh +0 -264
  71. package/.worktrees/toolbox--guard-plan/tools/deploy-public/package.json +0 -9
  72. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/LICENSE +0 -52
  73. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/README.md +0 -46
  74. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/backup.sh +0 -16
  75. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/branch-protect.sh +0 -39
  76. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/crystal-capture.sh +0 -19
  77. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/setup-shell.sh +0 -27
  78. package/.worktrees/toolbox--guard-plan/tools/ldm-jobs/visibility-audit.sh +0 -27
  79. package/.worktrees/toolbox--guard-plan/tools/post-merge-rename/LICENSE +0 -52
  80. package/.worktrees/toolbox--guard-plan/tools/post-merge-rename/README.md +0 -29
  81. package/.worktrees/toolbox--guard-plan/tools/post-merge-rename/SKILL.md +0 -57
  82. package/.worktrees/toolbox--guard-plan/tools/post-merge-rename/package.json +0 -9
  83. package/.worktrees/toolbox--guard-plan/tools/post-merge-rename/post-merge-rename.sh +0 -122
  84. package/.worktrees/toolbox--guard-plan/tools/wip-branch-guard/INSTALL.md +0 -41
  85. package/.worktrees/toolbox--guard-plan/tools/wip-branch-guard/guard.mjs +0 -477
  86. package/.worktrees/toolbox--guard-plan/tools/wip-branch-guard/package.json +0 -18
  87. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/CHANGELOG.md +0 -6
  88. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/LICENSE +0 -52
  89. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/README.md +0 -113
  90. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/REFERENCE.md +0 -86
  91. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/SKILL.md +0 -105
  92. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/guard.mjs +0 -161
  93. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/openclaw.plugin.json +0 -8
  94. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/package.json +0 -27
  95. package/.worktrees/toolbox--guard-plan/tools/wip-file-guard/test.sh +0 -119
  96. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/LICENSE +0 -52
  97. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/README.md +0 -69
  98. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/SKILL.md +0 -65
  99. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/cli.mjs +0 -472
  100. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/core.mjs +0 -310
  101. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/guard.mjs +0 -146
  102. package/.worktrees/toolbox--guard-plan/tools/wip-license-guard/package.json +0 -22
  103. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/CHANGELOG.md +0 -17
  104. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/LICENSE +0 -52
  105. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/README.md +0 -200
  106. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/SKILL.md +0 -111
  107. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/cli/index.d.ts +0 -15
  108. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/cli/index.js +0 -170
  109. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/cli/index.js.map +0 -1
  110. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/detector.d.ts +0 -12
  111. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/detector.js +0 -104
  112. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/detector.js.map +0 -1
  113. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/index.d.ts +0 -4
  114. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/index.js +0 -5
  115. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/index.js.map +0 -1
  116. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/ledger.d.ts +0 -49
  117. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/ledger.js +0 -72
  118. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/ledger.js.map +0 -1
  119. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/reporter.d.ts +0 -14
  120. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/reporter.js +0 -227
  121. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/reporter.js.map +0 -1
  122. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/scanner.d.ts +0 -39
  123. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/scanner.js +0 -325
  124. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/dist/core/scanner.js.map +0 -1
  125. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/hooks/pre-pull.sh +0 -55
  126. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/hooks/pre-push.sh +0 -51
  127. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/mcp-server.mjs +0 -119
  128. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/package-lock.json +0 -54
  129. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/package.json +0 -43
  130. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/cli/index.ts +0 -189
  131. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/core/detector.ts +0 -130
  132. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/core/index.ts +0 -4
  133. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/core/ledger.ts +0 -116
  134. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/core/reporter.ts +0 -255
  135. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/src/core/scanner.ts +0 -367
  136. package/.worktrees/toolbox--guard-plan/tools/wip-license-hook/tsconfig.json +0 -16
  137. package/.worktrees/toolbox--guard-plan/tools/wip-readme-format/README.md +0 -49
  138. package/.worktrees/toolbox--guard-plan/tools/wip-readme-format/SKILL.md +0 -84
  139. package/.worktrees/toolbox--guard-plan/tools/wip-readme-format/format.mjs +0 -597
  140. package/.worktrees/toolbox--guard-plan/tools/wip-readme-format/package.json +0 -15
  141. package/.worktrees/toolbox--guard-plan/tools/wip-release/CHANGELOG.md +0 -42
  142. package/.worktrees/toolbox--guard-plan/tools/wip-release/LICENSE +0 -52
  143. package/.worktrees/toolbox--guard-plan/tools/wip-release/README.md +0 -45
  144. package/.worktrees/toolbox--guard-plan/tools/wip-release/REFERENCE.md +0 -100
  145. package/.worktrees/toolbox--guard-plan/tools/wip-release/SKILL.md +0 -139
  146. package/.worktrees/toolbox--guard-plan/tools/wip-release/cli.js +0 -175
  147. package/.worktrees/toolbox--guard-plan/tools/wip-release/core.mjs +0 -1664
  148. package/.worktrees/toolbox--guard-plan/tools/wip-release/mcp-server.mjs +0 -113
  149. package/.worktrees/toolbox--guard-plan/tools/wip-release/package.json +0 -36
  150. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/README.md +0 -38
  151. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/SKILL.md +0 -77
  152. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/init.mjs +0 -148
  153. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/package.json +0 -11
  154. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/_sort/README.md +0 -15
  155. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/_trash/README.md +0 -16
  156. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/dev-updates/README.md +0 -50
  157. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/product/notes/README.md +0 -26
  158. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/product/plans-prds/roadmap.md +0 -77
  159. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/product/plans-prds/todos/README.md +0 -63
  160. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/product/product-ideas/README.md +0 -24
  161. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/product/readme-first-product.md +0 -128
  162. package/.worktrees/toolbox--guard-plan/tools/wip-repo-init/templates/read-me-first.md +0 -80
  163. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/LICENSE +0 -52
  164. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/README.md +0 -86
  165. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/SKILL.md +0 -73
  166. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/cli.js +0 -93
  167. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/core.mjs +0 -122
  168. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/guard.mjs +0 -64
  169. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/mcp-server.mjs +0 -92
  170. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/openclaw.plugin.json +0 -8
  171. package/.worktrees/toolbox--guard-plan/tools/wip-repo-permissions-hook/package.json +0 -31
  172. package/.worktrees/toolbox--guard-plan/tools/wip-repos/LICENSE +0 -52
  173. package/.worktrees/toolbox--guard-plan/tools/wip-repos/README.md +0 -77
  174. package/.worktrees/toolbox--guard-plan/tools/wip-repos/SKILL.md +0 -80
  175. package/.worktrees/toolbox--guard-plan/tools/wip-repos/claude.mjs +0 -248
  176. package/.worktrees/toolbox--guard-plan/tools/wip-repos/cli.mjs +0 -191
  177. package/.worktrees/toolbox--guard-plan/tools/wip-repos/core.mjs +0 -290
  178. package/.worktrees/toolbox--guard-plan/tools/wip-repos/mcp-server.mjs +0 -157
  179. package/.worktrees/toolbox--guard-plan/tools/wip-repos/package.json +0 -34
  180. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/CHANGELOG.md +0 -57
  181. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/LICENSE +0 -52
  182. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/README.md +0 -81
  183. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/REFERENCE.md +0 -122
  184. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/SKILL.md +0 -87
  185. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/SPEC.md +0 -206
  186. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/detect.mjs +0 -130
  187. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/README.md +0 -20
  188. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/SKILL.md +0 -28
  189. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/cli.mjs +0 -4
  190. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/core.mjs +0 -8
  191. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/mcp-server.mjs +0 -27
  192. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/examples/minimal/package.json +0 -12
  193. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/install.js +0 -930
  194. package/.worktrees/toolbox--guard-plan/tools/wip-universal-installer/package.json +0 -32
  195. package/.worktrees/toolbox--release-notes/.license-guard.json +0 -7
  196. package/.worktrees/toolbox--release-notes/.publish-skill.json +0 -4
  197. package/.worktrees/toolbox--release-notes/CHANGELOG.md +0 -1875
  198. package/.worktrees/toolbox--release-notes/CLA.md +0 -19
  199. package/.worktrees/toolbox--release-notes/DEV-GUIDE-GENERAL-PUBLIC.md +0 -949
  200. package/.worktrees/toolbox--release-notes/LICENSE +0 -52
  201. package/.worktrees/toolbox--release-notes/README.md +0 -238
  202. package/.worktrees/toolbox--release-notes/RELEASE-NOTES-v1-9-56.md +0 -42
  203. package/.worktrees/toolbox--release-notes/SKILL.md +0 -821
  204. package/.worktrees/toolbox--release-notes/TECHNICAL.md +0 -416
  205. package/.worktrees/toolbox--release-notes/UNIVERSAL-INTERFACE.md +0 -180
  206. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
  207. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
  208. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
  209. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
  210. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
  211. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
  212. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
  213. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
  214. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
  215. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
  216. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
  217. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
  218. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
  219. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
  220. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
  221. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
  222. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
  223. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
  224. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
  225. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
  226. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
  227. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
  228. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
  229. package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
  230. package/.worktrees/toolbox--release-notes/_trash/guide 2/DEV-GUIDE.md +0 -487
  231. package/.worktrees/toolbox--release-notes/_trash/guide 2/scripts/deploy-public.sh +0 -152
  232. package/.worktrees/toolbox--release-notes/package.json +0 -27
  233. package/.worktrees/toolbox--release-notes/scripts/SKILL-deploy-public.md +0 -61
  234. package/.worktrees/toolbox--release-notes/scripts/SKILL-post-merge-rename.md +0 -47
  235. package/.worktrees/toolbox--release-notes/scripts/deploy-public.sh +0 -345
  236. package/.worktrees/toolbox--release-notes/scripts/post-merge-rename.sh +0 -210
  237. package/.worktrees/toolbox--release-notes/scripts/publish-skill.sh +0 -134
  238. package/.worktrees/toolbox--release-notes/templates/global-claude-md.md +0 -73
  239. package/.worktrees/toolbox--release-notes/templates/repo-claude-md.template +0 -24
  240. package/.worktrees/toolbox--release-notes/tools/deploy-public/LICENSE +0 -52
  241. package/.worktrees/toolbox--release-notes/tools/deploy-public/README.md +0 -31
  242. package/.worktrees/toolbox--release-notes/tools/deploy-public/SKILL.md +0 -71
  243. package/.worktrees/toolbox--release-notes/tools/deploy-public/deploy-public.sh +0 -264
  244. package/.worktrees/toolbox--release-notes/tools/deploy-public/package.json +0 -9
  245. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/LICENSE +0 -52
  246. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/README.md +0 -46
  247. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/backup.sh +0 -16
  248. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/branch-protect.sh +0 -39
  249. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/crystal-capture.sh +0 -19
  250. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/setup-shell.sh +0 -27
  251. package/.worktrees/toolbox--release-notes/tools/ldm-jobs/visibility-audit.sh +0 -27
  252. package/.worktrees/toolbox--release-notes/tools/post-merge-rename/LICENSE +0 -52
  253. package/.worktrees/toolbox--release-notes/tools/post-merge-rename/README.md +0 -29
  254. package/.worktrees/toolbox--release-notes/tools/post-merge-rename/SKILL.md +0 -57
  255. package/.worktrees/toolbox--release-notes/tools/post-merge-rename/package.json +0 -9
  256. package/.worktrees/toolbox--release-notes/tools/post-merge-rename/post-merge-rename.sh +0 -122
  257. package/.worktrees/toolbox--release-notes/tools/wip-branch-guard/INSTALL.md +0 -41
  258. package/.worktrees/toolbox--release-notes/tools/wip-branch-guard/guard.mjs +0 -459
  259. package/.worktrees/toolbox--release-notes/tools/wip-branch-guard/package.json +0 -18
  260. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/CHANGELOG.md +0 -6
  261. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/LICENSE +0 -52
  262. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/README.md +0 -113
  263. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/REFERENCE.md +0 -86
  264. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/SKILL.md +0 -105
  265. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/guard.mjs +0 -161
  266. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/openclaw.plugin.json +0 -8
  267. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/package.json +0 -27
  268. package/.worktrees/toolbox--release-notes/tools/wip-file-guard/test.sh +0 -119
  269. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/LICENSE +0 -52
  270. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/README.md +0 -69
  271. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/SKILL.md +0 -65
  272. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/cli.mjs +0 -472
  273. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/core.mjs +0 -310
  274. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/guard.mjs +0 -146
  275. package/.worktrees/toolbox--release-notes/tools/wip-license-guard/package.json +0 -22
  276. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/CHANGELOG.md +0 -17
  277. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/LICENSE +0 -52
  278. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/README.md +0 -200
  279. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/SKILL.md +0 -111
  280. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/cli/index.d.ts +0 -15
  281. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/cli/index.js +0 -170
  282. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/cli/index.js.map +0 -1
  283. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/detector.d.ts +0 -12
  284. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/detector.js +0 -104
  285. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/detector.js.map +0 -1
  286. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/index.d.ts +0 -4
  287. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/index.js +0 -5
  288. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/index.js.map +0 -1
  289. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/ledger.d.ts +0 -49
  290. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/ledger.js +0 -72
  291. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/ledger.js.map +0 -1
  292. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/reporter.d.ts +0 -14
  293. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/reporter.js +0 -227
  294. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/reporter.js.map +0 -1
  295. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/scanner.d.ts +0 -39
  296. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/scanner.js +0 -325
  297. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/scanner.js.map +0 -1
  298. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/hooks/pre-pull.sh +0 -55
  299. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/hooks/pre-push.sh +0 -51
  300. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/mcp-server.mjs +0 -119
  301. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/package-lock.json +0 -54
  302. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/package.json +0 -43
  303. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/cli/index.ts +0 -189
  304. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/detector.ts +0 -130
  305. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/index.ts +0 -4
  306. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/ledger.ts +0 -116
  307. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/reporter.ts +0 -255
  308. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/scanner.ts +0 -367
  309. package/.worktrees/toolbox--release-notes/tools/wip-license-hook/tsconfig.json +0 -16
  310. package/.worktrees/toolbox--release-notes/tools/wip-readme-format/README.md +0 -49
  311. package/.worktrees/toolbox--release-notes/tools/wip-readme-format/SKILL.md +0 -84
  312. package/.worktrees/toolbox--release-notes/tools/wip-readme-format/format.mjs +0 -597
  313. package/.worktrees/toolbox--release-notes/tools/wip-readme-format/package.json +0 -15
  314. package/.worktrees/toolbox--release-notes/tools/wip-release/CHANGELOG.md +0 -42
  315. package/.worktrees/toolbox--release-notes/tools/wip-release/LICENSE +0 -52
  316. package/.worktrees/toolbox--release-notes/tools/wip-release/README.md +0 -45
  317. package/.worktrees/toolbox--release-notes/tools/wip-release/REFERENCE.md +0 -100
  318. package/.worktrees/toolbox--release-notes/tools/wip-release/SKILL.md +0 -139
  319. package/.worktrees/toolbox--release-notes/tools/wip-release/cli.js +0 -175
  320. package/.worktrees/toolbox--release-notes/tools/wip-release/core.mjs +0 -1664
  321. package/.worktrees/toolbox--release-notes/tools/wip-release/mcp-server.mjs +0 -113
  322. package/.worktrees/toolbox--release-notes/tools/wip-release/package.json +0 -36
  323. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/README.md +0 -38
  324. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/SKILL.md +0 -77
  325. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/init.mjs +0 -148
  326. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/package.json +0 -11
  327. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/_sort/README.md +0 -15
  328. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/_trash/README.md +0 -16
  329. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/dev-updates/README.md +0 -50
  330. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/notes/README.md +0 -26
  331. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/plans-prds/roadmap.md +0 -77
  332. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/plans-prds/todos/README.md +0 -63
  333. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/product-ideas/README.md +0 -24
  334. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/readme-first-product.md +0 -128
  335. package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/read-me-first.md +0 -80
  336. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/LICENSE +0 -52
  337. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/README.md +0 -86
  338. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/SKILL.md +0 -73
  339. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/cli.js +0 -93
  340. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/core.mjs +0 -122
  341. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/guard.mjs +0 -64
  342. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/mcp-server.mjs +0 -92
  343. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/openclaw.plugin.json +0 -8
  344. package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/package.json +0 -31
  345. package/.worktrees/toolbox--release-notes/tools/wip-repos/LICENSE +0 -52
  346. package/.worktrees/toolbox--release-notes/tools/wip-repos/README.md +0 -77
  347. package/.worktrees/toolbox--release-notes/tools/wip-repos/SKILL.md +0 -80
  348. package/.worktrees/toolbox--release-notes/tools/wip-repos/claude.mjs +0 -248
  349. package/.worktrees/toolbox--release-notes/tools/wip-repos/cli.mjs +0 -191
  350. package/.worktrees/toolbox--release-notes/tools/wip-repos/core.mjs +0 -290
  351. package/.worktrees/toolbox--release-notes/tools/wip-repos/mcp-server.mjs +0 -157
  352. package/.worktrees/toolbox--release-notes/tools/wip-repos/package.json +0 -34
  353. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/CHANGELOG.md +0 -57
  354. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/LICENSE +0 -52
  355. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/README.md +0 -81
  356. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/REFERENCE.md +0 -122
  357. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/SKILL.md +0 -87
  358. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/SPEC.md +0 -206
  359. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/detect.mjs +0 -130
  360. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/README.md +0 -20
  361. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/SKILL.md +0 -28
  362. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/cli.mjs +0 -4
  363. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/core.mjs +0 -8
  364. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/mcp-server.mjs +0 -27
  365. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/package.json +0 -12
  366. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/install.js +0 -930
  367. package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/package.json +0 -32
  368. package/.worktrees/toolbox--save-stale/.license-guard.json +0 -7
  369. package/.worktrees/toolbox--save-stale/.publish-skill.json +0 -4
  370. package/.worktrees/toolbox--save-stale/CHANGELOG.md +0 -1875
  371. package/.worktrees/toolbox--save-stale/CLA.md +0 -19
  372. package/.worktrees/toolbox--save-stale/DEV-GUIDE-GENERAL-PUBLIC.md +0 -949
  373. package/.worktrees/toolbox--save-stale/LICENSE +0 -52
  374. package/.worktrees/toolbox--save-stale/README.md +0 -238
  375. package/.worktrees/toolbox--save-stale/SKILL.md +0 -821
  376. package/.worktrees/toolbox--save-stale/TECHNICAL.md +0 -416
  377. package/.worktrees/toolbox--save-stale/UNIVERSAL-INTERFACE.md +0 -180
  378. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
  379. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
  380. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
  381. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
  382. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
  383. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
  384. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
  385. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
  386. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
  387. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
  388. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
  389. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
  390. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
  391. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
  392. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
  393. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
  394. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
  395. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
  396. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
  397. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
  398. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
  399. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
  400. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
  401. package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
  402. package/.worktrees/toolbox--save-stale/_trash/guide 2/DEV-GUIDE.md +0 -487
  403. package/.worktrees/toolbox--save-stale/_trash/guide 2/scripts/deploy-public.sh +0 -152
  404. package/.worktrees/toolbox--save-stale/package.json +0 -27
  405. package/.worktrees/toolbox--save-stale/scripts/SKILL-deploy-public.md +0 -61
  406. package/.worktrees/toolbox--save-stale/scripts/SKILL-post-merge-rename.md +0 -47
  407. package/.worktrees/toolbox--save-stale/scripts/deploy-public.sh +0 -345
  408. package/.worktrees/toolbox--save-stale/scripts/post-merge-rename.sh +0 -210
  409. package/.worktrees/toolbox--save-stale/scripts/publish-skill.sh +0 -134
  410. package/.worktrees/toolbox--save-stale/templates/global-claude-md.md +0 -73
  411. package/.worktrees/toolbox--save-stale/templates/repo-claude-md.template +0 -24
  412. package/.worktrees/toolbox--save-stale/tools/deploy-public/LICENSE +0 -52
  413. package/.worktrees/toolbox--save-stale/tools/deploy-public/README.md +0 -31
  414. package/.worktrees/toolbox--save-stale/tools/deploy-public/SKILL.md +0 -71
  415. package/.worktrees/toolbox--save-stale/tools/deploy-public/deploy-public.sh +0 -264
  416. package/.worktrees/toolbox--save-stale/tools/deploy-public/package.json +0 -9
  417. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/LICENSE +0 -52
  418. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/README.md +0 -46
  419. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/backup.sh +0 -16
  420. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/branch-protect.sh +0 -39
  421. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/crystal-capture.sh +0 -19
  422. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/setup-shell.sh +0 -27
  423. package/.worktrees/toolbox--save-stale/tools/ldm-jobs/visibility-audit.sh +0 -27
  424. package/.worktrees/toolbox--save-stale/tools/post-merge-rename/LICENSE +0 -52
  425. package/.worktrees/toolbox--save-stale/tools/post-merge-rename/README.md +0 -29
  426. package/.worktrees/toolbox--save-stale/tools/post-merge-rename/SKILL.md +0 -57
  427. package/.worktrees/toolbox--save-stale/tools/post-merge-rename/package.json +0 -9
  428. package/.worktrees/toolbox--save-stale/tools/post-merge-rename/post-merge-rename.sh +0 -122
  429. package/.worktrees/toolbox--save-stale/tools/wip-branch-guard/INSTALL.md +0 -41
  430. package/.worktrees/toolbox--save-stale/tools/wip-branch-guard/guard.mjs +0 -459
  431. package/.worktrees/toolbox--save-stale/tools/wip-branch-guard/package.json +0 -18
  432. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/CHANGELOG.md +0 -6
  433. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/LICENSE +0 -52
  434. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/README.md +0 -113
  435. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/REFERENCE.md +0 -86
  436. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/SKILL.md +0 -105
  437. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/guard.mjs +0 -161
  438. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/openclaw.plugin.json +0 -8
  439. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/package.json +0 -27
  440. package/.worktrees/toolbox--save-stale/tools/wip-file-guard/test.sh +0 -119
  441. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/LICENSE +0 -52
  442. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/README.md +0 -69
  443. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/SKILL.md +0 -65
  444. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/cli.mjs +0 -472
  445. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/core.mjs +0 -310
  446. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/guard.mjs +0 -146
  447. package/.worktrees/toolbox--save-stale/tools/wip-license-guard/package.json +0 -22
  448. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/CHANGELOG.md +0 -17
  449. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/LICENSE +0 -52
  450. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/README.md +0 -200
  451. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/SKILL.md +0 -111
  452. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/cli/index.d.ts +0 -15
  453. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/cli/index.js +0 -170
  454. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/cli/index.js.map +0 -1
  455. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/detector.d.ts +0 -12
  456. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/detector.js +0 -104
  457. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/detector.js.map +0 -1
  458. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/index.d.ts +0 -4
  459. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/index.js +0 -5
  460. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/index.js.map +0 -1
  461. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/ledger.d.ts +0 -49
  462. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/ledger.js +0 -72
  463. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/ledger.js.map +0 -1
  464. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/reporter.d.ts +0 -14
  465. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/reporter.js +0 -227
  466. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/reporter.js.map +0 -1
  467. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/scanner.d.ts +0 -39
  468. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/scanner.js +0 -325
  469. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/scanner.js.map +0 -1
  470. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/hooks/pre-pull.sh +0 -55
  471. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/hooks/pre-push.sh +0 -51
  472. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/mcp-server.mjs +0 -119
  473. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/package-lock.json +0 -54
  474. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/package.json +0 -43
  475. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/cli/index.ts +0 -189
  476. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/detector.ts +0 -130
  477. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/index.ts +0 -4
  478. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/ledger.ts +0 -116
  479. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/reporter.ts +0 -255
  480. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/scanner.ts +0 -367
  481. package/.worktrees/toolbox--save-stale/tools/wip-license-hook/tsconfig.json +0 -16
  482. package/.worktrees/toolbox--save-stale/tools/wip-readme-format/README.md +0 -49
  483. package/.worktrees/toolbox--save-stale/tools/wip-readme-format/SKILL.md +0 -84
  484. package/.worktrees/toolbox--save-stale/tools/wip-readme-format/format.mjs +0 -597
  485. package/.worktrees/toolbox--save-stale/tools/wip-readme-format/package.json +0 -15
  486. package/.worktrees/toolbox--save-stale/tools/wip-release/CHANGELOG.md +0 -42
  487. package/.worktrees/toolbox--save-stale/tools/wip-release/LICENSE +0 -52
  488. package/.worktrees/toolbox--save-stale/tools/wip-release/README.md +0 -45
  489. package/.worktrees/toolbox--save-stale/tools/wip-release/REFERENCE.md +0 -100
  490. package/.worktrees/toolbox--save-stale/tools/wip-release/SKILL.md +0 -139
  491. package/.worktrees/toolbox--save-stale/tools/wip-release/cli.js +0 -175
  492. package/.worktrees/toolbox--save-stale/tools/wip-release/core.mjs +0 -1664
  493. package/.worktrees/toolbox--save-stale/tools/wip-release/mcp-server.mjs +0 -113
  494. package/.worktrees/toolbox--save-stale/tools/wip-release/package.json +0 -36
  495. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/README.md +0 -38
  496. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/SKILL.md +0 -77
  497. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/init.mjs +0 -148
  498. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/package.json +0 -11
  499. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/_sort/README.md +0 -15
  500. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/_trash/README.md +0 -16
  501. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/dev-updates/README.md +0 -50
  502. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/notes/README.md +0 -26
  503. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/plans-prds/roadmap.md +0 -77
  504. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/plans-prds/todos/README.md +0 -63
  505. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/product-ideas/README.md +0 -24
  506. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/readme-first-product.md +0 -128
  507. package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/read-me-first.md +0 -80
  508. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/LICENSE +0 -52
  509. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/README.md +0 -86
  510. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/SKILL.md +0 -73
  511. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/cli.js +0 -93
  512. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/core.mjs +0 -122
  513. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/guard.mjs +0 -64
  514. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/mcp-server.mjs +0 -92
  515. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/openclaw.plugin.json +0 -8
  516. package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/package.json +0 -31
  517. package/.worktrees/toolbox--save-stale/tools/wip-repos/LICENSE +0 -52
  518. package/.worktrees/toolbox--save-stale/tools/wip-repos/README.md +0 -77
  519. package/.worktrees/toolbox--save-stale/tools/wip-repos/SKILL.md +0 -80
  520. package/.worktrees/toolbox--save-stale/tools/wip-repos/claude.mjs +0 -248
  521. package/.worktrees/toolbox--save-stale/tools/wip-repos/cli.mjs +0 -191
  522. package/.worktrees/toolbox--save-stale/tools/wip-repos/core.mjs +0 -290
  523. package/.worktrees/toolbox--save-stale/tools/wip-repos/mcp-server.mjs +0 -157
  524. package/.worktrees/toolbox--save-stale/tools/wip-repos/package.json +0 -34
  525. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/CHANGELOG.md +0 -57
  526. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/LICENSE +0 -52
  527. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/README.md +0 -81
  528. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/REFERENCE.md +0 -122
  529. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/SKILL.md +0 -87
  530. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/SPEC.md +0 -206
  531. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/detect.mjs +0 -130
  532. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/README.md +0 -20
  533. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/SKILL.md +0 -28
  534. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/cli.mjs +0 -4
  535. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/core.mjs +0 -8
  536. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/mcp-server.mjs +0 -27
  537. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/package.json +0 -12
  538. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/install.js +0 -930
  539. package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/package.json +0 -32
  540. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/.license-guard.json +0 -7
  541. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/.publish-skill.json +0 -4
  542. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/CHANGELOG.md +0 -1875
  543. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/CLA.md +0 -19
  544. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/DEV-GUIDE-GENERAL-PUBLIC.md +0 -949
  545. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/LICENSE +0 -52
  546. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/README.md +0 -238
  547. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/SKILL.md +0 -821
  548. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/TECHNICAL.md +0 -416
  549. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/UNIVERSAL-INTERFACE.md +0 -180
  550. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
  551. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
  552. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
  553. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
  554. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
  555. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
  556. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
  557. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
  558. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
  559. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
  560. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
  561. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
  562. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
  563. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
  564. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
  565. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
  566. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
  567. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
  568. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
  569. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
  570. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
  571. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
  572. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
  573. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
  574. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/guide 2/DEV-GUIDE.md +0 -487
  575. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/guide 2/scripts/deploy-public.sh +0 -152
  576. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/package.json +0 -27
  577. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/SKILL-deploy-public.md +0 -61
  578. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/SKILL-post-merge-rename.md +0 -47
  579. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/deploy-public.sh +0 -345
  580. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/post-merge-rename.sh +0 -210
  581. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/publish-skill.sh +0 -134
  582. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/templates/global-claude-md.md +0 -73
  583. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/templates/repo-claude-md.template +0 -24
  584. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/LICENSE +0 -52
  585. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/README.md +0 -31
  586. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/SKILL.md +0 -71
  587. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/deploy-public.sh +0 -264
  588. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/package.json +0 -9
  589. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/LICENSE +0 -52
  590. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/README.md +0 -46
  591. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/backup.sh +0 -16
  592. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/branch-protect.sh +0 -39
  593. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/crystal-capture.sh +0 -19
  594. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/setup-shell.sh +0 -27
  595. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/visibility-audit.sh +0 -27
  596. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/LICENSE +0 -52
  597. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/README.md +0 -29
  598. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/SKILL.md +0 -57
  599. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/package.json +0 -9
  600. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/post-merge-rename.sh +0 -122
  601. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-branch-guard/INSTALL.md +0 -41
  602. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-branch-guard/guard.mjs +0 -418
  603. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-branch-guard/package.json +0 -18
  604. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/CHANGELOG.md +0 -6
  605. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/LICENSE +0 -52
  606. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/README.md +0 -113
  607. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/REFERENCE.md +0 -86
  608. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/SKILL.md +0 -105
  609. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/guard.mjs +0 -161
  610. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/openclaw.plugin.json +0 -8
  611. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/package.json +0 -27
  612. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/test.sh +0 -119
  613. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/LICENSE +0 -52
  614. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/README.md +0 -69
  615. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/SKILL.md +0 -65
  616. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/cli.mjs +0 -472
  617. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/core.mjs +0 -310
  618. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/guard.mjs +0 -146
  619. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/package.json +0 -22
  620. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/CHANGELOG.md +0 -17
  621. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/LICENSE +0 -52
  622. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/README.md +0 -200
  623. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/SKILL.md +0 -111
  624. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/cli/index.d.ts +0 -15
  625. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/cli/index.js +0 -170
  626. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/cli/index.js.map +0 -1
  627. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/detector.d.ts +0 -12
  628. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/detector.js +0 -104
  629. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/detector.js.map +0 -1
  630. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/index.d.ts +0 -4
  631. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/index.js +0 -5
  632. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/index.js.map +0 -1
  633. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/ledger.d.ts +0 -49
  634. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/ledger.js +0 -72
  635. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/ledger.js.map +0 -1
  636. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/reporter.d.ts +0 -14
  637. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/reporter.js +0 -227
  638. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/reporter.js.map +0 -1
  639. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/scanner.d.ts +0 -39
  640. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/scanner.js +0 -325
  641. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/scanner.js.map +0 -1
  642. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/hooks/pre-pull.sh +0 -55
  643. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/hooks/pre-push.sh +0 -51
  644. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/mcp-server.mjs +0 -119
  645. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/package-lock.json +0 -54
  646. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/package.json +0 -43
  647. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/cli/index.ts +0 -189
  648. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/detector.ts +0 -130
  649. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/index.ts +0 -4
  650. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/ledger.ts +0 -116
  651. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/reporter.ts +0 -255
  652. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/scanner.ts +0 -367
  653. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/tsconfig.json +0 -16
  654. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/README.md +0 -49
  655. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/SKILL.md +0 -84
  656. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/format.mjs +0 -597
  657. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/package.json +0 -15
  658. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/CHANGELOG.md +0 -42
  659. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/LICENSE +0 -52
  660. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/README.md +0 -45
  661. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/REFERENCE.md +0 -100
  662. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/SKILL.md +0 -139
  663. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/cli.js +0 -175
  664. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/core.mjs +0 -1664
  665. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/mcp-server.mjs +0 -113
  666. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/package.json +0 -36
  667. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/README.md +0 -38
  668. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/SKILL.md +0 -77
  669. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/init.mjs +0 -148
  670. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/package.json +0 -11
  671. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/_sort/README.md +0 -15
  672. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/_trash/README.md +0 -16
  673. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/dev-updates/README.md +0 -50
  674. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/notes/README.md +0 -26
  675. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/plans-prds/roadmap.md +0 -77
  676. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/plans-prds/todos/README.md +0 -63
  677. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/product-ideas/README.md +0 -24
  678. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/readme-first-product.md +0 -128
  679. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/read-me-first.md +0 -80
  680. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/LICENSE +0 -52
  681. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/README.md +0 -86
  682. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/SKILL.md +0 -73
  683. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/cli.js +0 -93
  684. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/core.mjs +0 -122
  685. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/guard.mjs +0 -64
  686. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/mcp-server.mjs +0 -92
  687. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/openclaw.plugin.json +0 -8
  688. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/package.json +0 -31
  689. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/LICENSE +0 -52
  690. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/README.md +0 -77
  691. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/SKILL.md +0 -80
  692. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/claude.mjs +0 -248
  693. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/cli.mjs +0 -191
  694. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/core.mjs +0 -290
  695. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/mcp-server.mjs +0 -157
  696. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/package.json +0 -34
  697. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/CHANGELOG.md +0 -57
  698. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/LICENSE +0 -52
  699. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/README.md +0 -81
  700. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/REFERENCE.md +0 -122
  701. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/SKILL.md +0 -87
  702. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/SPEC.md +0 -206
  703. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/detect.mjs +0 -130
  704. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/README.md +0 -20
  705. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/SKILL.md +0 -28
  706. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/cli.mjs +0 -4
  707. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/core.mjs +0 -8
  708. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/mcp-server.mjs +0 -27
  709. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/package.json +0 -12
  710. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/install.js +0 -930
  711. package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/package.json +0 -32
  712. package/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
  713. package/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
  714. package/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
  715. package/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
  716. package/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
  717. package/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
  718. package/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
  719. package/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
  720. package/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
  721. package/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
  722. package/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
  723. package/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
  724. package/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
  725. package/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
  726. package/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
  727. package/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
  728. package/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
  729. package/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
  730. package/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
  731. package/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
  732. package/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
  733. package/_trash/RELEASE-NOTES-v1-9-56.md +0 -42
  734. package/_trash/RELEASE-NOTES-v1-9-57.md +0 -18
  735. package/_trash/RELEASE-NOTES-v1-9-58.md +0 -21
  736. package/_trash/RELEASE-NOTES-v1-9-59.md +0 -28
  737. package/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
  738. package/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
  739. package/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
  740. package/_trash/guide 2/DEV-GUIDE.md +0 -487
  741. package/_trash/guide 2/scripts/deploy-public.sh +0 -152
  742. package/tools/wip-repo-init/templates/_trash/README.md +0 -16
@@ -1,949 +0,0 @@
1
- # Dev Guide ... Best Practices for AI-Assisted Development
2
-
3
- **WIP team members: also read the private Dev Guide at `~/wipcomputerinc/settings/templates/dev-guide-private.md`.** It covers WIP-specific conventions (branch prefixes, agent IDs, deploy paths, incidents) that supplement everything below. Neither guide is complete without the other.
4
-
5
- ## Repo Structure Convention
6
-
7
- Every project follows this split:
8
-
9
- ### Public Repo
10
- Clean. Code only.
11
- - `README.md` ... what it is, how to use it
12
- - `LICENSE` ... MIT (verified, always)
13
- - `SKILL.md` ... agent skill definition (if applicable)
14
- - `src/` or `core/` ... source code
15
- - `cli/` ... CLI wrapper
16
- - `package.json` / `pyproject.toml` ... package config
17
- - `CHANGELOG.md` ... release notes
18
-
19
- **No dev noise.** No todos, no conversations, no internal notes.
20
-
21
- ### Plans and Dev Notes (per-repo `ai/` folder)
22
-
23
- Plans, todos, dev updates, and conversations live in the repo's own `ai/` folder. See the `ai/` folder section under Git Conventions for the full structure.
24
-
25
- ### Architecture (4-piece pattern)
26
-
27
- Every tool follows the dual-interface architecture:
28
- 1. **core.ts** ... pure logic, zero framework deps
29
- 2. **cli.ts** ... thin wrapper (argv -> core -> stdout)
30
- 3. **mcp-server.ts** ... MCP wrapper for agents
31
- 4. *(optional)* **plugin wrapper** ... platform-specific integration
32
-
33
- CLI is the universal fallback. MCP and plugin wrappers are optimizations.
34
-
35
- ## Release Process
36
-
37
- ### Branch, PR, Merge, Publish
38
-
39
- ```
40
- 1. Create feature branch: git checkout -b <prefix>/<feature>
41
- 2. Make changes, commit
42
- 3. Write release notes: RELEASE-NOTES-v{next-version}.md (see below)
43
- 4. Push branch: git push -u origin <prefix>/<feature>
44
- 5. Create PR: gh pr create --title "..." --body "..."
45
- 6. Merge PR: gh pr merge <number> --merge --delete-branch
46
- 7. Rename merged branch: (see Post-Merge Branch Rename below)
47
- 8. Pull merged main: git checkout main && git pull origin main
48
- 9. Release: wip-release patch
49
- # wip-release auto-detects the RELEASE-NOTES file
50
- # flags: --dry-run (preview), --no-publish (bump + tag only)
51
- ```
52
-
53
- **Important:**
54
- - **Every change goes through a PR.** No direct pushes to main. Not even "just a README fix." Branch, PR, merge. Every time.
55
- - **Never squash merge.** Every commit has co-authors and tells the story of how something was built. Squashing destroys attribution and history. Always use `--merge` or fast-forward. This applies to `gh pr merge`, manual merges, deploy-public.sh, and any other merge path. No exceptions. Always include `--delete-branch` so the PR branch is cleaned up automatically.
56
- - **Never delete branches.** Branches are history. They tell the story of what was built and when. After merging, rename them (see below). Never `git branch -D` or `git push --delete` without renaming first.
57
- - **Never use `--no-publish` before deploying to public.** `deploy-public.sh` pulls release notes from the private repo's GitHub release. If you skip the release with `--no-publish`, the public repo gets empty notes. Run the full pipeline first.
58
- - After merging, switch back to your dev branch. Don't sit on main.
59
-
60
- ### Release Notes on the Branch
61
-
62
- **Every PR must include a `RELEASE-NOTES-v{next-version}.md` file.** This is how release notes get reviewed before publishing. Same pattern as code review: the notes are on the branch, visible in the PR, reviewed alongside the changes.
63
-
64
- **How it works:**
65
-
66
- 1. Figure out the next version. Current is v0.7.2, this is a patch, so next is v0.7.3.
67
- 2. Create `RELEASE-NOTES-v0-7-3.md` in the repo root. **Dashes, not dots** in the filename.
68
- 3. Write the summary: what changed, why it matters, what it fixes. Narrative, not a changelog.
69
- 4. Commit it with the rest of your changes. It ships with the branch.
70
- 5. The PR now shows code changes AND release notes. Both get reviewed.
71
- 6. After merge, `wip-release patch` auto-detects the file and uses it as the release summary.
72
- 7. After release, `wip-release` moves the file to `ai/_trash/` automatically.
73
-
74
- **The file is the summary paragraph.** `wip-release` builds the full structured release (Changes, Fixes, Docs, Files changed, Install, Attribution, Changelog) from git history. Your file provides the human-written context at the top.
75
-
76
- **Three-source priority** (first match wins):
77
- 1. `--notes-file=path` ... explicit file path via CLI flag
78
- 2. `RELEASE-NOTES-v{ver}.md` ... auto-detected from repo root (this is the standard)
79
- 3. `ai/dev-updates/` ... today's dev update files (fallback only)
80
-
81
- **If no release notes file exists,** `wip-release` falls back to `--notes="..."` or dev updates. But the standard is: write the file, commit it, review it in the PR. Don't skip this.
82
-
83
- ### Post-Merge Branch Rename
84
-
85
- **Never delete branches after merging.** Instead, rename them with `--merged-YYYY-MM-DD` appended. This preserves history and makes it instantly clear which branches are done and when they were merged.
86
-
87
- **Format:**
88
- ```
89
- <original-branch-name>--merged-YYYY-MM-DD
90
- ```
91
-
92
- **Examples:**
93
- ```
94
- dev/fix-search -> dev/fix-search--merged-2026-03-08
95
- agent-a/weekly-tuning -> agent-a/weekly-tuning--merged-2026-03-08
96
- team-b/add-relay -> team-b/add-relay--merged-2026-03-08
97
- ```
98
-
99
- **After merging a PR:**
100
- ```bash
101
- # 1. Rename locally
102
- git branch -m <prefix>/<feature> <prefix>/<feature>--merged-$(date +%Y-%m-%d)
103
-
104
- # 2. Push renamed branch to remote
105
- git push origin <prefix>/<feature>--merged-$(date +%Y-%m-%d)
106
-
107
- # 3. Remove old remote branch name
108
- git push origin --delete <prefix>/<feature>
109
-
110
- # 4. Scan for any other merged branches that missed renaming
111
- git branch --merged main | grep -v main | grep -v "\-\-merged\-" | while read branch; do
112
- echo "WARNING: $branch is merged but not renamed"
113
- done
114
- ```
115
-
116
- **The scan step is mandatory.** Every time you merge, check for stale branches that missed renaming. If you find any, rename them with the date they were merged (check `git log main` for the merge date, not today's date).
117
-
118
- **Automation:** `wip-release` runs this scan automatically as step 10 of the release pipeline. It finds all local branches merged into main that haven't been renamed yet, renames them with the correct merge date, and pushes to remote. You don't have to do anything extra on release.
119
-
120
- For repos where you merge but don't release immediately, use the standalone script:
121
- ```bash
122
- bash scripts/post-merge-rename.sh # scan + rename all
123
- bash scripts/post-merge-rename.sh --dry-run # preview only
124
- bash scripts/post-merge-rename.sh <branch> # rename specific branch
125
- ```
126
- - Use scoped npm tokens for publishing, not personal credentials.
127
-
128
- ### Release Quality Standards
129
-
130
- **Every release must have exhaustive, categorized notes.** People use our software. Sloppy notes are embarrassing. Look at [OpenClaw releases](https://github.com/openclaw/openclaw/releases) as the benchmark.
131
-
132
- `wip-release` generates structured notes automatically:
133
-
134
- 1. **Changes** ... new features, refactors, additions. One bullet per commit with hash.
135
- 2. **Fixes** ... bug fixes, hotfixes. One bullet per commit with hash.
136
- 3. **Docs** ... README, TECHNICAL, RELAY, any documentation changes.
137
- 4. **Files changed** ... diffstat (excludes `ai/` folder).
138
- 5. **Install** ... npm install command + git pull.
139
- 6. **Attribution** ... Built-by line.
140
- 7. **Full changelog** ... GitHub compare URL.
141
-
142
- The `--notes` flag provides the summary paragraph at the top. The tool builds everything else from git history.
143
-
144
- **For major releases (minor/major bumps):** the auto-generated notes are a starting point. Always review and expand them. Add context, describe architectural changes, explain why things changed. A commit subject like "Add cc-poller.ts" should become a paragraph explaining what the poller does, why it replaces the old hook, and what problem it solves.
145
-
146
- **For patch releases:** auto-generated notes are usually sufficient. Review before publishing.
147
-
148
- **Never publish a release with just a one-liner.** If two days of work went into it, the release notes should reflect that.
149
-
150
- #### Release Checklist
151
-
152
- Every release must also have:
153
-
154
- 1. **All contributors represented.** Every team member (human and AI) must have authored at least one commit in the repo. GitHub tracks contributors by commit author, not co-author trailers. If a contributor is missing, make a real commit with `--author`.
155
- 2. **Release on both repos.** The private repo gets the release from wip-release. The public repo gets a matching release from deploy-public.sh. Both must show the release in their GitHub Releases tab.
156
- 3. **npm package published.** Available via `npm install <package-name>@<version>`. Verify after publishing.
157
- 4. **CHANGELOG.md updated.** wip-release handles this, but verify it's accurate and complete.
158
-
159
- **After every release, verify all of these.** Check the public repo's GitHub page. Does it show the release? Does it show all three contributors? Are the release notes complete? Is the npm package available? If any of these are missing, fix it before moving on.
160
-
161
- ### Release Order (Critical)
162
-
163
- The release flow must happen in this exact order:
164
-
165
- 1. **Merge PR to main** on the private repo
166
- 2. **`wip-release`** on the private repo (bumps version, creates tag, creates GitHub release with full notes, publishes npm)
167
- 3. **`deploy-public`** to sync to the public repo (pulls release notes from private repo's GitHub release)
168
-
169
- If you skip step 2 or do it manually (e.g. `git tag` + `git push` without creating a GitHub release), `deploy-public` will create the public release with empty notes. The script pulls notes from the private repo's GitHub release. No release on private = no notes on public.
170
-
171
- ### Merge, Deploy, Install ... Three Separate Steps
172
-
173
- These are three distinct actions. Never combine them.
174
-
175
- | Step | What it means | What happens |
176
- |------|--------------|-------------|
177
- | **Merge** | Development done | PR merged to private repo's main. Code lands. Nothing else changes. |
178
- | **Deploy** | Ship to public | `wip-release` + `deploy-public.sh`. Package published. Available to the world. **Not on your machine yet.** |
179
- | **Install** | Put it on your system | Run the install prompt (`crystal init`, `ldm install`, etc.). Only when the user says "install." |
180
-
181
- After Deploy, stop. Do not copy files to extension directories. Do not run `npm install -g`. Do not run `npm link`. The user tests the install flow by running the install prompt. That's how you dogfood.
182
-
183
- **If you must release manually** (no root package.json, toolbox repos, etc.):
184
- 1. Update CHANGELOG.md and SKILL.md version
185
- 2. Commit, PR, merge
186
- 3. `git tag vX.Y.Z && git push origin vX.Y.Z`
187
- 4. `gh release create vX.Y.Z --title "vX.Y.Z" --notes "..."` on the PRIVATE repo first
188
- 5. THEN run `deploy-public`
189
-
190
- The GitHub release on the private repo must exist before deploy-public runs. This is not optional.
191
-
192
- ### Universal Installer Checklist
193
-
194
- Every tool must be verified with the Universal Installer before release. This is not optional.
195
-
196
- **Before every release:**
197
- ```bash
198
- wip-install /path/to/tool --dry-run
199
- ```
200
-
201
- This shows which interfaces are detected and which are missing.
202
-
203
- **Minimum for agent-callable tools:**
204
- - Module (`main` or `exports` in package.json)
205
- - Skill (SKILL.md with YAML frontmatter)
206
- - MCP Server (`mcp-server.mjs` wrapping the core module)
207
-
208
- **Full interface coverage (the goal):**
209
- - CLI (`bin` in package.json)
210
- - Module (`main`/`exports`)
211
- - MCP Server (`mcp-server.mjs`)
212
- - OpenClaw Plugin (`openclaw.plugin.json`, only for tools with lifecycle hooks)
213
- - Skill (`SKILL.md`)
214
- - Claude Code Hook (`guard.mjs` or `claudeCode.hook`, only for tools that guard operations)
215
-
216
- **For toolbox repos** (repos with multiple tools in `tools/` subfolders): apply this checklist to each sub-tool, not just the root. Every sub-tool gets its own package.json, SKILL.md, and interface files.
217
-
218
- **Dogfood rule:** After releasing, run `wip-install` on the toolbox itself to reinstall. Eat your own cooking.
219
-
220
- ### Pre-Publish Checklist
221
-
222
- Before any repo goes public:
223
-
224
- 1. [ ] Code complete (all punchlist items done)
225
- 2. [ ] Code review (architecture, edge cases, quality)
226
- 3. [ ] Human review (spec, UX, direction)
227
- 4. [ ] LICENSE file present (MIT, verified)
228
- 5. [ ] README covers usage, installation, examples
229
- 6. [ ] CHANGELOG started
230
- 7. [ ] npm package published (scoped)
231
- 8. [ ] GitHub release created with tag
232
- 9. [ ] License compliance ledger initialized for all dependencies
233
-
234
- ## Cloudflare Workers Deploy
235
-
236
- Some repos deploy to Cloudflare Workers via `wrangler deploy`. Same rules as git: **never deploy uncommitted code.**
237
-
238
- ### The Rule
239
-
240
- **Commit first. Deploy second. Always.** The source that produced the deployed worker must exist in git before it goes to Cloudflare. If something breaks, we need to know exactly what's running.
241
-
242
- ### Deploy Workflow
243
-
244
- ```
245
- 1. Write code on feature branch
246
- 2. Build: npm run build:demo (or whatever the build script is)
247
- 3. Test locally: npm run dev:demo (wrangler dev)
248
- 4. Commit source: git add src/worker-*.ts wrangler-*.toml && git commit
249
- 5. Push + PR + merge: normal PR flow
250
- 6. Deploy: npm run deploy:demo (wrangler deploy)
251
- ```
252
-
253
- **Steps 4-5 happen BEFORE step 6.** Not after. Not "I'll commit later." The deploy command should never run on uncommitted code.
254
-
255
- ### Deploy Guard
256
-
257
- Every repo with a `wrangler*.toml` should use guarded deploy scripts in package.json:
258
-
259
- ```json
260
- "deploy:demo": "bash -c 'git diff --quiet HEAD -- src/ wrangler-demo.toml || (echo \"ERROR: uncommitted changes. commit before deploying.\" && exit 1)' && wrangler deploy --config wrangler-demo.toml"
261
- ```
262
-
263
- This checks that all source files are committed before `wrangler deploy` runs. If anything is dirty, it refuses.
264
-
265
- ### What Gets Tracked
266
-
267
- The deployed worker is the compiled output of committed source. The chain is:
268
-
269
- ```
270
- source (git) -> build (tsup) -> dist/*.js -> wrangler deploy -> Cloudflare edge
271
- ```
272
-
273
- We track the source. The build is reproducible from source. The deploy is reproducible from the build. If we have the git commit, we can reconstruct exactly what's running.
274
-
275
- ## License Compliance
276
-
277
- Use `wip-license-hook` for license rug-pull detection:
278
- - Pre-pull hook: blocks upstream merges if license changed
279
- - Pre-push hook: alerts if upstream has drifted
280
- - LICENSE snapshots archived at adoption
281
- - Daily cron scan of all dependencies
282
- - Dashboard published for public verification
283
-
284
- **Rule: never merge upstream if license changed. Hard stop.**
285
-
286
- ## Git Conventions
287
-
288
- ### Never Work on Main
289
-
290
- **Main is for merged, released code only.** Never make changes directly on main. Every repo should have a dev branch checked out as the working branch at all times.
291
-
292
- When you clone a repo or finish a PR, immediately create or switch to a dev branch:
293
-
294
- ```bash
295
- git checkout -b <prefix>/dev # new repo, first time
296
- git checkout <prefix>/<feature> # existing feature work
297
- ```
298
-
299
- If you find yourself on main with uncommitted changes, stash, branch, and apply:
300
-
301
- ```bash
302
- git stash
303
- git checkout -b <prefix>/fix-name
304
- git stash pop
305
- ```
306
-
307
- ### Branch Prefixes
308
-
309
- Branch names use the **harness name** (agent + machine) as the prefix. Every harness is a distinct entity. Claude Code on the Mini is not the same as Claude Code on the Air.
310
-
311
- ```
312
- <harness>/<feature>
313
- ```
314
-
315
- Examples: `dev/fix-search`, `agent-a/add-relay`, `team-b/weekly-tuning`
316
-
317
- ### Multi-Agent Clone Workflow
318
-
319
- **Every harness gets their own clone of every repo.** This prevents checkout collisions when multiple agents work on the same repo at the same time.
320
-
321
- ```
322
- staff/
323
- Agent-A/
324
- repos/
325
- my-project-private/ <- agent-a works here, agent-a/ branches
326
- Agent-B/
327
- repos/
328
- my-project-private/ <- agent-b works here, agent-b/ branches
329
- Human/
330
- repos/
331
- my-project-private/ <- human works here, dev/ branches
332
- ```
333
-
334
- **Rules:**
335
- - Never work in another agent's folder. If Agent-A originated a repo, Agent-B still clones it to their own folder.
336
- - Each harness uses their own branch prefix.
337
- - PRs merge to `main` on GitHub. That's the shared integration point.
338
- - If something needs to change in another agent's working tree, open a PR or ask them.
339
-
340
- **When a new repo is created:**
341
- 1. Whoever creates it pushes to GitHub
342
- 2. Every other agent clones it to their own repos folder
343
- 3. Each agent creates their dev branch with their prefix
344
-
345
- This is how we avoid the "two agents have different branches checked out in the same folder" problem. It doesn't work. Separate folders, separate clones, shared remote.
346
-
347
- ### Commit Messages
348
-
349
- - Imperative mood, concise (`add: license scanner`, `fix: offline detection`)
350
- - Co-author trailers for all contributors on every commit
351
- - PRs for cross-agent edits: don't edit another agent's working tree directly
352
- - Never push directly to main. Always branch, PR, merge. No exceptions.
353
-
354
- ### File Naming Convention
355
-
356
- All files authored by an agent use this format:
357
-
358
- ```
359
- YYYY-MM-DD--HH-MM-SS--{agent}--{description}.md
360
- ```
361
-
362
- Single dashes within date and time. Double dashes between segments. 24-hour clock.
363
-
364
- This applies to dev updates, plans, todos, notes, session exports, daily logs ... everything with an author and a timestamp.
365
-
366
- ### Daily Logs
367
-
368
- Each entry is its own file, not appended to a shared file.
369
-
370
- ```
371
- agents/{agent-id}/memory/daily/
372
- 2026-02-27--17-45-30--agent-a--feature-deploy.md
373
- 2026-02-27--19-12-00--agent-a--config-migration.md
374
- ```
375
-
376
- One file per entry. Full timestamp. Agent ID in the name. Nothing gets overwritten or collided.
377
-
378
- ### The `ai/` Folder (per-repo standard)
379
-
380
- Every repo gets an `ai/` folder. It holds all the thinking between humans and agents ... plans, dev updates, todos, conversations, notes. Scoped to the repo it belongs to.
381
-
382
- ```
383
- ai/
384
- plan/ ... architecture plans, roadmaps, convention notes
385
- dev-updates/ ... what was built, session logs
386
- todos/
387
- Human-todo.md ... human lead's action items
388
- Agent-A-todo.md ... Agent A's action items
389
- Agent-B-todo.md ... Agent B's action items
390
- notes/ ... research, raw conversation logs, references
391
- ```
392
-
393
- ### Todo Files
394
-
395
- One file per person/agent. Named `{Name}-todo.md`. Lives in `ai/todos/`.
396
-
397
- **Three sections, always in this order:**
398
-
399
- ```markdown
400
- # {Name} ... {Project} To-Do
401
-
402
- **Updated:** YYYY-MM-DD
403
-
404
- ---
405
-
406
- ## To Do
407
- - [ ] Thing that needs doing
408
- - [ ] Another thing
409
-
410
- ---
411
-
412
- ## Done
413
- - [x] Thing that was completed ... YYYY-MM-DD
414
-
415
- ---
416
-
417
- ## Deprecated
418
- - ~~Thing that's no longer needed~~ ... reason. (YYYY-MM-DD)
419
- ```
420
-
421
- **Rules:**
422
- - **Never delete anything.** Items move between sections, never off the page.
423
- - **To Do** ... work that needs to happen.
424
- - **Done** ... work that was completed. Check the box, add the date.
425
- - **Deprecated** ... work that was planned but is no longer needed (code changed, approach changed, requirement dropped). Strikethrough the text, add the reason and date. This is NOT the same as Done. Deprecated means "we decided not to do this."
426
- - **Update the date** at the top of the file every time you edit it.
427
- - Each person/agent has exactly one file. Don't create per-date or per-feature todo files.
428
-
429
- **Example todo files:**
430
-
431
- | File | Who |
432
- |------|-----|
433
- | `Human-todo.md` | Human lead (setup, deploy, review) |
434
- | `Agent-A-todo.md` | Agent A (code, docs, builds) |
435
- | `Agent-B-todo.md` | Agent B (testing, integration) |
436
-
437
- Add more as agents or team members are added.
438
-
439
- ### GitHub Issues
440
-
441
- **Use GitHub Issues for actionable bugs, feature requests, and tasks.** The `ai/todos/` files are for rough planning and brainstorming. Once something becomes a concrete action item, it goes on GitHub.
442
-
443
- **Why both?** Todos are quick, local, and low-friction. Issues are trackable, cross-referenceable, and visible to all agents and humans. Todos are where you think. Issues are where you commit to doing.
444
-
445
- #### Filing Convention
446
-
447
- Every issue filed by an agent must include:
448
-
449
- 1. **Attribution line** at the top of the body:
450
- ```
451
- > Filed by: <agent-name> (<agent-id>) on <YYYY-MM-DD>
452
- ```
453
-
454
- 2. **`filed-by` label** identifying the author:
455
- ```
456
- filed-by:<agent-id>
457
- ```
458
- This makes issues filterable by who created them. Create these labels per-agent on every repo in the org.
459
-
460
- 3. **Clear problem/solution structure.** State what's wrong, then what should change.
461
-
462
- #### When to use issues vs todos
463
-
464
- | Use | When |
465
- |-----|------|
466
- | GitHub Issue | Bug, feature request, task with a clear definition of done |
467
- | `ai/todos/` | Brainstorming, rough planning, "we should think about..." |
468
- | Both | Start in todos, promote to issue when it's concrete |
469
-
470
- #### Public vs Private Issues
471
-
472
- For repos following the public/private pattern:
473
-
474
- - **Public repo issues** are for users. Someone installs your tool, finds a bug, files an issue on the public repo. Triage and respond there.
475
- - **Private repo issues** are for the team. Internal work, architecture decisions, agent coordination.
476
-
477
- **When a public issue needs internal work:**
478
- 1. Respond on the public issue ("Looking into this")
479
- 2. Open a private issue with the full context, link back (`Public: org/repo#42`)
480
- 3. Fix in private, release, deploy to public
481
- 4. Close the public issue with the version (`Fixed in v0.5.0`)
482
-
483
- **When you find a bug internally:**
484
- 1. File on the private repo
485
- 2. Fix, release, deploy
486
- 3. No public issue needed unless it's worth announcing
487
-
488
- The release is what connects public and private. No issue syncing, no mirroring. Public issues are the front door. Private issues are the workshop.
489
-
490
- #### Agent ID Convention
491
-
492
- Agents are identified by a structured ID that encodes platform, name, and machine:
493
-
494
- ```
495
- [platform]-[agent]-[machine]
496
- ```
497
-
498
- Examples: `oc-lesa-mini` (OpenClaw, Lesa, on mini), `cc-mini` (Claude Code, on mini), `cc-air` (Claude Code, on air).
499
-
500
- This ID is used in:
501
- - GitHub issue labels (`filed-by:*`)
502
- - Memory systems (agent_id field)
503
- - LDM agent config (`~/.ldm/agents/<id>/config.json`)
504
- - Git branch prefixes
505
-
506
- ## Branch Protection
507
-
508
- All repos should have branch protection on `main` with `enforce_admins=true`. This means:
509
- - No direct pushes to main (even for admins)
510
- - All changes go through PRs
511
-
512
- **To add protection:**
513
- ```bash
514
- gh api "repos/<org>/<repo>/branches/main/protection" -X PUT \
515
- -F "required_pull_request_reviews[required_approving_review_count]=0" \
516
- -F "enforce_admins=true" \
517
- -F "restrictions=null" \
518
- -F "required_status_checks=null"
519
- ```
520
-
521
- ## Worktree Workflow
522
-
523
- **Every session starts in a worktree. No one works directly in the main working tree.**
524
-
525
- The main working tree stays on `main` and is read-only in practice. All development happens in git worktrees. This keeps the primary clone clean, prevents accidental commits to main, and enables parallel work within a single agent.
526
-
527
- ### Worktree Location Convention
528
-
529
- **All worktrees go in `.worktrees/` as a sibling to the repos directory.** Never create worktrees as siblings to repos directly. They look like real repos, confuse iCloud sync, and are hard to find/clean.
530
-
531
- **Convention:** `.worktrees/<repo-name>--<branch-suffix>/`
532
-
533
- ```
534
- repos/
535
- ldm-os/
536
- components/
537
- memory-crystal-private/ <- real repo
538
- devops/
539
- wip-ai-devops-toolbox-private/ <- real repo
540
- .worktrees/
541
- memory-crystal-private--cc-mini--fix-search/ <- worktree
542
- wip-ai-devops-toolbox-private--cc-mini--guard/ <- worktree
543
- ```
544
-
545
- ### Starting a Worktree
546
-
547
- **Preferred:** Use the `ldm worktree` command:
548
- ```bash
549
- ldm worktree add cc-mini/fix-bug # auto-detects repo, creates in .worktrees/
550
- ```
551
-
552
- **From Claude Code:**
553
- ```bash
554
- claude --worktree <name>
555
- ```
556
-
557
- **Manual:**
558
- ```bash
559
- git worktree add ../.worktrees/<repo>--<branch> -b <branch>
560
- ```
561
-
562
- The branch guard warns if you create worktrees outside `.worktrees/` or `.claude/worktrees/`.
563
-
564
- ### Branch Naming
565
-
566
- Worktree branches follow the same prefix convention as regular branches:
567
-
568
- ```
569
- <harness>/<feature>
570
- ```
571
-
572
- Examples: `cc-mini/fix-search`, `lesa-mini/add-relay`, `cc-air/weekly-tuning`
573
-
574
- The worktree name and the branch name don't have to match, but the branch must use your harness prefix.
575
-
576
- ### Subagents and Parallel Work
577
-
578
- Subagents use `isolation: "worktree"` for parallel tasks. Each subagent gets its own worktree, its own branch, and can commit independently without interfering with the parent session or other subagents.
579
-
580
- This is the safe way to do parallel work within a single agent. Repos-per-agent solves cross-agent isolation. Worktrees solve within-agent parallelism.
581
-
582
- ### Commit Before Session Ends
583
-
584
- **Always commit and push before a session ends.** Worktree cleanup deletes the entire worktree directory, including any uncommitted work. If it's not committed and pushed, it's gone.
585
-
586
- ```bash
587
- git add <files>
588
- git commit -m "description"
589
- git push -u origin <prefix>/<feature>
590
- ```
591
-
592
- ### Release from the Main Working Tree
593
-
594
- **`wip-release` must run from the main working tree, not a worktree.** The release pipeline expects to be on `main` in the primary clone. After merging your PR, switch to the main working tree to run the release:
595
-
596
- ```bash
597
- cd /path/to/repo # the main working tree, not .claude/worktrees/...
598
- git checkout main && git pull
599
- wip-release patch --notes="description"
600
- ```
601
-
602
- ### Gitignore
603
-
604
- **`.claude/worktrees/` must be in `.gitignore`.** Worktrees are local, ephemeral, and per-machine. They should never be committed.
605
-
606
- ```
607
- # .gitignore
608
- .claude/worktrees/
609
- ```
610
-
611
- Add this to every repo that uses worktrees.
612
-
613
- ## Review Flow
614
-
615
- ```
616
- Agent builds -> pushes to dev branch
617
- -> Code review (another agent or human)
618
- -> Human reviews (direction, spec)
619
- -> merge to main
620
- -> publish (npm, GitHub, skill registry)
621
- ```
622
-
623
- ## PR Checklist (Private Repos)
624
-
625
- Every PR to a private repo must include product doc updates. This is not optional. Do it before merging, not after.
626
-
627
- ### Required on every PR:
628
-
629
- 1. **Dev update.** Write a dev update in `ai/dev-updates/` documenting what changed, key decisions, and what's next. Format: `YYYY-MM-DD--HH-MM--agent--description.md`.
630
-
631
- 2. **Roadmap update.** Review `ai/product/plans-prds/roadmap.md`:
632
- - Move completed items from **Upcoming** to **Done** (with `[x]` checkboxes)
633
- - Add new items to **Upcoming** if the work revealed them
634
- - Move abandoned items to **Deprecated** (never delete)
635
-
636
- 3. **readme-first update.** Review `ai/product/readme-first.md`:
637
- - Update **What's Built** and **What's Missing** sections
638
- - Update any stats, counts, or version references
639
- - Update the **Databases** or architecture sections if they changed
640
-
641
- 4. **Plan archival.** If a plan in `plans-prds/current/` is complete, move it to `plans-prds/archive-complete/`.
642
-
643
- ### Why this matters:
644
-
645
- Product docs drift fast. If roadmap updates only happen "when someone remembers," the roadmap becomes fiction. Tying updates to PRs means the docs stay current by default, not by heroics.
646
-
647
- ### Release notes:
648
-
649
- Release notes are the public face of the project. They must be comprehensive. One-liners like "Release v0.6.0" are unacceptable. Every feature, every change, documented section by section. This applies to both private and public GitHub releases.
650
-
651
- ## Feature Planning: 5 Mandatory Questions
652
-
653
- Before implementing any feature that changes how the system works (installer, config, deploy, architecture), answer these 5 questions in your plan or PR description. Not optional. Not "consider this." Answer all five or the plan is incomplete.
654
-
655
- 1. **What source files change?** (in the repo)
656
- 2. **What does `ldm install` deploy?** (templates, rules, docs, boot config, CLAUDE.md, skills)
657
- 3. **What needs to update for fresh install vs existing install?**
658
- 4. **What docs need updating?** (repo docs, settings/docs, website)
659
- 5. **What are ALL the files the installer touches on deploy?**
660
-
661
- If you can't answer #5, you don't understand the change well enough to ship it.
662
-
663
- ## Doc Update Dependencies
664
-
665
- When you change a file on the left, you MUST also update the files on the right. This is not optional.
666
-
667
- | If you change | You must also update |
668
- |--------------|---------------------|
669
- | `SKILL.md` | `references/`, `settings/docs/how-install-works.md`, wip.computer/install/ (auto via wip-release) |
670
- | `lib/deploy.mjs` | `settings/docs/how-install-works.md`, `docs/universal-installer/SPEC.md`, `docs/universal-installer/TECHNICAL.md` |
671
- | `catalog.json` | `settings/docs/what-is-ldm-os.md`, `README.md`, `docs/skills/README.md` |
672
- | `bin/ldm.js` (init) | `settings/docs/how-install-works.md`, `settings/docs/system-directories.md` |
673
- | `shared/rules/*` | `settings/docs/how-rules-and-commands-work.md` |
674
- | `shared/boot/*` | `settings/docs/how-agents-work.md` |
675
- | `lib/detect.mjs` | `docs/universal-installer/SPEC.md`, `settings/docs/how-install-works.md` |
676
- | Backup scripts | `settings/docs/how-backup-works.md` |
677
- | Agent identity files | `settings/docs/how-agents-work.md` |
678
- | Any repo `README.md` | Public repo README (via deploy-public.sh) |
679
-
680
- Machine-readable version: `~/wipcomputerinc/settings/docs/change-dependencies.json`
681
-
682
- ### Three doc layers
683
-
684
- Every change flows through three layers:
685
-
686
- 1. **Repo docs** (generic, source of truth): README.md, TECHNICAL.md, SPEC.md per repo. Written for anyone.
687
- 2. **Settings docs** (personalized, deployed by ldm install): `~/wipcomputerinc/settings/docs/`. Written for YOUR system. Personalized from config.json.
688
- 3. **Website docs** (public): wip.computer. SKILL.md auto-deployed by wip-release. Other docs via Mintlify or deploy script.
689
-
690
- If repo docs change but settings docs don't update, the user's local docs drift. If settings docs change but the website doesn't, the public docs drift. All three layers must stay in sync.
691
-
692
- ## Repo Directory Structure
693
-
694
- ### The Standard Layout
695
-
696
- All repos are organized into this directory structure. Every agent on every machine must follow this layout. The folders are organizational categories, not monorepos. Each repo inside is its own independent git repo.
697
-
698
- ```
699
- repos/
700
- ├── <project>/ ← NOT a repo. Organizes project repos by category.
701
- │ ├── apis/ ← API integrations
702
- │ ├── apps/ ← user-facing apps
703
- │ ├── components/ ← core components
704
- │ ├── operations/ ← dev tools, release pipeline
705
- │ └── utilities/ ← support tools
706
- ├── <company>/ ← Repo. Company docs (always private).
707
- ├── third-party-repos/ ← NOT a repo. Forks and external repos.
708
- ├── _sort/ ← NOT a repo. Repos not yet categorized.
709
- ├── _sunsetted/ ← NOT a repo. Deprecated repos.
710
- └── _trash/ ← NOT a repo. Deleted repos.
711
- ```
712
-
713
- ### Staging Folder Conventions
714
-
715
- - **`_to-privatize/`** ... repos staged for privatization
716
- - **`_sort/`** ... repos that need to be categorized or figured out
717
- - **`_trash/`** ... deleted items (never truly delete, move here)
718
- - **Underscore prefix** (`_`) keeps staging folders sorted to the top, visually separated from real repos
719
-
720
- These conventions apply at every level: top-level `repos/`, inside project categories, and nested within staging folders.
721
-
722
- ### Creating a New Repo
723
-
724
- **Always create repos as `-private` from day one.** Do not create a repo and privatize it later. Start with the right name and structure.
725
-
726
- ```bash
727
- # 1. Pick the category
728
- # apis, apps, components, operations, utilities
729
-
730
- # 2. Create on GitHub as private with -private suffix
731
- gh repo create <org>/<name>-private --private
732
-
733
- # 3. Clone into the correct category folder
734
- cd repos/<project>/<category>/
735
- git clone git@github.com:<org>/<name>-private.git
736
-
737
- # 4. Create the ai/ folder structure
738
- cd <name>-private
739
- mkdir -p ai/product/plans-prds/{upcoming,current,archive-complete}
740
- mkdir -p ai/product/plans-prds/todos
741
- mkdir -p ai/product/product-ideas
742
- mkdir -p ai/product/notes/research
743
- mkdir -p ai/dev-updates
744
-
745
- # 5. Create your dev branch
746
- git checkout -b <prefix>/dev
747
- ```
748
-
749
- **Never create a repo without picking its category first.** If you don't know where it goes, put it in `_sort/` and figure it out before starting work.
750
-
751
- ### The Manifest
752
-
753
- `repos/repos-manifest.json` is the source of truth for where every repo lives. It maps local paths to GitHub remotes. When a repo is created, moved, or renamed, update the manifest.
754
-
755
- Every agent can use the manifest to sync their local directory structure. The goal: every agent on every machine has the same layout.
756
-
757
- ### Privatize Before You Work
758
-
759
- **Do not start any work on a non-privatized repo.** If a repo is in `_to-privatize` and you need to work on it, run it through the privatization process first:
760
-
761
- 1. Rename the GitHub repo to `<name>-private`
762
- 2. Update the local remote URL (`git remote set-url origin ...`)
763
- 3. Rename the local folder to match
764
- 4. Then start your work
765
-
766
- Working on a non-privatized repo means your `ai/` content (plans, todos, dev updates) gets committed to a repo that could accidentally go public. No exceptions.
767
-
768
- ---
769
-
770
- ## Public/Private Repo Pattern
771
-
772
- ### The Rule
773
-
774
- **Never make a repo public unless it has a `-private` counterpart with all `ai/` content separated out.** If a repo doesn't have a `-private` counterpart yet, it stays private until one is created. No exceptions. Violating this exposes internal plans, todos, and development context.
775
-
776
- **The private repo is the working repo. The public repo is everything except `ai/`.**
777
-
778
- **You only need the private repo locally.** Clone `<name>-private`, work in it, release from it, deploy to public from it. Never clone the public repo for development. The public repo is a deployment target, not a working tree. The deploy script handles syncing.
779
-
780
- Every repo has an `ai/` folder where agents and humans collaborate ... plans, todos, dev updates, notes, conversations. This is the development process. It doesn't ship publicly.
781
-
782
- The private repo tracks everything, including `ai/`. The public repo is the same codebase without `ai/`. Two repos, same code, clean boundary.
783
-
784
- ```
785
- <name>-private/ <- working repo (clone this one, work here)
786
- src/, README.md, LICENSE, package.json, SKILL.md ...
787
- ai/ <- plans, todos, notes, dev updates
788
- plan/
789
- todos/
790
- dev-updates/
791
- notes/
792
-
793
- <name>/ <- public repo (deploy target only, never clone for dev)
794
- src/, README.md, LICENSE, package.json, SKILL.md ...
795
- (no ai/ folder)
796
- ```
797
-
798
- ### Why
799
-
800
- The `ai/` folder contains personal notes, half-formed ideas, internal debates, agent inboxes. Useful for the team. Irrelevant to users. Can be taken out of context. Should not be public.
801
-
802
- The public repo has everything an LLM or human needs to understand and use the project: README, code, docs, SKILL.md, LICENSE. The `ai/` folder is operational context, not conceptual context.
803
-
804
- ### Workflow
805
-
806
- 1. All work happens in the private repo
807
- 2. Merge PR to main on the private repo
808
- 3. Run `wip-release` on the private repo (version bump, changelog, npm publish, GitHub release)
809
- 4. Deploy to public repo (everything except `ai/`)
810
-
811
- **The order matters.** Release first, then deploy. The public repo should always reflect a released version with correct version numbers, changelog, and SKILL.md.
812
-
813
- ```bash
814
- # Step 1-2: normal PR flow on private repo
815
- cd /path/to/private-repo
816
- git checkout main && git pull origin main
817
-
818
- # Step 3: release (MUST create GitHub release for deploy-public.sh to pull notes)
819
- wip-release patch --notes="description of changes"
820
-
821
- # Step 4: deploy to public (code sync + release)
822
- bash deploy-public.sh /path/to/private-repo <org>/<public-repo>
823
- ```
824
-
825
- **Never use `--no-publish` before deploying to public.** The `deploy-public.sh` script pulls release notes from the private repo's GitHub release. If the GitHub release doesn't exist (because `--no-publish` skipped it), the public release gets empty notes. Always run the full `wip-release` pipeline before `deploy-public.sh`.
826
-
827
- The deploy script:
828
- 1. Clones the public repo
829
- 2. Rsyncs everything except `ai/` and `.git/`
830
- 3. Creates a branch, commits, opens a PR, merges it
831
- 4. Creates a matching GitHub release on the public repo (pulls notes from the private repo's release)
832
-
833
- **After deploy, the public repo should show:**
834
- - Updated code (matching private minus `ai/`)
835
- - A GitHub release with the version tag and release notes
836
- - npm package available via `npm install <package-name>`
837
-
838
- **What goes where:**
839
-
840
- | Artifact | Where it lives |
841
- |----------|---------------|
842
- | npm package | Public npm registry (anyone can install) |
843
- | GitHub release (private) | `<name>-private` repo (internal reference) |
844
- | GitHub release (public) | `<name>` repo (what users see) |
845
- | GitHub Packages | Not used (npm registry is the source of truth) |
846
-
847
- ### Config-specific splits
848
-
849
- Some repos also have deployment config that shouldn't be public (real paths, contacts, secrets references). Same pattern applies ... the private repo has `config.json`, the public repo has `config.example.json`.
850
-
851
- **Key rule:** never put real paths, contacts, personal notes, or deployment values in the public repo.
852
-
853
- ## Scheduled Automation (.app Pattern)
854
-
855
- macOS restricts cron and shell scripts from accessing protected files (Full Disk Access). The workaround: wrap automation in a native `.app` bundle and grant FDA to the app.
856
-
857
- ### How it works
858
-
859
- A minimal macOS `.app` bundle that:
860
- 1. Contains a compiled Mach-O binary (so macOS recognizes it as a real app)
861
- 2. The binary calls a shell script that dispatches to individual job scripts
862
- 3. Jobs live in `YourApp.app/Contents/Resources/jobs/*.sh`
863
- 4. Adding a new job = dropping a new `.sh` file in that folder
864
-
865
- ### Structure
866
-
867
- ```
868
- ~/Applications/YourDevTools.app/
869
- Contents/
870
- Info.plist ... app metadata (bundle ID, version)
871
- MacOS/
872
- your-dev-tools ... compiled binary (Mach-O, calls dispatcher)
873
- your-dev-tools-run ... shell dispatcher (routes to jobs)
874
- Resources/
875
- jobs/
876
- backup.sh ... daily backup of databases + state
877
- branch-protect.sh ... audit + enforce branch protection across org
878
- visibility-audit.sh ... audit public repos for missing -private counterparts
879
- ```
880
-
881
- ### Setup
882
-
883
- 1. Build the app (or copy from dev-tools repo)
884
- 2. Drag the `.app` into **System Settings > Privacy & Security > Full Disk Access**
885
- 3. Schedule via cron:
886
-
887
- ```bash
888
- 0 0 * * * open -W ~/Applications/YourDevTools.app --args backup >> /tmp/dev-tools/cron.log 2>&1
889
- 0 1 * * * open -W ~/Applications/YourDevTools.app --args branch-protect >> /tmp/dev-tools/cron.log 2>&1
890
- ```
891
-
892
- ### Why not LaunchAgents?
893
-
894
- LaunchAgents have been unreliable across macOS updates. FDA grants to `/bin/bash` and `cron` don't persist. The `.app` bundle is the one thing macOS consistently respects for FDA permissions.
895
-
896
- ### Adding a new job
897
-
898
- Create a file in `Contents/Resources/jobs/`:
899
-
900
- ```bash
901
- # ~/Applications/YourDevTools.app/Contents/Resources/jobs/my-job.sh
902
- #!/bin/bash
903
- echo "=== My job: $(date) ==="
904
- # ... your automation here
905
- echo "=== Done ==="
906
- ```
907
-
908
- Then: `open -W ~/Applications/YourDevTools.app --args my-job`
909
-
910
- ### Logs
911
-
912
- All job output goes to `/tmp/dev-tools/`:
913
- - `dev-tools.log` ... dispatcher log (which jobs ran, exit codes)
914
- - `<job-name>.log` ... individual job output
915
- - `<job-name>-last-exit` ... last exit code (for monitoring)
916
- - `<job-name>-last-run` ... last run timestamp
917
-
918
- ## The _trash Convention
919
-
920
- **Never delete files. Move them to `_trash/`.** Every directory that might have discarded files should have a `_trash/` subfolder.
921
-
922
- ### Why:
923
-
924
- - Space is cheap. Recovery from `_trash/` is instant. Recovery from git history requires knowing the commit, the path, and the exact filename.
925
- - Files in `_trash/` are visible. You can browse them, grep them, copy them back. Deleted files are invisible unless you know they existed.
926
- - It prevents the "wait, who deleted that?" conversation.
927
-
928
- ### Where it applies:
929
-
930
- - **Repos:** `ai/product/plans-prds/_trash/`, `ai/product/product-ideas/_trash/`, etc.
931
- - **Agent data:** workspace files, config backups, old extension versions
932
- - **Extension installs:** old plugin versions before upgrade
933
-
934
- ### How:
935
-
936
- ```bash
937
- # Instead of this:
938
- rm old-file.md
939
-
940
- # Do this:
941
- mkdir -p _trash
942
- mv old-file.md _trash/
943
- ```
944
-
945
- Use `git mv` if the file is tracked. The underscore prefix sorts `_trash/` to the top of directory listings so it stays visible but out of the way.
946
-
947
- ### When to clean up:
948
-
949
- Rarely. Maybe annually. If `_trash/` gets huge, archive it. But the default is: leave it. The cost of keeping files around is near zero. The cost of needing a file you deleted is real.