Skip to content

/wbPublish — Live Demo () ​

What /wbPublish would actually do on wb-labs right now. The package state, dist-folder issues, and registry assumptions below reflect the live workspace.


1. Live target ​

FieldLive value
Working treeHeavily dirty (docs sync uncommitted)
Recent tagsUnknown without git tag inspection — assume some
Memory blockersproject_pkg_dist_mismatch.md (wbc-ui2-cdn dist-folder mismatch — would fail manifest validation); wbc-ui2-tech-debt.md (untested apps)
Most likely candidate for publishcore2/packages/wb-core/ if it has a current tag and a working build
Known publish blockercore2/packages/wbc-ui2-cdn/ — dist-folder mismatch refuses to publish

The wbc-ui2-cdn issue is the interesting live case: this is a real publish blocker grounded in a memory-tracked decision, and /wbPublish would surface it even before any registry call.


2. What each input form would resolve to today ​

InputLive resolution
/wbPublish (default — most-recent tagged)Would attempt to publish whichever package has the most recent tag. Halts on dirty tree first.
/wbPublish core2/packages/wb-coreHalts on dirty tree. With a clean tree, would proceed to manifest check; likely OK.
/wbPublish core2/packages/wbc-ui2-cdnHalts on dirty tree first. Even with clean tree, would refuse on manifest validation due to dist-folder mismatch.
/wbPublish --allHalts on dirty tree. Otherwise would attempt all; would succeed for wb-core, fail for wbc-ui2-cdn → partial publish state.
/wbPublish --dry-runPermitted on dirty tree (no registry calls). Useful for surfacing what would happen.

3. Per-flag behavior, applied live ​

Flag combinationLive result
(no flag)Halt — dirty tree.
--dry-runPermitted; surfaces blockers including the dist-folder mismatch.
--all --dry-runPermitted; surfaces all blockers across packages.
--all (no dry-run)Halt — dirty tree, plus strong suggestion to dry-run.
--prereleaseHalt — dirty tree.
--restoreHonest "no failed publish to restore."

4. Pipelines ​

📋/wbPublish Live Execution Simulator
`--all --dry-run` to see what would happen/wbPublish --all --dry-run
> /wbPublish --all --dry-run
[SYSTEM] Multi-package dry run.
[CHECK] Working tree clean? NO (warning, not blocking in dry-run).
[NOTE] Dry-run analyzes the *committed* state; uncommitted work
isn't part of the analysis.
[SCAN] Packages in core2/packages/* with version fields...
[ANALYSIS]
- @wbc-ui2/wb-core (assume v1.3.0 if tagged):
Tag exists? Assumed yes. Already on registry? Assumed no.
Manifest validation: main, exports — assumed OK.
→ Would publish.
- @wbc-ui2/wb-dataviewer (assume v1.2.1 if tagged):
Tag exists? Assumed yes. On registry? Assumed no.
Manifest validation: assumed OK.
→ Would publish.
- @wbc-ui2/wbc-ui2-cdn (assume v1.0.0):
Tag exists? Assumed yes. On registry? Unknown.
Manifest validation: **FAIL**
main: "./dist/index.js" — does not exist.
Build output goes to ./dist-dev/ per vite config.
[MEMORY] project_pkg_dist_mismatch.md flags this as parked.
→ **WOULD NOT PUBLISH**. /wbPublish refuses bad manifests.
- @wbc-ui2/wbc-ui2 (assume v1.0.0):
Tag exists? Assumed yes. On registry? Unknown.
[MEMORY] wbc-ui2-tech-debt.md flags untested apps + vuepress crash.
Manifest validation: depends on actual state.
→ Likely refusal due to test-and-build issues.
[SUMMARY]
Would publish: 2 packages (wb-core, wb-dataviewer).
Would refuse: 2 packages (wbc-ui2-cdn, wbc-ui2 — both for parked
tech-debt reasons surfaced via memory).
[OK] Dry-run complete. To proceed:
- Commit the working tree first: /wbGit -r -e -p
- Then: /wbPublish core2/packages/wb-core (or wb-dataviewer)
individually — `--all` would partial-fail.
- Address the parked items (architectural conversations) before
publishing wbc-ui2-cdn or wbc-ui2.
⚠️ Note: The most informative invocation today (no writes, surfaces blockers):

💠 Pipeline --all --dry-run to see what would happen ​

The most informative invocation today (no writes, surfaces blockers):

💠 Pipeline A clean single-package publish (after the dirty tree is committed) ​

Hypothetical, post-/wbGit:

💠 Pipeline The wbc-ui2-cdn refusal (memory-aware) ​

💠 Pipeline --restore on a clean state ​


5. What would refuse today ​

TriggerLive response
/wbPublishHalt — dirty tree.
/wbPublish --allHalt — dirty tree + dangerous-by-default warning.
/wbPublish core2/packages/wbc-ui2-cdnHalt — dirty tree first; even clean, refuses on manifest validation.
/wbPublish core2/packages/wb-coreHalt — dirty tree first.
/wbPublish "the wbcode package"Halt — free-text.
/wbPublish --restoreExit 0 — nothing to recover.
/wbPublish --prerelease <pkg> for a non-prerelease versionHalt — flag/version mismatch.
/wbPublish "unpublish please" via NLRefuse — unpublish is destructive and policy-implicating; tell user to use npm directly.

The pattern: /wbPublish is narrow, manifest-validating, memory-aware. It refuses dirty trees, refuses bad manifests (the dist-folder mismatch is the live example), refuses to silently overwrite latest with pre-releases. The recommended path on this exact workspace today: commit first via /wbGit -r -e -p, then /wbPublish --all --dry-run to confirm the landscape, then /wbPublish <pkg> per package — explicitly, not via --all, until the parked items are addressed.