@wipcomputer/wip-ai-devops-toolbox 1.9.48 → 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 +34 -0
- package/SKILL.md +1 -1
- package/TECHNICAL.md +54 -18
- package/_trash/RELEASE-NOTES-v1-9-49.md +31 -0
- 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/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/CHANGELOG.md
CHANGED
|
@@ -31,6 +31,40 @@
|
|
|
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
|
+
```
|
|
34
68
|
|
|
35
69
|
## 1.9.48 (2026-03-20)
|
|
36
70
|
|
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.49"
|
|
9
9
|
homepage: "https://github.com/wipcomputer/wip-ai-devops-toolbox"
|
|
10
10
|
author: "Parker Todd Brooks"
|
|
11
11
|
category: dev-tools
|
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 >> /
|
|
92
|
-
0 1 * * * open -W ~/Applications/LDMDevTools.app --args branch-protect >> /
|
|
93
|
-
0 2 * * * open -W ~/Applications/LDMDevTools.app --args visibility-audit >> /
|
|
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:
|
|
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.
|
|
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
|
|
104
|
-
wip-release minor
|
|
105
|
-
wip-release major
|
|
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
|
|
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
|
-
**
|
|
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,14 +196,24 @@ wip-file-guard --list
|
|
|
179
196
|
|
|
180
197
|
### deploy-public.sh
|
|
181
198
|
|
|
182
|
-
Private-to-public repo sync.
|
|
199
|
+
Private-to-public repo sync. The full pipeline:
|
|
183
200
|
|
|
184
|
-
|
|
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
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.
|
|
@@ -270,13 +297,24 @@ wip-license-guard init --from-standard # apply WIP Computer defaults
|
|
|
270
297
|
wip-license-guard readme-license # audit/fix license blocks across all repos
|
|
271
298
|
```
|
|
272
299
|
|
|
273
|
-
**
|
|
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.
|
|
274
303
|
|
|
275
304
|
[README](tools/wip-license-guard/README.md) ... [SKILL.md](tools/wip-license-guard/SKILL.md)
|
|
276
305
|
|
|
277
306
|
### wip-branch-guard
|
|
278
307
|
|
|
279
|
-
Blocks all writes on main branch. The enforcement layer for
|
|
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.
|
|
280
318
|
|
|
281
319
|
```bash
|
|
282
320
|
wip-branch-guard --check # report current branch status
|
|
@@ -284,8 +322,6 @@ wip-branch-guard --check # report current branch status
|
|
|
284
322
|
|
|
285
323
|
**Source:** Pure JavaScript, no build step. [`tools/wip-branch-guard/guard.mjs`](tools/wip-branch-guard/guard.mjs). Zero dependencies.
|
|
286
324
|
|
|
287
|
-
[INSTALL.md](tools/wip-branch-guard/INSTALL.md)
|
|
288
|
-
|
|
289
325
|
## Source Code
|
|
290
326
|
|
|
291
327
|
All implementation source is committed in this repo. No closed binaries, no mystery boxes.
|
|
@@ -296,14 +332,14 @@ All implementation source is committed in this repo. No closed binaries, no myst
|
|
|
296
332
|
| LDM Dev Tools jobs | Shell | `tools/ldm-jobs/backup.sh`, `branch-protect.sh`, `visibility-audit.sh` | None. Runnable standalone or via `.app` wrapper. |
|
|
297
333
|
| wip-release | JavaScript (ESM) | `tools/wip-release/cli.js`, `core.mjs`, `mcp-server.mjs` | None. What you see is what runs. |
|
|
298
334
|
| wip-license-hook | TypeScript | `tools/wip-license-hook/src/**/*.ts`, `mcp-server.mjs` | `cd tools/wip-license-hook && npm install && npm run build` |
|
|
299
|
-
| 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. |
|
|
300
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. |
|
|
301
337
|
| post-merge-rename.sh | Shell | `scripts/post-merge-rename.sh` | None. |
|
|
302
338
|
| wip-file-guard | JavaScript (ESM) | `tools/wip-file-guard/guard.mjs` | None. What you see is what runs. |
|
|
303
339
|
| wip-branch-guard | JavaScript (ESM) | `tools/wip-branch-guard/guard.mjs` | None. What you see is what runs. |
|
|
304
340
|
| wip-universal-installer | JavaScript (ESM) | `tools/wip-universal-installer/detect.mjs`, `install.js` | None. What you see is what runs. |
|
|
305
341
|
| deploy-public.sh | Shell | `scripts/deploy-public.sh` | None. |
|
|
306
|
-
| 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. |
|
|
307
343
|
| wip-repo-init | JavaScript (ESM) | `tools/wip-repo-init/init.mjs` | None. What you see is what runs. |
|
|
308
344
|
| wip-readme-format | JavaScript (ESM) | `tools/wip-readme-format/format.mjs` | None. What you see is what runs. |
|
|
309
345
|
|
|
@@ -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/universal-installer",
|
|
3
|
-
"version": "1.9.
|
|
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",
|