@wipcomputer/wip-ai-devops-toolbox 1.9.49 → 1.9.51
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 +41 -0
- package/SKILL.md +1 -1
- package/TECHNICAL.md +8 -8
- package/_trash/RELEASE-NOTES-v1-9-50.md +24 -0
- package/_trash/RELEASE-NOTES-v1-9-51.md +11 -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/guard.mjs +6 -0
- 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/core.mjs +14 -0
- package/tools/wip-release/package.json +1 -1
- package/tools/wip-repo-init/package.json +1 -1
- package/tools/wip-repo-init/templates/product/plans-prds/todos/README 2.md +63 -0
- 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,47 @@
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
34
|
+
|
|
35
|
+
## 1.9.51 (2026-03-24)
|
|
36
|
+
|
|
37
|
+
# Release Notes: wip-ai-devops-toolbox v1.9.51
|
|
38
|
+
|
|
39
|
+
## Branch Guard: Workspace Files Allowlist (#185)
|
|
40
|
+
|
|
41
|
+
Added TOOLS.md, MEMORY.md, IDENTITY.md, SOUL.md, WHERE-TO-WRITE.md, HEARTBEAT.md to the shared state allowlist. Both agents can now write to workspace files on main without being blocked.
|
|
42
|
+
|
|
43
|
+
Previously only SHARED-CONTEXT.md was allowed. This broke Lesa's ability to edit her own workspace files during the migration to ~/wipcomputerinc/.
|
|
44
|
+
|
|
45
|
+
## TECHNICAL.md: Backup Documentation
|
|
46
|
+
|
|
47
|
+
Updated LDM Dev Tools.app backup section to reflect the unified backup system. backup.sh now calls `~/.ldm/bin/ldm-backup.sh` (deployed by ldm install from wip-ldm-os-private/scripts/).
|
|
48
|
+
|
|
49
|
+
## 1.9.50 (2026-03-20)
|
|
50
|
+
|
|
51
|
+
# Release Notes: wip-ai-devops-toolbox v1.9.50
|
|
52
|
+
|
|
53
|
+
**wip-release: require product update doc on every release.**
|
|
54
|
+
|
|
55
|
+
## What changed
|
|
56
|
+
|
|
57
|
+
New quality gate in wip-release: checks that `ai/dev-updates/product-update/*-product-update.md` was modified since the last release tag. Same pattern as dev-updates, roadmap, and readme-first checks.
|
|
58
|
+
|
|
59
|
+
The product update doc is a human-readable test guide. Each release entry has: what changed, how it's supposed to work, and how to test. New entries go at the top. Additive only.
|
|
60
|
+
|
|
61
|
+
## Why
|
|
62
|
+
|
|
63
|
+
Three repos now have product update docs but nothing enforced keeping them current. Without the gate, the docs will drift immediately (same problem we had with TECHNICAL.md).
|
|
64
|
+
|
|
65
|
+
## Issues closed
|
|
66
|
+
|
|
67
|
+
- #220
|
|
68
|
+
|
|
69
|
+
## How to verify
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
wip-release patch --dry-run
|
|
73
|
+
# Should warn if product update doc not modified since last release
|
|
74
|
+
```
|
|
34
75
|
|
|
35
76
|
## 1.9.49 (2026-03-20)
|
|
36
77
|
|
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.51"
|
|
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
|
@@ -60,19 +60,19 @@ Best practices for AI-assisted development teams. Covers release process, repo s
|
|
|
60
60
|
|
|
61
61
|
macOS automation wrapper. A native `.app` bundle that runs scheduled jobs (backup, branch protection audit, etc.) with Full Disk Access. One app to grant permissions to, one place to add new automation.
|
|
62
62
|
|
|
63
|
-
**Source:** Job scripts are plain shell
|
|
63
|
+
**Source:** Job scripts are plain shell. The app provides a Full Disk Access wrapper.
|
|
64
64
|
|
|
65
|
-
| Script | What it does |
|
|
66
|
-
|
|
67
|
-
|
|
|
68
|
-
| [`branch-protect.sh`](tools/ldm-jobs/branch-protect.sh) | Audit and enforce branch protection across all org repos |
|
|
69
|
-
| [`visibility-audit.sh`](tools/ldm-jobs/visibility-audit.sh) | Audit public repos for missing -private counterparts |
|
|
65
|
+
| Script | What it does | Source |
|
|
66
|
+
|--------|-------------|--------|
|
|
67
|
+
| `backup.sh` | Calls `~/.ldm/bin/ldm-backup.sh` (unified backup) | wip-ldm-os-private/scripts/ |
|
|
68
|
+
| [`branch-protect.sh`](tools/ldm-jobs/branch-protect.sh) | Audit and enforce branch protection across all org repos | tools/ldm-jobs/ |
|
|
69
|
+
| [`visibility-audit.sh`](tools/ldm-jobs/visibility-audit.sh) | Audit public repos for missing -private counterparts | tools/ldm-jobs/ |
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
The backup script is deployed by `ldm install` to `~/.ldm/bin/`. It backs up ~/.ldm/, ~/.openclaw/, ~/.claude/, and the workspace. See `how-backup-works.md` in the workspace docs.
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
74
|
# Run standalone
|
|
75
|
-
|
|
75
|
+
~/.ldm/bin/ldm-backup.sh # or --dry-run to preview
|
|
76
76
|
bash tools/ldm-jobs/branch-protect.sh
|
|
77
77
|
bash tools/ldm-jobs/visibility-audit.sh
|
|
78
78
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Release Notes: wip-ai-devops-toolbox v1.9.50
|
|
2
|
+
|
|
3
|
+
**wip-release: require product update doc on every release.**
|
|
4
|
+
|
|
5
|
+
## What changed
|
|
6
|
+
|
|
7
|
+
New quality gate in wip-release: checks that `ai/dev-updates/product-update/*-product-update.md` was modified since the last release tag. Same pattern as dev-updates, roadmap, and readme-first checks.
|
|
8
|
+
|
|
9
|
+
The product update doc is a human-readable test guide. Each release entry has: what changed, how it's supposed to work, and how to test. New entries go at the top. Additive only.
|
|
10
|
+
|
|
11
|
+
## Why
|
|
12
|
+
|
|
13
|
+
Three repos now have product update docs but nothing enforced keeping them current. Without the gate, the docs will drift immediately (same problem we had with TECHNICAL.md).
|
|
14
|
+
|
|
15
|
+
## Issues closed
|
|
16
|
+
|
|
17
|
+
- #220
|
|
18
|
+
|
|
19
|
+
## How to verify
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
wip-release patch --dry-run
|
|
23
|
+
# Should warn if product update doc not modified since last release
|
|
24
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Release Notes: wip-ai-devops-toolbox v1.9.51
|
|
2
|
+
|
|
3
|
+
## Branch Guard: Workspace Files Allowlist (#185)
|
|
4
|
+
|
|
5
|
+
Added TOOLS.md, MEMORY.md, IDENTITY.md, SOUL.md, WHERE-TO-WRITE.md, HEARTBEAT.md to the shared state allowlist. Both agents can now write to workspace files on main without being blocked.
|
|
6
|
+
|
|
7
|
+
Previously only SHARED-CONTEXT.md was allowed. This broke Lesa's ability to edit her own workspace files during the migration to ~/wipcomputerinc/.
|
|
8
|
+
|
|
9
|
+
## TECHNICAL.md: Backup Documentation
|
|
10
|
+
|
|
11
|
+
Updated LDM Dev Tools.app backup section to reflect the unified backup system. backup.sh now calls `~/.ldm/bin/ldm-backup.sh` (deployed by ldm install from wip-ldm-os-private/scripts/).
|
package/package.json
CHANGED
|
@@ -313,6 +313,12 @@ This is a warning, not a block. If you need to create it here, retry.`);
|
|
|
313
313
|
const SHARED_STATE_PATTERNS = [
|
|
314
314
|
/CLAUDE\.md$/,
|
|
315
315
|
/workspace\/SHARED-CONTEXT\.md$/,
|
|
316
|
+
/workspace\/TOOLS\.md$/,
|
|
317
|
+
/workspace\/MEMORY\.md$/,
|
|
318
|
+
/workspace\/IDENTITY\.md$/,
|
|
319
|
+
/workspace\/SOUL\.md$/,
|
|
320
|
+
/workspace\/WHERE-TO-WRITE\.md$/,
|
|
321
|
+
/workspace\/HEARTBEAT\.md$/,
|
|
316
322
|
/workspace\/memory\/.*\.md$/,
|
|
317
323
|
/\.ldm\/agents\/.*\/memory\/daily\/.*\.md$/,
|
|
318
324
|
/\.ldm\/memory\/shared-log\.jsonl$/,
|
|
@@ -388,6 +388,20 @@ function checkProductDocs(repoPath) {
|
|
|
388
388
|
}
|
|
389
389
|
}
|
|
390
390
|
|
|
391
|
+
// 4. Product update doc: modified since last tag
|
|
392
|
+
const productUpdateDir = join(aiDir, 'dev-updates', 'product-update');
|
|
393
|
+
if (existsSync(productUpdateDir)) {
|
|
394
|
+
const puFiles = readdirSync(productUpdateDir).filter(f => f.endsWith('.md'));
|
|
395
|
+
if (puFiles.length > 0) {
|
|
396
|
+
const anyModified = puFiles.some(f =>
|
|
397
|
+
fileModifiedSinceLastTag(repoPath, `ai/dev-updates/product-update/${f}`)
|
|
398
|
+
);
|
|
399
|
+
if (!anyModified) {
|
|
400
|
+
missing.push('ai/dev-updates/product-update/ (product update doc not updated since last release)');
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
|
|
391
405
|
return { missing, ok: missing.length === 0, skipped: false };
|
|
392
406
|
}
|
|
393
407
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# todos/
|
|
2
|
+
|
|
3
|
+
One todo file per person or agent. Three sections per file: To Do, Done, Deprecated.
|
|
4
|
+
|
|
5
|
+
## What This Folder Is
|
|
6
|
+
|
|
7
|
+
Todos that are specific to this repo. Each person or agent who works on this repo gets one file. The file tracks what they need to do, what they've done, and what got dropped.
|
|
8
|
+
|
|
9
|
+
For cross-repo work or bigger items, use GitHub Issues. Todos here are for repo-scoped tasks that don't need the overhead of an issue.
|
|
10
|
+
|
|
11
|
+
## Files
|
|
12
|
+
|
|
13
|
+
One file per person/agent. Name it `[Name]-todo.md`.
|
|
14
|
+
|
|
15
|
+
Example:
|
|
16
|
+
|
|
17
|
+
| File | Who |
|
|
18
|
+
|------|-----|
|
|
19
|
+
| `Parker-todo.md` | Parker (human tasks: reviews, credentials, approvals) |
|
|
20
|
+
| `CC-Mini-todo.md` | Claude Code on Mac Mini (code, builds, deploys) |
|
|
21
|
+
|
|
22
|
+
Create the file when that person/agent first has work to do. No empty placeholder files.
|
|
23
|
+
|
|
24
|
+
## File Format
|
|
25
|
+
|
|
26
|
+
```markdown
|
|
27
|
+
# [Name] Todos
|
|
28
|
+
|
|
29
|
+
**Last updated:** YYYY-MM-DD
|
|
30
|
+
|
|
31
|
+
## To Do
|
|
32
|
+
|
|
33
|
+
- [ ] Task description
|
|
34
|
+
- [ ] Task description (blocked by: reason)
|
|
35
|
+
|
|
36
|
+
## Done
|
|
37
|
+
|
|
38
|
+
- [x] Task description (YYYY-MM-DD)
|
|
39
|
+
- [x] Task description (YYYY-MM-DD)
|
|
40
|
+
|
|
41
|
+
## Deprecated
|
|
42
|
+
|
|
43
|
+
- ~~Task description~~ ... reason. (YYYY-MM-DD)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Rules
|
|
47
|
+
|
|
48
|
+
- **Never delete anything.** Items move between sections, never off the page.
|
|
49
|
+
- **To Do** ... work that needs to happen.
|
|
50
|
+
- **Done** ... completed work. Check the box, add the date.
|
|
51
|
+
- **Deprecated** ... planned but no longer needed. Strikethrough, add the reason and date. Not the same as Done. Done means it shipped. Deprecated means the requirement changed.
|
|
52
|
+
- **Update the date** at the top of the file every time you edit it.
|
|
53
|
+
- **One file per person/agent.** No dated files, no subfolders, no inboxes.
|
|
54
|
+
- **Blocked items** stay in To Do with a `(blocked by: reason)` note. Don't move them to a separate section.
|
|
55
|
+
|
|
56
|
+
## When to Use Todos vs GitHub Issues
|
|
57
|
+
|
|
58
|
+
| Use | When |
|
|
59
|
+
|-----|------|
|
|
60
|
+
| **Todo file** | Quick tasks, repo-scoped work, things you'll do this session or this week |
|
|
61
|
+
| **GitHub Issue** | Bugs, feature requests, cross-repo work, things that need tracking or discussion |
|
|
62
|
+
|
|
63
|
+
Both is fine. File an issue AND add a todo that references it. The todo is your personal checklist. The issue is the team's record.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wipcomputer/universal-installer",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.51",
|
|
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",
|