@wipcomputer/wip-ai-devops-toolbox 1.9.47 → 1.9.49

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,65 @@
31
31
 
32
32
 
33
33
 
34
+
35
+ ## 1.9.49 (2026-03-20)
36
+
37
+ # Release Notes: wip-ai-devops-toolbox v1.9.49
38
+
39
+ **TECHNICAL.md audit: 2 weeks of undocumented features now documented.**
40
+
41
+ ## What changed
42
+
43
+ Full TECHNICAL.md audit covering v1.9.15 through v1.9.48. Two passes. Key additions:
44
+
45
+ - **wip-release quality gates:** Technical docs gate, interface coverage gate, product docs auto-sync, all skip flags documented.
46
+ - **deploy-public.sh:** Full 8-step pipeline including GitHub Packages publishing, repo URL rewrite, co-author sync.
47
+ - **wip-license-guard:** Now documented as both CLI and Claude Code PreToolUse hook (guard.mjs). Enforcement details.
48
+ - **wip-branch-guard:** Worktree requirement on branches, non-repo file passthrough, workflow teaching messages.
49
+ - **wip-repos claude:** Cross-repo CLAUDE.md ecosystem generator fully documented.
50
+ - **Source code table:** Missing files added (guard.mjs, claude.mjs, mcp-server.mjs).
51
+ - **Log paths:** Fixed stale /tmp/ references to ~/.ldm/logs/.
52
+
53
+ ## Why
54
+
55
+ 15 releases shipped without TECHNICAL.md updates. Agents reading the docs were missing critical features: release gates, license enforcement hooks, deploy pipeline details.
56
+
57
+ ## Issues closed
58
+
59
+ - #218
60
+
61
+ ## How to verify
62
+
63
+ ```bash
64
+ grep "Interface coverage" TECHNICAL.md # new gate
65
+ grep "guard.mjs" TECHNICAL.md # license-guard hook
66
+ grep "GitHub Packages" TECHNICAL.md # deploy pipeline
67
+ ```
68
+
69
+ ## 1.9.48 (2026-03-20)
70
+
71
+ # Release Notes: wip-ai-devops-toolbox v1.9.48
72
+
73
+ **Document wip-repos claude command in SKILL.md and TECHNICAL.md.**
74
+
75
+ ## What changed
76
+
77
+ - SKILL.md: added `wip-repos claude` commands to the wip-repos section
78
+ - TECHNICAL.md: full documentation of how the ecosystem generator works, template locations, delimiter convention
79
+
80
+ ## Why
81
+
82
+ v1.9.47 shipped the `wip-repos claude` command without updating technical docs. Now documented.
83
+
84
+ ## Issues closed
85
+
86
+ - #212 (docs portion)
87
+
88
+ ## How to verify
89
+
90
+ ```bash
91
+ grep "wip-repos claude" SKILL.md TECHNICAL.md
92
+ ```
34
93
 
35
94
  ## 1.9.47 (2026-03-20)
36
95
 
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.47"
8
+ version: "1.9.49"
9
9
  homepage: "https://github.com/wipcomputer/wip-ai-devops-toolbox"
10
10
  author: "Parker Todd Brooks"
11
11
  category: dev-tools
@@ -89,7 +89,7 @@ If the user already has the toolbox installed (check `ldm status` or look for `w
89
89
 
90
90
  **Repo Management**
91
91
  4. **Repo Visibility Guard** ... blocks repos from going public without a -private counterpart. Prevents accidental exposure.
92
- 5. **Repo Manifest Reconciler** ... one source of truth for folder structure. Drift detection and auto-sync.
92
+ 5. **Repo Manifest Reconciler** ... one source of truth for folder structure. Drift detection, auto-sync, and cross-repo CLAUDE.md generation.
93
93
  6. **Repo Init** ... scaffolds the standard ai/ directory. Plans, notes, dev updates, todos. One command.
94
94
  7. **README Formatter** ... generates READMEs following the standard format. Staging, review, deploy.
95
95
  8. **Forced Git Worktrees** ... agents never edit on main. Isolated copies, PRs to merge back.
@@ -583,6 +583,10 @@ wip-repos sync # move repos to match manifest
583
583
  wip-repos add <org/repo> <category> # add a repo to the manifest
584
584
  wip-repos move <org/repo> <new-category> # move a repo in the manifest
585
585
  wip-repos tree # show the manifest as a tree
586
+ wip-repos claude # regenerate CLAUDE.md ecosystem sections for all repos
587
+ wip-repos claude <repo> # regenerate one repo's CLAUDE.md
588
+ wip-repos claude --init # create CLAUDE.md for repos missing one
589
+ wip-repos claude --dry-run # preview changes
586
590
  ```
587
591
 
588
592
  **What it does:**
@@ -590,6 +594,7 @@ wip-repos tree # show the manifest as a tree
590
594
  - Compares against the actual filesystem
591
595
  - `check` reports drift (repos in wrong locations, missing repos, unknown repos)
592
596
  - `sync` moves repos to match the manifest
597
+ - `claude` generates cross-repo ecosystem context in CLAUDE.md files. Each repo gets a list of related repos with their interfaces, CLI commands, and descriptions. Agents can't read sibling repos at runtime, so this pre-generates the context they need.
593
598
 
594
599
  **MCP tools:** `repos_check`, `repos_sync_plan`, `repos_add`, `repos_move`, `repos_tree`
595
600
 
package/TECHNICAL.md CHANGED
@@ -88,26 +88,43 @@ open -W ~/Applications/LDMDevTools.app --args visibility-audit
88
88
 
89
89
  ```bash
90
90
  # Daily backup at midnight, branch protection audit at 1 AM, visibility audit at 2 AM
91
- 0 0 * * * open -W ~/Applications/LDMDevTools.app --args backup >> /tmp/ldm-dev-tools/cron.log 2>&1
92
- 0 1 * * * open -W ~/Applications/LDMDevTools.app --args branch-protect >> /tmp/ldm-dev-tools/cron.log 2>&1
93
- 0 2 * * * open -W ~/Applications/LDMDevTools.app --args visibility-audit >> /tmp/ldm-dev-tools/cron.log 2>&1
91
+ 0 0 * * * open -W ~/Applications/LDMDevTools.app --args backup >> ~/.ldm/logs/cron.log 2>&1
92
+ 0 1 * * * open -W ~/Applications/LDMDevTools.app --args branch-protect >> ~/.ldm/logs/cron.log 2>&1
93
+ 0 2 * * * open -W ~/Applications/LDMDevTools.app --args visibility-audit >> ~/.ldm/logs/cron.log 2>&1
94
94
  ```
95
95
 
96
- Logs: `/tmp/ldm-dev-tools/`
96
+ Logs: `~/.ldm/logs/`
97
97
 
98
98
  ### wip-release
99
99
 
100
- One-command release pipeline. Version bump, changelog, SKILL.md sync, npm publish, GitHub release. All in one shot. Release notes live on the branch so you review them in the PR before they go live.
100
+ One-command release pipeline. Version bump, changelog, SKILL.md sync, npm publish, GitHub release, website skill publish. All in one shot.
101
101
 
102
102
  ```bash
103
- wip-release patch --notes="description of what was built and why"
104
- wip-release minor # auto-detects RELEASE-NOTES-v{version}.md
105
- wip-release major --dry-run
103
+ wip-release patch # auto-detects RELEASE-NOTES-v{version}.md
104
+ wip-release minor --dry-run
105
+ wip-release major
106
106
  ```
107
107
 
108
- **Release notes convention:** Write `RELEASE-NOTES-v{version}.md` (e.g. `RELEASE-NOTES-v1-6-0.md`) on your feature branch. It shows up in the PR diff for review. On release, wip-release auto-detects the file and uses it as the GitHub release body. One file, renamed each release. Warns when notes are missing, too short, or look like changelog entries instead of narrative.
108
+ **Release notes are mandatory.** Write `RELEASE-NOTES-v{version}.md` (dashes, not dots) on your feature branch. Commit it with the code. The PR diff shows both code and notes for review. On release, wip-release auto-detects the file.
109
109
 
110
- **Source:** Pure JavaScript, no build step. [`tools/wip-release/cli.js`](tools/wip-release/cli.js) (entry point), [`tools/wip-release/core.mjs`](tools/wip-release/core.mjs) (main logic). Zero dependencies.
110
+ **Quality gates (all run before release):**
111
+ - **Release notes:** Must come from a file (--notes flag removed). Three sources: RELEASE-NOTES file, ai/dev-updates/, or --notes-file. Blocks changelog-format entries ("fix: ...", "add: ..."). Must reference at least one GitHub issue (#XX).
112
+ - **Product docs:** Warns if roadmap, readme-first, or dev-updates are stale. Auto-updates version/date in `ai/product/plans-prds/roadmap.md` and `ai/product/readme-first-product.md` before commit.
113
+ - **Technical docs:** When source files (.mjs, .js, .ts) changed since last tag, checks that SKILL.md or TECHNICAL.md was also updated. Warns on patch, blocks on minor/major. Skip: `--skip-tech-docs-check`.
114
+ - **Interface coverage (toolbox repos):** Scans `tools/*/` for actual interfaces (CLI, Module, MCP, OC Plugin, Skill, CC Hook). Compares against README.md and SKILL.md coverage table. Reports: missing from table, detected but not marked, marked but not detected. Warns on patch, blocks on minor/major. Skip: `--skip-coverage-check`.
115
+ - **Stale branches:** Warns (patch) or blocks (minor/major) if merged branches exist on remote.
116
+ - **Worktree guard:** Blocks releases from linked worktrees. Must run from main working tree. Skip: `--skip-worktree-check`.
117
+ - **Dogfood cooldown:** Writes `.last-release` marker. Branch guard blocks `npm install -g` for 5 minutes.
118
+
119
+ **Post-release automation:**
120
+ - Post-merge branch rename (--merged-YYYY-MM-DD)
121
+ - Stale worktree prune from `_worktrees/`
122
+ - Skill publish to wip.computer/install/{name}.txt
123
+ - Product docs version sync
124
+
125
+ **All 7 CLIs support `--version` and `-v`.**
126
+
127
+ **Source:** Pure JavaScript, no build step. [`tools/wip-release/cli.js`](tools/wip-release/cli.js) (entry point), [`tools/wip-release/core.mjs`](tools/wip-release/core.mjs) (main logic), [`tools/wip-release/mcp-server.mjs`](tools/wip-release/mcp-server.mjs) (MCP server). Zero dependencies.
111
128
 
112
129
  [README](tools/wip-release/README.md) ... [SKILL.md](tools/wip-release/SKILL.md) ... [Reference](tools/wip-release/REFERENCE.md)
113
130
 
@@ -179,17 +196,27 @@ wip-file-guard --list
179
196
 
180
197
  ### deploy-public.sh
181
198
 
182
- Private-to-public repo sync. Copies everything except `ai/` from your working repo to the public mirror. Creates a PR, merges it. One script for all repos.
199
+ Private-to-public repo sync. The full pipeline:
183
200
 
184
- **Source:** Plain shell. [`scripts/deploy-public.sh`](scripts/deploy-public.sh)
201
+ 1. Rsyncs all files except `ai/` from private to public repo clone
202
+ 2. Rewrites repository URL from private to public in package.json
203
+ 3. Creates a branch, commits with co-authors, pushes, creates PR
204
+ 4. Merges PR (--merge, never squash)
205
+ 5. Creates matching GitHub release on public repo (pulls notes from private repo's release)
206
+ 6. Publishes to npm from public repo clone
207
+ 7. Publishes to GitHub Packages from public repo clone (uses `gh auth token`)
208
+ 8. Cleans stale branches on public repo
185
209
 
186
210
  ```bash
187
211
  bash scripts/deploy-public.sh /path/to/private-repo wipcomputer/public-repo
212
+ bash scripts/deploy-public.sh /path/to/private-repo wipcomputer/public-repo --dry-run
188
213
  ```
189
214
 
215
+ **Source:** Plain shell. [`scripts/deploy-public.sh`](scripts/deploy-public.sh) and [`tools/deploy-public/deploy-public.sh`](tools/deploy-public/deploy-public.sh)
216
+
190
217
  ### wip-repos
191
218
 
192
- Repo manifest reconciler. Makes `repos-manifest.json` the single source of truth for repo organization. Like prettier for folder structure. Move folders around all day; on sync, everything snaps back to where the manifest says.
219
+ Repo manifest reconciler. Makes `repos-manifest.json` the single source of truth for repo organization. Like prettier for folder structure. Move folders around all day; on sync, everything snaps back to where the manifest says. Also generates cross-repo CLAUDE.md ecosystem sections.
193
220
 
194
221
  ```bash
195
222
  # Check for drift
@@ -206,9 +233,27 @@ wip-repos move ldm-os/utilities/my-tool --to ldm-os/devops/my-tool
206
233
 
207
234
  # Generate directory tree
208
235
  wip-repos tree
236
+
237
+ # Generate cross-repo CLAUDE.md ecosystem sections
238
+ wip-repos claude # all repos
239
+ wip-repos claude my-repo # one repo
240
+ wip-repos claude --init # create CLAUDE.md for repos missing one
241
+ wip-repos claude --dry-run # preview
209
242
  ```
210
243
 
211
- **Source:** Pure JavaScript, no build step. [`tools/wip-repos/core.mjs`](tools/wip-repos/core.mjs) (logic), [`tools/wip-repos/cli.mjs`](tools/wip-repos/cli.mjs) (CLI). Zero dependencies.
244
+ **How `wip-repos claude` works:**
245
+
246
+ Agents can't read sibling repos at runtime. This command solves that by pre-generating cross-repo context into each repo's CLAUDE.md.
247
+
248
+ 1. Reads all repos from `repos-manifest.json`
249
+ 2. Extracts metadata from each: `package.json` (name, version, bin, exports), `SKILL.md` (interfaces), directory structure
250
+ 3. For each repo, determines relevant siblings (same category + core repos)
251
+ 4. Generates an `## Ecosystem` section between `<!-- wip-repos:start -->` / `<!-- wip-repos:end -->` delimiter comments
252
+ 5. Hand-written CLAUDE.md content outside the delimiters is never touched
253
+
254
+ Templates at `templates/global-claude-md.md` (for `~/.claude/CLAUDE.md`) and `templates/repo-claude-md.template` (for per-repo starter).
255
+
256
+ **Source:** Pure JavaScript, no build step. [`tools/wip-repos/core.mjs`](tools/wip-repos/core.mjs) (manifest logic), [`tools/wip-repos/claude.mjs`](tools/wip-repos/claude.mjs) (ecosystem generator), [`tools/wip-repos/cli.mjs`](tools/wip-repos/cli.mjs) (CLI). Zero dependencies.
212
257
 
213
258
  [README](tools/wip-repos/README.md)
214
259
 
@@ -252,13 +297,24 @@ wip-license-guard init --from-standard # apply WIP Computer defaults
252
297
  wip-license-guard readme-license # audit/fix license blocks across all repos
253
298
  ```
254
299
 
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.
300
+ **Claude Code Hook:** Also wired as a PreToolUse hook (`guard.mjs`). On `ldm install`, registers in `~/.claude/settings.json`. Blocks `git commit` and `git push` when license compliance fails. Only checks repos with `.license-guard.json`. Repos without config silently pass.
301
+
302
+ **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), [`tools/wip-license-guard/guard.mjs`](tools/wip-license-guard/guard.mjs) (CC hook). Zero dependencies.
256
303
 
257
304
  [README](tools/wip-license-guard/README.md) ... [SKILL.md](tools/wip-license-guard/SKILL.md)
258
305
 
259
306
  ### wip-branch-guard
260
307
 
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.
308
+ Blocks all writes on main branch. The enforcement layer for required worktrees. PreToolUse hook that catches Write, Edit, and destructive Bash commands. Resolves the repo from the file path, not the CWD. If a file is outside any git repo (e.g. `~/.claude/plans/`), the guard allows edits immediately. Only protects files within git repos.
309
+
310
+ **Features:**
311
+ - **Workflow teaching:** Error messages include the full 8-step dev process (worktree, branch, commit, push, PR, merge, wip-release, deploy-public). Agents learn the workflow from the error, not just that they're blocked.
312
+ - **Worktree path warning:** Warns when `git worktree add` creates outside `_worktrees/`. Suggests `ldm worktree add`.
313
+ - **Dogfood cooldown:** After `wip-release`, blocks `npm install -g` for 5 minutes. Forces dogfooding via the install prompt.
314
+ - **Worktree requirement on branches:** On any non-main branch, edits blocked if not inside a worktree. Separate error message directs agents to create a worktree properly.
315
+ - **Dangerous flag blocking:** `--no-verify` and `git push --force` blocked on any branch.
316
+ - **Shared state allowlist:** CLAUDE.md, SHARED-CONTEXT.md, daily logs, `~/.ldm/logs/` always writable on main.
317
+ - **Non-repo passthrough:** Files outside any git repo allowed immediately.
262
318
 
263
319
  ```bash
264
320
  wip-branch-guard --check # report current branch status
@@ -266,8 +322,6 @@ wip-branch-guard --check # report current branch status
266
322
 
267
323
  **Source:** Pure JavaScript, no build step. [`tools/wip-branch-guard/guard.mjs`](tools/wip-branch-guard/guard.mjs). Zero dependencies.
268
324
 
269
- [INSTALL.md](tools/wip-branch-guard/INSTALL.md)
270
-
271
325
  ## Source Code
272
326
 
273
327
  All implementation source is committed in this repo. No closed binaries, no mystery boxes.
@@ -278,14 +332,14 @@ All implementation source is committed in this repo. No closed binaries, no myst
278
332
  | LDM Dev Tools jobs | Shell | `tools/ldm-jobs/backup.sh`, `branch-protect.sh`, `visibility-audit.sh` | None. Runnable standalone or via `.app` wrapper. |
279
333
  | wip-release | JavaScript (ESM) | `tools/wip-release/cli.js`, `core.mjs`, `mcp-server.mjs` | None. What you see is what runs. |
280
334
  | wip-license-hook | TypeScript | `tools/wip-license-hook/src/**/*.ts`, `mcp-server.mjs` | `cd tools/wip-license-hook && npm install && npm run build` |
281
- | wip-license-guard | JavaScript (ESM) | `tools/wip-license-guard/cli.mjs`, `core.mjs` | None. What you see is what runs. |
335
+ | wip-license-guard | JavaScript (ESM) | `tools/wip-license-guard/cli.mjs`, `core.mjs`, `guard.mjs` | None. What you see is what runs. |
282
336
  | wip-repo-permissions-hook | JavaScript (ESM) | `tools/wip-repo-permissions-hook/core.mjs`, `cli.js`, `guard.mjs`, `mcp-server.mjs` | None. What you see is what runs. |
283
337
  | post-merge-rename.sh | Shell | `scripts/post-merge-rename.sh` | None. |
284
338
  | wip-file-guard | JavaScript (ESM) | `tools/wip-file-guard/guard.mjs` | None. What you see is what runs. |
285
339
  | wip-branch-guard | JavaScript (ESM) | `tools/wip-branch-guard/guard.mjs` | None. What you see is what runs. |
286
340
  | wip-universal-installer | JavaScript (ESM) | `tools/wip-universal-installer/detect.mjs`, `install.js` | None. What you see is what runs. |
287
341
  | deploy-public.sh | Shell | `scripts/deploy-public.sh` | None. |
288
- | wip-repos | JavaScript (ESM) | `tools/wip-repos/core.mjs`, `cli.mjs`, `mcp-server.mjs` | None. What you see is what runs. |
342
+ | wip-repos | JavaScript (ESM) | `tools/wip-repos/core.mjs`, `cli.mjs`, `mcp-server.mjs`, `claude.mjs` | None. What you see is what runs. |
289
343
  | wip-repo-init | JavaScript (ESM) | `tools/wip-repo-init/init.mjs` | None. What you see is what runs. |
290
344
  | wip-readme-format | JavaScript (ESM) | `tools/wip-readme-format/format.mjs` | None. What you see is what runs. |
291
345
 
@@ -0,0 +1,22 @@
1
+ # Release Notes: wip-ai-devops-toolbox v1.9.48
2
+
3
+ **Document wip-repos claude command in SKILL.md and TECHNICAL.md.**
4
+
5
+ ## What changed
6
+
7
+ - SKILL.md: added `wip-repos claude` commands to the wip-repos section
8
+ - TECHNICAL.md: full documentation of how the ecosystem generator works, template locations, delimiter convention
9
+
10
+ ## Why
11
+
12
+ v1.9.47 shipped the `wip-repos claude` command without updating technical docs. Now documented.
13
+
14
+ ## Issues closed
15
+
16
+ - #212 (docs portion)
17
+
18
+ ## How to verify
19
+
20
+ ```bash
21
+ grep "wip-repos claude" SKILL.md TECHNICAL.md
22
+ ```
@@ -0,0 +1,31 @@
1
+ # Release Notes: wip-ai-devops-toolbox v1.9.49
2
+
3
+ **TECHNICAL.md audit: 2 weeks of undocumented features now documented.**
4
+
5
+ ## What changed
6
+
7
+ Full TECHNICAL.md audit covering v1.9.15 through v1.9.48. Two passes. Key additions:
8
+
9
+ - **wip-release quality gates:** Technical docs gate, interface coverage gate, product docs auto-sync, all skip flags documented.
10
+ - **deploy-public.sh:** Full 8-step pipeline including GitHub Packages publishing, repo URL rewrite, co-author sync.
11
+ - **wip-license-guard:** Now documented as both CLI and Claude Code PreToolUse hook (guard.mjs). Enforcement details.
12
+ - **wip-branch-guard:** Worktree requirement on branches, non-repo file passthrough, workflow teaching messages.
13
+ - **wip-repos claude:** Cross-repo CLAUDE.md ecosystem generator fully documented.
14
+ - **Source code table:** Missing files added (guard.mjs, claude.mjs, mcp-server.mjs).
15
+ - **Log paths:** Fixed stale /tmp/ references to ~/.ldm/logs/.
16
+
17
+ ## Why
18
+
19
+ 15 releases shipped without TECHNICAL.md updates. Agents reading the docs were missing critical features: release gates, license enforcement hooks, deploy pipeline details.
20
+
21
+ ## Issues closed
22
+
23
+ - #218
24
+
25
+ ## How to verify
26
+
27
+ ```bash
28
+ grep "Interface coverage" TECHNICAL.md # new gate
29
+ grep "guard.mjs" TECHNICAL.md # license-guard hook
30
+ grep "GitHub Packages" TECHNICAL.md # deploy pipeline
31
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-ai-devops-toolbox",
3
- "version": "1.9.47",
3
+ "version": "1.9.49",
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.47",
3
+ "version": "1.9.49",
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.47",
3
+ "version": "1.9.49",
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-branch-guard",
3
- "version": "1.9.47",
3
+ "version": "1.9.49",
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",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-file-guard",
3
- "version": "1.9.47",
3
+ "version": "1.9.49",
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.47",
3
+ "version": "1.9.49",
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.47",
3
+ "version": "1.9.49",
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.47",
3
+ "version": "1.9.49",
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.47",
3
+ "version": "1.9.49",
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.47",
3
+ "version": "1.9.49",
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.47",
3
+ "version": "1.9.49",
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.47",
3
+ "version": "1.9.49",
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",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/universal-installer",
3
- "version": "1.9.47",
3
+ "version": "1.9.49",
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",