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.
Files changed (48) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE +21 -0
  3. package/README.md +128 -0
  4. package/assets/demo.gif +0 -0
  5. package/bin/install.js +175 -0
  6. package/bin/link.js +71 -0
  7. package/bin/verify-wrappers.js +49 -0
  8. package/package.json +56 -0
  9. package/templates/commands/_shared/output_conventions.md +433 -0
  10. package/templates/commands/_shared/wb_universal_agent_instructions.md +72 -0
  11. package/templates/commands/model_recommendation_updates.md +74 -0
  12. package/templates/commands/model_recommendations.md +112 -0
  13. package/templates/commands/wbActOn/wbActOn_template.md +546 -0
  14. package/templates/commands/wbAudit/wbAudit_template.md +315 -0
  15. package/templates/commands/wbBroadcast/wbBroadcast_template.md +133 -0
  16. package/templates/commands/wbCheck/wbCheck_template.md +322 -0
  17. package/templates/commands/wbClean/wbClean_template.md +118 -0
  18. package/templates/commands/wbContext/wbContext_template.md +213 -0
  19. package/templates/commands/wbDebug/wbDebug_template.md +132 -0
  20. package/templates/commands/wbDeploy/wbDeploy_template.md +224 -0
  21. package/templates/commands/wbDoc/wbDoc_template.md +138 -0
  22. package/templates/commands/wbExplain/wbExplain_template.md +98 -0
  23. package/templates/commands/wbGit/wbGit_template.md +160 -0
  24. package/templates/commands/wbHelp/wbHelp_template.md +101 -0
  25. package/templates/commands/wbIdea/wbIdea_template.md +337 -0
  26. package/templates/commands/wbLicense/wbLicense_template.md +148 -0
  27. package/templates/commands/wbMonetize/wbMonetize_template.md +113 -0
  28. package/templates/commands/wbNext/wbNext_template.md +270 -0
  29. package/templates/commands/wbPlan/wbPlan_template.md +413 -0
  30. package/templates/commands/wbPublish/wbPublish_template.md +205 -0
  31. package/templates/commands/wbRefactor/wbRefactor_template.md +129 -0
  32. package/templates/commands/wbRelease/wbRelease_template.md +229 -0
  33. package/templates/commands/wbReview/wbReview_template.md +252 -0
  34. package/templates/commands/wbSecure/wbSecure_template.md +157 -0
  35. package/templates/commands/wbSetup/wbSetup_template.md +203 -0
  36. package/templates/commands/wbStandup/wbStandup_template.md +198 -0
  37. package/templates/commands/wbTest/wbTest_template.md +226 -0
  38. package/templates/commands/wbToWBC/wbToWBC_template.md +91 -0
  39. package/templates/commands/wbTrack/wbTrack_template.md +555 -0
  40. package/templates/commands/wbTranslate/wbTranslate_template.md +114 -0
  41. package/templates/commands/wbValid/wbValid_template.md +142 -0
  42. package/templates/commands/wbVision/wbVision_template.md +141 -0
  43. package/templates/commands/wbWork/wbWork_template.md +140 -0
  44. package/templates/commands/wb_commands_reference.claude.json +2305 -0
  45. package/templates/commands/wb_commands_reference.json +1109 -0
  46. package/templates/shortcuts/shortcuts.md +413 -0
  47. package/templates/shortcuts/usage-management-examples-shortcuts/budget_controllers_examples.md +96 -0
  48. package/templates/shortcuts/usage-management-examples-shortcuts/ultimate_shortcuts_examples.md +1531 -0
@@ -0,0 +1,555 @@
1
+ # /wbTrack β€” Session Tracking (v2: Universal Daily Session)
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 β€” `/wbTrack`
16
+
17
+ # /wbTrack: Practical Guide πŸ› οΈ (Claude version)
18
+
19
+ ## Quick Start
20
+
21
+ ```bash
22
+ /wbTrack packages/wb-core # start tracking (create or join today's file)
23
+ /wbTest wb-core # creates report + Β§N *(Your Model β€” HH:MM)* in session
24
+ /wbAudit wb-core # creates report + Β§N *(Your Model β€” HH:MM)* in session
25
+ /wbTrack --stop # Β§STOP for your model (file stays open for others)
26
+ ```
27
+
28
+ ## The Rule of Two Outputs
29
+
30
+ When tracking is ON, every command produces **two things**:
31
+
32
+ | Output | Location | Purpose |
33
+ |---|---|---|
34
+ | **Report file** | `reports/<date>/<type>/<type>_<target>_<date>.md` | Structured data, scanned tomorrow |
35
+ | **Β§N in session** | `walkthroughs/<date>/session_<target>_<date>.md` | Narrative with commentary (shared by all models) |
36
+
37
+ When tracking is OFF, only the report is created.
38
+
39
+ ## Create vs Append
40
+
41
+ | Situation | Behavior |
42
+ |---|---|
43
+ | First model today runs `/wbTrack` | **Creates** the file + writes Β§0 |
44
+ | Later model runs `/wbTrack` same scope | **Appends** contributor entry to existing file |
45
+ | Any model runs `/wb*` while tracking | **Appends** Β§N tagged with model name + time |
46
+
47
+ ## Scoping Cheat Sheet
48
+
49
+ | You type | Session file lives at | Β§0 reads |
50
+ |---|---|---|
51
+ | `/wbTrack packages/wb-core` | `wb-core/.wb/workflows/walkthroughs/<date>/session_wb-core_<date>.md` | wb-core code + reports |
52
+ | `/wbTrack` | `core2/.wb/workflows/walkthroughs/<date>/session_core2_<date>.md` | All packages |
53
+
54
+ ## Common Mistakes
55
+
56
+ ❌ Expecting a `<model>/` subfolder under `walkthroughs/` β†’ there is none in v2
57
+ ❌ Expecting reports to go to `walkthroughs/` β†’ they always go to `reports/`
58
+ ❌ Using `/wbTrack` for a single command β†’ overkill, just run the command
59
+ ❌ Running `/wbTrack --stop --finalize` mid-day β†’ extracts partial derivatives (wait until end of day)
60
+
61
+ ## When NOT to Track
62
+
63
+ - Quick one-off `/wbTest` or `/wbGit`
64
+ - Commands you've run dozens of times
65
+ - When you don't need commentary (just the facts)
66
+
67
+ > For deeper reading: [`docs_claude/commands/wbTrack/wbTrack_practical_claude.md`](../../docs/docs_claude/commands/wbTrack/wbTrack_practical_claude.md) (or the `_eli5_`, `_expert_`, `_examples_` siblings).
68
+
69
+ <!-- FLAGS_TABLE_START -->
70
+ ## Flags & shortcuts
71
+
72
+ Both forms are equivalent β€” pass either:
73
+
74
+ | Long form | Shortcut |
75
+ |---|---|
76
+ | `--finalize` | `-f` |
77
+ | `--scope` | `-s` |
78
+
79
+ `-h` / `--help` / `--h` (any command) prints this help block instead of executing.
80
+ ## Self-correct mode (dual-mode invocation)
81
+
82
+ ```
83
+ /wbTrack <scope_folder> # normal mode β€” produce a fresh output file
84
+ /wbTrack <previous_output_file> # self-correct mode β€” verify & repair the file in place
85
+ ```
86
+
87
+ When the first arg is an existing output file from a prior `/wbTrack` 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.
88
+
89
+ <!-- FLAGS_TABLE_END -->
90
+ <!-- HELP_GATE_END -->
91
+
92
+ <!-- FLAG_NORMALIZE_START -->
93
+ ## Flag normalization (apply BEFORE parsing args)
94
+
95
+ Before processing `$ARGUMENTS`, normalize these short-form flags to their long equivalents:
96
+
97
+ - `-f` β†’ `--finalize`
98
+ - `-s` β†’ `--scope`
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
+ > **Command #25** in the `/wb*` suite
106
+ > **Purpose**: Toggle session tracking ON. Every `/wb*` command produces its normal report AND gets logged into a **universal daily session file** with strategic commentary.
107
+ > **Companion**: `/wbTrack --stop` ends this model's tracking and writes a Β§STOP block.
108
+ > **Read first:** [`../_shared/output_conventions.md`](../_shared/output_conventions.md) β€” every Β§N section appended to the session file MUST follow the relative-link rule (Β§1) and full-syntax-command rule (Β§2). Self-correct mode (Β§3) applies in a **limited** form: see the Detection block below β€” gap-fill only, never rewrites existing Β§N bodies.
109
+
110
+ ---
111
+
112
+ ## Convention Notes for Session Entries
113
+
114
+ When writing each Β§N section to the session file:
115
+
116
+ - **Relative links (Β§1):** Every `Files read`, `Files created/modified`, and `Report file` reference MUST be a relative markdown link computed from the session file's directory. Plain-text paths are forbidden.
117
+ - **Full-syntax commands (Β§2):** The `# Β§N β€” \`/wbCommand target [flags]\`` heading and every entry in the `Recommended Next` table MUST use the full invocable form (e.g., `/wbTest packages/wb-core --scope=task-1`, not bare `/wbTest`).
118
+ - **Limited self-correct on the session file itself:** Re-running `/wbTrack` on an existing track file (when the path is passed *as the argument*, not as the scope) triggers the Detection block below β€” verify-and-repair only. Re-running `/wbTrack` on the *scope folder* still appends a new contributor entry (Β§N) and never rewrites previous entries.
119
+
120
+ ---
121
+
122
+ ## ━━━ DETECTION (Self-Correct Mode) ━━━
123
+
124
+ **Trigger:** `$ARGUMENTS` resolves to a file (not a folder) AND that file's first H1 matches:
125
+
126
+ ```
127
+ # Track: <scope> β€” <YYYY-MM-DD>
128
+ ```
129
+
130
+ When triggered, switch from "create / append contributor" mode to **verify-and-repair mode**. Behavior is governed by [`../_shared/output_conventions.md`](../_shared/output_conventions.md) Β§3, with these track-specific gap-fills.
131
+
132
+ ### What track self-correct CHECKS
133
+
134
+ 1. **Β§N order:** sections numbered Β§0, Β§1, Β§2, … with no gaps. Flag (do not renumber) if a Β§N is missing β€” could be intentional from another model.
135
+ 2. **Model-tag formatting:** every `# Β§N β€” ... *(<Model> β€” <HH:MM>)*` heading has both model name and time in italics+parens.
136
+ 3. **Footer present:** the `## πŸ“‚ Generated Files (<YYYYMMDD>)` block exists at the bottom with at least the Base Reference Files table.
137
+ 4. **Link integrity:** every relative markdown link in the file resolves to an actual on-disk file from the session file's directory. Broken links β†’ list them under a `## ⚠️ Self-Correct Findings` section near the bottom (do NOT edit the original Β§N bodies β€” see "What it does NOT do" below).
138
+ 5. **Bare /wbX in `Recommended Next` tables:** expand to full-syntax `/wbX <target> [flags]` per Β§2 of output_conventions.
139
+ 6. **Plain-text file references in `Files read` / `Files created`:** convert to relative markdown links per Β§1.
140
+ 7. **Status freshness:** if the front-matter `> **Status:**` is `🟒 ACTIVE` but the most recent §N is > 24h old, change to `🟑 STALE` and note the lag in `## ⚠️ Self-Correct Findings`.
141
+
142
+ ### What track self-correct does NOT do
143
+
144
+ - Does NOT rewrite the body text of any Β§N (preserve each model's voice and audit trail).
145
+ - Does NOT add or delete Β§N sections.
146
+ - Does NOT change the Β§0 strategic vision content.
147
+ - Does NOT re-run `/wbStandup` or any sub-command (no new analysis).
148
+ - Does NOT delete broken-link references β€” only flags them in the Findings section.
149
+
150
+ ### Where self-correct WRITES
151
+
152
+ Append (or update if it exists) a **single section** at the bottom of the file, just above the `## πŸ“‚ Generated Files` footer:
153
+
154
+ ```markdown
155
+ ## ⚠️ Self-Correct Findings *(<Model> β€” <YYYY-MM-DD HH:MM>)*
156
+
157
+ **Verified:** Β§N order, model-tag formatting, footer present (βœ… all clean) OR list specific issues found.
158
+
159
+ **Auto-repaired:**
160
+ - bare `/wbX` β†’ full-syntax in Β§<N> "Recommended Next" table (rows: …)
161
+ - plain-text path `<old>` β†’ relative link `[<text>](<rel>)` in Β§<N>
162
+
163
+ **Flagged (NOT auto-repaired β€” needs human decision):**
164
+ - Broken link in Β§<N>: `<bad-link>` β†’ no file at resolved path `<resolved>`
165
+ - Β§<N> missing model tag β€” last edited by ?
166
+
167
+ > _Self-corrected: <YYYY-MM-DD HH:MM> by <Model>_
168
+ ```
169
+
170
+ If a previous self-correct run already wrote this section, **update it in place** (do not stack multiple Findings sections β€” the file is meant to grow Β§N entries, not Findings entries).
171
+
172
+ ---
173
+
174
+ ---
175
+
176
+ ## How It Works
177
+
178
+ `/wbTrack` is a **toggle**, not a one-shot command. It changes the model's behavior for the rest of the session.
179
+
180
+ | State | What happens when you run a `/wb*` command |
181
+ |---|---|
182
+ | **Tracking OFF** (default) | Command creates its report in `reports/<date>/<type>/<type>_<target>_<date>.md` (universal daily file). Nothing else. |
183
+ | **Tracking ON** (`/wbTrack` active) | Command creates its report **AND** appends a Β§N section to the **universal daily session file**. |
184
+
185
+ **Key principle:** Commands always produce their normal reports. Tracking is an **addition**, never a replacement.
186
+
187
+ ### v2: One File Per Day Per Scope
188
+
189
+ In v2, **all models share a single session file per day**. There is no `<model>/` subfolder under `tracks/`.
190
+
191
+ | v1 (old) | v2 (current) |
192
+ |---|---|
193
+ | `tracks/<date>/<model_slug>/track_<target>_<timestamp>.md` | `tracks/<date>/track_<target>_<date>.md` |
194
+ | One file per model per session | **One file per day per scope, all models contribute** |
195
+ | 4 models = 4 files + 24 derivatives | 4 models = **1 file** + 6 derivatives |
196
+
197
+ ---
198
+
199
+ ## Scoping Rules
200
+
201
+ ### Syntax
202
+ ```bash
203
+ /wbTrack <target> # scoped to a specific package/app
204
+ /wbTrack # scoped to the monorepo root (core2)
205
+ ```
206
+
207
+ ### What the target arg controls
208
+
209
+ | | `/wbTrack packages/wb-core` | `/wbTrack` (no args) |
210
+ |---|---|---|
211
+ | **Β§0 reads** | wb-core's source, reports, `.agents/` | Monorepo-wide state |
212
+ | **Session file lives in** | `packages/wb-core/.wb/workflows/tracks/` | `.wb/workflows/tracks/` (core2 root) |
213
+ | **Best for** | Focused session on one package | Cross-package session |
214
+
215
+ ### One session at a time (per model)
216
+
217
+ If tracking is already active for this model:
218
+ ```
219
+ /wbTrack packages/wb-dataviewer
220
+
221
+ ⚠️ Already tracking: core2
222
+ Run /wbTrack --stop first, then start a new session.
223
+ ```
224
+
225
+ You cannot run two `/wbTrack` sessions in parallel from the same model. Stop the current one before starting another.
226
+
227
+ ### Multi-model sessions (v2 change)
228
+
229
+ Multiple **different** models can track the **same scope on the same day**. They all contribute to the same file:
230
+
231
+ ```
232
+ Model A (Opus 4.7 via Cline): /wbTrack core2 β†’ creates session file + writes Β§0
233
+ Model B (Gemini 3.1 Pro via AG): /wbTrack core2 β†’ file exists β†’ appends contributor entry
234
+ Model C (DeepSeek V4 via OC): /wbTrack core2 β†’ file exists β†’ appends contributor entry
235
+ ```
236
+
237
+ But each model can only track **one scope at a time**. Model A tracking `core2` cannot also start tracking `wb-core` β€” it must `/wbTrack --stop` first.
238
+
239
+ ### Different scopes are different files
240
+
241
+ Different models tracking different scopes write to **different files** β€” this is fine:
242
+ ```
243
+ Model A tracks core2: β†’ core2/.wb/workflows/tracks/20260429/track_core2_20260429.md
244
+ Model B tracks wb-core: β†’ packages/wb-core/.wb/workflows/tracks/20260429/track_wb-core_20260429.md
245
+ ```
246
+
247
+ ### Cross-package work during a session
248
+
249
+ If you're tracking `wb-core` and run `/wbTest packages/wb-dataviewer`:
250
+ - The **test report** goes to `packages/wb-dataviewer/.wb/workflows/reports/.../tests/` (normal behavior β€” report always goes to the target package)
251
+ - The **Β§N section** gets appended to the wb-core session file (because wb-core is the active tracking target)
252
+
253
+ This is fine β€” the session file is a narrative of what **you did**, not where the reports land.
254
+
255
+ ---
256
+
257
+ ## πŸš€ The /wbTrack Prompt (copy to model ↓)
258
+
259
+ ```
260
+ ━━━━━━━━━━━━━ /wbTrack v2 ━━━━━━━━━━━━━
261
+
262
+ πŸ“ TARGET: __TARGET_PATH__
263
+ πŸ“… DATE: __TODAY__
264
+ πŸ€– MODEL: __YOUR_MODEL_NAME__
265
+ πŸ–₯️ CLIENT: __YOUR_CLIENT__ (Cline / Antigravity / OpenCode / Gemini CLI / etc.)
266
+
267
+ ━━━ TRACKING MODE ACTIVATED ━━━
268
+
269
+ From this point forward, you are in session tracking mode.
270
+
271
+ 1. LOCATE the universal session file at:
272
+ __TARGET_PATH__/.wb/workflows/tracks/__TODAY_YYYY__/__TODAY_MM__/__TODAY_DD__/track___TARGET_NAME_____TODAY_YYYY__/__TODAY_MM__/__TODAY_DD__.md
273
+
274
+ NOTE: `tracks/` is a SIBLING of `reports/`, NOT inside it.
275
+ NOTE: There is NO `<model_slug>/` subfolder β€” one file per day per scope.
276
+
277
+ 2. CHECK if the file already exists:
278
+
279
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
280
+ β”‚ FILE DOES NOT EXIST β†’ CREATE (you are the first model today)β”‚
281
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
282
+
283
+ Create the file with this header:
284
+
285
+ # Track: __TARGET_NAME__ β€” __TODAY__
286
+
287
+ > **Target:** Monorepo root (`frontEnd/wbc-ui/__TARGET_PATH__/`)
288
+ > **Created by:** __YOUR_MODEL_NAME__ via __YOUR_CLIENT__
289
+ > **Started:** __TODAY__ __CURRENT_TIME__
290
+ > **Status:** 🟒 ACTIVE
291
+
292
+ ---
293
+
294
+ Then write Β§0 β€” your strategic vision BEFORE I give you any commands:
295
+
296
+ # Β§0 β€” Strategic Vision *(__YOUR_MODEL_NAME__ β€” __CURRENT_TIME__)*
297
+
298
+ ## Current State
299
+ [Read the package/app source code, .wb/workflows/ files, and past reports.
300
+ Summarize: What is the current state of this target? What was done before?
301
+ What is broken, pending, or deferred?]
302
+
303
+ ## Past Debt: `/wbStandup __TARGET_NAME__` output
304
+ **MANDATORY:** Execute `/wbStandup __TARGET_NAME__` as a sub-command RIGHT NOW.
305
+ Paste its FULL output below β€” do NOT summarize, do NOT reference a report file.
306
+ This gives subsequent models the complete context without needing to re-run standup.
307
+
308
+ ```
309
+ [PASTE FULL /wbStandup OUTPUT HERE]
310
+ ```
311
+
312
+ ## My Recommendation
313
+ [If you were working on this package today, what would YOU do?
314
+ Prioritize based on: blockers first, then technical debt, then new features.
315
+ List 5-8 commands in recommended order with reasoning.
316
+ **For each recommendation, specify 2-3 models** from `commands/model_recommendations.md`, ordered best β†’ budget.]
317
+
318
+ ## Suggested Command Sequence
319
+
320
+ | Order | Command | Why | Recommended Models (ordered) | Alternatives |
321
+ |---|---|---|---|---|
322
+ | 1 | `/wbStandup __TARGET_NAME__` | Resume from last session | ⚑ Gemini 3 Flash / DeepSeek V4 Flash | `/wbContext` if no prior session |
323
+ | 2 | `...` | `...` | πŸ’» Model1 / Model2 / Model3 | `...` |
324
+ | ... | | | | |
325
+
326
+ ## First Command
327
+
328
+ **Recommended:** `/wbXxx __TARGET_NAME__ [flags]`
329
+ **Recommended Model:** `Model1 (1st) / Model2 (2nd)` β€” [why this model for this task]
330
+ **Why this first:** [1-2 sentences]
331
+ **Alternative:** `/wbYyy __TARGET_NAME__` β€” [why this is also valid]
332
+
333
+ > [!NOTE]
334
+ > This is my suggestion. You decide what to run. Tell me your first command.
335
+
336
+ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
337
+ β”‚ FILE ALREADY EXISTS β†’ APPEND (another model started today) β”‚
338
+ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
339
+
340
+ Read the existing session file. Determine the next Β§N number.
341
+ Append a contributor entry:
342
+
343
+ ---
344
+
345
+ # Β§N β€” Contributor Entry *(__YOUR_MODEL_NAME__ via __YOUR_CLIENT__ β€” __CURRENT_TIME__)*
346
+
347
+ > **Model:** __YOUR_MODEL_NAME__
348
+ > **Client:** __YOUR_CLIENT__
349
+ > **Joined:** __TODAY__ __CURRENT_TIME__
350
+
351
+ ## My Assessment
352
+ [Read the existing session file + current source code state.
353
+ What has changed since the last entry? What do you see differently?
354
+ Agreement/disagreement with previous Β§0 or Β§N recommendations.]
355
+
356
+ ## My Recommendation
357
+ [If you were continuing this session, what would you do next?
358
+ How does your view differ from the previous contributor(s)?]
359
+
360
+ ## Suggested Next Steps
361
+
362
+ | Priority | Command | Why | Recommended Models (ordered) | Alternative |
363
+ |---|---|---|---|---|
364
+ | πŸ”΄ 1st | ... | ... | ... | ... |
365
+ | 🟑 2nd | ... | ... | ... | ... |
366
+
367
+ > [!NOTE]
368
+ > This is my perspective. Previous contributors may have different priorities.
369
+
370
+ 3. For EVERY /wb* command I give you:
371
+
372
+ a) Execute the command normally and create its report in the universal daily file:
373
+ __TARGET_PATH__/.wb/workflows/reports/__TODAY_YYYY__/__TODAY_MM__/__TODAY_DD__/<type>/<type>___TARGET_NAME_____TODAY_YYYY__/__TODAY_MM__/__TODAY_DD__.md
374
+
375
+ b) THEN append a Β§N section to the universal session file in this exact format:
376
+
377
+ # Β§N β€” `/wbCommandName target [flags]` *(__YOUR_MODEL_NAME__ β€” __CURRENT_TIME__)*
378
+
379
+ ## What the user did
380
+
381
+ /wbCommandName target [flags]
382
+
383
+ **What the user wants:** [1-2 sentences]
384
+
385
+ ## What happened
386
+
387
+ ### Files read (input)
388
+ [List files you read]
389
+
390
+ ### Files created/modified (output)
391
+ | File | Action | What it contains |
392
+ |---|---|---|
393
+
394
+ ### Report file
395
+ [Path to the report entry in reports/<date>/<type>/<type>_<target>_<date>.md β€” specify Entry #N]
396
+
397
+ ## Commentary
398
+
399
+ - **Outcome:** (What went well / What went wrong / Final result)
400
+ - **Insights:** (Lesson learned / Key finding / Self-correction note)
401
+ - **Decisions:** (Why this command now / Why this matters / What was NOT produced)
402
+ - **Status:** (Conclusion / Current state)
403
+ - **Next Step:** (Next step used / Next meaningful step)
404
+
405
+ > [!TIP/WARNING/IMPORTANT]
406
+ > [High-value strategic callout]
407
+
408
+ ## Recommended Next
409
+
410
+ | Priority | Command | Why | Recommended Models (ordered) | Alternative |
411
+ |---|---|---|---|---|
412
+ | πŸ”΄ 1st | `/wbXxx target` | [reason based on what just happened] | πŸ’» Model1 / Model2 | `/wbYyy target` |
413
+ | 🟑 2nd | `/wbZzz target` | [reason] | ⚑ Model1 / Model2 | β€” |
414
+ | 🟒 3rd | `/wbAaa target` | [reason] | πŸ’» Model1 / Model2 | β€” |
415
+
416
+ 4. You are NOT a passive logger. You are a strategic agent:
417
+ - Analyze outcomes: say WHY it matters, not just what happened
418
+ - Provide vision: compare what the AI saw vs. what is actually true
419
+ - Decide next steps: if a command reveals a critical issue, suggest course correction
420
+ - After EVERY section, suggest what comes next (the "Recommended Next" table)
421
+
422
+ ━━━ AUTO-APPEND FOOTER ━━━
423
+
424
+ 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.
425
+
426
+ Format required:
427
+ ```markdown
428
+ ---
429
+ ## πŸ“‚ Generated Files (__YYYYMMDD__)
430
+ > Auto-appended per `_shared/output_conventions.md` Β§5. Same-level snapshot of top-level command outputs at write time.
431
+
432
+ ### πŸ“š Base Reference Files
433
+ | Type | File | Description |
434
+ |---|---|---|
435
+ | Foundational | [context.md](../../../../../context.md) | Permanent Identity and Architecture (Source of Truth) |
436
+ | Snapshot | [context_<scope>_<date>.md](../contexts/context_<scope>_<date>.md) | Daily snapshot used for current session context |
437
+ | Foundational | [dev.md](../../../../../dev.md) | Permanent Development Commands and Status |
438
+
439
+ ### Global Files (`core2/` monorepo root)
440
+ | Category | File | Source Command |
441
+ |---|---|---|
442
+ | Reports | [audit_core2_<date>.md](../../../../../../../../../../.wb/workflows/reports/<YYYY>/<MM>/<DD>/audits/audit_core2_<date>.md) | `/wbAudit core2/` |
443
+ | Reports | [plan_core2_<date>.md](../../../../../../../../../../.wb/workflows/reports/<YYYY>/<MM>/<DD>/plans/plan_core2_<date>.md) | `/wbPlan core2/` |
444
+ | Tracks | [track_core2_<date>.md](../../../../../../../../../../.wb/workflows/tracks/<YYYY>/<MM>/<DD>/track_core2_<date>.md) | `/wbTrack core2/` |
445
+
446
+ <details>
447
+ <summary>πŸ“‚ Sub-Package: [Active Package Name]</summary>
448
+
449
+ | Category | File | Source Command |
450
+ |---|---|---|
451
+ | Reports | [audit_subpkg_<date>.md](../../../../../../../../../../apps/wb-core/subpkg/.wb/workflows/reports/<YYYY>/<MM>/<DD>/audits/audit_subpkg_<date>.md) | `/wbAudit` |
452
+
453
+ </details>
454
+ ```
455
+ ```
456
+
457
+ ---
458
+
459
+ ## Variables to Replace
460
+
461
+ | Variable | Description | Example |
462
+ |---|---|---|
463
+ | `__TARGET_PATH__` | Path to the package or app | `packages/wb-core` |
464
+ | `__TODAY__` | Today's date (YYYY-MM-DD) | `2026-04-29` |
465
+ | `__TODAY_YYYY__/__TODAY_MM__/__TODAY_DD__` | Today's date (no dashes) | `20260429` |
466
+ | `__YOUR_MODEL_NAME__` | Model running the session | `DeepSeek V4 Pro` |
467
+ | `__YOUR_CLIENT__` | AI client/tool being used | `Antigravity` / `Cline` / `OpenCode` / `Gemini CLI` |
468
+ | `__MODEL_SLUG__` | Lowercase model name for report folder paths | `deepseek-v4-pro` |
469
+ | `__TARGET_NAME__` | Short name for filenames | `wb-core` |
470
+ | `__CURRENT_TIME__` | Current time (HH:MM) | `22:38` |
471
+
472
+ ---
473
+
474
+ ## Directory Structure
475
+
476
+ ```
477
+ .wb/workflows/
478
+ β”œβ”€β”€ reports/ ← command outputs (scanned by /wbStandup, /wbPlan, etc.)
479
+ β”‚ └── 20260429/
480
+ β”‚ β”œβ”€β”€ tests/deepseek-v4-pro/test_wb-core_unit_*.md ← from /wbTest
481
+ β”‚ β”œβ”€β”€ plans/gemini-3.1-pro/plan_wb-core_*.md ← from /wbPlan
482
+ β”‚ β”œβ”€β”€ audits/opus-4.7/audit_wb-core_*.md ← from /wbAudit
483
+ β”‚ └── standups/gemini-3.1-pro/standup_wb-core_*.md ← from /wbStandup
484
+ β”‚
485
+ └── tracks/ ← session narratives (universal daily file)
486
+ └── 20260429/
487
+ β”œβ”€β”€ track_wb-core_20260429.md ← ONE file, ALL models contribute
488
+ β”œβ”€β”€ track_wb-core_20260429_tips.md ← derivative (all models' tips)
489
+ β”œβ”€β”€ track_wb-core_20260429_warnings.md
490
+ β”œβ”€β”€ track_wb-core_20260429_importants.md
491
+ β”œβ”€β”€ track_wb-core_20260429_commentaries.md
492
+ β”œβ”€β”€ track_wb-core_20260429_all_commands.md
493
+ └── track_wb-core_20260429_resume.md
494
+ ```
495
+
496
+ ### The Key Principle
497
+
498
+ | Folder | Contains | Scanned by | Purpose |
499
+ |---|---|---|---|
500
+ | `reports/<date>/<type>/<type>_<target>_<date>.md` | Structured command outputs (universal daily file) | `/wbStandup`, `/wbContext`, `/wbPlan`, `/wbAudit` | Data for automation |
501
+ | `tracks/<date>/` | Universal session narrative | Humans, future sessions, all models | Audit trail + learning |
502
+
503
+ **Reports** = what happened (facts, scores, file lists).
504
+ **Walkthroughs** = why it happened (analysis, decisions, recommendations) β€” **from all models' perspectives**.
505
+
506
+ ---
507
+
508
+ ## Best Practice: Daily Session Pattern
509
+
510
+ The recommended workflow is: **one universal session file per day per scope, contributed to by all models**.
511
+
512
+ ```
513
+ Morning (Model A β€” Opus 4.7 via Cline):
514
+ /wbTrack ← creates file + writes Β§0
515
+
516
+ Mid-day (Model B β€” Gemini 3.1 Pro via Antigravity):
517
+ /wbTrack ← file exists β†’ appends contributor entry
518
+ /wbPlan wb-core ← report + Β§N (tagged as Gemini)
519
+ /wbTest wb-core ← report + Β§N (tagged as Gemini)
520
+ /wbTrack --stop ← Β§STOP for Gemini
521
+
522
+ Evening (Model C β€” DeepSeek V4 via OpenCode):
523
+ /wbTrack ← file exists β†’ appends contributor entry
524
+ /wbRefactor wb-core src/WBC.js ← report + Β§N (tagged as DeepSeek)
525
+ /wbTrack --stop --finalize ← Β§STOP for DeepSeek + extract derivatives
526
+ /wbGit ← commit everything
527
+ ```
528
+
529
+ This gives you a **single daily narrative** with contributions from all models β€” like a relay journal. Tomorrow, `/wbStandup` scans `reports/` for the facts, and you can read the session file for the multi-model story.
530
+
531
+ ---
532
+
533
+ ## When to Use /wbTrack
534
+
535
+ | Situation | Use /wbTrack? |
536
+ |---|---|
537
+ | Starting a full day's work with a model | βœ… Yes β€” run once at the start |
538
+ | Long session with 5+ commands | βœ… Yes β€” you want a trail |
539
+ | Learning a new package | βœ… Yes β€” commentary helps future you |
540
+ | Documenting a workflow for the team | βœ… Yes β€” produces shareable session files |
541
+ | Quick one-off command (e.g., `/wbTest`) | ❌ No β€” just run the command |
542
+ | Running `/wbGit` at end of day | ❌ No β€” no need to track a commit |
543
+ | Model already verified via `/wbCheck` | βœ… Optional β€” `/wbTrack` adds value independently |
544
+
545
+ ---
546
+
547
+ ## Relationship with Other Commands
548
+
549
+ | Command | Relationship |
550
+ |---|---|
551
+ | `/wbCheck` | Independent. `/wbCheck` verifies the model. `/wbTrack` logs the session. You can use either or both. |
552
+ | `/wbStandup` | Scans `reports/` β€” unaffected by tracking. Session files live in `tracks/`. |
553
+ | `/wbPlan` | Creates plan in `reports/plans/`. If tracking is ON, Β§N documents the plan creation. |
554
+ | `/wbTest` | Creates test report in `reports/tests/`. If tracking is ON, Β§N documents the test results. |
555
+ | `/wbTrack --stop` | Ends tracking **for this model**. Optionally extracts derivatives with `--finalize`. |
@@ -0,0 +1,114 @@
1
+ # /wbTranslate: 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 β€” `/wbTranslate`
16
+
17
+ ## Two forms
18
+
19
+ ```
20
+ /wbTranslate <file> # extract + translate all hardcoded strings
21
+ /wbTranslate <file> --new-only # only handle strings not yet keyed
22
+ ```
23
+
24
+ ## When to run
25
+
26
+ - After the component's UI is stable (post-design, post-iteration).
27
+ - Before shipping a user-facing release that needs FR/AR coverage.
28
+ - When adding new user-facing strings to an already-translated component (use `--new-only`).
29
+
30
+ ## When *not* to run
31
+
32
+ - Mid-iteration, when copy is still changing. You'll re-translate every iteration.
33
+ - On a component without i18n setup. Command will refuse.
34
+ - On a component already fully translated (use `--new-only` instead).
35
+ - On developer-facing components that won't be shipped to users.
36
+
37
+ ## Prerequisites
38
+
39
+ - vue-i18n (or equivalent) configured in the app.
40
+ - `src/i18n/{en,fr,ar}.json` (or equivalent) exist.
41
+ - The component imports `useI18n` or has access to `$t`.
42
+
43
+ If any prerequisite is missing, the command refuses with setup steps.
44
+
45
+ ## Reading the output
46
+
47
+ - **Extracted strings list** β€” exactly what will become i18n keys.
48
+ - **Skipped strings list** β€” what was deliberately not extracted (CSS classes, events, URLs).
49
+ - **Ambiguous strings** β€” requires your disambiguation before proceeding.
50
+ - **Three JSON additions** β€” en, fr, ar. Each with cultural awareness.
51
+ - **RTL note** β€” Arabic-specific layout flags.
52
+
53
+ ## The translation review step
54
+
55
+ AI-generated translations are drafts. Review especially:
56
+
57
+ - **Tone**: formal vs. informal "you" (vous/tu, anta/anti).
58
+ - **Brand voice**: action verbs may differ ("Save" β†’ "Enregistrer" vs. "Sauvegarder").
59
+ - **RTL layout**: Arabic strings may overflow; layout may need adjustment.
60
+ - **Date/number formatting**: not handled by `/wbTranslate`; uses i18n built-ins.
61
+
62
+ If you don't speak FR/AR, defer to native speakers before shipping. AI translations of common UI strings are decent; AI translations of nuanced messaging are guesses.
63
+
64
+ ## When /wbTranslate is the wrong command
65
+
66
+ - Pluralization rules β†’ vue-i18n's plural syntax; AI can't fully infer.
67
+ - Locale-aware formatting (dates, currency) β†’ use Intl APIs, not strings.
68
+ - Server-rendered text β†’ translate server-side.
69
+ - A11y attributes (`aria-label` etc.) β†’ these *are* user-facing; `/wbTranslate` should handle them. If it skips them, re-prompt.
70
+
71
+ > For deeper reading: [`docs_claude/commands/wbTranslate/wbTranslate_practical_claude.md`](../../docs/docs_claude/commands/wbTranslate/wbTranslate_practical_claude.md) (or the `_eli5_`, `_expert_`, `_examples_` siblings).
72
+
73
+ <!-- FLAGS_TABLE_START -->
74
+ ## Flags & shortcuts
75
+
76
+ Both forms are equivalent β€” pass either:
77
+
78
+ | Long form | Shortcut |
79
+ |---|---|
80
+ | `--new-only` | `-n` |
81
+
82
+ `-h` / `--help` / `--h` (any command) prints this help block instead of executing.
83
+ <!-- FLAGS_TABLE_END -->
84
+ <!-- HELP_GATE_END -->
85
+
86
+ <!-- FLAG_NORMALIZE_START -->
87
+ ## Flag normalization (apply BEFORE parsing args)
88
+
89
+ Before processing `$ARGUMENTS`, normalize these short-form flags to their long equivalents:
90
+
91
+ - `-n` β†’ `--new-only`
92
+
93
+ The rest of this template documents only the long forms; the substitution above is the only place short forms are mentioned.
94
+ <!-- FLAG_NORMALIZE_END -->
95
+
96
+
97
+
98
+ **ROLE:** The Linguist
99
+ **TARGET:** The provided UI component or translation directory.
100
+
101
+ ## ━━━ OBJECTIVE ━━━
102
+ Your job is to ensure the monorepo remains fully multilingual (EN, FR, AR). You must extract hardcoded strings and generate localized JSON files.
103
+
104
+ ## ━━━ PHASE 1: EXTRACTION ━━━
105
+ 1. Scan the target UI component (e.g., `.vue` files).
106
+ 2. Identify any hardcoded human-readable strings (e.g., `<button>Submit</button>`).
107
+ 3. Replace them with the appropriate i18n translation key (e.g., `<button>{{ $t('buttons.submit') }}</button>`).
108
+
109
+ ## ━━━ PHASE 2: TRANSLATION GENERATION ━━━
110
+ 1. Take the extracted strings and generate perfect context-aware translations for French (`fr.json`) and Arabic (`ar.json`).
111
+ 2. Ensure RTL (Right-to-Left) UI considerations are respected for Arabic.
112
+
113
+ ## ━━━ PHASE 3: REPORTING ━━━
114
+ Summarize the translation keys added.