@wipcomputer/wip-ai-devops-toolbox 1.9.24 → 1.9.25

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 CHANGED
@@ -31,6 +31,10 @@
31
31
 
32
32
 
33
33
 
34
+
35
+ ## 1.9.25 (2026-03-14)
36
+
37
+ Fix branch guard matcher (catches Bash + NotebookEdit). Add Forced Git Worktrees and Branch Guard sections to SKILL.md. Update SPEC.md and TECHNICAL.md with all 17 tools and LDM OS links.
34
38
 
35
39
  ## 1.9.24 (2026-03-14)
36
40
 
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.24"
8
+ version: "1.9.25"
9
9
  homepage: "https://github.com/wipcomputer/wip-ai-devops-toolbox"
10
10
  author: "Parker Todd Brooks"
11
11
  category: dev-tools
@@ -673,6 +673,42 @@ Edit any section independently before deploying. Same pattern as release notes:
673
673
 
674
674
  **Interfaces:** CLI, Skill
675
675
 
676
+ ### Forced Git Worktrees
677
+
678
+ Every repo uses git worktrees. Agents never edit on main. Period.
679
+
680
+ When an agent needs to make changes, it creates a worktree (isolated copy of the repo on its own branch). All edits happen there. Main stays clean. Multiple agents can work on the same repo simultaneously without collisions. When the work is done, it goes through a PR to merge back.
681
+
682
+ **How it works:**
683
+ - Agent runs `EnterWorktree` (Claude Code) or `git worktree add` to get an isolated copy
684
+ - All edits happen on the worktree branch
685
+ - When done: commit, push, create PR, merge
686
+ - Main is never touched directly
687
+
688
+ **Interfaces:** CLI, CC Hook
689
+
690
+ ### Branch Guard
691
+
692
+ Blocks all writes on main. The enforcement layer for forced worktrees.
693
+
694
+ **How it works as a CC Hook:**
695
+ - Runs as a PreToolUse hook in Claude Code
696
+ - Intercepts `Write`, `Edit`, `NotebookEdit`, and destructive `Bash` commands
697
+ - Resolves which repo the target file belongs to (from the file path, not CWD)
698
+ - If that repo's current branch is main: **blocked**
699
+ - Read-only operations (Read, Glob, Grep) are always allowed
700
+ - Git operations that don't modify files (status, log, diff, branch, checkout, pull, merge, push) are allowed
701
+ - `gh` commands (issues, PRs, releases) are allowed
702
+
703
+ **Commands:**
704
+ ```
705
+ wip-branch-guard --check # report current branch status for all repos
706
+ ```
707
+
708
+ **Where it writes:** Nothing. It only reads and blocks.
709
+
710
+ **Interfaces:** CC Hook
711
+
676
712
  ---
677
713
 
678
714
  ## MCP Server Configuration
package/TECHNICAL.md CHANGED
@@ -31,23 +31,24 @@ ldm doctor
31
31
 
32
32
  ## Tools
33
33
 
34
- ### wip-universal-installer
34
+ ### Universal Installer (built into [LDM OS](https://github.com/wipcomputer/wip-ldm-os))
35
35
 
36
- The Universal Interface specification for agent-native software. Defines how every tool ships six interfaces: CLI, importable module, MCP Server, OpenClaw Plugin, Skill, Claude Code Hook. Includes a reference installer and a minimal example template.
36
+ The Universal Interface specification for agent-native software. Defines how every tool ships six interfaces: CLI, importable module, MCP Server, OpenClaw Plugin, Skill, Claude Code Hook. The detection engine powers [`ldm install`](https://github.com/wipcomputer/wip-ldm-os).
37
37
 
38
38
  ```bash
39
39
  # Detect what interfaces a repo supports
40
- wip-install /path/to/repo --dry-run
40
+ ldm install /path/to/repo --dry-run
41
41
 
42
42
  # Install a tool from GitHub
43
+ ldm install wipcomputer/wip-file-guard
44
+
45
+ # Standalone fallback (bootstraps LDM OS if needed)
43
46
  wip-install wipcomputer/wip-file-guard
44
47
  ```
45
48
 
46
- **Source:** Pure JavaScript, no build step. [`tools/wip-universal-installer/detect.mjs`](tools/wip-universal-installer/detect.mjs) (detection), [`tools/wip-universal-installer/install.js`](tools/wip-universal-installer/install.js) (installer). Zero dependencies.
47
-
48
- [README](tools/wip-universal-installer/README.md) ... [SKILL.md](tools/wip-universal-installer/SKILL.md) ... [SPEC.md](tools/wip-universal-installer/SPEC.md) ... [Reference](tools/wip-universal-installer/REFERENCE.md)
49
+ **Source:** Pure JavaScript, no build step. [`tools/wip-universal-installer/detect.mjs`](tools/wip-universal-installer/detect.mjs) (detection), [`tools/wip-universal-installer/install.js`](tools/wip-universal-installer/install.js) (standalone installer). Zero dependencies. LDM OS deploy engine at [`lib/deploy.mjs`](https://github.com/wipcomputer/wip-ldm-os/blob/main/lib/deploy.mjs).
49
50
 
50
- Also available as `UNIVERSAL-INTERFACE.md` at the repo root.
51
+ [README](tools/wip-universal-installer/README.md) ... [SKILL.md](tools/wip-universal-installer/SKILL.md) ... [Universal Interface Spec](tools/wip-universal-installer/SPEC.md) ... [Reference](tools/wip-universal-installer/REFERENCE.md)
51
52
 
52
53
  ### Dev Guide
53
54
 
@@ -211,6 +212,62 @@ wip-repos tree
211
212
 
212
213
  [README](tools/wip-repos/README.md)
213
214
 
215
+ ### wip-repo-init
216
+
217
+ Scaffold the standard `ai/` directory in any repo. Plans, notes, ideas, dev updates, todos. One command.
218
+
219
+ New repo: creates the full structure. Existing repo: moves old `ai/` contents to `ai/_sort/ai_old/` so you can sort at your own pace. Nothing is deleted.
220
+
221
+ ```bash
222
+ wip-repo-init /path/to/repo # scaffold ai/ in a repo
223
+ wip-repo-init /path/to/repo --dry-run # preview without changes
224
+ ```
225
+
226
+ **Source:** Pure JavaScript, no build step. [`tools/wip-repo-init/init.mjs`](tools/wip-repo-init/init.mjs). Zero dependencies.
227
+
228
+ [README](tools/wip-repo-init/README.md) ... [SKILL.md](tools/wip-repo-init/SKILL.md)
229
+
230
+ ### wip-readme-format
231
+
232
+ Generate or validate READMEs that follow the WIP Computer standard. Badges, title, tagline, "Teach Your AI" block, features, interface coverage table, license.
233
+
234
+ ```bash
235
+ wip-readme-format /path/to/repo # generate section files
236
+ wip-readme-format /path/to/repo --deploy # assemble into final README
237
+ wip-readme-format /path/to/repo --dry-run # preview without writing
238
+ ```
239
+
240
+ **Source:** Pure JavaScript, no build step. [`tools/wip-readme-format/format.mjs`](tools/wip-readme-format/format.mjs). Zero dependencies. Reads templates from `ai/wip-templates/readme/`.
241
+
242
+ [README](tools/wip-readme-format/README.md) ... [SKILL.md](tools/wip-readme-format/SKILL.md)
243
+
244
+ ### wip-license-guard
245
+
246
+ License enforcement for your own repos. Checks copyright, dual-license (MIT+AGPL), CLA, README license section. Toolbox-aware: checks every sub-tool. Interactive first-run setup. Auto-fix mode repairs issues.
247
+
248
+ ```bash
249
+ wip-license-guard check # audit current repo
250
+ wip-license-guard check --fix # audit and auto-fix
251
+ wip-license-guard init --from-standard # apply WIP Computer defaults
252
+ wip-license-guard readme-license # audit/fix license blocks across all repos
253
+ ```
254
+
255
+ **Source:** Pure JavaScript, no build step. [`tools/wip-license-guard/cli.mjs`](tools/wip-license-guard/cli.mjs) (CLI), [`tools/wip-license-guard/core.mjs`](tools/wip-license-guard/core.mjs) (logic). Zero dependencies.
256
+
257
+ [README](tools/wip-license-guard/README.md) ... [SKILL.md](tools/wip-license-guard/SKILL.md)
258
+
259
+ ### wip-branch-guard
260
+
261
+ Blocks all writes on main branch. The enforcement layer for forced worktrees. PreToolUse hook that catches Write, Edit, and destructive Bash commands. Resolves the repo from the file path, not the CWD, so it works when Claude Code opens in a different directory.
262
+
263
+ ```bash
264
+ wip-branch-guard --check # report current branch status
265
+ ```
266
+
267
+ **Source:** Pure JavaScript, no build step. [`tools/wip-branch-guard/guard.mjs`](tools/wip-branch-guard/guard.mjs). Zero dependencies.
268
+
269
+ [INSTALL.md](tools/wip-branch-guard/INSTALL.md)
270
+
214
271
  ## Source Code
215
272
 
216
273
  All implementation source is committed in this repo. No closed binaries, no mystery boxes.
@@ -263,20 +320,43 @@ node cli.js --dry-run patch --notes="test"
263
320
  Tell your AI:
264
321
 
265
322
  ```
266
- Read the SKILL.md at github.com/wipcomputer/wip-ai-devops-toolbox/blob/main/SKILL.md.
323
+ Read wip.computer/install/wip-ai-devops-toolbox.txt
324
+
267
325
  Then explain what these tools do and help me set them up.
268
326
  ```
269
327
 
270
- Or install individually:
328
+ Or install via LDM OS:
329
+
330
+ ```bash
331
+ npm install -g @wipcomputer/wip-ldm-os
332
+ ldm init
333
+ ldm install wipcomputer/wip-ai-devops-toolbox --dry-run
334
+ ldm install wipcomputer/wip-ai-devops-toolbox
335
+ ldm doctor
336
+ ```
337
+
338
+ Or install the root package directly:
339
+
340
+ ```bash
341
+ npm install -g @wipcomputer/wip-ai-devops-toolbox
342
+ ```
343
+
344
+ Or install individual tools:
271
345
 
272
346
  ```bash
273
347
  npm install -g @wipcomputer/wip-release
274
348
  npm install -g @wipcomputer/wip-license-hook
275
349
  npm install -g @wipcomputer/wip-file-guard
276
- npm install -g @wipcomputer/universal-installer
277
350
  npm install -g @wipcomputer/wip-repos
278
351
  ```
279
352
 
280
353
  ## License
281
354
 
282
- MIT. Built by Parker Todd Brooks, Lēsa (OpenClaw, Claude Opus 4.6), Claude Code CLI (Claude Opus 4.6).
355
+ Dual-license model designed to keep tools free while preventing commercial resellers.
356
+
357
+ ```
358
+ MIT All CLI tools, MCP servers, skills, and hooks (use anywhere, no restrictions).
359
+ AGPLv3 Commercial redistribution, marketplace listings, or bundling into paid services.
360
+ ```
361
+
362
+ Built by Parker Todd Brooks, Lēsa (OpenClaw, Claude Opus 4.6), Claude Code (Claude Opus 4.6).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-ai-devops-toolbox",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "type": "module",
5
5
  "description": "The complete AI DevOps toolkit for AI-assisted development teams.",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/deploy-public",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "description": "Private-to-public repo sync. Excludes ai/ folder, creates PR, merges, cleans up branches.",
5
5
  "bin": {
6
6
  "deploy-public": "./deploy-public.sh"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/post-merge-rename",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "description": "Post-merge branch renaming. Appends --merged-YYYY-MM-DD to preserve history.",
5
5
  "bin": {
6
6
  "post-merge-rename": "./post-merge-rename.sh"
@@ -1,11 +1,18 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-branch-guard",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "description": "PreToolUse hook that blocks all writes on main branch. Forces agents to work on branches or worktrees.",
5
5
  "type": "module",
6
6
  "main": "guard.mjs",
7
7
  "bin": {
8
8
  "wip-branch-guard": "guard.mjs"
9
9
  },
10
+ "claudeCode": {
11
+ "hook": {
12
+ "event": "PreToolUse",
13
+ "matcher": "Write|Edit|NotebookEdit|Bash",
14
+ "timeout": 5
15
+ }
16
+ },
10
17
  "license": "MIT"
11
18
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-file-guard",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "type": "module",
5
5
  "description": "Hook that blocks destructive edits to protected identity files. For Claude Code CLI and OpenClaw.",
6
6
  "main": "guard.mjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-license-guard",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "description": "License compliance for your own repos. Ensures correct copyright, dual-license blocks, and LICENSE files.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-license-hook",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "description": "License rug-pull detection and dependency license compliance for open source projects",
5
5
  "type": "module",
6
6
  "main": "dist/cli/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-readme-format",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "description": "Reformat any repo's README to follow the WIP Computer standard. Agent-first, human-readable.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-release",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "type": "module",
5
5
  "description": "One-command release pipeline. Bumps version, updates changelog + SKILL.md, publishes to npm + GitHub.",
6
6
  "main": "core.mjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-repo-init",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "description": "Scaffold the standard ai/ directory structure in any repo",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-repo-permissions-hook",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "type": "module",
5
5
  "description": "Repo visibility guard. Blocks repos from going public without a -private counterpart.",
6
6
  "main": "core.mjs",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-repos",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
4
4
  "type": "module",
5
5
  "description": "Repo manifest reconciler. Single source of truth for repo organization. Like prettier for folder structure.",
6
6
  "main": "core.mjs",
@@ -161,20 +161,46 @@ The `ai/` folder is the development process. It is not part of the published pro
161
161
 
162
162
  ## The Reference Installer
163
163
 
164
- `wip-install` is the reference implementation. It scans a repo, detects which interfaces exist, and installs them all. One command.
164
+ `ldm install` is the primary installer (part of LDM OS). `wip-install` is the standalone fallback. Both scan a repo, detect which interfaces exist, and install them all. One command.
165
165
 
166
166
  ```bash
167
- wip-install /path/to/repo # local
168
- wip-install org/repo # from GitHub
169
- wip-install --dry-run /path/to/repo # detect only
167
+ ldm install /path/to/repo # local (via LDM OS)
168
+ ldm install org/repo # from GitHub
169
+ ldm install org/repo --dry-run # detect only
170
+ wip-install /path/to/repo # standalone fallback (bootstraps LDM OS if needed)
170
171
  wip-install --json /path/to/repo # JSON output
171
172
  ```
172
173
 
174
+ For toolbox repos (with a `tools/` directory containing sub-tools), the installer enters toolbox mode and installs each sub-tool.
175
+
173
176
  ## Examples
174
177
 
175
- | Repo | Interfaces | Type |
176
- |------|------------|------|
177
- | [wip-grok](https://github.com/wipcomputer/wip-grok) | CLI + Module + MCP + Skill | Sensor + Actuator |
178
- | [wip-x](https://github.com/wipcomputer/wip-x) | CLI + Module + MCP + Skill | Sensor + Actuator |
179
- | [wip-file-guard](https://github.com/wipcomputer/wip-file-guard) | CLI + OpenClaw + CC Hook | Actuator |
180
- | [wip-markdown-viewer](https://github.com/wipcomputer/wip-markdown-viewer) | CLI + Module | Actuator |
178
+ ### AI DevOps Toolbox (this repo)
179
+
180
+ | # | Tool | Interfaces |
181
+ |---|------|------------|
182
+ | | **Repo Management** | |
183
+ | 1 | [Repo Visibility Guard](tools/wip-repo-permissions-hook/) | CLI + Module + MCP + OpenClaw + Skill + CC Hook |
184
+ | 2 | [Repo Manifest Reconciler](tools/wip-repos/) | CLI + Module + MCP + Skill |
185
+ | 3 | [Repo Init](tools/wip-repo-init/) | CLI + Skill |
186
+ | 4 | [README Formatter](tools/wip-readme-format/) | CLI + Skill |
187
+ | 5 | [Branch Guard](tools/wip-branch-guard/) | CLI + Module + CC Hook |
188
+ | | **License, Compliance, and Protection** | |
189
+ | 6 | [Identity File Protection](tools/wip-file-guard/) | CLI + Module + OpenClaw + Skill + CC Hook |
190
+ | 7 | [License Guard](tools/wip-license-guard/) | CLI + Skill |
191
+ | 8 | [License Rug-Pull Detection](tools/wip-license-hook/) | CLI + Module + MCP + Skill |
192
+ | | **Release & Deploy** | |
193
+ | 9 | [Release Pipeline](tools/wip-release/) | CLI + Module + MCP + Skill |
194
+ | 10 | [Private-to-Public Sync](tools/deploy-public/) | CLI + Skill |
195
+ | 11 | [Post-Merge Branch Naming](tools/post-merge-rename/) | CLI + Skill |
196
+ | 12 | [Universal Installer](tools/wip-universal-installer/) | CLI + Module + Skill |
197
+
198
+ ### Other WIP Computer Tools
199
+
200
+ | Repo | Interfaces |
201
+ |------|------------|
202
+ | [Memory Crystal](https://github.com/wipcomputer/memory-crystal) | CLI + Module + MCP + OpenClaw + Skill |
203
+ | [LDM OS](https://github.com/wipcomputer/wip-ldm-os) | CLI + Module + Skill + CC Hook |
204
+ | [wip-grok](https://github.com/wipcomputer/wip-grok) | CLI + Module + MCP + Skill |
205
+ | [wip-x](https://github.com/wipcomputer/wip-x) | CLI + Module + MCP + Skill |
206
+ | [Markdown Viewer](https://github.com/wipcomputer/wip-markdown-viewer) | CLI + Module |
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/universal-installer",
3
- "version": "1.9.24",
3
+ "version": "1.9.25",
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",