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,226 @@
|
|
|
1
|
+
# wbTest Template v2.1
|
|
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 — `/wbTest`
|
|
16
|
+
|
|
17
|
+
## Two forms
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/wbTest <pkg> # run existing tests, report results
|
|
21
|
+
/wbTest <pkg> --profile # same + timing/memory profile
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## When to run
|
|
25
|
+
|
|
26
|
+
- Before `/wbRelease` — must pass.
|
|
27
|
+
- Before `/wbDeploy` — must pass.
|
|
28
|
+
- After `/wbRefactor` — verify nothing broke.
|
|
29
|
+
- After `/wbDebug` produces a fix — confirm the fix landed.
|
|
30
|
+
- When `reports/` shows recent test failures you haven't addressed.
|
|
31
|
+
|
|
32
|
+
## When *not* to run
|
|
33
|
+
|
|
34
|
+
- To check code quality → `/wbAudit`.
|
|
35
|
+
- To verify plan execution → `/wbReview`.
|
|
36
|
+
- To add missing coverage → `/wbPlan --task="add tests for X"` followed by execution.
|
|
37
|
+
- Before starting work on a feature → tests won't tell you what to build.
|
|
38
|
+
|
|
39
|
+
## Reading the output
|
|
40
|
+
|
|
41
|
+
Three bands:
|
|
42
|
+
- **All pass, no coverage gaps** — you're good. Proceed.
|
|
43
|
+
- **Some fail** — triage first. Is it test-wrong or code-wrong? Don't reflexively "fix the test."
|
|
44
|
+
- **Fails to run at all** — config bug, not code bug. Fix the test setup.
|
|
45
|
+
|
|
46
|
+
## The test vs. code question
|
|
47
|
+
|
|
48
|
+
When a test fails, ask in this order:
|
|
49
|
+
1. Was the test correct? (Does the expected behavior match what was actually agreed?)
|
|
50
|
+
2. Is the code wrong against that expected behavior?
|
|
51
|
+
3. Is this a symptom of an open architectural decision that blocks cleanly passing the test?
|
|
52
|
+
|
|
53
|
+
If (3), mark the test as `xit()` with a comment referencing the open decision. Don't delete.
|
|
54
|
+
|
|
55
|
+
## The most common mistake
|
|
56
|
+
|
|
57
|
+
**Fixing the test to match the code.** If the code produces `<div class="wbcode-placeholder">` but the test expects `<code>`, the default instinct is "update the test." That's often wrong. The test was written to match an earlier agreed-on behavior. If code drifted, the test is the witness, not the culprit. Investigate the code change first.
|
|
58
|
+
|
|
59
|
+
## When /wbTest refuses
|
|
60
|
+
|
|
61
|
+
- Test config is broken (no plugin, no runner) — refuses, tells you to fix config.
|
|
62
|
+
- No tests exist — reports "0 tests found, coverage is 0%". Not a failure, just a note. Doesn't auto-generate tests.
|
|
63
|
+
|
|
64
|
+
> For deeper reading: [`docs_claude/commands/wbTest/wbTest_practical_claude.md`](../../docs/docs_claude/commands/wbTest/wbTest_practical_claude.md) (or the `_eli5_`, `_expert_`, `_examples_` siblings).
|
|
65
|
+
|
|
66
|
+
<!-- FLAGS_TABLE_START -->
|
|
67
|
+
## Flags & shortcuts
|
|
68
|
+
|
|
69
|
+
Both forms are equivalent — pass either:
|
|
70
|
+
|
|
71
|
+
| Long form | Shortcut |
|
|
72
|
+
|---|---|
|
|
73
|
+
| `--profile` | `-p` |
|
|
74
|
+
| `--task` | `-t` |
|
|
75
|
+
|
|
76
|
+
`-h` / `--help` / `--h` (any command) prints this help block instead of executing.
|
|
77
|
+
## Self-correct mode (dual-mode invocation)
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
/wbTest <scope_folder> # normal mode — produce a fresh output file
|
|
81
|
+
/wbTest <previous_output_file> # self-correct mode — verify & repair the file in place
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
When the first arg is an existing output file from a prior `/wbTest` 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.
|
|
85
|
+
|
|
86
|
+
<!-- FLAGS_TABLE_END -->
|
|
87
|
+
<!-- HELP_GATE_END -->
|
|
88
|
+
|
|
89
|
+
<!-- FLAG_NORMALIZE_START -->
|
|
90
|
+
## Flag normalization (apply BEFORE parsing args)
|
|
91
|
+
|
|
92
|
+
Before processing `$ARGUMENTS`, normalize these short-form flags to their long equivalents:
|
|
93
|
+
|
|
94
|
+
- `-p` → `--profile`
|
|
95
|
+
- `-t` → `--task`
|
|
96
|
+
|
|
97
|
+
The rest of this template documents only the long forms; the substitution above is the only place short forms are mentioned.
|
|
98
|
+
<!-- FLAG_NORMALIZE_END -->
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
> **How to use**: This is the manual template for executing dynamic tests. Use this to verify that the code actually RUNS and BEHAVES correctly in real environments.
|
|
103
|
+
> **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).
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Detection (Self-Correct Mode)
|
|
108
|
+
|
|
109
|
+
Trigger self-correct when the input file's first H1 matches:
|
|
110
|
+
`# Test Report: <scope> — <YYYY-MM-DD>` *(or the legacy `# Test Entry #N` header for entry-N append mode).*
|
|
111
|
+
|
|
112
|
+
Behavior is defined in [`../_shared/output_conventions.md`](../_shared/output_conventions.md) §3.
|
|
113
|
+
|
|
114
|
+
Test-specific gap-fills:
|
|
115
|
+
|
|
116
|
+
- Plain-text test file paths → relative markdown links per §1.
|
|
117
|
+
- Bare commands cited as "re-run X" → full-syntax form per §2.
|
|
118
|
+
- Missing pass/fail counts → infer from the captured terminal output if present.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Filename & Folder Convention (v2 — Universal Daily File)
|
|
123
|
+
|
|
124
|
+
**Path:** `<target_folder>/.wb/workflows/reports/<YYYY>/<MM>/<DD>/tests/test_<target>_<YYYYMMDD>.md`
|
|
125
|
+
|
|
126
|
+
> **No `<model>/` subfolder.** All models contribute to ONE test file per day per scope.
|
|
127
|
+
> **No timestamp in filename.** Filename uses only the date.
|
|
128
|
+
|
|
129
|
+
**Create-or-Append Rule:**
|
|
130
|
+
- **File does NOT exist →** CREATE the file with a header and your test run as Entry #1.
|
|
131
|
+
- **File ALREADY exists →** READ it, then APPEND your test run as the next Entry #N. This creates a progression log (e.g., Entry #1: 352/365, Entry #2 after fix: 365/365).
|
|
132
|
+
- **Every entry tagged:** `*(ModelName via Client — HH:MM)*`
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## The Prompt (copy from here ↓)
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
━━━━━━━━━━━━━ /wbTest ━━━━━━━━━━━━━
|
|
140
|
+
|
|
141
|
+
📁 TARGET: __TARGET_PATH__
|
|
142
|
+
🧪 TEST TYPE: __UNIT | E2E | MANUAL | PERF__
|
|
143
|
+
📅 DATE: __TODAY__
|
|
144
|
+
🤖 MODEL: __YOUR_MODEL_NAME__
|
|
145
|
+
🖥️ CLIENT: __YOUR_CLIENT__
|
|
146
|
+
|
|
147
|
+
━━━ CONTEXT & GOAL ━━━
|
|
148
|
+
Act as a QA Engineer and Automation Expert. Your goal is to EXECUTIVELY verify the target's behavior.
|
|
149
|
+
|
|
150
|
+
Unlike a review (which looks at code), a test focuses on EXECUTION.
|
|
151
|
+
|
|
152
|
+
━━━ INSTRUCTIONS ━━━
|
|
153
|
+
|
|
154
|
+
**[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.
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
1. **Test Setup**: Initialize the testing environment. Run `npm install` if needed.
|
|
158
|
+
2. **Execution**:
|
|
159
|
+
- **If UNIT**: Run the test runner (e.g., `npm test`). Capture the output.
|
|
160
|
+
- **If E2E/MANUAL**: Use the browser subagent to navigate the site. Perform specific actions (click, type, refresh).
|
|
161
|
+
3. **Verification**: Confirm that the actual output matches the expected output.
|
|
162
|
+
4. **Summary**: Provide a PASS/FAIL status for each test case.
|
|
163
|
+
5. **Results**:
|
|
164
|
+
- ✅ **PASSED**: All assertions met.
|
|
165
|
+
- ❌ **FAILED**: Bug detected. Provide terminal/console logs.
|
|
166
|
+
|
|
167
|
+
6. SAVE using the Universal Daily File pattern:
|
|
168
|
+
|
|
169
|
+
CHECK if this file exists:
|
|
170
|
+
`<target_folder>/.wb/workflows/reports/__YYYY__/__MM__/__DD__/tests/test___NAME_____YYYYMMDD__.md`
|
|
171
|
+
|
|
172
|
+
- If it does NOT exist → CREATE the file with header + your test run as Entry #1
|
|
173
|
+
- If it ALREADY exists → APPEND your test run as the next Entry #N
|
|
174
|
+
|
|
175
|
+
Entry header format (use `---` only when appending, NEVER as the very first line of the file):
|
|
176
|
+
# Test Entry #N — *(__YOUR_MODEL_NAME__ via __YOUR_CLIENT__ — __CURRENT_TIME__)*
|
|
177
|
+
> **Model:** __YOUR_MODEL_NAME__
|
|
178
|
+
> **Client:** __YOUR_CLIENT__
|
|
179
|
+
> **Time:** __TODAY__ __CURRENT_TIME__
|
|
180
|
+
[... your full test results; all file references as relative links per output_conventions.md §1 ...]
|
|
181
|
+
|
|
182
|
+
7. APPLY OUTPUT CONVENTIONS:
|
|
183
|
+
- All test file paths and source file references → relative markdown links from the output file's directory (§1).
|
|
184
|
+
- Any /wb* commands cited (e.g., "re-run /wbTest") → full-syntax form (§2).
|
|
185
|
+
|
|
186
|
+
8. END THE FILE WITH:
|
|
187
|
+
|
|
188
|
+
## 🧭 What's Next?
|
|
189
|
+
|
|
190
|
+
Run `/wbNext <target_folder>` to get a current, ranked list of next actions based on these test results.
|
|
191
|
+
|
|
192
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
193
|
+
━━━ AUTO-APPEND FOOTER ━━━
|
|
194
|
+
|
|
195
|
+
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.
|
|
196
|
+
|
|
197
|
+
Format required:
|
|
198
|
+
```markdown
|
|
199
|
+
---
|
|
200
|
+
## 📂 Generated Files (__YYYYMMDD__)
|
|
201
|
+
> Auto-appended per `_shared/output_conventions.md` §5. Same-level snapshot of top-level command outputs at write time.
|
|
202
|
+
|
|
203
|
+
### 📚 Base Reference Files
|
|
204
|
+
| Type | File | Description |
|
|
205
|
+
|---|---|---|
|
|
206
|
+
| Foundational | [context.md](../../../../../context.md) | Permanent Identity and Architecture (Source of Truth) |
|
|
207
|
+
| Snapshot | [context_<scope>_<date>.md](../contexts/context_<scope>_<date>.md) | Daily snapshot used for current session context |
|
|
208
|
+
| Foundational | [dev.md](../../../../../dev.md) | Permanent Development Commands and Status |
|
|
209
|
+
|
|
210
|
+
### Global Files (`core2/` monorepo root)
|
|
211
|
+
| Category | File | Source Command |
|
|
212
|
+
|---|---|---|
|
|
213
|
+
| Reports | [audit_core2_<date>.md](../../../../../../../../../../.wb/workflows/reports/<YYYY>/<MM>/<DD>/audits/audit_core2_<date>.md) | `/wbAudit core2/` |
|
|
214
|
+
| Reports | [plan_core2_<date>.md](../../../../../../../../../../.wb/workflows/reports/<YYYY>/<MM>/<DD>/plans/plan_core2_<date>.md) | `/wbPlan core2/` |
|
|
215
|
+
| Tracks | [track_core2_<date>.md](../../../../../../../../../../.wb/workflows/tracks/<YYYY>/<MM>/<DD>/track_core2_<date>.md) | `/wbTrack core2/` |
|
|
216
|
+
|
|
217
|
+
<details>
|
|
218
|
+
<summary>📂 Sub-Package: [Active Package Name]</summary>
|
|
219
|
+
|
|
220
|
+
| Category | File | Source Command |
|
|
221
|
+
|---|---|---|
|
|
222
|
+
| Reports | [audit_subpkg_<date>.md](../../../../../../../../../../apps/wb-core/subpkg/.wb/workflows/reports/<YYYY>/<MM>/<DD>/audits/audit_subpkg_<date>.md) | `/wbAudit` |
|
|
223
|
+
|
|
224
|
+
</details>
|
|
225
|
+
```
|
|
226
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# /wbToWBC: 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 — `/wbToWBC`
|
|
16
|
+
|
|
17
|
+
## Two forms
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
/wbToWBC <file> # migrate one file
|
|
21
|
+
/wbToWBC <folder>/ # per-component analysis + selective migration
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## When to run
|
|
25
|
+
|
|
26
|
+
- Inheriting legacy code that should integrate with wbc-ui2.
|
|
27
|
+
- Modernizing pages still using raw HTML tables, vanilla Vuetify, or pre-wbc-ui2 patterns.
|
|
28
|
+
- Onboarding external code (acquired component, bought template) into the ecosystem.
|
|
29
|
+
|
|
30
|
+
## When *not* to run
|
|
31
|
+
|
|
32
|
+
- On code that already uses wbc-ui2. Refused.
|
|
33
|
+
- On a component without a clear wbc-ui2 equivalent (animation-heavy, drag-drop, niche UI). Refused.
|
|
34
|
+
- As a "make code better" lever. Migration is structural change; "better" is `/wbAudit` then `/wbRefactor`.
|
|
35
|
+
- Twice on the same file. One-shot.
|
|
36
|
+
|
|
37
|
+
## What you'll see in the output
|
|
38
|
+
|
|
39
|
+
- **Pre-migration analysis** — what kind of component is this? Does a wbc-ui2 equivalent exist?
|
|
40
|
+
- **Proposed rewrite** — config-driven version of the same behavior.
|
|
41
|
+
- **Preserved / Changed / Lost** — what survived, what's intentionally different, what's gone.
|
|
42
|
+
- **Orphaned files** — components/utilities the migration makes redundant.
|
|
43
|
+
- **Caveats** — what to verify before committing.
|
|
44
|
+
- **Cleanup pointers** — files to delete, audits to run.
|
|
45
|
+
|
|
46
|
+
## After migration
|
|
47
|
+
|
|
48
|
+
1. **Visually verify.** Open the page in the browser. Same behavior?
|
|
49
|
+
2. **Delete orphaned files.** The migration may make filter panels, utility functions, etc. redundant.
|
|
50
|
+
3. **`/wbAudit`** — confirm no regressions in code quality.
|
|
51
|
+
4. **`/wbTest`** — if tests existed for the legacy component, run them. They should still pass (behavior is preserved).
|
|
52
|
+
5. **`/wbGit`** — commit the migration with a clear message: `refactor(<scope>): migrate to wbc-ui2 (XYZ → WBDataViewer)`.
|
|
53
|
+
|
|
54
|
+
## The mistake to avoid
|
|
55
|
+
|
|
56
|
+
**Running `/wbToWBC` on a component that doesn't need migrating.** Migration changes the code substantially. Even if the AI succeeds, you've spent verification time + committed a large diff. If the legacy code is working and not on a deprecation path, leave it alone.
|
|
57
|
+
|
|
58
|
+
## When /wbToWBC is the wrong command
|
|
59
|
+
|
|
60
|
+
- Code is fine; just messy → `/wbAudit` + `/wbRefactor`.
|
|
61
|
+
- Behavior bug → `/wbDebug` + fix.
|
|
62
|
+
- New feature → just describe and build.
|
|
63
|
+
- Already wbc-ui2; want a different config → describe the change directly.
|
|
64
|
+
- Want to *remove* wbc-ui2 (de-migrate) → not supported. Manual rewrite.
|
|
65
|
+
|
|
66
|
+
`/wbToWBC` answers exactly one question: *"can this legacy component be expressed as wbc-ui2?"* If the answer is no, the command says so.
|
|
67
|
+
|
|
68
|
+
> For deeper reading: [`docs_claude/commands/wbToWBC/wbToWBC_practical_claude.md`](../../docs/docs_claude/commands/wbToWBC/wbToWBC_practical_claude.md) (or the `_eli5_`, `_expert_`, `_examples_` siblings).
|
|
69
|
+
<!-- HELP_GATE_END -->
|
|
70
|
+
|
|
71
|
+
**ROLE:** The Migrator
|
|
72
|
+
**TARGET:** The provided legacy component, folder, or view.
|
|
73
|
+
|
|
74
|
+
## ━━━ OBJECTIVE ━━━
|
|
75
|
+
Your job is to act as an Evangelist for the `WBC-UI2` ecosystem. You must take bulky, legacy code (e.g., standard HTML tables, raw Vuetify components) and completely rewrite it to use the proprietary `WBC-UI2` toolset (like `wb-dataviewer` or `wb-press`).
|
|
76
|
+
|
|
77
|
+
## ━━━ PHASE 1: LEGACY INGESTION ━━━
|
|
78
|
+
1. Analyze the target component to understand its visual structure, its reactive state, and its inputs/outputs.
|
|
79
|
+
2. Identify the optimal `WBC-UI2` component to replace it with.
|
|
80
|
+
|
|
81
|
+
## ━━━ PHASE 2: LIBRARY LOOKUP ━━━
|
|
82
|
+
1. Read the local documentation for the target `WBC-UI2` component (e.g., how `WBDataViewer` uses the "UI as Data" philosophy).
|
|
83
|
+
2. Ensure you understand the JSON prop structure required by the new component.
|
|
84
|
+
|
|
85
|
+
## ━━━ PHASE 3: THE TRANSFORMATION ━━━
|
|
86
|
+
1. Rewrite the file. Strip out the raw HTML loops and manual styling.
|
|
87
|
+
2. Implement the `WBC-UI2` wrapper component.
|
|
88
|
+
3. Migrate the legacy state into the clean JSON configuration required by the new wrapper.
|
|
89
|
+
|
|
90
|
+
## ━━━ PHASE 4: REPORTING ━━━
|
|
91
|
+
Generate a brief `migration_report.md`. Highlight the "Before & After" line counts to prove the efficiency of the WBC-UI2 ecosystem.
|