cabloy 5.1.151 → 5.1.153
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/.cabloy-version +1 -1
- package/.claude/skills/cabloy-module-removal/SKILL.md +1 -1
- package/.claude/skills/cabloy-resource-field-update/SKILL.md +1 -1
- package/.claude/skills/cabloy-spec-generation/SKILL.md +1 -1
- package/.claude/skills/cabloy-spec-generation/references/repo-aware-discovery.md +1 -1
- package/.claude/skills/cabloy-workflow/SKILL.md +13 -14
- package/.claude/skills/cabloy-workflow/evals/evals.json +4 -4
- package/CHANGELOG.md +20 -0
- package/CLAUDE.md +3 -3
- package/package.json +1 -1
- package/repo-docs/.vitepress/config.mjs +5 -0
- package/repo-docs/ai/cli-to-skill-map.md +19 -0
- package/repo-docs/ai/docs-skills-rules-mapping.md +21 -6
- package/repo-docs/ai/future-skill-roadmap.md +17 -72
- package/repo-docs/ai/introduction.md +15 -5
- package/repo-docs/ai/playbook-spec-execution.md +144 -0
- package/repo-docs/ai/playbook-spec-generation.md +155 -0
- package/repo-docs/ai/repo-guidance.md +9 -5
- package/repo-docs/ai/rules-and-config.md +2 -2
- package/repo-docs/ai/skills.md +4 -0
- package/repo-docs/ai/virtual-decorator-guidance.md +1 -1
- package/repo-docs/backend/introduction.md +1 -1
- package/repo-docs/frontend/model-resource-cookbook.md +38 -7
- package/repo-docs/frontend/model-resource-usage-guide.md +2 -1
- package/repo-docs/frontend/router-tabs-introduction.md +1 -1
- package/repo-docs/frontend/use-state-data-best-practices.md +39 -6
- package/repo-docs/reference/package-map.md +4 -1
- package/repo-docs/reference/repo-scripts.md +25 -0
- package/repo-e2e/specs/cabloy-basic.spec.ts +69 -20
- package/test-results/.last-run.json +4 -2
- package/test-results/cabloy-basic-ATP-BASIC-SUM-58d8a-ry-states-and-Markdown-HTML/error-context.md +195 -0
- package/vona/pnpm-lock.yaml +81 -145
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/page/payment/controller.tsx +3 -2
- package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.actionSummary.tsx +29 -6
- package/zova/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +1 -0
- package/zova/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +1 -0
- package/zova/src/suite/a-training/modules/training-student/src/model/student.ts +1 -1
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/package.json +1 -1
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/src/lib/mutationSuccess.ts +11 -0
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/src/model/resource.ts +12 -7
- package/zova/src/suite-vendor/a-cabloy/modules/rest-resource/test/lib/mutationSuccess.test.ts +95 -0
- package/zova/src/suite-vendor/a-cabloy/package.json +2 -2
package/.cabloy-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
5.1.
|
|
1
|
+
5.1.153
|
|
@@ -129,7 +129,7 @@ Ask or confirm whether the task is:
|
|
|
129
129
|
- code/runtime removal only
|
|
130
130
|
- code/runtime removal plus docs/examples scrub
|
|
131
131
|
|
|
132
|
-
If docs cleanup is in scope, update `repo-docs/` separately from the runtime cleanup.
|
|
132
|
+
If docs cleanup is in scope, update `repo-docs/` separately from the runtime cleanup. Keep maintainer rationale in `repo-docs-internal/`; do not require a particular internal record as part of module removal.
|
|
133
133
|
|
|
134
134
|
## Response pattern
|
|
135
135
|
|
|
@@ -217,7 +217,7 @@ Use these portable references:
|
|
|
217
217
|
- `references/custom-renderer-demo-checklist.md`
|
|
218
218
|
- [Existing Resource Field Update](../../../repo-docs/backend/resource-field-update.md)
|
|
219
219
|
|
|
220
|
-
When
|
|
220
|
+
When relevant and available in the active edition, `repo-docs-internal/architecture/backend-resource-field-workflow.md` may be consulted as optional maintainer rationale. Its absence must not block or alter this shared workflow.
|
|
221
221
|
|
|
222
222
|
Recommended shape:
|
|
223
223
|
|
|
@@ -173,7 +173,7 @@ Optional records remain subordinate to the PRD/SRS/WBS/test-plan authority appro
|
|
|
173
173
|
|
|
174
174
|
While drafting, preserve these principles and tailor them to confirmed scope:
|
|
175
175
|
|
|
176
|
-
- `repo-specs/` is the product/business planning home; `repo-docs/` is public and agent-facing framework guidance;
|
|
176
|
+
- `repo-specs/` is the product/business planning home; `repo-docs/` is public and agent-facing framework guidance; `repo-docs-internal/` holds supporting cross-suite maintainer rationale; `.claude/skills/` is workflow behavior; do not assume a particular internal record exists in every edition;
|
|
177
177
|
- use suite-first ownership and distinguish new domain modules from reusable framework modules; do not duplicate an existing persistence or identity owner without a stated decision;
|
|
178
178
|
- treat the active Vona instance as the tenant by default; do not introduce a store, organization, or merchant entity unless the confirmed domain contract requires it;
|
|
179
179
|
- make identity, tenant scope, authorization, and ownership server-authoritative; menus, routes, browser filters, and UI visibility are not API authorization;
|
|
@@ -82,7 +82,7 @@ Hand actual implementation-time synchronization to `cabloy-contract-loop`.
|
|
|
82
82
|
| --- | --- |
|
|
83
83
|
| Product requirements, SRS contracts, WBS, ATPs, suite ADRs, delivery status | `repo-specs/<suite>/` |
|
|
84
84
|
| Reusable user-facing or agent-facing framework guidance | `repo-docs/` |
|
|
85
|
-
| Cross-suite maintainer architecture, rationale, and engineering ADRs |
|
|
85
|
+
| Cross-suite maintainer architecture, rationale, and engineering ADRs | `repo-docs-internal/`; individual records may vary by edition |
|
|
86
86
|
| Short durable AI operating rules | `CLAUDE.md` |
|
|
87
87
|
| Reusable Claude procedure | `.claude/skills/` |
|
|
88
88
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: cabloy-workflow
|
|
3
|
-
description: This skill should be used when the main Cabloy problem is workflow routing before implementation: deciding between Vona backend scaffolding, Zova frontend scaffolding, contract-loop work, or docs/AI-enablement homes such as repo-docs,
|
|
3
|
+
description: This skill should be used when the main Cabloy problem is workflow routing before implementation: deciding between Vona backend scaffolding, Zova frontend scaffolding, contract-loop work, or docs/AI-enablement homes such as repo-docs, repo-docs-internal, CLAUDE.md, commands, or skills, including cases where Cabloy Basic vs Cabloy Start assumptions affect that routing. Trigger on requests to route, classify, choose a workflow, choose an edition-specific path, or decide where Cabloy guidance should live. Do not use it once the task is already clearly a backend scaffold, frontend scaffold, or contract-loop job.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Cabloy Workflow
|
|
@@ -31,13 +31,12 @@ Interpretation:
|
|
|
31
31
|
|
|
32
32
|
This matters most for frontend work, UI-layer assumptions, flavor names, suite/module availability, SSR site baselines, project assets, and edition-specific AI guidance.
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Documentation-root policy is independent of edition detection:
|
|
35
35
|
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
- treat edition-local internal
|
|
39
|
-
- when
|
|
40
|
-
- do not create a missing documentation home unless the user explicitly asks to establish one
|
|
36
|
+
- `repo-docs-internal/` is the internal documentation home in Cabloy Basic and Cabloy Start
|
|
37
|
+
- inspect a specific internal record before recommending or reading it
|
|
38
|
+
- treat relevant edition-local internal records as supporting maintainer material, never as a prerequisite for shared workflow routing
|
|
39
|
+
- when a specific record is unavailable or irrelevant, continue from public docs, bundled skill references, active source, and tests
|
|
41
40
|
|
|
42
41
|
## Step 2: Identify the task layer
|
|
43
42
|
|
|
@@ -79,7 +78,7 @@ Use the frontend path when the task is about:
|
|
|
79
78
|
Use the docs/AI path when the task is about:
|
|
80
79
|
|
|
81
80
|
- `repo-docs/`
|
|
82
|
-
-
|
|
81
|
+
- `repo-docs-internal/`
|
|
83
82
|
- `CLAUDE.md`
|
|
84
83
|
- `.claude/commands/`
|
|
85
84
|
- `.claude/skills/`
|
|
@@ -94,7 +93,7 @@ Before inventing a workflow, inspect these shared surfaces:
|
|
|
94
93
|
- `npm run zova`
|
|
95
94
|
- root `CLAUDE.md` if present
|
|
96
95
|
- `repo-docs/` for public guidance
|
|
97
|
-
-
|
|
96
|
+
- `repo-docs-internal/` for supporting maintainer rationale
|
|
98
97
|
|
|
99
98
|
If the request spans backend and frontend, classify it as fullstack by default unless the user clearly wants only one side.
|
|
100
99
|
|
|
@@ -167,16 +166,16 @@ Use `repo-docs/` for:
|
|
|
167
166
|
- reusable AI-facing workflow guidance
|
|
168
167
|
- edition-aware public documentation
|
|
169
168
|
|
|
170
|
-
###
|
|
169
|
+
### `repo-docs-internal/`
|
|
171
170
|
|
|
172
|
-
|
|
171
|
+
Use `repo-docs-internal/` for:
|
|
173
172
|
|
|
174
173
|
- ADRs
|
|
175
174
|
- architecture notes
|
|
176
175
|
- maintainer rationale
|
|
177
176
|
- invariants and design boundaries
|
|
178
177
|
|
|
179
|
-
|
|
178
|
+
Relevant internal records support routing and implementation but do not block them: shared public guidance remains complete, and individual records may be unavailable or irrelevant in the active edition.
|
|
180
179
|
|
|
181
180
|
### Root rules and commands
|
|
182
181
|
|
|
@@ -208,7 +207,7 @@ When the request is about whether a backend base class belongs in `src/lib`, `sr
|
|
|
208
207
|
For these requests:
|
|
209
208
|
|
|
210
209
|
- put the durable operational explanation in `repo-docs/`
|
|
211
|
-
-
|
|
210
|
+
- put supporting rationale and invariants in `repo-docs-internal/`; preserve the public operational explanation when a particular internal record is unavailable or irrelevant
|
|
212
211
|
- keep `CLAUDE.md` short and behavioral
|
|
213
212
|
- do not treat `@Service()` as a business-layer naming decision only; for B2 it is a runtime-anchor placement choice
|
|
214
213
|
|
|
@@ -287,7 +286,7 @@ Verify:
|
|
|
287
286
|
|
|
288
287
|
- referenced paths exist
|
|
289
288
|
- command names still exist
|
|
290
|
-
- public docs,
|
|
289
|
+
- public docs, `repo-docs-internal/` rationale, and rules tell a consistent story
|
|
291
290
|
- edition-specific notes point to the right repo assumptions
|
|
292
291
|
|
|
293
292
|
### For backend/frontend workflow changes
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"id": 3,
|
|
18
|
-
"prompt": "Please help me decide whether this new AI guidance belongs in public docs,
|
|
19
|
-
"expected_output": "Routes shared operational guidance to public docs and Claude rules/skills as appropriate,
|
|
18
|
+
"prompt": "Please help me decide whether this new AI guidance belongs in public docs, repo-docs-internal, CLAUDE.md, or a skill. The guidance is about when to use npm run zova instead of hand-written scaffolding.",
|
|
19
|
+
"expected_output": "Routes shared operational guidance to public docs and Claude rules/skills as appropriate, routes supporting maintainer rationale to repo-docs-internal, and reinforces the CLI-first principle without making an individual internal record a requirement.",
|
|
20
20
|
"files": []
|
|
21
21
|
},
|
|
22
22
|
{
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
"id": 9,
|
|
54
|
-
"prompt": "I am in a Cabloy checkout
|
|
55
|
-
"expected_output": "
|
|
54
|
+
"prompt": "I am in a Cabloy checkout where repo-docs-internal exists, but the named architecture record I expected is not available in this edition. I need shared agent guidance and some maintainer rationale. Where should each part go?",
|
|
55
|
+
"expected_output": "Recognizes repo-docs-internal as the internal documentation home, routes shared operational guidance to public docs and Claude rules or skills, and treats the missing named record as non-blocking rather than inventing a replacement or moving rationale into public docs automatically.",
|
|
56
56
|
"files": []
|
|
57
57
|
}
|
|
58
58
|
]
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 5.1.153
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- Add an option to disable Suspense during initialization.
|
|
8
|
+
- Add support for bypassing the persister.
|
|
9
|
+
|
|
10
|
+
### Improvements
|
|
11
|
+
|
|
12
|
+
- Update table cell action summary handling.
|
|
13
|
+
- Improve query summary Suspense documentation.
|
|
14
|
+
- Update state data best-practices documentation.
|
|
15
|
+
- Enhance internal repository documentation and specification-generation guidance.
|
|
16
|
+
|
|
17
|
+
## 5.1.152
|
|
18
|
+
|
|
19
|
+
### Improvements
|
|
20
|
+
|
|
21
|
+
- Update project guidance in `CLAUDE.md`.
|
|
22
|
+
|
|
3
23
|
## 5.1.151
|
|
4
24
|
|
|
5
25
|
### Features
|
package/CLAUDE.md
CHANGED
|
@@ -17,7 +17,7 @@ Always perform this detection before making UI-sensitive assumptions, choosing f
|
|
|
17
17
|
- `vona/` contains the backend framework, backend modules, and the Vona CLI.
|
|
18
18
|
- `zova/` contains the frontend framework, frontend modules, and the Zova CLI.
|
|
19
19
|
- `repo-docs/` contains the unified public documentation.
|
|
20
|
-
- `repo-docs-internal
|
|
20
|
+
- `repo-docs-internal/` contains edition-local maintainer notes and ADRs; treat relevant records as supporting material, not as a shared-edition requirement.
|
|
21
21
|
- `repo-specs/` contains product and business specifications, delivery plans, and suite-local ADRs.
|
|
22
22
|
- `repo-e2e/` contains the end-to-end test project.
|
|
23
23
|
- `repo-observability/` contains local observability infrastructure.
|
|
@@ -38,8 +38,7 @@ Before inventing a custom implementation path:
|
|
|
38
38
|
## Documentation boundary
|
|
39
39
|
|
|
40
40
|
- Put user-facing and agent-facing guidance in `repo-docs/`.
|
|
41
|
-
-
|
|
42
|
-
- If the active repository has no established internal-documentation home, do not block the workflow or move internal rationale into public docs automatically; use existing documentation homes or ask before establishing one.
|
|
41
|
+
- Put maintainer rationale, architecture notes, and engineering ADRs in `repo-docs-internal/`. Treat relevant records as supporting material: shared workflows remain complete without any particular internal record, which may vary by edition.
|
|
43
42
|
- Put product and business specifications, delivery plans, acceptance records, and suite-local ADRs in `repo-specs/` when that repository surface exists.
|
|
44
43
|
- Do not mix internal rationale into public how-to pages unless a trimmed user-facing explanation is genuinely needed.
|
|
45
44
|
|
|
@@ -68,6 +67,7 @@ Before inventing a custom implementation path:
|
|
|
68
67
|
- For render-driving async state, read the current query-owned reactive surface (`query.data` or a model-derived projection); an awaited `query.refetch()` result is valid only for one-shot interaction or orchestration and must not become a parallel ongoing controller/render state owner.
|
|
69
68
|
- In SSR, keep server HTML and the client's hydration-time initial render equivalent. When server rendering intentionally omits private, cookie-unavailable, or browser-only state, keep the same neutral shell or placeholder through hydration and defer its query/load/render branch to an explicit post-hydration, admission, mounted, or interaction boundary.
|
|
70
69
|
- Keep repo-wide AI rules in `CLAUDE.md` short and durable; put branching Zova analysis workflows in `.claude/skills/`.
|
|
70
|
+
- After implementation, do not launch broad reviews automatically; when review is needed, scope it to the current diff and report only high-confidence issues.
|
|
71
71
|
- Do not modify shared environment identity or ports merely to bypass a busy resource. For intentional parallel worktree setup, follow `repo-docs/fullstack/parallel-worktree-environment.md`; otherwise wait for the shared resource or ask the user. Create or change worktree-local environment overrides only through the explicitly invoked `cabloy-worktree-environment` skill and its confirmation phase, and only in `vona/env/.env.local` and `zova/env/.env.local`; never modify flavor-, mode-, app-mode-, or runtime-specific `.env.*.local` files. The skill derives the standard `APP_NAME`, `SERVER_LISTEN_PORT`, `DEV_SERVER_PORT`, `DEV_SERVER_HMR_PORT`, and API-derived `API_BASE_URL` tuple only from Git worktree metadata and fixed port baselines; never read or expose `.env*` content while recommending values. Admin and Web are alternative commands using this shared tuple and must not run concurrently in one worktree; use another linked worktree for concurrent use. Detect the active edition before choosing scripts, and never run `npm run init` as an automatic follow-up.
|
|
72
72
|
- For SSR theme-sensitive frontend work, detect the active edition marker and UI library before making assumptions. Cabloy Basic currently means DaisyUI + Tailwind CSS assumptions; Cabloy Start currently means Vuetify assumptions.
|
|
73
73
|
- In Web SSR without cookie-backed theme resolution, do not treat server reads of `$theme.dark`, `$theme.darkMode`, or `$token` as final browser truth. Keep theme-sensitive SSR branching hydration-tolerant or defer final theme-sensitive decisions to the client.
|
package/package.json
CHANGED
|
@@ -23,6 +23,11 @@ const aiItems = [
|
|
|
23
23
|
{ text: 'Playbook: Backend Module', link: '/ai/playbook-backend-module' },
|
|
24
24
|
{ text: 'Playbook: Frontend Page', link: '/ai/playbook-frontend-page' },
|
|
25
25
|
{ text: 'Playbook: Contract Regeneration', link: '/ai/playbook-contract-regeneration' },
|
|
26
|
+
{ text: 'Playbook: Plan a Suite Specification', link: '/ai/playbook-spec-generation' },
|
|
27
|
+
{
|
|
28
|
+
text: 'Playbook: Execute an Approved Specification Increment',
|
|
29
|
+
link: '/ai/playbook-spec-execution',
|
|
30
|
+
},
|
|
26
31
|
{ text: 'Playbook: Module Removal', link: '/ai/playbook-module-removal' },
|
|
27
32
|
{ text: 'Playbook: Metadata Refresh', link: '/ai/playbook-metadata-refresh' },
|
|
28
33
|
{ text: 'Playbook: Technical Blog Authoring', link: '/ai/playbook-technical-blog-authoring' },
|
|
@@ -122,6 +122,25 @@ Typical skill role:
|
|
|
122
122
|
|
|
123
123
|
- notice when route/component/icon changes require metadata regeneration
|
|
124
124
|
|
|
125
|
+
## Repository planning and derived-chart scripts
|
|
126
|
+
|
|
127
|
+
Not every skill maps to a Vona or Zova generator. Repository-native suite specifications are authored under `repo-specs/`; no CLI generates the complete planning authority set.
|
|
128
|
+
|
|
129
|
+
In the current Cabloy Basic repository, these root scripts refresh and check derived planning views:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
npm run spec:charts -- <suite>
|
|
133
|
+
npm run spec:charts:check -- <suite>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
They generate or validate the Gantt and burndown SVGs from authoritative planning records. They do not replace PRD/SRS/WBS/ATP updates, implement a WBS task, execute an ATP, or create evidence. Confirm scripts in the active repository before using them for another edition.
|
|
137
|
+
|
|
138
|
+
Typical skill roles:
|
|
139
|
+
|
|
140
|
+
- `cabloy-spec-generation` creates or updates planning authority only after confirmation, then refreshes derived charts after relevant record changes
|
|
141
|
+
- `cabloy-spec-execution` coordinates one approved increment, records evidence before derived progress, then refreshes and checks charts
|
|
142
|
+
- source implementation remains routed to Vona, Zova, contract-loop, or other specialist workflows
|
|
143
|
+
|
|
125
144
|
## Example mappings
|
|
126
145
|
|
|
127
146
|
### Example: “Create a student CRUD backend thread”
|
|
@@ -38,11 +38,11 @@ Public docs answer questions like:
|
|
|
38
38
|
- how does Zova page or model architecture work?
|
|
39
39
|
- what is different between Cabloy Basic and Cabloy Start?
|
|
40
40
|
|
|
41
|
-
### 2.
|
|
41
|
+
### 2. Internal engineering docs
|
|
42
42
|
|
|
43
43
|
Location:
|
|
44
44
|
|
|
45
|
-
-
|
|
45
|
+
- `repo-docs-internal/`
|
|
46
46
|
|
|
47
47
|
Use internal docs for:
|
|
48
48
|
|
|
@@ -51,7 +51,7 @@ Use internal docs for:
|
|
|
51
51
|
- maintenance boundaries
|
|
52
52
|
- “why this design exists” notes that do not belong in public user docs
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
Relevant internal records answer questions like:
|
|
55
55
|
|
|
56
56
|
- why were docs and internal notes separated?
|
|
57
57
|
- why is AI enablement structured this way?
|
|
@@ -105,7 +105,7 @@ Skills answer questions like:
|
|
|
105
105
|
Use this quick rule:
|
|
106
106
|
|
|
107
107
|
- if people and agents both need to read and understand it, put it in **public docs**
|
|
108
|
-
- if it is maintainer rationale or long-lived design history, use
|
|
108
|
+
- if it is maintainer rationale or long-lived design history, use `repo-docs-internal/`; shared guidance remains complete without any particular internal record
|
|
109
109
|
- if it is short repo-wide behavioral guidance, put it in **CLAUDE.md**
|
|
110
110
|
- if it is a named repeatable operator action, put it in a **command**
|
|
111
111
|
- if it is a reusable procedural workflow with branching, put it in a **skill**
|
|
@@ -128,7 +128,7 @@ Use this quick rule:
|
|
|
128
128
|
### Example: “How should a backend base class be placed?”
|
|
129
129
|
|
|
130
130
|
- public operational explanation → [Class Placement Rule](/ai/class-placement-rule)
|
|
131
|
-
- maintainer rationale and invariants →
|
|
131
|
+
- maintainer rationale and invariants → `repo-docs-internal/`
|
|
132
132
|
- default repo-wide behavior → `CLAUDE.md`
|
|
133
133
|
- procedural decision workflow → `cabloy-workflow` skill
|
|
134
134
|
|
|
@@ -153,7 +153,7 @@ Use this quick rule:
|
|
|
153
153
|
### Example: “How should AI remove an existing module cleanly?”
|
|
154
154
|
|
|
155
155
|
- public operational explanation → [Playbook: Module Removal](/ai/playbook-module-removal)
|
|
156
|
-
- maintainer rationale and pitfalls →
|
|
156
|
+
- maintainer rationale and pitfalls → `repo-docs-internal/`
|
|
157
157
|
- avoid putting the full workflow in `CLAUDE.md` because the task needs branching, cleanup order, generated-runtime recovery, and verification
|
|
158
158
|
- procedural decision workflow → `cabloy-module-removal` skill
|
|
159
159
|
|
|
@@ -165,6 +165,21 @@ Use this quick rule:
|
|
|
165
165
|
- avoid putting the full branching workflow in `CLAUDE.md` because the task needs proposal, validation, confirmation, and CLI handoff
|
|
166
166
|
- procedural decision workflow → `cabloy-domain-planning` skill
|
|
167
167
|
|
|
168
|
+
### Example: “How should AI create or maintain a repository-native suite specification?”
|
|
169
|
+
|
|
170
|
+
- public workflow explanation → [Playbook: Plan a Cabloy Suite Specification](/ai/playbook-spec-generation)
|
|
171
|
+
- procedural planning, confirmation, traceability, and chart-refresh behavior → `cabloy-spec-generation`
|
|
172
|
+
- suite-specific PRD, SRS, WBS, ATP, ADR, progress, and observed evidence authority → `repo-specs/<suite>/`
|
|
173
|
+
- maintainer rationale → `repo-docs-internal/`
|
|
174
|
+
- implementation is not implied by creating planning records
|
|
175
|
+
|
|
176
|
+
### Example: “How should AI deliver an approved suite task?”
|
|
177
|
+
|
|
178
|
+
- public workflow explanation → [Playbook: Execute an Approved Cabloy Specification Increment](/ai/playbook-spec-execution)
|
|
179
|
+
- bounded-WBS coordination, readiness gates, evidence, and derived-status behavior → `cabloy-spec-execution`
|
|
180
|
+
- source implementation → the relevant backend, frontend, contract-loop, or shape-specific skill
|
|
181
|
+
- product, contract, dependency, scope, or durable-decision changes → return to specification or domain planning
|
|
182
|
+
|
|
168
183
|
### Example: “What `@Api.field(...)` ordering rule should AI preserve when mixing helpers and zod?”
|
|
169
184
|
|
|
170
185
|
- full explanation → [Entity Guide](/backend/entity-guide) and [DTO Guide](/backend/dto-guide)
|
|
@@ -14,94 +14,39 @@ Current root skills include:
|
|
|
14
14
|
|
|
15
15
|
- `cabloy-workflow`
|
|
16
16
|
- `cabloy-domain-planning`
|
|
17
|
+
- `cabloy-spec-generation`
|
|
18
|
+
- `cabloy-spec-execution`
|
|
19
|
+
- `cabloy-backend-scaffold`
|
|
20
|
+
- `cabloy-frontend-scaffold`
|
|
17
21
|
- `cabloy-contract-loop`
|
|
18
22
|
- `cabloy-resource-field-update`
|
|
19
23
|
- `cabloy-module-removal`
|
|
24
|
+
- `cabloy-master-detail`
|
|
25
|
+
- `cabloy-worktree-environment`
|
|
26
|
+
- `cabloy-zova-source-reading`
|
|
20
27
|
|
|
21
28
|
Their current roles are:
|
|
22
29
|
|
|
23
30
|
- `cabloy-workflow` → broad workflow selection, edition detection, CLI-first routing, and verification framing
|
|
24
31
|
- `cabloy-domain-planning` → suite-first naming proposals, providerId confirmation, module-boundary suggestions, and scaffold handoff for new business domains
|
|
32
|
+
- `cabloy-spec-generation` → repository-native suite planning authority, traceability, confirmation, and derived planning views
|
|
33
|
+
- `cabloy-spec-execution` → one approved WBS increment through readiness gates, specialist routing, evidence, and derived status
|
|
34
|
+
- `cabloy-backend-scaffold` → Vona implementation routing and CLI-backed backend scaffolding
|
|
35
|
+
- `cabloy-frontend-scaffold` → Zova implementation routing and CLI-backed frontend scaffolding
|
|
25
36
|
- `cabloy-contract-loop` → backend/frontend contract regeneration, reverse-chain handling, and drift diagnosis
|
|
26
37
|
- `cabloy-resource-field-update` → existing backend resource-field changes with `fileVersion` and renderer-aware follow-up
|
|
27
38
|
- `cabloy-module-removal` → backend/frontend/fullstack module deletion order, generated-runtime cleanup, and verification
|
|
39
|
+
- `cabloy-master-detail` → coordinated master-detail resource workflow
|
|
40
|
+
- `cabloy-worktree-environment` → confirmed worktree-local environment tuple setup for intentional parallel work
|
|
41
|
+
- `cabloy-zova-source-reading` → Zova-first source reading and Vue comparison workflow
|
|
28
42
|
|
|
29
43
|
This is now a stronger foundation skill set, but it still leaves several useful workflow families for future specialization.
|
|
30
44
|
|
|
31
45
|
## Recommended next skill families
|
|
32
46
|
|
|
33
|
-
|
|
47
|
+
The backend scaffold, frontend scaffold, contract-loop, resource-field-update, and metadata-refresh workflow families already have implemented specialist coverage. Future work should refine those skills only when a new repository-wide branch or stable verification need emerges.
|
|
34
48
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
- scaffold Vona controller/service/model/entity/dto/CRUD threads
|
|
38
|
-
- choose between bean creation and CRUD generation
|
|
39
|
-
- verify migration/test implications
|
|
40
|
-
|
|
41
|
-
Primary dependencies:
|
|
42
|
-
|
|
43
|
-
- Vona `create:*`
|
|
44
|
-
- Vona `tools:*`
|
|
45
|
-
- backend docs in `repo-docs/backend/`
|
|
46
|
-
|
|
47
|
-
### 2. Frontend scaffold skill
|
|
48
|
-
|
|
49
|
-
Purpose:
|
|
50
|
-
|
|
51
|
-
- scaffold Zova pages/components/API/models
|
|
52
|
-
- branch correctly between Basic and Start
|
|
53
|
-
- use create/refactor commands before manual edits
|
|
54
|
-
|
|
55
|
-
Primary dependencies:
|
|
56
|
-
|
|
57
|
-
- Zova `create:*`
|
|
58
|
-
- Zova `refactor:*`
|
|
59
|
-
- frontend docs in `repo-docs/frontend/`
|
|
60
|
-
|
|
61
|
-
### 3. Fullstack contract loop skill
|
|
62
|
-
|
|
63
|
-
Purpose:
|
|
64
|
-
|
|
65
|
-
- detect backend contract changes
|
|
66
|
-
- regenerate OpenAPI/SDK-related output
|
|
67
|
-
- verify backend/frontend contract alignment
|
|
68
|
-
|
|
69
|
-
Primary dependencies:
|
|
70
|
-
|
|
71
|
-
- Vona OpenAPI and validation docs
|
|
72
|
-
- Zova OpenAPI SDK and server-data docs
|
|
73
|
-
- fullstack collaboration docs
|
|
74
|
-
|
|
75
|
-
### 4. Resource field update skill
|
|
76
|
-
|
|
77
|
-
Purpose:
|
|
78
|
-
|
|
79
|
-
- handle updates to fields on existing backend resources
|
|
80
|
-
- force the right `fileVersion` decision for new persisted fields
|
|
81
|
-
- branch correctly between shared renderer reuse and custom renderer demo follow-up
|
|
82
|
-
- verify entity, locale, migration, test, metadata, build, and dependency-sync implications
|
|
83
|
-
|
|
84
|
-
Primary dependencies:
|
|
85
|
-
|
|
86
|
-
- Vona entity / migration / DTO workflow knowledge
|
|
87
|
-
- Zova metadata/build flows when renderer follow-up is involved
|
|
88
|
-
- [Existing Resource Field Update](/backend/resource-field-update)
|
|
89
|
-
|
|
90
|
-
### 5. Metadata refresh skill
|
|
91
|
-
|
|
92
|
-
Purpose:
|
|
93
|
-
|
|
94
|
-
- detect when route/component/icon or related changes require metadata regeneration
|
|
95
|
-
- run the right metadata flow
|
|
96
|
-
- verify generated artifacts belong to the active edition
|
|
97
|
-
|
|
98
|
-
Primary dependencies:
|
|
99
|
-
|
|
100
|
-
- Zova `tools:*`
|
|
101
|
-
- CLI-to-skill mapping
|
|
102
|
-
- edition detection docs
|
|
103
|
-
|
|
104
|
-
### 6. Distributed backend workflow skill
|
|
49
|
+
### 1. Distributed backend workflow skill
|
|
105
50
|
|
|
106
51
|
Purpose:
|
|
107
52
|
|
|
@@ -148,7 +93,7 @@ The purpose is to create a small number of high-leverage skills that directly re
|
|
|
148
93
|
|
|
149
94
|
- `repo-docs/`
|
|
150
95
|
- `CLAUDE.md`
|
|
151
|
-
-
|
|
96
|
+
- `repo-docs-internal/`
|
|
152
97
|
- `.claude/skills/`
|
|
153
98
|
- the Vona and Zova CLIs
|
|
154
99
|
|
|
@@ -8,7 +8,7 @@ The Cabloy monorepo is a good fit for AI vibe coding because the source tree alr
|
|
|
8
8
|
- Vona CLI source and command groups
|
|
9
9
|
- Zova CLI source and command groups
|
|
10
10
|
- archived docs that still capture valuable concepts
|
|
11
|
-
-
|
|
11
|
+
- `repo-docs-internal/` engineering docs for maintainers
|
|
12
12
|
- Claude commands and skills
|
|
13
13
|
|
|
14
14
|
## The main design goal
|
|
@@ -20,7 +20,7 @@ The goal is to make AI **reuse the repo’s existing conventions directly**, esp
|
|
|
20
20
|
- CLI commands
|
|
21
21
|
- root scripts
|
|
22
22
|
- repo markers
|
|
23
|
-
-
|
|
23
|
+
- relevant `repo-docs-internal/` architecture notes
|
|
24
24
|
- shared public documentation
|
|
25
25
|
|
|
26
26
|
## How to approach AI work
|
|
@@ -29,7 +29,7 @@ For contributor and automation workflows in this repository, prefer this order:
|
|
|
29
29
|
|
|
30
30
|
1. inspect the active edition and repo markers before making UI-sensitive or workflow-sensitive assumptions
|
|
31
31
|
2. inspect root scripts, Vona CLI, and Zova CLI before inventing manual scaffolding or custom workflow steps
|
|
32
|
-
3. use public docs for durable user-facing and agent-facing guidance; consult
|
|
32
|
+
3. use public docs for durable user-facing and agent-facing guidance; consult relevant `repo-docs-internal/` records for supporting maintainer rationale
|
|
33
33
|
4. encode repeatable behavior in Claude rules, commands, or skills instead of relying on unstated habits
|
|
34
34
|
|
|
35
35
|
## The knowledge layers
|
|
@@ -40,9 +40,9 @@ Use `repo-docs/` for user-facing and agent-facing guidance that should remain du
|
|
|
40
40
|
|
|
41
41
|
For normal project usage, prefer the user-facing entry docs such as [Fullstack Quickstart](/fullstack/quickstart). This AI section focuses on repository workflows and AI vibe coding.
|
|
42
42
|
|
|
43
|
-
###
|
|
43
|
+
### `repo-docs-internal/` engineering docs
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
Use `repo-docs-internal/` for architecture notes, ADRs, and maintainer rationale that should not be mixed into public how-to documentation. Relevant records support a shared workflow without being prerequisites; an unavailable or irrelevant individual record must not cause its rationale to be moved into public how-to documentation automatically.
|
|
46
46
|
|
|
47
47
|
### Claude rules and commands
|
|
48
48
|
|
|
@@ -66,6 +66,16 @@ Start here when the task is about choosing the right repo surface, docs location
|
|
|
66
66
|
- [Skills](/ai/skills)
|
|
67
67
|
- [Rules and Config](/ai/rules-and-config)
|
|
68
68
|
|
|
69
|
+
### Specification planning and delivery path
|
|
70
|
+
|
|
71
|
+
Use this path to establish suite authority before implementation, then deliver one approved, bounded WBS increment with evidence-backed status:
|
|
72
|
+
|
|
73
|
+
- [Playbook: Plan a Cabloy Suite Specification](/ai/playbook-spec-generation)
|
|
74
|
+
- [Playbook: Execute an Approved Cabloy Specification Increment](/ai/playbook-spec-execution)
|
|
75
|
+
- [Skills](/ai/skills)
|
|
76
|
+
- [Repo Scripts](/reference/repo-scripts)
|
|
77
|
+
- [Verification](/ai/verification)
|
|
78
|
+
|
|
69
79
|
### Framework implementation path
|
|
70
80
|
|
|
71
81
|
Use this path when the task is about implementing or reviewing Cabloy code with repo-aware rules:
|