wb-flow 1.0.0-r01
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 +12 -0
- package/LICENSE +21 -0
- package/README.md +128 -0
- package/assets/demo.gif +0 -0
- package/bin/install.js +175 -0
- package/bin/link.js +71 -0
- package/bin/verify-wrappers.js +49 -0
- package/package.json +56 -0
- package/templates/commands/_shared/output_conventions.md +433 -0
- package/templates/commands/_shared/wb_universal_agent_instructions.md +72 -0
- package/templates/commands/model_recommendation_updates.md +74 -0
- package/templates/commands/model_recommendations.md +112 -0
- package/templates/commands/wbActOn/wbActOn_template.md +546 -0
- package/templates/commands/wbAudit/wbAudit_template.md +315 -0
- package/templates/commands/wbBroadcast/wbBroadcast_template.md +133 -0
- package/templates/commands/wbCheck/wbCheck_template.md +322 -0
- package/templates/commands/wbClean/wbClean_template.md +118 -0
- package/templates/commands/wbContext/wbContext_template.md +213 -0
- package/templates/commands/wbDebug/wbDebug_template.md +132 -0
- package/templates/commands/wbDeploy/wbDeploy_template.md +224 -0
- package/templates/commands/wbDoc/wbDoc_template.md +138 -0
- package/templates/commands/wbExplain/wbExplain_template.md +98 -0
- package/templates/commands/wbGit/wbGit_template.md +160 -0
- package/templates/commands/wbHelp/wbHelp_template.md +101 -0
- package/templates/commands/wbIdea/wbIdea_template.md +337 -0
- package/templates/commands/wbLicense/wbLicense_template.md +148 -0
- package/templates/commands/wbMonetize/wbMonetize_template.md +113 -0
- package/templates/commands/wbNext/wbNext_template.md +270 -0
- package/templates/commands/wbPlan/wbPlan_template.md +413 -0
- package/templates/commands/wbPublish/wbPublish_template.md +205 -0
- package/templates/commands/wbRefactor/wbRefactor_template.md +129 -0
- package/templates/commands/wbRelease/wbRelease_template.md +229 -0
- package/templates/commands/wbReview/wbReview_template.md +252 -0
- package/templates/commands/wbSecure/wbSecure_template.md +157 -0
- package/templates/commands/wbSetup/wbSetup_template.md +203 -0
- package/templates/commands/wbStandup/wbStandup_template.md +198 -0
- package/templates/commands/wbTest/wbTest_template.md +226 -0
- package/templates/commands/wbToWBC/wbToWBC_template.md +91 -0
- package/templates/commands/wbTrack/wbTrack_template.md +555 -0
- package/templates/commands/wbTranslate/wbTranslate_template.md +114 -0
- package/templates/commands/wbValid/wbValid_template.md +142 -0
- package/templates/commands/wbVision/wbVision_template.md +141 -0
- package/templates/commands/wbWork/wbWork_template.md +140 -0
- package/templates/commands/wb_commands_reference.claude.json +2305 -0
- package/templates/commands/wb_commands_reference.json +1109 -0
- package/templates/shortcuts/shortcuts.md +413 -0
- package/templates/shortcuts/usage-management-examples-shortcuts/budget_controllers_examples.md +96 -0
- package/templates/shortcuts/usage-management-examples-shortcuts/ultimate_shortcuts_examples.md +1531 -0
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
# wbAudit Template v3.1 — Sends to Unified Backlog
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
<!-- HELP_GATE_START -->
|
|
5
|
+
## Help intercept (handle FIRST — before any other action)
|
|
6
|
+
|
|
7
|
+
**If `$ARGUMENTS` contains `--help`, `-h`, or `--h`** (case-insensitive, anywhere in the args), DO NOT execute the command's normal procedure. Instead:
|
|
8
|
+
|
|
9
|
+
1. Output the **HELP BLOCK** below verbatim (rendered as markdown).
|
|
10
|
+
2. Stop. Do not perform any file reads, writes, or other tool calls.
|
|
11
|
+
3. Do not generate any reports under `.wb/workflows/reports/`.
|
|
12
|
+
|
|
13
|
+
Otherwise, ignore this section and proceed to the rest of the template.
|
|
14
|
+
|
|
15
|
+
### HELP BLOCK — `/wbAudit`
|
|
16
|
+
|
|
17
|
+
## The two modes
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/wbAudit <folder> # strategic: score + findings + recommendation
|
|
21
|
+
/wbAudit <file> # surgical: flaws + existing-vs-suggested diff
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The folder mode is what you run before `/wbRelease`. The file mode is what you run when you're about to refactor something or got a bug report on a specific file.
|
|
25
|
+
|
|
26
|
+
## When to audit
|
|
27
|
+
|
|
28
|
+
- **Before `/wbRelease`** — folder audit on the package being released.
|
|
29
|
+
- **Before `/wbDeploy`** — folder audit on the app being deployed.
|
|
30
|
+
- **After inheriting code** — folder audit on the package to baseline the debt.
|
|
31
|
+
- **Before refactoring a specific file** — file audit on that file.
|
|
32
|
+
- **After `/wbDebug` finds a root cause** — file audit to see if similar patterns exist elsewhere.
|
|
33
|
+
|
|
34
|
+
Do NOT audit:
|
|
35
|
+
- Work in progress. Audit the *finished* thing.
|
|
36
|
+
- Third-party code you can't fix. Audit only code you control.
|
|
37
|
+
- Files you already know are broken (you don't need a score; you need `/wbDebug`).
|
|
38
|
+
|
|
39
|
+
## Reading the audit
|
|
40
|
+
|
|
41
|
+
A useful audit has five things. A useless audit is missing at least one:
|
|
42
|
+
|
|
43
|
+
1. **Score** with a ship/don't-ship recommendation.
|
|
44
|
+
2. **Findings ranked by severity** (BLOCKER / MAJOR / MINOR).
|
|
45
|
+
3. **Specific file + line references**.
|
|
46
|
+
4. **"What this audit did NOT check"** section.
|
|
47
|
+
5. **Next command** (usually `/wbPlan` to fix blockers).
|
|
48
|
+
|
|
49
|
+
If any of these are missing, re-run with "harsher."
|
|
50
|
+
|
|
51
|
+
## The rubber-stamp failure mode
|
|
52
|
+
|
|
53
|
+
Default LLM agreeableness produces audits that say "looks good overall, minor improvements possible." This is always wrong for non-trivial packages. Every active package has at least one MAJOR finding.
|
|
54
|
+
|
|
55
|
+
Counter-prompt: *"Re-audit. Assume a paying customer who hates this codebase is about to file a bug report. Read reports/ for prior audits — unresolved findings are by definition current findings. Flag subtle divergences, not generic advice. Name files, functions, line numbers."*
|
|
56
|
+
|
|
57
|
+
## The "don't resolve open decisions" rule
|
|
58
|
+
|
|
59
|
+
If `context.md` contains an open architectural decision (e.g., "extractSubObject array handling: undecided"), the audit must **surface** that decision, not resolve it. A good audit says "this is open; don't let new consumers lock it in." A bad audit says "you should probably go with structural."
|
|
60
|
+
|
|
61
|
+
Audits are for describing reality, not deciding architecture.
|
|
62
|
+
|
|
63
|
+
## What /wbAudit cannot do
|
|
64
|
+
|
|
65
|
+
- **Performance.** Audit reads code, not runtime. Use `/wbTest --profile`.
|
|
66
|
+
- **Security.** Audit is general-purpose. Use `/wbReview --security` for adversarial checks.
|
|
67
|
+
- **Business logic correctness.** Audit can't tell if your feature *should* exist.
|
|
68
|
+
- **User experience.** Audit reads code, not UX.
|
|
69
|
+
|
|
70
|
+
Every good audit names these limits in its "did NOT check" section.
|
|
71
|
+
|
|
72
|
+
## When /wbAudit is the wrong command
|
|
73
|
+
|
|
74
|
+
- You want to verify a specific change is correct → `/wbReview` (surgical, scoped to a change).
|
|
75
|
+
- You want to run tests → `/wbTest` (mechanical verification).
|
|
76
|
+
- You want to find *why* something's broken → `/wbDebug`.
|
|
77
|
+
- You want to clean up dead code → `/wbClean`.
|
|
78
|
+
|
|
79
|
+
`/wbAudit` answers one question: *"Is this code ready to ship?"*
|
|
80
|
+
|
|
81
|
+
> For deeper reading: [`docs_claude/commands/wbAudit/wbAudit_practical_claude.md`](../../docs/docs_claude/commands/wbAudit/wbAudit_practical_claude.md) (or the `_eli5_`, `_expert_`, `_examples_` siblings).
|
|
82
|
+
|
|
83
|
+
<!-- FLAGS_TABLE_START -->
|
|
84
|
+
## Flags & shortcuts
|
|
85
|
+
|
|
86
|
+
Both forms are equivalent — pass either:
|
|
87
|
+
|
|
88
|
+
| Long form | Shortcut |
|
|
89
|
+
|---|---|
|
|
90
|
+
| `--profile` | `-p` |
|
|
91
|
+
| `--scope` | `-s` |
|
|
92
|
+
| `--security` | `-S` |
|
|
93
|
+
| `--act` | `-a` |
|
|
94
|
+
| `--wbPlan` | `-P` |
|
|
95
|
+
| `--ideas` | `-I` | Routes P3/cosmetic findings as ideas to `idea_*.md` instead of discarding them. |
|
|
96
|
+
|
|
97
|
+
`-h` / `--help` / `--h` (any command) prints this help block instead of executing.
|
|
98
|
+
## Self-correct mode (dual-mode invocation)
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
/wbAudit <scope_folder> # normal mode — produce a fresh output file
|
|
102
|
+
/wbAudit <previous_output_file> # self-correct mode — verify & repair the file in place
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
When the first arg is an existing output file from a prior `/wbAudit` run (detected by its first H1 — see this template's **Detection** section), the command runs in **verify-and-repair** mode: gap-fills missing fields, normalizes links, ticks done/valid checkboxes whose reports exist, never rewrites authored content. See [`../_shared/output_conventions.md`](../_shared/output_conventions.md) §3.
|
|
106
|
+
|
|
107
|
+
<!-- FLAGS_TABLE_END -->
|
|
108
|
+
<!-- HELP_GATE_END -->
|
|
109
|
+
|
|
110
|
+
<!-- FLAG_NORMALIZE_START -->
|
|
111
|
+
## Flag normalization (apply BEFORE parsing args)
|
|
112
|
+
|
|
113
|
+
Before processing `$ARGUMENTS`, normalize these short-form flags to their long equivalents:
|
|
114
|
+
|
|
115
|
+
- `-p` → `--profile`
|
|
116
|
+
- `-s` → `--scope`
|
|
117
|
+
- `-S` → `--security`
|
|
118
|
+
- `-a` → `--act`
|
|
119
|
+
- `-P` → `--wbPlan`
|
|
120
|
+
- `-I` → `--ideas`
|
|
121
|
+
|
|
122
|
+
The rest of this template documents only the long forms; the substitution above is the only place short forms are mentioned.
|
|
123
|
+
<!-- FLAG_NORMALIZE_END -->
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
> **How to use**: This is the manual template for generating an audit report. Paste this to an AI to have it perform a deep, honest, code-based technical audit.
|
|
128
|
+
>
|
|
129
|
+
> **v3 change:** After creating the audit report, findings are **auto-sent to the plan file** as backlog rows.
|
|
130
|
+
> **Read first:** [`../_shared/output_conventions.md`](../_shared/output_conventions.md) — applies to every cell of the output (relative links, full-syntax commands, self-correct mode, **§9 Action Type Tagging** — declare `type:` + `emits:` in YAML front-matter, add a plain-text `Requires` column to every findings/Top-N-actions table, include a `## 🔗 Action Types` legend).
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Detection (Self-Correct Mode)
|
|
135
|
+
|
|
136
|
+
Trigger self-correct when the input file's first H1 matches:
|
|
137
|
+
`# Audit Report: <scope> — <YYYY-MM-DD>` *(or the legacy `# Audit Entry #N` header for entry-N append mode).*
|
|
138
|
+
|
|
139
|
+
Behavior is defined in [`../_shared/output_conventions.md`](../_shared/output_conventions.md) §3.
|
|
140
|
+
|
|
141
|
+
Audit-specific gap-fills:
|
|
142
|
+
|
|
143
|
+
- Bare `Origin: /wbAudit` or `Verify: /wbTest` in the sent-to-plan table → expand to full syntax `/wbAudit <target>` / `/wbTest <target>` per §2.
|
|
144
|
+
- Plain-text file references in findings (file paths, line numbers) → relative markdown links per §1.
|
|
145
|
+
- Missing severity tier (P0–P3) on findings → infer from the existing Consensus Table or score.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Filename & Folder Convention (v2 — Universal Daily File)
|
|
150
|
+
|
|
151
|
+
**Path:** `<target_folder>/.wb/workflows/reports/<YYYY>/<MM>/<DD>/audits/audit_<target>_<YYYYMMDD>.md`
|
|
152
|
+
|
|
153
|
+
> **No `<model>/` subfolder.** All models contribute to ONE audit file per day per scope.
|
|
154
|
+
> **No timestamp in filename.** Filename uses only the date.
|
|
155
|
+
|
|
156
|
+
**Create-or-Append Rule:**
|
|
157
|
+
- **File does NOT exist →** CREATE the file with a header and your audit as Entry #1.
|
|
158
|
+
- **File ALREADY exists →** READ it, then APPEND your audit as the next Entry #N. You SHOULD reference and respond to previous entries (agree/disagree with scores, add missed findings).
|
|
159
|
+
- **Every entry tagged:** `*(ModelName via Client — HH:MM)*`
|
|
160
|
+
|
|
161
|
+
**Example (v2):**
|
|
162
|
+
If Gemini Pro runs `/wbAudit` on `packages/wb-core` on April 22, 2026 at 16:00:
|
|
163
|
+
```
|
|
164
|
+
packages/wb-core/.wb/workflows/reports/20260422/audits/audit_wb-core_20260422.md
|
|
165
|
+
```
|
|
166
|
+
If Claude runs it later the same day, it appends Entry #2 to the same file — but with **Smart Merge** (see below).
|
|
167
|
+
|
|
168
|
+
### Smart Merge Protocol (finding-based commands only)
|
|
169
|
+
|
|
170
|
+
When you are the **second (or Nth) model** appending to an existing audit file, you MUST:
|
|
171
|
+
|
|
172
|
+
1. **READ** the entire existing file before writing.
|
|
173
|
+
2. **EXTRACT** all findings from previous entries.
|
|
174
|
+
3. **For each finding you identified**, check if it matches an existing finding:
|
|
175
|
+
- **Match criteria:** ≥2 of: same file referenced, same function/method, >70% title token overlap.
|
|
176
|
+
- **MATCH FOUND →** Do NOT create a duplicate finding. Instead:
|
|
177
|
+
- Add your severity/evidence/recommendation to a **Model Votes** detail section under that finding.
|
|
178
|
+
- Update the **Consensus Table** (if one exists) with your vote, or promote the flat findings to a Consensus Table.
|
|
179
|
+
- **NO MATCH →** Add as a new finding (genuinely new discovery).
|
|
180
|
+
4. **Build/update the Consensus Table** at the top with columns: `# | Finding | Confidence | Models | Severity (consensus) | Status`
|
|
181
|
+
- Confidence: `🟢 N/N` (all models agree), `🟡 K/N` (partial).
|
|
182
|
+
- Severity: when models disagree, use the **higher** severity (conservative).
|
|
183
|
+
5. **Add a merge log** at the bottom: `> *Merged by <ModelName> — HH:MM — X duplicates enriched, Y new findings added*`
|
|
184
|
+
|
|
185
|
+
> **First model?** Just write normally as Entry #1. No Consensus Table needed — it will be created by the second model.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## The Prompt (copy from here ↓)
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
━━━━━━━━━━━━━ /wbAudit ━━━━━━━━━━━━━
|
|
193
|
+
|
|
194
|
+
📁 TARGET: __TARGET_FOLDER_OR_FILE_PATH__
|
|
195
|
+
📅 DATE: __TODAY__
|
|
196
|
+
🤖 MODEL: __YOUR_MODEL_NAME__
|
|
197
|
+
🖥️ CLIENT: __YOUR_CLIENT__
|
|
198
|
+
|
|
199
|
+
━━━ CONTEXT & GOAL ━━━
|
|
200
|
+
Perform a deep, honest, code-based technical audit of the target.
|
|
201
|
+
User is the sole developer of a Vue 2 monorepo UI engine with 12 sub-packages, freemium tiering, and demo apps. Wants brutal, evidence-based evaluation.
|
|
202
|
+
|
|
203
|
+
━━━ INSTRUCTIONS ━━━
|
|
204
|
+
|
|
205
|
+
**[TEMPORAL MEMORY]**: Before executing your main task, you MUST scan the `.wb/workflows/reports/` directory of your target scope. Look for recent `audits/`, `reviews/`, or `tests/` reports. Use these past reports to understand recent failures, technical debt, or architectural decisions that affect your current execution.
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
1. Inspect actual codebase/content — base everything on what EXISTS, not plans.
|
|
209
|
+
2. DYNAMIC SCOPING:
|
|
210
|
+
- **If TARGET is a FOLDER (Project Level):** Evaluate the local content and compare it against the broader tech community (e.g., Vue ecosystem, data analysis tools, competitors). Assess the real implementation status, business viability of the freemium model, security vulnerabilities, and architectural debt.
|
|
211
|
+
- **If TARGET is a FILE (e.g., dev.md):** Analyze what the file is used for, identify missing points or logical flaws, and provide a fully enhanced, inspired suggestion for the file content. Ensure you include a comparison table showing the differences between the existent file and the new suggestion.
|
|
212
|
+
3. Suggest enhancements, new ideas, or structural improvements.
|
|
213
|
+
4. Deliver a score out of 10 with status classification.
|
|
214
|
+
5. Structure the output as a 9-section audit report with tables, concrete evidence, and actionable conclusions.
|
|
215
|
+
|
|
216
|
+
6. SAVE using the Universal Daily File pattern:
|
|
217
|
+
|
|
218
|
+
CHECK if this file exists:
|
|
219
|
+
`<target_folder>/.wb/workflows/reports/__YYYY__/__MM__/__DD__/audits/audit___NAME_____YYYYMMDD__.md`
|
|
220
|
+
|
|
221
|
+
- If it does NOT exist → CREATE the file with header + your audit as Entry #1
|
|
222
|
+
- If it ALREADY exists → APPEND your audit as the next Entry #N
|
|
223
|
+
|
|
224
|
+
Entry header format (use `---` only when appending, NEVER as the very first line of the file):
|
|
225
|
+
# Audit Entry #N — *(__YOUR_MODEL_NAME__ via __YOUR_CLIENT__ — __CURRENT_TIME__)*
|
|
226
|
+
> **Model:** __YOUR_MODEL_NAME__
|
|
227
|
+
> **Client:** __YOUR_CLIENT__
|
|
228
|
+
> **Time:** __TODAY__ __CURRENT_TIME__
|
|
229
|
+
[... your full audit content ...]
|
|
230
|
+
7. SEND TO PLAN (Unified Backlog):
|
|
231
|
+
|
|
232
|
+
After writing the audit report, ALSO append your findings to the plan file:
|
|
233
|
+
`<target_folder>/.wb/workflows/reports/__YYYY__/__MM__/__DD__/plans/plan___NAME_____YYYYMMDD__.md`
|
|
234
|
+
|
|
235
|
+
- If the plan file does NOT exist → CREATE it with a header, then add the section below
|
|
236
|
+
- If it ALREADY exists → APPEND the section below
|
|
237
|
+
|
|
238
|
+
Section format (apply output_conventions.md §1 + §2 — Source link is RELATIVE, Origin/Verify are FULL-SYNTAX):
|
|
239
|
+
---
|
|
240
|
+
## 🔍 Audit Findings — /wbAudit *(__YOUR_MODEL_NAME__ — __CURRENT_TIME__)*
|
|
241
|
+
> **Source:** [audit___NAME_____YYYYMMDD__.md](../audits/audit___NAME_____YYYYMMDD__.md) Entry #N
|
|
242
|
+
> **Findings sent:** X (Y atomic, Z recursive)
|
|
243
|
+
|
|
244
|
+
| # | Origin | Task | Verify | P | Worker | Validator | ☐ Done | ☐ Valid |
|
|
245
|
+
|---|---|---|---|---|---|---|---|---|
|
|
246
|
+
| 1 | `/wbAudit <target>` | [finding description or /wb* command for complex items] | `/wbTest <target> --scope=task-1` | P0-P3 | [recommended model] | [validator model] | ⬜ | ⬜ |
|
|
247
|
+
|
|
248
|
+
Rules:
|
|
249
|
+
- Send findings with severity ≥ P2 to the plan (skip P3/cosmetic unless `--ideas` is set)
|
|
250
|
+
- Simple findings → Task = plain text description (with relative links to referenced files per §1)
|
|
251
|
+
- Complex findings → Task = `/wbPlan <target> "problem description"` (recursive)
|
|
252
|
+
- **Origin** & **Verify** MUST be full-syntax invocable commands per output_conventions.md §2 (e.g., `/wbAudit apps/wb-core/md.wbc-ui.com/`, not bare `/wbAudit`)
|
|
253
|
+
- Verify = the command to run to confirm the issue is resolved (e.g., `/wbTest <target> --scope=...`, `/wbAudit <target>`, `/wbSecure <target>`)
|
|
254
|
+
|
|
255
|
+
8b. **SEND IDEAS (if `--ideas` flag is set, OR always for P3/improvement findings):**
|
|
256
|
+
|
|
257
|
+
When `--ideas` is passed, P3/cosmetic findings that represent **improvements** (not bugs) are routed to the idea pipeline:
|
|
258
|
+
`<target_folder>/.wb/workflows/reports/__YYYY__/__MM__/__DD__/ideas/idea___NAME_____YYYYMMDD__.md`
|
|
259
|
+
|
|
260
|
+
- If the idea file does NOT exist → CREATE it with the standard `# Idea Backlog:` header.
|
|
261
|
+
- If it ALREADY exists → APPEND the section below.
|
|
262
|
+
|
|
263
|
+
Section format:
|
|
264
|
+
---
|
|
265
|
+
## 💡 Ideas — /wbAudit improvements *(__YOUR_MODEL_NAME__ — __CURRENT_TIME__)*
|
|
266
|
+
> **Source:** [audit___NAME_____YYYYMMDD__.md](../audits/audit___NAME_____YYYYMMDD__.md) Entry #N
|
|
267
|
+
> **Origin Command:** `/wbAudit <target>`
|
|
268
|
+
> **Ideas registered:** X
|
|
269
|
+
|
|
270
|
+
| # | Score | 🔗 | Idea | P | Est. Time (mins) | Suggested By | ☐ Done | ☐ Valid | → Task |
|
|
271
|
+
|---|---|---|---|---|---|---|---|---|---|
|
|
272
|
+
| N | <score> | <span title="Run: /wbExplain idea_<scope>_<date>.md --id=<N> --scope=idea">📄</span> | [finding as improvement idea] | P2-P3 | <est> | <ModelName> via /wbAudit | ⬜ | ⬜ | — |
|
|
273
|
+
|
|
274
|
+
Score is computed per `wbIdea_template.md` scoring heuristic. Only improvements and suggestions are routed here — actual bugs/defects stay in the plan.
|
|
275
|
+
|
|
276
|
+
8. END THE AUDIT FILE WITH:
|
|
277
|
+
|
|
278
|
+
## 🧭 What's Next?
|
|
279
|
+
|
|
280
|
+
Run `/wbNext <target_folder>` to get a current, ranked list of next actions based on this audit + any other recent reports.
|
|
281
|
+
|
|
282
|
+
━━━ AUTO-APPEND FOOTER ━━━
|
|
283
|
+
|
|
284
|
+
At the VERY END of the file (after "What's Next?"), you MUST append the `## 📂 Generated Files (__YYYYMMDD__)` cross-link footer. Do NOT use simple tables. You MUST use the rich "Tier 1" layout from `_shared/output_conventions.md` §5.
|
|
285
|
+
|
|
286
|
+
Format required:
|
|
287
|
+
```markdown
|
|
288
|
+
---
|
|
289
|
+
## 📂 Generated Files (__YYYYMMDD__)
|
|
290
|
+
> Auto-appended per `_shared/output_conventions.md` §5. Same-level snapshot of top-level command outputs at write time.
|
|
291
|
+
|
|
292
|
+
### 📚 Base Reference Files
|
|
293
|
+
| Type | File | Description |
|
|
294
|
+
|---|---|---|
|
|
295
|
+
| Foundational | [context.md](../../../../../context.md) | Permanent Identity and Architecture (Source of Truth) |
|
|
296
|
+
| Snapshot | [context_<scope>_<date>.md](../contexts/context_<scope>_<date>.md) | Daily snapshot used for current session context |
|
|
297
|
+
| Foundational | [dev.md](../../../../../dev.md) | Permanent Development Commands and Status |
|
|
298
|
+
|
|
299
|
+
### Global Files (`core2/` monorepo root)
|
|
300
|
+
| Category | File | Source Command |
|
|
301
|
+
|---|---|---|
|
|
302
|
+
| Reports | [audit_core2_<date>.md](../../../../../../../../../../.wb/workflows/reports/<YYYY>/<MM>/<DD>/audits/audit_core2_<date>.md) | `/wbAudit core2/` |
|
|
303
|
+
| Reports | [plan_core2_<date>.md](../../../../../../../../../../.wb/workflows/reports/<YYYY>/<MM>/<DD>/plans/plan_core2_<date>.md) | `/wbPlan core2/` |
|
|
304
|
+
| Tracks | [track_core2_<date>.md](../../../../../../../../../../.wb/workflows/tracks/<YYYY>/<MM>/<DD>/track_core2_<date>.md) | `/wbTrack core2/` |
|
|
305
|
+
|
|
306
|
+
<details>
|
|
307
|
+
<summary>📂 Sub-Package: [Active Package Name]</summary>
|
|
308
|
+
|
|
309
|
+
| Category | File | Source Command |
|
|
310
|
+
|---|---|---|
|
|
311
|
+
| Reports | [audit_subpkg_<date>.md](../../../../../../../../../../apps/wb-core/subpkg/.wb/workflows/reports/<YYYY>/<MM>/<DD>/audits/audit_subpkg_<date>.md) | `/wbAudit` |
|
|
312
|
+
|
|
313
|
+
</details>
|
|
314
|
+
```
|
|
315
|
+
```
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# /wbBroadcast: Execution Template
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
<!-- HELP_GATE_START -->
|
|
5
|
+
## Help intercept (handle FIRST — before any other action)
|
|
6
|
+
|
|
7
|
+
**If `$ARGUMENTS` contains `--help`, `-h`, or `--h`** (case-insensitive, anywhere in the args), DO NOT execute the command's normal procedure. Instead:
|
|
8
|
+
|
|
9
|
+
1. Output the **HELP BLOCK** below verbatim (rendered as markdown).
|
|
10
|
+
2. Stop. Do not perform any file reads, writes, or other tool calls.
|
|
11
|
+
3. Do not generate any reports under `.wb/workflows/reports/`.
|
|
12
|
+
|
|
13
|
+
Otherwise, ignore this section and proceed to the rest of the template.
|
|
14
|
+
|
|
15
|
+
### HELP BLOCK — `/wbBroadcast`
|
|
16
|
+
|
|
17
|
+
## Three forms
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/wbBroadcast <package> # announce latest release
|
|
21
|
+
/wbBroadcast core2/ # monorepo-wide announcement
|
|
22
|
+
/wbBroadcast <target> --status=<lts|preview|obsolete>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## When to run
|
|
26
|
+
|
|
27
|
+
- Immediately after `/wbRelease` + `/wbPublish` on a user-visible release.
|
|
28
|
+
- Immediately after `/wbDeploy` on a user-facing app change.
|
|
29
|
+
- When declaring a lifecycle status change (PREVIEW → LTS, or LTS → OBSOLETE).
|
|
30
|
+
|
|
31
|
+
## When *not* to run
|
|
32
|
+
|
|
33
|
+
- After an internal refactor nobody will notice.
|
|
34
|
+
- After a patch release that doesn't change user-facing behavior.
|
|
35
|
+
- After a failed release (do not announce what didn't ship).
|
|
36
|
+
- Before the release has actually shipped (pre-announcement is a marketing decision the command won't make).
|
|
37
|
+
|
|
38
|
+
## What the output contains
|
|
39
|
+
|
|
40
|
+
- **LinkedIn post** — conversational, explains the "why."
|
|
41
|
+
- **X (Twitter) post** — compressed, action-oriented.
|
|
42
|
+
- **GitHub release notes** — structured Highlights / Changes / Breaking / Credits.
|
|
43
|
+
- **Blog paragraph** — 3-paragraph narrative (what's new / why it matters / what to do).
|
|
44
|
+
- **VERSION_STATUS.md update proposal** (optional) — if lifecycle status should change.
|
|
45
|
+
- **"Did NOT generate"** — channels the command doesn't cover (email, video, Slack/Discord).
|
|
46
|
+
|
|
47
|
+
## The human-in-the-loop requirement
|
|
48
|
+
|
|
49
|
+
The command writes copy. You:
|
|
50
|
+
1. Review every post. AI voice isn't your voice.
|
|
51
|
+
2. Fact-check specifics (version numbers, feature names, behavior claims).
|
|
52
|
+
3. Edit for tone.
|
|
53
|
+
4. Post manually.
|
|
54
|
+
|
|
55
|
+
If the command ever skips the "waiting for review" pause and auto-posts, that's a bug — AI auto-posting is the road to embarrassing mistakes.
|
|
56
|
+
|
|
57
|
+
## The VERSION_STATUS.md interaction
|
|
58
|
+
|
|
59
|
+
`/wbBroadcast` reads VERSION_STATUS.md and can propose updates:
|
|
60
|
+
- PREVIEW → LTS after 3+ months of stable minor releases, no breaking changes.
|
|
61
|
+
- LTS → OBSOLETE when deprecating.
|
|
62
|
+
- PREVIEW stays until the package is actually stable.
|
|
63
|
+
|
|
64
|
+
These are proposals. Apply manually if you agree.
|
|
65
|
+
|
|
66
|
+
## When /wbBroadcast refuses
|
|
67
|
+
|
|
68
|
+
- Internal-only release. Refuses with "consumers don't care about this."
|
|
69
|
+
- No release has shipped yet. Refuses with "pre-announce elsewhere."
|
|
70
|
+
- Lifecycle status change requested but validation fails (package isn't actually stable). Refuses with specifics.
|
|
71
|
+
|
|
72
|
+
## When /wbBroadcast is the wrong command
|
|
73
|
+
|
|
74
|
+
- Internal status reports to your team → different format; use a custom doc.
|
|
75
|
+
- Customer email → template in your email tool; AI copy here is wrong audience.
|
|
76
|
+
- User feedback collection → not a broadcast; use a survey tool.
|
|
77
|
+
|
|
78
|
+
> For deeper reading: [`docs_claude/commands/wbBroadcast/wbBroadcast_practical_claude.md`](../../docs/docs_claude/commands/wbBroadcast/wbBroadcast_practical_claude.md) (or the `_eli5_`, `_expert_`, `_examples_` siblings).
|
|
79
|
+
|
|
80
|
+
<!-- FLAGS_TABLE_START -->
|
|
81
|
+
## Flags & shortcuts
|
|
82
|
+
|
|
83
|
+
Both forms are equivalent — pass either:
|
|
84
|
+
|
|
85
|
+
| Long form | Shortcut |
|
|
86
|
+
|---|---|
|
|
87
|
+
| `--status` | `-s` |
|
|
88
|
+
|
|
89
|
+
`-h` / `--help` / `--h` (any command) prints this help block instead of executing.
|
|
90
|
+
<!-- FLAGS_TABLE_END -->
|
|
91
|
+
<!-- HELP_GATE_END -->
|
|
92
|
+
|
|
93
|
+
<!-- FLAG_NORMALIZE_START -->
|
|
94
|
+
## Flag normalization (apply BEFORE parsing args)
|
|
95
|
+
|
|
96
|
+
Before processing `$ARGUMENTS`, normalize these short-form flags to their long equivalents:
|
|
97
|
+
|
|
98
|
+
- `-s` → `--status`
|
|
99
|
+
|
|
100
|
+
The rest of this template documents only the long forms; the substitution above is the only place short forms are mentioned.
|
|
101
|
+
<!-- FLAG_NORMALIZE_END -->
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
**ROLE:** The Herald
|
|
106
|
+
**TARGET:** The provided package, app, or monorepo root.
|
|
107
|
+
|
|
108
|
+
## ━━━ OBJECTIVE ━━━
|
|
109
|
+
Your job is to translate technical code changes into human-centric excitement. You are responsible for creating the "Announcement Kit" and managing the public-facing version status of the product.
|
|
110
|
+
|
|
111
|
+
## ━━━ PHASE 1: EVIDENCE INGESTION ━━━
|
|
112
|
+
1. Read the latest `/wbRelease` report to see what was shipped.
|
|
113
|
+
2. Read the latest `/wbAudit` report to understand the "Value Proposition" (why it matters).
|
|
114
|
+
3. Check `/wbVision` reports for any "Coming Soon" teasers.
|
|
115
|
+
|
|
116
|
+
## ━━━ PHASE 2: LIFECYCLE MANAGEMENT ━━━
|
|
117
|
+
1. Analyze the version number. Is this a Breaking Change (Major), a Feature (Minor), or a Patch?
|
|
118
|
+
2. Suggest an update to the root `VERSION_STATUS.md`. Declare if the version is:
|
|
119
|
+
- **[LTS]**: Long Term Support (Stable).
|
|
120
|
+
- **[PREVIEW]**: Beta/Coming Soon.
|
|
121
|
+
- **[OBSOLETE]**: No longer maintained.
|
|
122
|
+
|
|
123
|
+
## ━━━ PHASE 3: THE ANNOUNCEMENT KIT ━━━
|
|
124
|
+
Generate a master announcement kit:
|
|
125
|
+
- **Path:** `.wb/workflows/reports/<YYYY>/<MM>/<DD>/broadcasts/broadcast_<target>_<YYYYMMDD>.md`
|
|
126
|
+
- **No `<model>/` subfolder.** Create-or-append: if the file exists, append your broadcast as the next Entry #N tagged `*(ModelName — HH:MM)*`.
|
|
127
|
+
- **Contents:**
|
|
128
|
+
- **Social Media:** Draft posts for LinkedIn and X (Twitter).
|
|
129
|
+
- **Release Notes:** A professional GitHub Release summary.
|
|
130
|
+
- **Blog Post:** A 3-paragraph "What's New" story for the community.
|
|
131
|
+
|
|
132
|
+
## ━━━ PHASE 4: REPORT ━━━
|
|
133
|
+
Summarize the broadcast readiness.
|