@wipcomputer/wip-ai-devops-toolbox 1.9.34 → 1.9.36
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/README.md +68 -68
- package/SKILL.md +25 -21
- package/package.json +1 -1
- package/scripts/deploy-public.sh +8 -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 +26 -6
- 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 +6 -10
- 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.36 (2026-03-16)
|
|
36
|
+
|
|
37
|
+
# GitHub Packages publish from public repo
|
|
38
|
+
|
|
39
|
+
**Date:** 2026-03-16
|
|
40
|
+
**Closes:** #193
|
|
41
|
+
|
|
42
|
+
## What changed
|
|
43
|
+
|
|
44
|
+
`deploy-public.sh` now publishes to GitHub Packages from the public repo clone after the npm publish step. Previously, GitHub Packages were only published from the private repo during `wip-release`, so they showed on the private repo's Packages tab. Users couldn't see them.
|
|
45
|
+
|
|
46
|
+
Now packages show on the public repo's Packages tab where users expect to find them. Uses `gh auth token` for authentication (already available from the gh CLI).
|
|
47
|
+
|
|
48
|
+
## Why
|
|
49
|
+
|
|
50
|
+
The Packages tab on public repos was empty. Users visiting wipcomputer/wip-ldm-os or wipcomputer/wip-ai-devops-toolbox saw no packages even though they were published. The packages existed but were linked to the private repo.
|
|
51
|
+
|
|
52
|
+
## 1.9.35 (2026-03-16)
|
|
53
|
+
|
|
54
|
+
# GitHub Packages publish from public repo
|
|
55
|
+
|
|
56
|
+
**Date:** 2026-03-16
|
|
57
|
+
**Closes:** #193
|
|
58
|
+
|
|
59
|
+
## What changed
|
|
60
|
+
|
|
61
|
+
`deploy-public.sh` now publishes to GitHub Packages from the public repo clone after the npm publish step. Previously, GitHub Packages were only published from the private repo during `wip-release`, so they showed on the private repo's Packages tab. Users couldn't see them.
|
|
62
|
+
|
|
63
|
+
Now packages show on the public repo's Packages tab where users expect to find them. Uses `gh auth token` for authentication (already available from the gh CLI).
|
|
64
|
+
|
|
65
|
+
## Why
|
|
66
|
+
|
|
67
|
+
The Packages tab on public repos was empty. Users visiting wipcomputer/wip-ldm-os or wipcomputer/wip-ai-devops-toolbox saw no packages even though they were published. The packages existed but were linked to the private repo.
|
|
34
68
|
|
|
35
69
|
## 1.9.34 (2026-03-16)
|
|
36
70
|
|
package/README.md
CHANGED
|
@@ -66,40 +66,48 @@ As Andrej Karpathy [said](https://x.com/karpathy/status/2024583544157458452): *"
|
|
|
66
66
|
- *Stable*
|
|
67
67
|
- [Read more about LDM Dev Tools.app](tools/ldm-jobs/README.md)
|
|
68
68
|
|
|
69
|
-
###
|
|
69
|
+
### Repo Management
|
|
70
70
|
|
|
71
|
-
**
|
|
72
|
-
-
|
|
73
|
-
-
|
|
71
|
+
**Repo Visibility Guard**
|
|
72
|
+
- Never accidentally expose a private repo.
|
|
73
|
+
- Blocks repos from going public without a `-private` counterpart. Catches accidental exposure of internal plans, todos, and development context before it happens
|
|
74
|
+
- **Interfaces:** CLI, Module, MCP, OpenClaw, Skill, CC Hook
|
|
75
|
+
- *Stable*
|
|
76
|
+
- [Read more about Repo Visibility Guard](tools/wip-repo-permissions-hook/README.md)
|
|
77
|
+
|
|
78
|
+
**Repo Manifest Reconciler**
|
|
79
|
+
- Know where every repo belongs. One source of truth for folder structure.
|
|
80
|
+
- Like prettier for folder structure. Move folders around all day; on sync, everything snaps back to where the manifest says
|
|
74
81
|
- **Interfaces:** CLI, Module, MCP, Skill
|
|
75
82
|
- *Stable*
|
|
76
|
-
- [Read more about
|
|
83
|
+
- [Read more about Repo Manifest](tools/wip-repos/README.md)
|
|
77
84
|
|
|
78
|
-
**
|
|
79
|
-
-
|
|
80
|
-
-
|
|
85
|
+
**Repo Init**
|
|
86
|
+
- Scaffold the standard `ai/` directory in any repo. Plans, notes, ideas, dev updates, todos. One command.
|
|
87
|
+
- 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.
|
|
81
88
|
- **Interfaces:** CLI, Skill
|
|
82
89
|
- *Stable*
|
|
83
|
-
- [Read more about
|
|
90
|
+
- [Read more about Repo Init](tools/wip-repo-init/README.md)
|
|
84
91
|
|
|
85
|
-
**
|
|
86
|
-
-
|
|
87
|
-
-
|
|
92
|
+
**README Formatter**
|
|
93
|
+
- Generate or validate READMEs that follow the WIP Computer standard. Badges, title, tagline, "Teach Your AI" block, features, interface coverage table, license.
|
|
94
|
+
- Generates separate section files (README-init-badges.md, README-init-features.md, etc.) so you can edit any section independently. Deploy assembles them into the final README. Same pattern as release notes: staging, review, deploy.
|
|
88
95
|
- **Interfaces:** CLI, Skill
|
|
89
96
|
- *Stable*
|
|
90
|
-
- [Read more about
|
|
97
|
+
- [Read more about README Formatter](tools/wip-readme-format/README.md)
|
|
91
98
|
|
|
92
|
-
**
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
- **Interfaces:**
|
|
99
|
+
**Forced Git Worktrees**
|
|
100
|
+
- Every repo uses git worktrees. Agents never edit on main. Period.
|
|
101
|
+
- 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.
|
|
102
|
+
- **Interfaces:** CLI, CC Hook
|
|
96
103
|
- *Stable*
|
|
97
104
|
|
|
98
|
-
**
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
- **Interfaces:**
|
|
102
|
-
- *
|
|
105
|
+
**Branch Guard**
|
|
106
|
+
- Blocks all writes on main. The enforcement layer for forced worktrees.
|
|
107
|
+
- 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. Read-only operations and merge/pull are still allowed on main.
|
|
108
|
+
- **Interfaces:** CC Hook
|
|
109
|
+
- *Stable*
|
|
110
|
+
- [Read more about Branch Guard](tools/wip-branch-guard/INSTALL.md)
|
|
103
111
|
|
|
104
112
|
### License, Compliance, and Protection
|
|
105
113
|
|
|
@@ -125,48 +133,40 @@ As Andrej Karpathy [said](https://x.com/karpathy/status/2024583544157458452): *"
|
|
|
125
133
|
- *Stable*
|
|
126
134
|
- [Read more about License Detection](tools/wip-license-hook/README.md)
|
|
127
135
|
|
|
128
|
-
###
|
|
129
|
-
|
|
130
|
-
**Repo Visibility Guard**
|
|
131
|
-
- Never accidentally expose a private repo.
|
|
132
|
-
- Blocks repos from going public without a `-private` counterpart. Catches accidental exposure of internal plans, todos, and development context before it happens
|
|
133
|
-
- **Interfaces:** CLI, Module, MCP, OpenClaw, Skill, CC Hook
|
|
134
|
-
- *Stable*
|
|
135
|
-
- [Read more about Repo Visibility Guard](tools/wip-repo-permissions-hook/README.md)
|
|
136
|
+
### Release & Deploy
|
|
136
137
|
|
|
137
|
-
**
|
|
138
|
-
-
|
|
139
|
-
-
|
|
138
|
+
**Release Pipeline**
|
|
139
|
+
- Release software correctly. Version bump, changelog, npm publish, GitHub release. One command, nothing forgotten.
|
|
140
|
+
- SKILL.md sync, release notes on the branch for PR review. Warns when notes are too short or look like changelogs instead of narrative
|
|
140
141
|
- **Interfaces:** CLI, Module, MCP, Skill
|
|
141
142
|
- *Stable*
|
|
142
|
-
- [Read more about
|
|
143
|
+
- [Read more about Release Pipeline](tools/wip-release/README.md)
|
|
143
144
|
|
|
144
|
-
**
|
|
145
|
-
-
|
|
146
|
-
-
|
|
145
|
+
**Private-to-Public Sync**
|
|
146
|
+
- Publish safely. Syncs private to public, excludes internal files, every time.
|
|
147
|
+
- One script syncs your private working repo to a clean public mirror. Excludes internal `ai/` folders automatically. Creates a PR, merges it, cleans up branches
|
|
147
148
|
- **Interfaces:** CLI, Skill
|
|
148
149
|
- *Stable*
|
|
149
|
-
- [Read more about
|
|
150
|
+
- [Read more about Private-to-Public Sync](tools/deploy-public/README.md)
|
|
150
151
|
|
|
151
|
-
**
|
|
152
|
-
-
|
|
153
|
-
-
|
|
152
|
+
**Post-Merge Branch Naming**
|
|
153
|
+
- Cleans up after itself. Merged branches get renamed with dates automatically.
|
|
154
|
+
- Renames merged branches with `--merged-YYYY-MM-DD`. Preserves history without cluttering your branch list
|
|
154
155
|
- **Interfaces:** CLI, Skill
|
|
155
156
|
- *Stable*
|
|
156
|
-
- [Read more about
|
|
157
|
+
- [Read more about Post-Merge Naming](tools/post-merge-rename/README.md)
|
|
157
158
|
|
|
158
|
-
**
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
- **Interfaces:**
|
|
159
|
+
**Skill Publish to Website**
|
|
160
|
+
- After every release, your SKILL.md goes live as plain text on your website. No manual copying. No forgetting.
|
|
161
|
+
- Add `.publish-skill.json` to your repo with `name` and `websiteRepo`. On release, SKILL.md is copied to `yoursite.com/install/{name}.txt` and deployed automatically. Any AI can fetch the URL and get clean, parseable instructions. Like `robots.txt` but for agent install prompts.
|
|
162
|
+
- **Interfaces:** Module (built into Release Pipeline)
|
|
162
163
|
- *Stable*
|
|
163
164
|
|
|
164
|
-
**
|
|
165
|
-
-
|
|
166
|
-
-
|
|
167
|
-
- **Interfaces:**
|
|
168
|
-
- *
|
|
169
|
-
- [Read more about Branch Guard](tools/wip-branch-guard/INSTALL.md)
|
|
165
|
+
**Make Discoverable in Claude Code**
|
|
166
|
+
- Turn any repo into a Claude Code plugin. Auto-generates `.claude-plugin/plugin.json` from your existing interfaces.
|
|
167
|
+
- Runs during release. Detects what your repo exposes (skills, hooks, MCP servers, agents) and builds the plugin manifest so it shows up in Claude Code's `/plugin` marketplace. No manual config.
|
|
168
|
+
- **Interfaces:** Module (built into Release Pipeline)
|
|
169
|
+
- *Planned*
|
|
170
170
|
|
|
171
171
|
## Interface Coverage
|
|
172
172
|
|
|
@@ -177,23 +177,23 @@ As Andrej Karpathy [said](https://x.com/karpathy/status/2024583544157458452): *"
|
|
|
177
177
|
| 2 | Dev Guide | | | | | | |
|
|
178
178
|
| | **Infrastructure** | | | | | | |
|
|
179
179
|
| 3 | LDM Dev Tools.app | | | | | | |
|
|
180
|
-
| | **Release & Deploy** | | | | | | |
|
|
181
|
-
| 4 | Release Pipeline | Y | Y | Y | | Y | |
|
|
182
|
-
| 5 | Private-to-Public Sync | Y | | | | Y | |
|
|
183
|
-
| 6 | Post-Merge Branch Naming | Y | | | | Y | |
|
|
184
|
-
| 7 | Skill Publish to Website | | Y | | | | |
|
|
185
|
-
| 8 | Make Discoverable in CC | | Y | | | | |
|
|
186
|
-
| | **License, Compliance, and Protection** | | | | | | |
|
|
187
|
-
| 9 | Identity File Protection | Y | Y | | Y | Y | Y |
|
|
188
|
-
| 10 | License Guard | Y | | | | | |
|
|
189
|
-
| 11 | License Rug-Pull Detection | Y | Y | Y | | Y | |
|
|
190
180
|
| | **Repo Management** | | | | | | |
|
|
191
|
-
|
|
|
192
|
-
|
|
|
193
|
-
|
|
|
194
|
-
|
|
|
195
|
-
|
|
|
196
|
-
|
|
|
181
|
+
| 4 | Repo Visibility Guard | Y | Y | Y | Y | Y | Y |
|
|
182
|
+
| 5 | Repo Manifest Reconciler | Y | Y | Y | | Y | |
|
|
183
|
+
| 6 | Repo Init | Y | | | | Y | |
|
|
184
|
+
| 7 | README Formatter | Y | | | | Y | |
|
|
185
|
+
| 8 | Forced Git Worktrees | Y | | | | | Y |
|
|
186
|
+
| 9 | Branch Guard | | | | | | Y |
|
|
187
|
+
| | **License, Compliance, and Protection** | | | | | | |
|
|
188
|
+
| 10 | Identity File Protection | Y | Y | | Y | Y | Y |
|
|
189
|
+
| 11 | License Guard | Y | | | | | |
|
|
190
|
+
| 12 | License Rug-Pull Detection | Y | Y | Y | | Y | |
|
|
191
|
+
| | **Release & Deploy** | | | | | | |
|
|
192
|
+
| 13 | Release Pipeline | Y | Y | Y | | Y | |
|
|
193
|
+
| 14 | Private-to-Public Sync | Y | | | | Y | |
|
|
194
|
+
| 15 | Post-Merge Branch Naming | Y | | | | Y | |
|
|
195
|
+
| 16 | Skill Publish to Website | | Y | | | | |
|
|
196
|
+
| 17 | Make Discoverable in Claude Code | | Y | | | | |
|
|
197
197
|
|
|
198
198
|
## More Info
|
|
199
199
|
|
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.36"
|
|
9
9
|
homepage: "https://github.com/wipcomputer/wip-ai-devops-toolbox"
|
|
10
10
|
author: "Parker Todd Brooks"
|
|
11
11
|
category: dev-tools
|
|
@@ -777,26 +777,30 @@ Tools with MCP interfaces are agent-callable. Add to `.mcp.json`:
|
|
|
777
777
|
|
|
778
778
|
## Interface Coverage
|
|
779
779
|
|
|
780
|
-
| # | Tool | CLI | Module | MCP | OC Plugin | Skill | CC Hook |
|
|
781
|
-
|
|
782
|
-
| | **Setup & Onboarding** | | | | | | |
|
|
783
|
-
| 1 | Universal Installer | Y | Y | | | Y | |
|
|
784
|
-
| 2 | Dev Guide | | | | | | |
|
|
785
|
-
| | **Infrastructure** | | | | | | |
|
|
786
|
-
| 3 | LDM Dev Tools.app | | | | | | |
|
|
787
|
-
| | **
|
|
788
|
-
| 4 |
|
|
789
|
-
| 5 |
|
|
790
|
-
| 6 |
|
|
791
|
-
| |
|
|
792
|
-
|
|
|
793
|
-
|
|
|
794
|
-
|
|
|
795
|
-
| |
|
|
796
|
-
|
|
|
797
|
-
|
|
|
798
|
-
|
|
|
799
|
-
| 13 |
|
|
780
|
+
| # | Tool | CLI | Module | MCP | OC Plugin | Skill | CC Hook |
|
|
781
|
+
|---|------|-----|--------|-----|-----------|-------|---------|
|
|
782
|
+
| | **Setup & Onboarding** | | | | | | |
|
|
783
|
+
| 1 | Universal Installer | Y | Y | | | Y | |
|
|
784
|
+
| 2 | Dev Guide | | | | | | |
|
|
785
|
+
| | **Infrastructure** | | | | | | |
|
|
786
|
+
| 3 | LDM Dev Tools.app | | | | | | |
|
|
787
|
+
| | **Repo Management** | | | | | | |
|
|
788
|
+
| 4 | Repo Visibility Guard | Y | Y | Y | Y | Y | Y |
|
|
789
|
+
| 5 | Repo Manifest Reconciler | Y | Y | Y | | Y | |
|
|
790
|
+
| 6 | Repo Init | Y | | | | Y | |
|
|
791
|
+
| 7 | README Formatter | Y | | | | Y | |
|
|
792
|
+
| 8 | Forced Git Worktrees | Y | | | | | Y |
|
|
793
|
+
| 9 | Branch Guard | | | | | | Y |
|
|
794
|
+
| | **License, Compliance, and Protection** | | | | | | |
|
|
795
|
+
| 10 | Identity File Protection | Y | Y | | Y | Y | Y |
|
|
796
|
+
| 11 | License Guard | Y | | | | | |
|
|
797
|
+
| 12 | License Rug-Pull Detection | Y | Y | Y | | Y | |
|
|
798
|
+
| | **Release & Deploy** | | | | | | |
|
|
799
|
+
| 13 | Release Pipeline | Y | Y | Y | | Y | |
|
|
800
|
+
| 14 | Private-to-Public Sync | Y | | | | Y | |
|
|
801
|
+
| 15 | Post-Merge Branch Naming | Y | | | | Y | |
|
|
802
|
+
| 16 | Skill Publish to Website | | Y | | | | |
|
|
803
|
+
| 17 | Make Discoverable in Claude Code | | Y | | | | |
|
|
800
804
|
|
|
801
805
|
---
|
|
802
806
|
|
package/package.json
CHANGED
package/scripts/deploy-public.sh
CHANGED
|
@@ -158,7 +158,14 @@ if $DRY_RUN; then
|
|
|
158
158
|
exit 0
|
|
159
159
|
fi
|
|
160
160
|
|
|
161
|
-
git commit -m "$
|
|
161
|
+
git commit -m "$(cat <<COMMITEOF
|
|
162
|
+
$COMMIT_MSG (from $COMMIT_HASH)
|
|
163
|
+
|
|
164
|
+
Co-Authored-By: Parker Todd Brooks <parkertoddbrooks@users.noreply.github.com>
|
|
165
|
+
Co-Authored-By: Lēsa <lesaai@icloud.com>
|
|
166
|
+
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
167
|
+
COMMITEOF
|
|
168
|
+
)"
|
|
162
169
|
|
|
163
170
|
if [[ "$EMPTY_REPO" == "true" ]]; then
|
|
164
171
|
# Empty repo: push directly to main (no base branch to PR against)
|
|
@@ -205,10 +205,30 @@ async function main() {
|
|
|
205
205
|
repoDir = process.env.CWD || process.cwd();
|
|
206
206
|
}
|
|
207
207
|
|
|
208
|
-
// Check if the target repo is on main
|
|
208
|
+
// Check if the target repo is on main AND if we're in a worktree
|
|
209
209
|
const branch = getCurrentBranch(repoDir);
|
|
210
|
-
|
|
211
|
-
|
|
210
|
+
const worktree = isInWorktree(repoDir);
|
|
211
|
+
|
|
212
|
+
if (!branch) {
|
|
213
|
+
// Not in a git repo, allow
|
|
214
|
+
process.exit(0);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
if (branch !== 'main' && branch !== 'master' && worktree) {
|
|
218
|
+
// On a branch AND in a worktree. Correct workflow. Allow.
|
|
219
|
+
process.exit(0);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
if (branch !== 'main' && branch !== 'master' && !worktree) {
|
|
223
|
+
// On a branch but NOT in a worktree. Block writes.
|
|
224
|
+
const isWriteOp = WRITE_TOOLS.has(toolName) ||
|
|
225
|
+
(toolName === BASH_TOOL && command &&
|
|
226
|
+
BLOCKED_BASH_PATTERNS.some(p => p.test(command)) &&
|
|
227
|
+
!ALLOWED_BASH_PATTERNS.some(p => p.test(command)));
|
|
228
|
+
if (isWriteOp) {
|
|
229
|
+
deny(`BLOCKED: On branch "${branch}" but not in a worktree. Use: git worktree add ../my-worktree -b ${branch}`);
|
|
230
|
+
process.exit(0);
|
|
231
|
+
}
|
|
212
232
|
process.exit(0);
|
|
213
233
|
}
|
|
214
234
|
|
|
@@ -216,7 +236,7 @@ async function main() {
|
|
|
216
236
|
|
|
217
237
|
// Block Write/Edit tools entirely on main
|
|
218
238
|
if (WRITE_TOOLS.has(toolName)) {
|
|
219
|
-
deny(`BLOCKED: Cannot ${toolName} while on main branch.
|
|
239
|
+
deny(`BLOCKED: Cannot ${toolName} while on main branch. Use a worktree: git worktree add ../my-worktree -b cc-mini/your-feature`);
|
|
220
240
|
process.exit(0);
|
|
221
241
|
}
|
|
222
242
|
|
|
@@ -238,7 +258,7 @@ async function main() {
|
|
|
238
258
|
if (ap.test(command)) { isAllowed = true; break; }
|
|
239
259
|
}
|
|
240
260
|
if (!isAllowed) {
|
|
241
|
-
deny(`BLOCKED: Cannot run "${command.substring(0, 60)}..." on main branch.
|
|
261
|
+
deny(`BLOCKED: Cannot run "${command.substring(0, 60)}..." on main branch. Use a worktree: git worktree add ../my-worktree -b cc-mini/your-feature`);
|
|
242
262
|
process.exit(0);
|
|
243
263
|
}
|
|
244
264
|
}
|
|
@@ -253,7 +273,7 @@ async function main() {
|
|
|
253
273
|
if (ap.test(command)) { isAllowed = true; break; }
|
|
254
274
|
}
|
|
255
275
|
if (!isAllowed) {
|
|
256
|
-
deny(`BLOCKED: Cannot run file-modifying command on main branch.
|
|
276
|
+
deny(`BLOCKED: Cannot run file-modifying command on main branch. Use a worktree: git worktree add ../my-worktree -b cc-mini/your-feature`);
|
|
257
277
|
process.exit(0);
|
|
258
278
|
}
|
|
259
279
|
}
|
|
@@ -941,7 +941,7 @@ export async function release({ repoPath, level, notes, notesSource, dryRun, noP
|
|
|
941
941
|
console.log(` [dry run] Would commit and tag v${newVersion}`);
|
|
942
942
|
if (!noPublish) {
|
|
943
943
|
console.log(` [dry run] Would publish to npm (@wipcomputer scope)`);
|
|
944
|
-
console.log(` [dry run]
|
|
944
|
+
console.log(` [dry run] GitHub Packages: handled by deploy-public.sh`);
|
|
945
945
|
console.log(` [dry run] Would create GitHub release v${newVersion}`);
|
|
946
946
|
if (hasSkill) console.log(` [dry run] Would publish to ClawHub`);
|
|
947
947
|
// Skill-to-website dry run (auto-detects SKILL.md, no config needed)
|
|
@@ -1043,15 +1043,11 @@ export async function release({ repoPath, level, notes, notesSource, dryRun, noP
|
|
|
1043
1043
|
console.log(` ✗ npm publish failed: ${e.message}`);
|
|
1044
1044
|
}
|
|
1045
1045
|
|
|
1046
|
-
// 7. GitHub Packages
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
} catch (e) {
|
|
1052
|
-
distResults.push({ target: 'GitHub Packages', status: 'failed', detail: e.message });
|
|
1053
|
-
console.log(` ✗ GitHub Packages publish failed: ${e.message}`);
|
|
1054
|
-
}
|
|
1046
|
+
// 7. GitHub Packages ... SKIPPED from private repos.
|
|
1047
|
+
// deploy-public.sh publishes to GitHub Packages from the public repo clone.
|
|
1048
|
+
// Publishing from private ties the package to the private repo, making it
|
|
1049
|
+
// invisible on the public repo's Packages tab. (#53)
|
|
1050
|
+
console.log(` - GitHub Packages: handled by deploy-public.sh (from public repo)`);
|
|
1055
1051
|
|
|
1056
1052
|
// 8. GitHub release
|
|
1057
1053
|
try {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wipcomputer/universal-installer",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.36",
|
|
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",
|