@wipcomputer/wip-ai-devops-toolbox 1.9.50 → 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 CHANGED
@@ -31,6 +31,20 @@
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/).
34
48
 
35
49
  ## 1.9.50 (2026-03-20)
36
50
 
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.50"
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, committed at [`tools/ldm-jobs/`](tools/ldm-jobs/):
63
+ **Source:** Job scripts are plain shell. The app provides a Full Disk Access wrapper.
64
64
 
65
- | Script | What it does |
66
- |--------|-------------|
67
- | [`backup.sh`](tools/ldm-jobs/backup.sh) | Daily backup |
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
- Scripts can be run standalone without the `.app`. The app provides a Full Disk Access wrapper for scripts that need it.
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
- bash tools/ldm-jobs/backup.sh
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,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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-ai-devops-toolbox",
3
- "version": "1.9.50",
3
+ "version": "1.9.51",
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.50",
3
+ "version": "1.9.51",
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.50",
3
+ "version": "1.9.51",
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"
@@ -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$/,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-branch-guard",
3
- "version": "1.9.50",
3
+ "version": "1.9.51",
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.50",
3
+ "version": "1.9.51",
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.50",
3
+ "version": "1.9.51",
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.50",
3
+ "version": "1.9.51",
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.50",
3
+ "version": "1.9.51",
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.50",
3
+ "version": "1.9.51",
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.50",
3
+ "version": "1.9.51",
4
4
  "description": "Scaffold the standard ai/ directory structure in any repo",
5
5
  "type": "module",
6
6
  "bin": {
@@ -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/wip-repo-permissions-hook",
3
- "version": "1.9.50",
3
+ "version": "1.9.51",
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.50",
3
+ "version": "1.9.51",
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.50",
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",