@wipcomputer/wip-ai-devops-toolbox 1.9.58 → 1.9.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +52 -0
- package/SKILL.md +1 -1
- package/package.json +1 -1
- package/tools/deploy-public/package.json +1 -1
- package/tools/post-merge-rename/package.json +1 -1
- package/tools/wip-branch-guard/guard.mjs +57 -39
- package/tools/wip-branch-guard/package.json +1 -1
- package/tools/wip-file-guard/package.json +1 -1
- package/tools/wip-license-guard/package.json +1 -1
- package/tools/wip-license-hook/package.json +1 -1
- package/tools/wip-readme-format/package.json +1 -1
- package/tools/wip-release/package.json +1 -1
- package/tools/wip-repo-init/package.json +1 -1
- package/tools/wip-repo-permissions-hook/package.json +1 -1
- package/tools/wip-repos/package.json +1 -1
- package/tools/wip-universal-installer/package.json +1 -1
- package/.worktrees/toolbox--release-notes/.license-guard.json +0 -7
- package/.worktrees/toolbox--release-notes/.publish-skill.json +0 -4
- package/.worktrees/toolbox--release-notes/CHANGELOG.md +0 -1875
- package/.worktrees/toolbox--release-notes/CLA.md +0 -19
- package/.worktrees/toolbox--release-notes/DEV-GUIDE-GENERAL-PUBLIC.md +0 -949
- package/.worktrees/toolbox--release-notes/LICENSE +0 -52
- package/.worktrees/toolbox--release-notes/README.md +0 -238
- package/.worktrees/toolbox--release-notes/RELEASE-NOTES-v1-9-56.md +0 -42
- package/.worktrees/toolbox--release-notes/SKILL.md +0 -821
- package/.worktrees/toolbox--release-notes/TECHNICAL.md +0 -416
- package/.worktrees/toolbox--release-notes/UNIVERSAL-INTERFACE.md +0 -180
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
- package/.worktrees/toolbox--release-notes/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
- package/.worktrees/toolbox--release-notes/_trash/guide 2/DEV-GUIDE.md +0 -487
- package/.worktrees/toolbox--release-notes/_trash/guide 2/scripts/deploy-public.sh +0 -152
- package/.worktrees/toolbox--release-notes/package.json +0 -27
- package/.worktrees/toolbox--release-notes/scripts/SKILL-deploy-public.md +0 -61
- package/.worktrees/toolbox--release-notes/scripts/SKILL-post-merge-rename.md +0 -47
- package/.worktrees/toolbox--release-notes/scripts/deploy-public.sh +0 -345
- package/.worktrees/toolbox--release-notes/scripts/post-merge-rename.sh +0 -210
- package/.worktrees/toolbox--release-notes/scripts/publish-skill.sh +0 -134
- package/.worktrees/toolbox--release-notes/templates/global-claude-md.md +0 -73
- package/.worktrees/toolbox--release-notes/templates/repo-claude-md.template +0 -24
- package/.worktrees/toolbox--release-notes/tools/deploy-public/LICENSE +0 -52
- package/.worktrees/toolbox--release-notes/tools/deploy-public/README.md +0 -31
- package/.worktrees/toolbox--release-notes/tools/deploy-public/SKILL.md +0 -71
- package/.worktrees/toolbox--release-notes/tools/deploy-public/deploy-public.sh +0 -264
- package/.worktrees/toolbox--release-notes/tools/deploy-public/package.json +0 -9
- package/.worktrees/toolbox--release-notes/tools/ldm-jobs/LICENSE +0 -52
- package/.worktrees/toolbox--release-notes/tools/ldm-jobs/README.md +0 -46
- package/.worktrees/toolbox--release-notes/tools/ldm-jobs/backup.sh +0 -16
- package/.worktrees/toolbox--release-notes/tools/ldm-jobs/branch-protect.sh +0 -39
- package/.worktrees/toolbox--release-notes/tools/ldm-jobs/crystal-capture.sh +0 -19
- package/.worktrees/toolbox--release-notes/tools/ldm-jobs/setup-shell.sh +0 -27
- package/.worktrees/toolbox--release-notes/tools/ldm-jobs/visibility-audit.sh +0 -27
- package/.worktrees/toolbox--release-notes/tools/post-merge-rename/LICENSE +0 -52
- package/.worktrees/toolbox--release-notes/tools/post-merge-rename/README.md +0 -29
- package/.worktrees/toolbox--release-notes/tools/post-merge-rename/SKILL.md +0 -57
- package/.worktrees/toolbox--release-notes/tools/post-merge-rename/package.json +0 -9
- package/.worktrees/toolbox--release-notes/tools/post-merge-rename/post-merge-rename.sh +0 -122
- package/.worktrees/toolbox--release-notes/tools/wip-branch-guard/INSTALL.md +0 -41
- package/.worktrees/toolbox--release-notes/tools/wip-branch-guard/guard.mjs +0 -459
- package/.worktrees/toolbox--release-notes/tools/wip-branch-guard/package.json +0 -18
- package/.worktrees/toolbox--release-notes/tools/wip-file-guard/CHANGELOG.md +0 -6
- package/.worktrees/toolbox--release-notes/tools/wip-file-guard/LICENSE +0 -52
- package/.worktrees/toolbox--release-notes/tools/wip-file-guard/README.md +0 -113
- package/.worktrees/toolbox--release-notes/tools/wip-file-guard/REFERENCE.md +0 -86
- package/.worktrees/toolbox--release-notes/tools/wip-file-guard/SKILL.md +0 -105
- package/.worktrees/toolbox--release-notes/tools/wip-file-guard/guard.mjs +0 -161
- package/.worktrees/toolbox--release-notes/tools/wip-file-guard/openclaw.plugin.json +0 -8
- package/.worktrees/toolbox--release-notes/tools/wip-file-guard/package.json +0 -27
- package/.worktrees/toolbox--release-notes/tools/wip-file-guard/test.sh +0 -119
- package/.worktrees/toolbox--release-notes/tools/wip-license-guard/LICENSE +0 -52
- package/.worktrees/toolbox--release-notes/tools/wip-license-guard/README.md +0 -69
- package/.worktrees/toolbox--release-notes/tools/wip-license-guard/SKILL.md +0 -65
- package/.worktrees/toolbox--release-notes/tools/wip-license-guard/cli.mjs +0 -472
- package/.worktrees/toolbox--release-notes/tools/wip-license-guard/core.mjs +0 -310
- package/.worktrees/toolbox--release-notes/tools/wip-license-guard/guard.mjs +0 -146
- package/.worktrees/toolbox--release-notes/tools/wip-license-guard/package.json +0 -22
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/CHANGELOG.md +0 -17
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/LICENSE +0 -52
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/README.md +0 -200
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/SKILL.md +0 -111
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/cli/index.d.ts +0 -15
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/cli/index.js +0 -170
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/cli/index.js.map +0 -1
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/detector.d.ts +0 -12
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/detector.js +0 -104
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/detector.js.map +0 -1
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/index.d.ts +0 -4
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/index.js +0 -5
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/index.js.map +0 -1
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/ledger.d.ts +0 -49
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/ledger.js +0 -72
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/ledger.js.map +0 -1
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/reporter.d.ts +0 -14
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/reporter.js +0 -227
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/reporter.js.map +0 -1
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/scanner.d.ts +0 -39
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/scanner.js +0 -325
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/dist/core/scanner.js.map +0 -1
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/hooks/pre-pull.sh +0 -55
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/hooks/pre-push.sh +0 -51
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/mcp-server.mjs +0 -119
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/package-lock.json +0 -54
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/package.json +0 -43
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/cli/index.ts +0 -189
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/detector.ts +0 -130
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/index.ts +0 -4
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/ledger.ts +0 -116
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/reporter.ts +0 -255
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/src/core/scanner.ts +0 -367
- package/.worktrees/toolbox--release-notes/tools/wip-license-hook/tsconfig.json +0 -16
- package/.worktrees/toolbox--release-notes/tools/wip-readme-format/README.md +0 -49
- package/.worktrees/toolbox--release-notes/tools/wip-readme-format/SKILL.md +0 -84
- package/.worktrees/toolbox--release-notes/tools/wip-readme-format/format.mjs +0 -597
- package/.worktrees/toolbox--release-notes/tools/wip-readme-format/package.json +0 -15
- package/.worktrees/toolbox--release-notes/tools/wip-release/CHANGELOG.md +0 -42
- package/.worktrees/toolbox--release-notes/tools/wip-release/LICENSE +0 -52
- package/.worktrees/toolbox--release-notes/tools/wip-release/README.md +0 -45
- package/.worktrees/toolbox--release-notes/tools/wip-release/REFERENCE.md +0 -100
- package/.worktrees/toolbox--release-notes/tools/wip-release/SKILL.md +0 -139
- package/.worktrees/toolbox--release-notes/tools/wip-release/cli.js +0 -175
- package/.worktrees/toolbox--release-notes/tools/wip-release/core.mjs +0 -1664
- package/.worktrees/toolbox--release-notes/tools/wip-release/mcp-server.mjs +0 -113
- package/.worktrees/toolbox--release-notes/tools/wip-release/package.json +0 -36
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/README.md +0 -38
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/SKILL.md +0 -77
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/init.mjs +0 -148
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/package.json +0 -11
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/_sort/README.md +0 -15
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/_trash/README.md +0 -16
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/dev-updates/README.md +0 -50
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/notes/README.md +0 -26
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/plans-prds/roadmap.md +0 -77
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/plans-prds/todos/README.md +0 -63
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/product-ideas/README.md +0 -24
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/product/readme-first-product.md +0 -128
- package/.worktrees/toolbox--release-notes/tools/wip-repo-init/templates/read-me-first.md +0 -80
- package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/LICENSE +0 -52
- package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/README.md +0 -86
- package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/SKILL.md +0 -73
- package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/cli.js +0 -93
- package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/core.mjs +0 -122
- package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/guard.mjs +0 -64
- package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/mcp-server.mjs +0 -92
- package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/openclaw.plugin.json +0 -8
- package/.worktrees/toolbox--release-notes/tools/wip-repo-permissions-hook/package.json +0 -31
- package/.worktrees/toolbox--release-notes/tools/wip-repos/LICENSE +0 -52
- package/.worktrees/toolbox--release-notes/tools/wip-repos/README.md +0 -77
- package/.worktrees/toolbox--release-notes/tools/wip-repos/SKILL.md +0 -80
- package/.worktrees/toolbox--release-notes/tools/wip-repos/claude.mjs +0 -248
- package/.worktrees/toolbox--release-notes/tools/wip-repos/cli.mjs +0 -191
- package/.worktrees/toolbox--release-notes/tools/wip-repos/core.mjs +0 -290
- package/.worktrees/toolbox--release-notes/tools/wip-repos/mcp-server.mjs +0 -157
- package/.worktrees/toolbox--release-notes/tools/wip-repos/package.json +0 -34
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/CHANGELOG.md +0 -57
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/LICENSE +0 -52
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/README.md +0 -81
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/REFERENCE.md +0 -122
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/SKILL.md +0 -87
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/SPEC.md +0 -206
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/detect.mjs +0 -130
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/README.md +0 -20
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/SKILL.md +0 -28
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/cli.mjs +0 -4
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/core.mjs +0 -8
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/mcp-server.mjs +0 -27
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/examples/minimal/package.json +0 -12
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/install.js +0 -930
- package/.worktrees/toolbox--release-notes/tools/wip-universal-installer/package.json +0 -32
- package/.worktrees/toolbox--save-stale/.license-guard.json +0 -7
- package/.worktrees/toolbox--save-stale/.publish-skill.json +0 -4
- package/.worktrees/toolbox--save-stale/CHANGELOG.md +0 -1875
- package/.worktrees/toolbox--save-stale/CLA.md +0 -19
- package/.worktrees/toolbox--save-stale/DEV-GUIDE-GENERAL-PUBLIC.md +0 -949
- package/.worktrees/toolbox--save-stale/LICENSE +0 -52
- package/.worktrees/toolbox--save-stale/README.md +0 -238
- package/.worktrees/toolbox--save-stale/SKILL.md +0 -821
- package/.worktrees/toolbox--save-stale/TECHNICAL.md +0 -416
- package/.worktrees/toolbox--save-stale/UNIVERSAL-INTERFACE.md +0 -180
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
- package/.worktrees/toolbox--save-stale/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
- package/.worktrees/toolbox--save-stale/_trash/guide 2/DEV-GUIDE.md +0 -487
- package/.worktrees/toolbox--save-stale/_trash/guide 2/scripts/deploy-public.sh +0 -152
- package/.worktrees/toolbox--save-stale/package.json +0 -27
- package/.worktrees/toolbox--save-stale/scripts/SKILL-deploy-public.md +0 -61
- package/.worktrees/toolbox--save-stale/scripts/SKILL-post-merge-rename.md +0 -47
- package/.worktrees/toolbox--save-stale/scripts/deploy-public.sh +0 -345
- package/.worktrees/toolbox--save-stale/scripts/post-merge-rename.sh +0 -210
- package/.worktrees/toolbox--save-stale/scripts/publish-skill.sh +0 -134
- package/.worktrees/toolbox--save-stale/templates/global-claude-md.md +0 -73
- package/.worktrees/toolbox--save-stale/templates/repo-claude-md.template +0 -24
- package/.worktrees/toolbox--save-stale/tools/deploy-public/LICENSE +0 -52
- package/.worktrees/toolbox--save-stale/tools/deploy-public/README.md +0 -31
- package/.worktrees/toolbox--save-stale/tools/deploy-public/SKILL.md +0 -71
- package/.worktrees/toolbox--save-stale/tools/deploy-public/deploy-public.sh +0 -264
- package/.worktrees/toolbox--save-stale/tools/deploy-public/package.json +0 -9
- package/.worktrees/toolbox--save-stale/tools/ldm-jobs/LICENSE +0 -52
- package/.worktrees/toolbox--save-stale/tools/ldm-jobs/README.md +0 -46
- package/.worktrees/toolbox--save-stale/tools/ldm-jobs/backup.sh +0 -16
- package/.worktrees/toolbox--save-stale/tools/ldm-jobs/branch-protect.sh +0 -39
- package/.worktrees/toolbox--save-stale/tools/ldm-jobs/crystal-capture.sh +0 -19
- package/.worktrees/toolbox--save-stale/tools/ldm-jobs/setup-shell.sh +0 -27
- package/.worktrees/toolbox--save-stale/tools/ldm-jobs/visibility-audit.sh +0 -27
- package/.worktrees/toolbox--save-stale/tools/post-merge-rename/LICENSE +0 -52
- package/.worktrees/toolbox--save-stale/tools/post-merge-rename/README.md +0 -29
- package/.worktrees/toolbox--save-stale/tools/post-merge-rename/SKILL.md +0 -57
- package/.worktrees/toolbox--save-stale/tools/post-merge-rename/package.json +0 -9
- package/.worktrees/toolbox--save-stale/tools/post-merge-rename/post-merge-rename.sh +0 -122
- package/.worktrees/toolbox--save-stale/tools/wip-branch-guard/INSTALL.md +0 -41
- package/.worktrees/toolbox--save-stale/tools/wip-branch-guard/guard.mjs +0 -459
- package/.worktrees/toolbox--save-stale/tools/wip-branch-guard/package.json +0 -18
- package/.worktrees/toolbox--save-stale/tools/wip-file-guard/CHANGELOG.md +0 -6
- package/.worktrees/toolbox--save-stale/tools/wip-file-guard/LICENSE +0 -52
- package/.worktrees/toolbox--save-stale/tools/wip-file-guard/README.md +0 -113
- package/.worktrees/toolbox--save-stale/tools/wip-file-guard/REFERENCE.md +0 -86
- package/.worktrees/toolbox--save-stale/tools/wip-file-guard/SKILL.md +0 -105
- package/.worktrees/toolbox--save-stale/tools/wip-file-guard/guard.mjs +0 -161
- package/.worktrees/toolbox--save-stale/tools/wip-file-guard/openclaw.plugin.json +0 -8
- package/.worktrees/toolbox--save-stale/tools/wip-file-guard/package.json +0 -27
- package/.worktrees/toolbox--save-stale/tools/wip-file-guard/test.sh +0 -119
- package/.worktrees/toolbox--save-stale/tools/wip-license-guard/LICENSE +0 -52
- package/.worktrees/toolbox--save-stale/tools/wip-license-guard/README.md +0 -69
- package/.worktrees/toolbox--save-stale/tools/wip-license-guard/SKILL.md +0 -65
- package/.worktrees/toolbox--save-stale/tools/wip-license-guard/cli.mjs +0 -472
- package/.worktrees/toolbox--save-stale/tools/wip-license-guard/core.mjs +0 -310
- package/.worktrees/toolbox--save-stale/tools/wip-license-guard/guard.mjs +0 -146
- package/.worktrees/toolbox--save-stale/tools/wip-license-guard/package.json +0 -22
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/CHANGELOG.md +0 -17
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/LICENSE +0 -52
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/README.md +0 -200
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/SKILL.md +0 -111
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/cli/index.d.ts +0 -15
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/cli/index.js +0 -170
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/cli/index.js.map +0 -1
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/detector.d.ts +0 -12
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/detector.js +0 -104
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/detector.js.map +0 -1
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/index.d.ts +0 -4
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/index.js +0 -5
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/index.js.map +0 -1
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/ledger.d.ts +0 -49
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/ledger.js +0 -72
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/ledger.js.map +0 -1
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/reporter.d.ts +0 -14
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/reporter.js +0 -227
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/reporter.js.map +0 -1
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/scanner.d.ts +0 -39
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/scanner.js +0 -325
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/dist/core/scanner.js.map +0 -1
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/hooks/pre-pull.sh +0 -55
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/hooks/pre-push.sh +0 -51
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/mcp-server.mjs +0 -119
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/package-lock.json +0 -54
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/package.json +0 -43
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/cli/index.ts +0 -189
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/detector.ts +0 -130
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/index.ts +0 -4
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/ledger.ts +0 -116
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/reporter.ts +0 -255
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/src/core/scanner.ts +0 -367
- package/.worktrees/toolbox--save-stale/tools/wip-license-hook/tsconfig.json +0 -16
- package/.worktrees/toolbox--save-stale/tools/wip-readme-format/README.md +0 -49
- package/.worktrees/toolbox--save-stale/tools/wip-readme-format/SKILL.md +0 -84
- package/.worktrees/toolbox--save-stale/tools/wip-readme-format/format.mjs +0 -597
- package/.worktrees/toolbox--save-stale/tools/wip-readme-format/package.json +0 -15
- package/.worktrees/toolbox--save-stale/tools/wip-release/CHANGELOG.md +0 -42
- package/.worktrees/toolbox--save-stale/tools/wip-release/LICENSE +0 -52
- package/.worktrees/toolbox--save-stale/tools/wip-release/README.md +0 -45
- package/.worktrees/toolbox--save-stale/tools/wip-release/REFERENCE.md +0 -100
- package/.worktrees/toolbox--save-stale/tools/wip-release/SKILL.md +0 -139
- package/.worktrees/toolbox--save-stale/tools/wip-release/cli.js +0 -175
- package/.worktrees/toolbox--save-stale/tools/wip-release/core.mjs +0 -1664
- package/.worktrees/toolbox--save-stale/tools/wip-release/mcp-server.mjs +0 -113
- package/.worktrees/toolbox--save-stale/tools/wip-release/package.json +0 -36
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/README.md +0 -38
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/SKILL.md +0 -77
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/init.mjs +0 -148
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/package.json +0 -11
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/_sort/README.md +0 -15
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/_trash/README.md +0 -16
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/dev-updates/README.md +0 -50
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/notes/README.md +0 -26
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/plans-prds/roadmap.md +0 -77
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/plans-prds/todos/README.md +0 -63
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/product-ideas/README.md +0 -24
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/product/readme-first-product.md +0 -128
- package/.worktrees/toolbox--save-stale/tools/wip-repo-init/templates/read-me-first.md +0 -80
- package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/LICENSE +0 -52
- package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/README.md +0 -86
- package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/SKILL.md +0 -73
- package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/cli.js +0 -93
- package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/core.mjs +0 -122
- package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/guard.mjs +0 -64
- package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/mcp-server.mjs +0 -92
- package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/openclaw.plugin.json +0 -8
- package/.worktrees/toolbox--save-stale/tools/wip-repo-permissions-hook/package.json +0 -31
- package/.worktrees/toolbox--save-stale/tools/wip-repos/LICENSE +0 -52
- package/.worktrees/toolbox--save-stale/tools/wip-repos/README.md +0 -77
- package/.worktrees/toolbox--save-stale/tools/wip-repos/SKILL.md +0 -80
- package/.worktrees/toolbox--save-stale/tools/wip-repos/claude.mjs +0 -248
- package/.worktrees/toolbox--save-stale/tools/wip-repos/cli.mjs +0 -191
- package/.worktrees/toolbox--save-stale/tools/wip-repos/core.mjs +0 -290
- package/.worktrees/toolbox--save-stale/tools/wip-repos/mcp-server.mjs +0 -157
- package/.worktrees/toolbox--save-stale/tools/wip-repos/package.json +0 -34
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/CHANGELOG.md +0 -57
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/LICENSE +0 -52
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/README.md +0 -81
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/REFERENCE.md +0 -122
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/SKILL.md +0 -87
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/SPEC.md +0 -206
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/detect.mjs +0 -130
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/README.md +0 -20
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/SKILL.md +0 -28
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/cli.mjs +0 -4
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/core.mjs +0 -8
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/mcp-server.mjs +0 -27
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/examples/minimal/package.json +0 -12
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/install.js +0 -930
- package/.worktrees/toolbox--save-stale/tools/wip-universal-installer/package.json +0 -32
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/.license-guard.json +0 -7
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/.publish-skill.json +0 -4
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/CHANGELOG.md +0 -1875
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/CLA.md +0 -19
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/DEV-GUIDE-GENERAL-PUBLIC.md +0 -949
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/LICENSE +0 -52
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/README.md +0 -238
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/SKILL.md +0 -821
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/TECHNICAL.md +0 -416
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/UNIVERSAL-INTERFACE.md +0 -180
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/guide 2/DEV-GUIDE.md +0 -487
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/_trash/guide 2/scripts/deploy-public.sh +0 -152
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/package.json +0 -27
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/SKILL-deploy-public.md +0 -61
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/SKILL-post-merge-rename.md +0 -47
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/deploy-public.sh +0 -345
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/post-merge-rename.sh +0 -210
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/scripts/publish-skill.sh +0 -134
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/templates/global-claude-md.md +0 -73
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/templates/repo-claude-md.template +0 -24
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/LICENSE +0 -52
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/README.md +0 -31
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/SKILL.md +0 -71
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/deploy-public.sh +0 -264
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/deploy-public/package.json +0 -9
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/LICENSE +0 -52
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/README.md +0 -46
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/backup.sh +0 -16
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/branch-protect.sh +0 -39
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/crystal-capture.sh +0 -19
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/setup-shell.sh +0 -27
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/ldm-jobs/visibility-audit.sh +0 -27
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/LICENSE +0 -52
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/README.md +0 -29
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/SKILL.md +0 -57
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/package.json +0 -9
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/post-merge-rename/post-merge-rename.sh +0 -122
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-branch-guard/INSTALL.md +0 -41
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-branch-guard/guard.mjs +0 -418
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-branch-guard/package.json +0 -18
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/CHANGELOG.md +0 -6
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/LICENSE +0 -52
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/README.md +0 -113
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/REFERENCE.md +0 -86
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/SKILL.md +0 -105
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/guard.mjs +0 -161
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/openclaw.plugin.json +0 -8
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/package.json +0 -27
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-file-guard/test.sh +0 -119
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/LICENSE +0 -52
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/README.md +0 -69
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/SKILL.md +0 -65
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/cli.mjs +0 -472
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/core.mjs +0 -310
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/guard.mjs +0 -146
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-guard/package.json +0 -22
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/CHANGELOG.md +0 -17
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/LICENSE +0 -52
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/README.md +0 -200
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/SKILL.md +0 -111
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/cli/index.d.ts +0 -15
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/cli/index.js +0 -170
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/cli/index.js.map +0 -1
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/detector.d.ts +0 -12
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/detector.js +0 -104
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/detector.js.map +0 -1
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/index.d.ts +0 -4
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/index.js +0 -5
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/index.js.map +0 -1
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/ledger.d.ts +0 -49
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/ledger.js +0 -72
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/ledger.js.map +0 -1
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/reporter.d.ts +0 -14
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/reporter.js +0 -227
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/reporter.js.map +0 -1
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/scanner.d.ts +0 -39
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/scanner.js +0 -325
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/dist/core/scanner.js.map +0 -1
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/hooks/pre-pull.sh +0 -55
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/hooks/pre-push.sh +0 -51
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/mcp-server.mjs +0 -119
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/package-lock.json +0 -54
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/package.json +0 -43
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/cli/index.ts +0 -189
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/detector.ts +0 -130
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/index.ts +0 -4
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/ledger.ts +0 -116
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/reporter.ts +0 -255
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/src/core/scanner.ts +0 -367
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-license-hook/tsconfig.json +0 -16
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/README.md +0 -49
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/SKILL.md +0 -84
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/format.mjs +0 -597
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-readme-format/package.json +0 -15
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/CHANGELOG.md +0 -42
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/LICENSE +0 -52
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/README.md +0 -45
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/REFERENCE.md +0 -100
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/SKILL.md +0 -139
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/cli.js +0 -175
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/core.mjs +0 -1664
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/mcp-server.mjs +0 -113
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-release/package.json +0 -36
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/README.md +0 -38
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/SKILL.md +0 -77
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/init.mjs +0 -148
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/package.json +0 -11
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/_sort/README.md +0 -15
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/_trash/README.md +0 -16
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/dev-updates/README.md +0 -50
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/notes/README.md +0 -26
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/plans-prds/roadmap.md +0 -77
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/plans-prds/todos/README.md +0 -63
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/product-ideas/README.md +0 -24
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/product/readme-first-product.md +0 -128
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-init/templates/read-me-first.md +0 -80
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/LICENSE +0 -52
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/README.md +0 -86
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/SKILL.md +0 -73
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/cli.js +0 -93
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/core.mjs +0 -122
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/guard.mjs +0 -64
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/mcp-server.mjs +0 -92
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/openclaw.plugin.json +0 -8
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repo-permissions-hook/package.json +0 -31
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/LICENSE +0 -52
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/README.md +0 -77
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/SKILL.md +0 -80
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/claude.mjs +0 -248
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/cli.mjs +0 -191
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/core.mjs +0 -290
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/mcp-server.mjs +0 -157
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-repos/package.json +0 -34
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/CHANGELOG.md +0 -57
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/LICENSE +0 -52
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/README.md +0 -81
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/REFERENCE.md +0 -122
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/SKILL.md +0 -87
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/SPEC.md +0 -206
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/detect.mjs +0 -130
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/README.md +0 -20
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/SKILL.md +0 -28
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/cli.mjs +0 -4
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/core.mjs +0 -8
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/mcp-server.mjs +0 -27
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/examples/minimal/package.json +0 -12
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/install.js +0 -930
- package/.worktrees/wip-ai-devops-toolbox-private--cc-mini--dot-worktrees/tools/wip-universal-installer/package.json +0 -32
- package/_trash/RELEASE-NOTES-v1-8-0.md +0 -29
- package/_trash/RELEASE-NOTES-v1-8-1.md +0 -7
- package/_trash/RELEASE-NOTES-v1-8-2.md +0 -7
- package/_trash/RELEASE-NOTES-v1-9-0.md +0 -37
- package/_trash/RELEASE-NOTES-v1-9-1.md +0 -38
- package/_trash/RELEASE-NOTES-v1-9-10.md +0 -40
- package/_trash/RELEASE-NOTES-v1-9-2.md +0 -40
- package/_trash/RELEASE-NOTES-v1-9-31.md +0 -26
- package/_trash/RELEASE-NOTES-v1-9-32.md +0 -18
- package/_trash/RELEASE-NOTES-v1-9-41.md +0 -28
- package/_trash/RELEASE-NOTES-v1-9-45.md +0 -25
- package/_trash/RELEASE-NOTES-v1-9-46.md +0 -38
- package/_trash/RELEASE-NOTES-v1-9-47.md +0 -42
- package/_trash/RELEASE-NOTES-v1-9-48.md +0 -22
- package/_trash/RELEASE-NOTES-v1-9-49.md +0 -31
- package/_trash/RELEASE-NOTES-v1-9-50.md +0 -24
- package/_trash/RELEASE-NOTES-v1-9-51.md +0 -11
- package/_trash/RELEASE-NOTES-v1-9-52.md +0 -25
- package/_trash/RELEASE-NOTES-v1-9-53.md +0 -22
- package/_trash/RELEASE-NOTES-v1-9-54.md +0 -13
- package/_trash/RELEASE-NOTES-v1-9-55.md +0 -11
- package/_trash/RELEASE-NOTES-v1-9-56.md +0 -42
- package/_trash/RELEASE-NOTES-v1-9-57.md +0 -18
- package/_trash/RELEASE-NOTES-v1-9-58.md +0 -21
- package/_trash/RELEASE-NOTES-v1-9-6.md +0 -72
- package/_trash/RELEASE-NOTES-v1-9-7.md +0 -23
- package/_trash/RELEASE-NOTES-v1-9-9.md +0 -75
- package/_trash/guide 2/DEV-GUIDE.md +0 -487
- package/_trash/guide 2/scripts/deploy-public.sh +0 -152
- package/tools/wip-repo-init/templates/_trash/README.md +0 -16
package/CHANGELOG.md
CHANGED
|
@@ -31,6 +31,58 @@
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
34
|
+
|
|
35
|
+
## 1.9.60 (2026-03-29)
|
|
36
|
+
|
|
37
|
+
# Release Notes: wip-ai-devops-toolbox v1.9.60
|
|
38
|
+
|
|
39
|
+
**Fix npm package bloat: exclude worktrees and _trash from published tarball.**
|
|
40
|
+
|
|
41
|
+
## The story
|
|
42
|
+
|
|
43
|
+
v1.9.59 published 869 files (3.9 MB) to npm because leftover worktree directories and _trash/ were included in the tarball. The .npmignore only excluded ai/ and .DS_Store. Added _trash/, .worktrees/, _worktrees/, .claude/, .wrangler/ to .npmignore. Also cleaned up 10 stale worktrees from previous sessions.
|
|
44
|
+
|
|
45
|
+
## Issues closed
|
|
46
|
+
|
|
47
|
+
- #232 (continued cleanup)
|
|
48
|
+
|
|
49
|
+
## How to verify
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npm pack --dry-run 2>&1 | tail -5
|
|
53
|
+
# Should show ~200 files, not 869
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## 1.9.59 (2026-03-29)
|
|
57
|
+
|
|
58
|
+
# Release Notes: wip-ai-devops-toolbox v1.9.59
|
|
59
|
+
|
|
60
|
+
**Fix three bugs in branch guard destructive command handling.**
|
|
61
|
+
|
|
62
|
+
## The story
|
|
63
|
+
|
|
64
|
+
v1.9.56 added destructive command blocking but introduced three bugs because the new code was written differently from the existing guard pattern. The existing guard checks allowed patterns before blocked patterns and works per-command. The new code skipped the allowed check and matched against the entire raw command string, causing false positives on quoted text (blocking `gh issue create` when the body mentioned git commands) and false negatives on compound commands (allowing `rm -f file ; echo done` because `echo` is in the allowed list).
|
|
65
|
+
|
|
66
|
+
Fix: two helper functions that strip quoted content before matching and check each command segment independently. Same pattern as the existing guard code. Also adds `~/.claude/plans/` to the shared state allowlist so plan files are editable.
|
|
67
|
+
|
|
68
|
+
## Issues closed
|
|
69
|
+
|
|
70
|
+
- #232 (branch guard three bugs in v1.9.56)
|
|
71
|
+
|
|
72
|
+
## How to verify
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# These should now be ALLOWED (were false-positive blocked):
|
|
76
|
+
# gh issue create --body "use git checkout -- to fix"
|
|
77
|
+
# echo "don't run git commit on main"
|
|
78
|
+
|
|
79
|
+
# These should now be DENIED (were false-negative allowed):
|
|
80
|
+
# rm -f file ; echo done (on main)
|
|
81
|
+
|
|
82
|
+
# These should still be DENIED:
|
|
83
|
+
# git checkout -- file.txt
|
|
84
|
+
# python3 -c "open('f').write('x')"
|
|
85
|
+
```
|
|
34
86
|
|
|
35
87
|
## 1.9.58 (2026-03-29)
|
|
36
88
|
|
package/SKILL.md
CHANGED
|
@@ -5,7 +5,7 @@ license: MIT
|
|
|
5
5
|
interface: [cli, module, mcp, skill, hook, plugin]
|
|
6
6
|
metadata:
|
|
7
7
|
display-name: "WIP AI DevOps Toolbox"
|
|
8
|
-
version: "1.9.
|
|
8
|
+
version: "1.9.60"
|
|
9
9
|
homepage: "https://github.com/wipcomputer/wip-ai-devops-toolbox"
|
|
10
10
|
author: "Parker Todd Brooks"
|
|
11
11
|
category: dev-tools
|
package/package.json
CHANGED
|
@@ -32,20 +32,49 @@ const BLOCKED_GIT_PATTERNS = [
|
|
|
32
32
|
/\bgit\s+restore\b/,
|
|
33
33
|
];
|
|
34
34
|
|
|
35
|
-
// Destructive commands blocked on ANY branch, not just main.
|
|
35
|
+
// Destructive git commands blocked on ANY branch, not just main.
|
|
36
36
|
// These destroy work that may belong to other agents or the user.
|
|
37
|
+
// Checked against STRIPPED command (quoted content removed) to avoid false positives (#232).
|
|
37
38
|
const DESTRUCTIVE_PATTERNS = [
|
|
38
39
|
/\bgit\s+clean\s+-[a-zA-Z]*f/, // git clean -f, -fd, -fdx (deletes untracked files)
|
|
39
40
|
/\bgit\s+checkout\s+--\s/, // git checkout -- <path> (reverts files)
|
|
40
41
|
/\bgit\s+checkout\s+\.\s*$/, // git checkout . (reverts everything)
|
|
41
42
|
/\bgit\s+stash\s+drop\b/, // git stash drop (permanently deletes stashed work)
|
|
42
43
|
/\bgit\s+stash\s+pop\b/, // git stash pop (overwrites working tree, drops on success)
|
|
44
|
+
/\bgit\s+stash\s+clear\b/, // git stash clear (drops all stashes)
|
|
43
45
|
/\bgit\s+reset\s+--hard\b/, // git reset --hard (nukes all uncommitted changes)
|
|
44
46
|
/\bgit\s+restore\s+(?!--staged)/, // git restore <path> (reverts files, but --staged is safe)
|
|
47
|
+
];
|
|
48
|
+
|
|
49
|
+
// Code execution bypass patterns. Checked against ORIGINAL command because
|
|
50
|
+
// the attack IS inside quotes (e.g. python -c "open('f').write('x')").
|
|
51
|
+
const DESTRUCTIVE_CODE_PATTERNS = [
|
|
45
52
|
/\bpython3?\s+-c\s+.*\bopen\s*\(/, // python -c "open().write()" bypass (#241)
|
|
46
53
|
/\bnode\s+-e\s+.*\bfs\.\w*[Ww]rite/, // node -e "fs.writeFile()" bypass
|
|
47
54
|
];
|
|
48
55
|
|
|
56
|
+
// Strip quoted string contents to prevent regex matching inside data.
|
|
57
|
+
// "gh issue create --body 'use git checkout -- to fix'" becomes
|
|
58
|
+
// "gh issue create --body ''" so git checkout -- doesn't false-positive.
|
|
59
|
+
function stripQuotedContent(cmd) {
|
|
60
|
+
return cmd.replace(/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'/g, '""');
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// Check each segment of a compound command independently.
|
|
64
|
+
// "rm -f file ; echo done" splits into ["rm -f file", "echo done"].
|
|
65
|
+
// Each segment checked against blocked, then allowed. An allowed match
|
|
66
|
+
// on one segment can't excuse a blocked match on a different segment (#232).
|
|
67
|
+
function isBlockedCompoundCommand(cmd, blockedPatterns, allowedPatterns) {
|
|
68
|
+
const stripped = stripQuotedContent(cmd);
|
|
69
|
+
const segments = stripped.split(/\s*(?:&&|\|\||[;|])\s*/).filter(Boolean);
|
|
70
|
+
for (const segment of segments) {
|
|
71
|
+
if (blockedPatterns.some(p => p.test(segment))) {
|
|
72
|
+
if (!allowedPatterns.some(p => p.test(segment))) return true;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
|
|
49
78
|
// Git commands that are ALLOWED on main (read-only or safe operations)
|
|
50
79
|
const ALLOWED_GIT_PATTERNS = [
|
|
51
80
|
/\bgit\s+merge\b/,
|
|
@@ -239,11 +268,13 @@ async function main() {
|
|
|
239
268
|
|
|
240
269
|
// Block destructive commands on ANY branch.
|
|
241
270
|
// These destroy work that may belong to other agents or the user.
|
|
242
|
-
// The agent should NEVER reach for these. If something is stuck, tell the user.
|
|
243
271
|
if (toolName === BASH_TOOL) {
|
|
244
272
|
const cmd = (toolInput.command || '');
|
|
273
|
+
const strippedCmd = stripQuotedContent(cmd);
|
|
274
|
+
|
|
275
|
+
// Git destructive patterns: check against stripped command (no quoted content)
|
|
245
276
|
for (const pattern of DESTRUCTIVE_PATTERNS) {
|
|
246
|
-
if (pattern.test(
|
|
277
|
+
if (pattern.test(strippedCmd)) {
|
|
247
278
|
deny(`BLOCKED: Destructive command detected.
|
|
248
279
|
|
|
249
280
|
"${cmd.substring(0, 80)}" can permanently destroy uncommitted work (yours, the user's, or another agent's).
|
|
@@ -260,6 +291,17 @@ These commands have destroyed work belonging to the user and other agents multip
|
|
|
260
291
|
process.exit(0);
|
|
261
292
|
}
|
|
262
293
|
}
|
|
294
|
+
// Code execution bypasses: check against original command (the attack IS inside quotes)
|
|
295
|
+
for (const pattern of DESTRUCTIVE_CODE_PATTERNS) {
|
|
296
|
+
if (pattern.test(cmd)) {
|
|
297
|
+
deny(`BLOCKED: Code execution bypass detected.
|
|
298
|
+
|
|
299
|
+
"${cmd.substring(0, 80)}" writes files through a scripting language, bypassing git protections.
|
|
300
|
+
|
|
301
|
+
Use the proper workflow: edit files in a worktree, commit, push, PR.`);
|
|
302
|
+
process.exit(0);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
263
305
|
}
|
|
264
306
|
|
|
265
307
|
// Block dangerous flags on ANY branch (these bypass safety checks)
|
|
@@ -375,8 +417,7 @@ This is a warning, not a block. If you need to create it here, retry.`);
|
|
|
375
417
|
// On a branch but NOT in a worktree. Block writes.
|
|
376
418
|
const isWriteOp = WRITE_TOOLS.has(toolName) ||
|
|
377
419
|
(toolName === BASH_TOOL && command &&
|
|
378
|
-
|
|
379
|
-
!ALLOWED_BASH_PATTERNS.some(p => p.test(command)));
|
|
420
|
+
isBlockedCompoundCommand(command, BLOCKED_BASH_PATTERNS, ALLOWED_BASH_PATTERNS));
|
|
380
421
|
if (isWriteOp) {
|
|
381
422
|
deny(`BLOCKED: On branch "${branch}" but not in a worktree.\n\n${WORKFLOW_NOT_WORKTREE}`);
|
|
382
423
|
process.exit(0);
|
|
@@ -400,6 +441,7 @@ This is a warning, not a block. If you need to create it here, retry.`);
|
|
|
400
441
|
/\.ldm\/memory\/shared-log\.jsonl$/,
|
|
401
442
|
/\.ldm\/memory\/daily\/.*\.md$/,
|
|
402
443
|
/\.ldm\/logs\//,
|
|
444
|
+
/\.claude\/plans\//, // Claude Code plan files (plan mode)
|
|
403
445
|
];
|
|
404
446
|
|
|
405
447
|
if (filePath && SHARED_STATE_PATTERNS.some(p => p.test(filePath))) {
|
|
@@ -412,43 +454,19 @@ This is a warning, not a block. If you need to create it here, retry.`);
|
|
|
412
454
|
process.exit(0);
|
|
413
455
|
}
|
|
414
456
|
|
|
415
|
-
// For Bash, check
|
|
457
|
+
// For Bash, check each command segment independently (#232).
|
|
458
|
+
// No fast-path: an allowed pattern on one segment can't excuse a blocked pattern on another.
|
|
416
459
|
if (toolName === BASH_TOOL && command) {
|
|
417
|
-
//
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
// Check for blocked git commands
|
|
425
|
-
for (const pattern of BLOCKED_GIT_PATTERNS) {
|
|
426
|
-
if (pattern.test(command)) {
|
|
427
|
-
// Make sure it's not an allowed git operation
|
|
428
|
-
let isAllowed = false;
|
|
429
|
-
for (const ap of ALLOWED_GIT_PATTERNS) {
|
|
430
|
-
if (ap.test(command)) { isAllowed = true; break; }
|
|
431
|
-
}
|
|
432
|
-
if (!isAllowed) {
|
|
433
|
-
deny(`BLOCKED: Cannot run "${command.substring(0, 60)}..." on main branch.\n\n${WORKFLOW_ON_MAIN}`);
|
|
434
|
-
process.exit(0);
|
|
435
|
-
}
|
|
436
|
-
}
|
|
460
|
+
// Check for blocked git commands (per-segment, quote-stripped)
|
|
461
|
+
if (isBlockedCompoundCommand(command, BLOCKED_GIT_PATTERNS, ALLOWED_GIT_PATTERNS)) {
|
|
462
|
+
deny(`BLOCKED: Cannot run "${command.substring(0, 60)}..." on main branch.\n\n${WORKFLOW_ON_MAIN}`);
|
|
463
|
+
process.exit(0);
|
|
437
464
|
}
|
|
438
465
|
|
|
439
|
-
// Check for file-writing bash commands
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
let isAllowed = false;
|
|
444
|
-
for (const ap of ALLOWED_BASH_PATTERNS) {
|
|
445
|
-
if (ap.test(command)) { isAllowed = true; break; }
|
|
446
|
-
}
|
|
447
|
-
if (!isAllowed) {
|
|
448
|
-
deny(`BLOCKED: Cannot run file-modifying command on main branch.\n\n${WORKFLOW_ON_MAIN}`);
|
|
449
|
-
process.exit(0);
|
|
450
|
-
}
|
|
451
|
-
}
|
|
466
|
+
// Check for file-writing bash commands (per-segment, quote-stripped)
|
|
467
|
+
if (isBlockedCompoundCommand(command, BLOCKED_BASH_PATTERNS, ALLOWED_BASH_PATTERNS)) {
|
|
468
|
+
deny(`BLOCKED: Cannot run file-modifying command on main branch.\n\n${WORKFLOW_ON_MAIN}`);
|
|
469
|
+
process.exit(0);
|
|
452
470
|
}
|
|
453
471
|
}
|
|
454
472
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wipcomputer/universal-installer",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.60",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The Universal Interface specification for agent-native software. Teaches your AI how to build repos with every interface: CLI, Module, MCP Server, OpenClaw Plugin, Skill, Claude Code Hook.",
|
|
6
6
|
"main": "detect.mjs",
|