cabloy 5.1.60 → 5.1.62

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 (232) hide show
  1. package/.claude/hooks/contract-loop-gate.ts +296 -0
  2. package/.claude/settings.json +16 -0
  3. package/.claude/skills/cabloy-backend-scaffold/SKILL.md +2 -0
  4. package/.claude/skills/cabloy-backend-scaffold/references/follow-up-checklist.md +1 -0
  5. package/.claude/skills/cabloy-contract-loop/SKILL.md +89 -16
  6. package/.claude/skills/cabloy-contract-loop/references/contract-loop-map.md +102 -14
  7. package/.claude/skills/cabloy-contract-loop/references/resource-custom-state-pattern.md +4 -0
  8. package/.claude/skills/cabloy-contract-loop/references/verification-checklist.md +32 -14
  9. package/.claude/skills/cabloy-domain-planning/SKILL.md +212 -0
  10. package/.claude/skills/cabloy-frontend-scaffold/SKILL.md +13 -0
  11. package/.claude/skills/cabloy-frontend-scaffold/references/follow-up-checklist.md +2 -0
  12. package/.claude/skills/cabloy-module-removal/SKILL.md +144 -0
  13. package/.claude/skills/cabloy-resource-field-update/SKILL.md +7 -0
  14. package/.claude/skills/cabloy-zova-source-reading/SKILL.md +221 -0
  15. package/.claude/skills/cabloy-zova-source-reading/references/analysis-modes.md +91 -0
  16. package/.claude/skills/cabloy-zova-source-reading/references/core-reading-paths.md +117 -0
  17. package/CHANGELOG.md +64 -0
  18. package/CLAUDE.md +11 -0
  19. package/cabloy-docs/.vitepress/config.mjs +197 -5
  20. package/cabloy-docs/ai/cli-to-skill-map.md +7 -0
  21. package/cabloy-docs/ai/docs-skills-rules-mapping.md +22 -0
  22. package/cabloy-docs/ai/future-skill-roadmap.md +12 -7
  23. package/cabloy-docs/ai/introduction.md +1 -0
  24. package/cabloy-docs/ai/playbook-backend-module.md +6 -0
  25. package/cabloy-docs/ai/playbook-module-removal.md +164 -0
  26. package/cabloy-docs/ai/skills.md +12 -0
  27. package/cabloy-docs/backend/backend-contract-emission-output-inspection.md +189 -0
  28. package/cabloy-docs/backend/backend-contract-emission-source-reading-map.md +160 -0
  29. package/cabloy-docs/backend/backend-contract-emission-specimen.md +170 -0
  30. package/cabloy-docs/backend/backend-resource-module-contract-chain.md +323 -0
  31. package/cabloy-docs/backend/backend-source-reading-debug-checklist.md +173 -0
  32. package/cabloy-docs/backend/backend-source-reading-roadmap.md +129 -0
  33. package/cabloy-docs/backend/backend-source-reading-verify-playbook.md +166 -0
  34. package/cabloy-docs/backend/bean-scene-authoring.md +4 -4
  35. package/cabloy-docs/backend/broadcast-guide.md +3 -3
  36. package/cabloy-docs/backend/cli.md +20 -11
  37. package/cabloy-docs/backend/config-guide.md +4 -4
  38. package/cabloy-docs/backend/controller-aop-guide.md +10 -10
  39. package/cabloy-docs/backend/controller-guide.md +12 -2
  40. package/cabloy-docs/backend/crud-workflow.md +7 -3
  41. package/cabloy-docs/backend/dto-guide.md +18 -2
  42. package/cabloy-docs/backend/dto-infer-generation.md +201 -25
  43. package/cabloy-docs/backend/election-guide.md +2 -2
  44. package/cabloy-docs/backend/entity-guide.md +30 -3
  45. package/cabloy-docs/backend/error-guide.md +3 -3
  46. package/cabloy-docs/backend/event-guide.md +4 -4
  47. package/cabloy-docs/backend/external-aop-guide.md +2 -2
  48. package/cabloy-docs/backend/field-indexes.md +9 -3
  49. package/cabloy-docs/backend/foundation.md +8 -8
  50. package/cabloy-docs/backend/i18n-guide.md +6 -6
  51. package/cabloy-docs/backend/internal-aop-guide.md +2 -2
  52. package/cabloy-docs/backend/introduction.md +15 -0
  53. package/cabloy-docs/backend/migration-and-changes.md +3 -3
  54. package/cabloy-docs/backend/model-guide.md +16 -6
  55. package/cabloy-docs/backend/openapi-guide.md +3 -0
  56. package/cabloy-docs/backend/queue-guide.md +3 -3
  57. package/cabloy-docs/backend/redlock-guide.md +2 -2
  58. package/cabloy-docs/backend/schedule-guide.md +2 -2
  59. package/cabloy-docs/backend/scripts.md +8 -0
  60. package/cabloy-docs/backend/serialization-guide.md +12 -2
  61. package/cabloy-docs/backend/service-guide.md +18 -9
  62. package/cabloy-docs/backend/startup-guide.md +5 -5
  63. package/cabloy-docs/backend/status-guide.md +271 -0
  64. package/cabloy-docs/backend/unit-testing.md +3 -3
  65. package/cabloy-docs/backend/vona-source-reading-map.md +157 -0
  66. package/cabloy-docs/backend/websocket-protocol-guide.md +5 -5
  67. package/cabloy-docs/backend/websocket-usage-guide.md +15 -8
  68. package/cabloy-docs/frontend/a-model-under-the-hood.md +281 -0
  69. package/cabloy-docs/frontend/a-openapi-under-the-hood.md +248 -0
  70. package/cabloy-docs/frontend/a-router-guide.md +307 -0
  71. package/cabloy-docs/frontend/api-guide.md +6 -4
  72. package/cabloy-docs/frontend/api-schema-guide.md +1 -0
  73. package/cabloy-docs/frontend/app-startup-guide.md +7 -4
  74. package/cabloy-docs/frontend/bean-scene-authoring.md +3 -1
  75. package/cabloy-docs/frontend/behavior-guide.md +16 -16
  76. package/cabloy-docs/frontend/cli.md +14 -2
  77. package/cabloy-docs/frontend/command-scene-authoring.md +504 -0
  78. package/cabloy-docs/frontend/component-guide.md +5 -5
  79. package/cabloy-docs/frontend/component-props-guide.md +1 -1
  80. package/cabloy-docs/frontend/component-v-model-guide.md +2 -2
  81. package/cabloy-docs/frontend/design-principles.md +6 -0
  82. package/cabloy-docs/frontend/fetch-interceptor-guide.md +440 -0
  83. package/cabloy-docs/frontend/filter-query-select-data-flow-guide.md +260 -0
  84. package/cabloy-docs/frontend/form-guide.md +786 -0
  85. package/cabloy-docs/frontend/form-scene-to-page-meta-guide.md +303 -0
  86. package/cabloy-docs/frontend/foundation.md +33 -0
  87. package/cabloy-docs/frontend/frontend-source-reading-roadmap.md +249 -0
  88. package/cabloy-docs/frontend/generated-contract-consumption-debug-checklist.md +190 -0
  89. package/cabloy-docs/frontend/generated-contract-consumption-entry-branch.md +205 -0
  90. package/cabloy-docs/frontend/generated-contract-consumption-list-branch.md +157 -0
  91. package/cabloy-docs/frontend/generated-contract-consumption-specimen.md +203 -0
  92. package/cabloy-docs/frontend/generated-contract-consumption-verify-playbook.md +189 -0
  93. package/cabloy-docs/frontend/generic-component-guide.md +1 -1
  94. package/cabloy-docs/frontend/introduction.md +38 -5
  95. package/cabloy-docs/frontend/ioc-and-beans.md +6 -0
  96. package/cabloy-docs/frontend/mock-guide.md +1 -0
  97. package/cabloy-docs/frontend/model-architecture.md +288 -39
  98. package/cabloy-docs/frontend/model-resource-best-practices.md +379 -0
  99. package/cabloy-docs/frontend/model-resource-cookbook.md +508 -0
  100. package/cabloy-docs/frontend/model-resource-internals-deep-dive.md +238 -0
  101. package/cabloy-docs/frontend/model-resource-owner-pattern.md +402 -0
  102. package/cabloy-docs/frontend/model-resource-usage-guide.md +334 -0
  103. package/cabloy-docs/frontend/model-state-guide.md +371 -15
  104. package/cabloy-docs/frontend/module-scope.md +8 -8
  105. package/cabloy-docs/frontend/modules-and-suites.md +2 -1
  106. package/cabloy-docs/frontend/navigation-guards-guide.md +7 -0
  107. package/cabloy-docs/frontend/openapi-sdk-guide.md +17 -6
  108. package/cabloy-docs/frontend/page-guide.md +15 -9
  109. package/cabloy-docs/frontend/page-meta-guide.md +466 -0
  110. package/cabloy-docs/frontend/page-params-guide.md +3 -3
  111. package/cabloy-docs/frontend/page-query-guide.md +2 -2
  112. package/cabloy-docs/frontend/page-route-guide.md +6 -0
  113. package/cabloy-docs/frontend/permission-formscene-action-visibility-guide.md +263 -0
  114. package/cabloy-docs/frontend/quickstart.md +18 -2
  115. package/cabloy-docs/frontend/reading-zova-for-vue-developers.md +266 -0
  116. package/cabloy-docs/frontend/resource-entry-page-deep-dive.md +271 -0
  117. package/cabloy-docs/frontend/resource-list-page-deep-dive.md +279 -0
  118. package/cabloy-docs/frontend/rest-resource-source-reading-map.md +522 -0
  119. package/cabloy-docs/frontend/rest-resource-under-the-hood.md +622 -0
  120. package/cabloy-docs/frontend/root-behaviors-guide.md +282 -0
  121. package/cabloy-docs/frontend/route-alias-guide.md +6 -0
  122. package/cabloy-docs/frontend/router-stack-guide.md +229 -0
  123. package/cabloy-docs/frontend/router-tabs-introduction.md +26 -3
  124. package/cabloy-docs/frontend/router-tabs-layout-integration.md +367 -0
  125. package/cabloy-docs/frontend/router-tabs-mechanism.md +6 -0
  126. package/cabloy-docs/frontend/router-tabs-route-meta-cookbook.md +7 -0
  127. package/cabloy-docs/frontend/router-tabs-vs-stack.md +167 -0
  128. package/cabloy-docs/frontend/router-view-hosts-guide.md +450 -0
  129. package/cabloy-docs/frontend/server-data.md +4 -1
  130. package/cabloy-docs/frontend/system-startup-guide.md +2 -2
  131. package/cabloy-docs/frontend/table-action-visibility-permission-flow-guide.md +263 -0
  132. package/cabloy-docs/frontend/table-cell-cookbook.md +568 -0
  133. package/cabloy-docs/frontend/table-guide.md +373 -0
  134. package/cabloy-docs/frontend/table-resource-crud-cookbook.md +496 -0
  135. package/cabloy-docs/frontend/zova-app-guide.md +251 -0
  136. package/cabloy-docs/frontend/zova-form-source-reading-map.md +293 -0
  137. package/cabloy-docs/frontend/zova-form-under-the-hood.md +561 -0
  138. package/cabloy-docs/frontend/zova-reactivity-under-the-hood.md +320 -0
  139. package/cabloy-docs/frontend/zova-router-under-the-hood.md +561 -0
  140. package/cabloy-docs/frontend/zova-source-reading-map.md +421 -0
  141. package/cabloy-docs/frontend/zova-table-controller-render-supplement.md +225 -0
  142. package/cabloy-docs/frontend/zova-table-source-reading-map.md +317 -0
  143. package/cabloy-docs/frontend/zova-table-under-the-hood.md +532 -0
  144. package/cabloy-docs/frontend/zova-vs-vue3-comparison.md +308 -0
  145. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions-debug-checklist.md +245 -0
  146. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions-source-reading-map.md +139 -0
  147. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions-verify-playbook.md +248 -0
  148. package/cabloy-docs/fullstack/backend-metadata-to-frontend-table-actions.md +511 -0
  149. package/cabloy-docs/fullstack/contract-loop-playbook.md +356 -0
  150. package/cabloy-docs/fullstack/edition-collaboration-differences.md +6 -0
  151. package/cabloy-docs/fullstack/frontend-metadata-to-backend.md +199 -23
  152. package/cabloy-docs/fullstack/introduction.md +15 -1
  153. package/cabloy-docs/fullstack/openapi-to-sdk.md +135 -11
  154. package/cabloy-docs/fullstack/suites-and-modules.md +333 -0
  155. package/cabloy-docs/fullstack/tutorial-1-first-module.md +3 -0
  156. package/cabloy-docs/fullstack/tutorial-2-first-crud.md +4 -0
  157. package/cabloy-docs/fullstack/tutorial-3-frontend-metadata-sharing.md +6 -2
  158. package/cabloy-docs/fullstack/tutorial-4-custom-level-renderers.md +60 -23
  159. package/cabloy-docs/fullstack/tutorial-5-backend-contract-sharing.md +14 -7
  160. package/cabloy-docs/fullstack/tutorial-6-one-contract-four-uses.md +6 -0
  161. package/cabloy-docs/fullstack/tutorials-overview.md +17 -4
  162. package/cabloy-docs/reference/bean-scene-boilerplates.md +15 -13
  163. package/cabloy-docs/reference/package-map.md +4 -3
  164. package/package.json +2 -1
  165. package/scripts/init.ts +2 -18
  166. package/scripts/initTestData.ts +25 -0
  167. package/scripts/upgrade.ts +17 -2
  168. package/vona/pnpm-lock.yaml +48 -194
  169. package/vona/src/suite/a-training/modules/training-student/package.json +53 -0
  170. package/vona/src/suite/a-training/modules/training-student/src/.metadata/index.ts +400 -0
  171. package/vona/src/suite/a-training/modules/training-student/src/.metadata/locales.ts +18 -0
  172. package/vona/src/suite/a-training/modules/training-student/src/.metadata/this.ts +2 -0
  173. package/vona/src/suite/a-training/modules/training-student/src/bean/meta.index.ts +12 -0
  174. package/vona/src/suite/a-training/modules/training-student/src/bean/meta.version.ts +21 -0
  175. package/vona/src/suite/a-training/modules/training-student/src/bean/ssrMenu.student.ts +29 -0
  176. package/vona/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +15 -0
  177. package/vona/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +15 -0
  178. package/vona/src/suite/a-training/modules/training-student/src/controller/student.ts +74 -0
  179. package/vona/src/suite/a-training/modules/training-student/src/dto/studentCreate.tsx +28 -0
  180. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectReq.tsx +44 -0
  181. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectRes.tsx +11 -0
  182. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectResItem.tsx +45 -0
  183. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSummary.tsx +42 -0
  184. package/vona/src/suite/a-training/modules/training-student/src/dto/studentUpdate.tsx +28 -0
  185. package/vona/src/suite/a-training/modules/training-student/src/dto/studentView.tsx +25 -0
  186. package/vona/src/suite/a-training/modules/training-student/src/entity/student.tsx +84 -0
  187. package/vona/src/suite/a-training/modules/training-student/src/index.ts +2 -0
  188. package/vona/src/suite/a-training/modules/training-student/src/model/student.ts +10 -0
  189. package/vona/src/suite/a-training/modules/training-student/src/service/student.ts +57 -0
  190. package/vona/src/suite/a-training/modules/training-student/test/student.test.ts +173 -0
  191. package/vona/src/suite/a-training/modules/training-student/tsconfig.build.json +11 -0
  192. package/vona/src/suite/a-training/modules/training-student/tsconfig.json +7 -0
  193. package/vona/src/suite/a-training/package.json +12 -0
  194. package/vona/src/suite/a-training/tsconfig.base.json +4 -0
  195. package/vona/src/suite/a-training/tsconfig.json +10 -0
  196. package/zova/packages-cli/cli/package.json +2 -2
  197. package/zova/packages-cli/cli-set-front/cli/templates/openapi/config/boilerplate/module/openapi.config.ts +6 -1
  198. package/zova/packages-cli/cli-set-front/package.json +1 -1
  199. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.openapi.generate.ts +34 -4
  200. package/zova/packages-zova/zova/package.json +2 -2
  201. package/zova/pnpm-lock.yaml +416 -690
  202. package/zova/src/suite/a-training/modules/training-student/cli/openapi.config.ts +9 -0
  203. package/zova/src/suite/a-training/modules/training-student/package.json +52 -0
  204. package/zova/src/suite/a-training/modules/training-student/src/.metadata/component/formFieldLevel.ts +31 -0
  205. package/zova/src/suite/a-training/modules/training-student/src/.metadata/index.ts +258 -0
  206. package/zova/src/suite/a-training/modules/training-student/src/.metadata/locales.ts +7 -0
  207. package/zova/src/suite/a-training/modules/training-student/src/.metadata/this.ts +2 -0
  208. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/baseURL.ts +5 -0
  209. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/index.ts +3 -0
  210. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/schemas.ts +196 -0
  211. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/types.ts +4146 -0
  212. package/zova/src/suite/a-training/modules/training-student/src/api/trainingStudent.ts +151 -0
  213. package/zova/src/suite/a-training/modules/training-student/src/apiSchema/trainingStudent.ts +43 -0
  214. package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.actionDeleteForce.tsx +51 -0
  215. package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.actionSummary.tsx +56 -0
  216. package/zova/src/suite/a-training/modules/training-student/src/bean/tableCell.level.tsx +63 -0
  217. package/zova/src/suite/a-training/modules/training-student/src/component/formFieldLevel/controller.tsx +117 -0
  218. package/zova/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +9 -0
  219. package/zova/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +9 -0
  220. package/zova/src/suite/a-training/modules/training-student/src/index.ts +2 -0
  221. package/zova/src/suite/a-training/modules/training-student/src/model/student.ts +42 -0
  222. package/zova/src/suite/a-training/modules/training-student/tsconfig.build.json +13 -0
  223. package/zova/src/suite/a-training/modules/training-student/tsconfig.json +5 -0
  224. package/zova/src/suite/a-training/package.json +12 -0
  225. package/zova/src/suite/a-training/tsconfig.base.json +4 -0
  226. package/zova/src/suite/a-training/tsconfig.json +4 -0
  227. package/zova/src/suite/cabloy-basic/modules/basic-select/src/component/formFieldSelect/controller.tsx +29 -7
  228. package/zova/src/suite/cabloy-basic/modules/basic-select/src/component/select/controller.tsx +34 -11
  229. package/zova/src/suite-vendor/a-zova/modules/a-table/package.json +1 -1
  230. package/zova/src/suite-vendor/a-zova/modules/a-table/src/component/table/controller.tsx +3 -3
  231. package/zova/src/suite-vendor/a-zova/modules/a-table/src/lib/tableCell.ts +1 -1
  232. package/zova/src/suite-vendor/a-zova/package.json +2 -2
@@ -0,0 +1,221 @@
1
+ ---
2
+ name: cabloy-zova-source-reading
3
+ description: Use this skill when the user wants to read, trace, or explain Zova frontend source code rather than scaffold new code: where a page/component/model/behavior/SSR flow is implemented, how a runtime path works internally, why a plain controller field is reactive, how Zova differs from generic Vue 3 habits, or which files to read first. Trigger for requests about Zova source reading, runtime tracing, Vue-vs-Zova explanation, controller/bean/IoC mental models, or the Zova-native way to understand frontend behavior. Do not use it for normal frontend scaffolding or backend/frontend contract regeneration.
4
+ ---
5
+
6
+ # Cabloy Zova Source Reading
7
+
8
+ Use this skill when the task is to understand, explain, or trace Zova frontend behavior in source code.
9
+
10
+ ## Goals
11
+
12
+ 1. detect whether the active repository is Cabloy Basic or Cabloy Start
13
+ 2. classify whether the user needs a source-entry map, a runtime-flow trace, or a Vue-vs-Zova explanation
14
+ 3. start from Zova-native public docs before diving into framework source
15
+ 4. explain Zova architecture in its own terms before translating it into Vue analogies
16
+ 5. separate source-confirmed runtime behavior from interpretive comparison
17
+ 6. finish with verification guidance that matches the analysis scope
18
+
19
+ ## Step 1: Detect the active edition
20
+
21
+ Check the repository root for these marker files:
22
+
23
+ - `__CABLOY_BASIC__`
24
+ - `__CABLOY_START__`
25
+
26
+ Interpretation:
27
+
28
+ - `__CABLOY_BASIC__` present → this is Cabloy Basic
29
+ - `__CABLOY_START__` present → this is Cabloy Start
30
+ - neither present → inspect the repo scripts and ask before making edition-specific frontend assumptions
31
+
32
+ This matters most when the analysis becomes UI-sensitive, SSR-site-sensitive, flavor-sensitive, or module-set-sensitive.
33
+
34
+ ## Step 2: Classify the analysis mode
35
+
36
+ Before reading files deeply, decide which kind of question the user is really asking.
37
+
38
+ ### Mode A: source-location mode
39
+
40
+ Use this mode when the user is asking questions like:
41
+
42
+ - where should I start reading?
43
+ - which files are relevant?
44
+ - what order should I read the source in?
45
+ - where is this implemented in Zova?
46
+
47
+ ### Mode B: runtime-flow mode
48
+
49
+ Use this mode when the user is asking questions like:
50
+
51
+ - how does this work internally?
52
+ - why is this field reactive?
53
+ - where does `$computed` / `$params` / `$query` come from?
54
+ - how does page/controller/component render enter the runtime?
55
+
56
+ ### Mode C: Vue-vs-Zova comparison mode
57
+
58
+ Use this mode when the user is asking questions like:
59
+
60
+ - how should I understand this relative to Vue 3?
61
+ - is this just Vue with classes?
62
+ - what is the Zova way instead of the generic Vue way?
63
+ - how do controller / bean / model / render roles map to Vue concepts?
64
+
65
+ If a request spans more than one mode, answer in this order:
66
+
67
+ 1. source-location mode
68
+ 2. runtime-flow mode
69
+ 3. Vue-vs-Zova comparison mode
70
+
71
+ That order reduces the risk of drifting into premature analogy before the source path is understood.
72
+
73
+ ## Step 3: Start from public Zova docs first
74
+
75
+ Do not begin by forcing the problem into generic Vue terminology.
76
+
77
+ Start from the public frontend reading docs in `cabloy-docs/frontend/`.
78
+
79
+ ### Primary reading surfaces
80
+
81
+ - `cabloy-docs/frontend/reading-zova-for-vue-developers.md`
82
+ - `cabloy-docs/frontend/zova-vs-vue3-comparison.md`
83
+ - `cabloy-docs/frontend/zova-reactivity-under-the-hood.md`
84
+ - `cabloy-docs/frontend/zova-source-reading-map.md`
85
+
86
+ For compact procedural summaries inside the skill bundle, also use:
87
+
88
+ - `references/analysis-modes.md`
89
+ - `references/core-reading-paths.md`
90
+
91
+ ### Core architecture surfaces
92
+
93
+ Use these when the question needs broader architectural context:
94
+
95
+ - `cabloy-docs/frontend/introduction.md`
96
+ - `cabloy-docs/frontend/foundation.md`
97
+ - `cabloy-docs/frontend/design-principles.md`
98
+ - `cabloy-docs/frontend/ioc-and-beans.md`
99
+ - `cabloy-docs/frontend/page-guide.md`
100
+ - `cabloy-docs/frontend/component-guide.md`
101
+ - `cabloy-docs/frontend/model-architecture.md`
102
+ - `cabloy-docs/frontend/page-route-guide.md`
103
+ - `cabloy-docs/frontend/behavior-guide.md`
104
+ - `cabloy-docs/frontend/ssr-architecture-overview.md`
105
+
106
+ ## Step 4: Choose the shortest correct source-reading path
107
+
108
+ After reading the public docs, choose the smallest source path that answers the question.
109
+
110
+ Use these bundled references to keep the workflow compact:
111
+
112
+ - `references/analysis-modes.md`
113
+ - `references/core-reading-paths.md`
114
+
115
+ Use the public `cabloy-docs/frontend/zova-source-reading-map.md` as the fuller explanation layer, but use the bundled references first when they are enough for the current task.
116
+
117
+ ## Step 5: Explain Zova-native meaning first
118
+
119
+ When answering, explain the Zova role first, then add Vue analogies only if they help.
120
+
121
+ ### Required answer posture
122
+
123
+ 1. identify the Zova-native role first
124
+ - page controller
125
+ - component controller
126
+ - render bean
127
+ - style bean
128
+ - model bean
129
+ - service bean
130
+ - behavior bean
131
+ - route/SSR integration layer
132
+
133
+ 2. explain the source-confirmed runtime path second
134
+
135
+ 3. only then offer Vue analogies as approximate translations
136
+
137
+ Do **not** lead with statements like:
138
+
139
+ - "this is basically just Vue setup with classes"
140
+ - "this should really be a normal Vue composable"
141
+ - "the right end state is probably `ref.value`"
142
+
143
+ Those translations can erase the actual Zova architecture.
144
+
145
+ For component-wrapper questions specifically, remember that `controllerRef` exposes the controller instance, not a generic DOM ref, and should not be treated as a generic Vue component-ref substitute without checking the current wrapper/controller source path.
146
+
147
+ ## Step 6: Distinguish source-confirmed behavior from interpretive comparison
148
+
149
+ Always make the boundary explicit.
150
+
151
+ ### Source-confirmed behavior
152
+
153
+ This includes claims you can support directly from current source files, such as:
154
+
155
+ - where a controller is created
156
+ - where a bean becomes reactive
157
+ - where route state is refreshed
158
+ - where render is redirected
159
+ - which helper wraps which Vue API
160
+
161
+ ### Interpretive comparison
162
+
163
+ This includes claims such as:
164
+
165
+ - why Zova feels more object-oriented than Vue
166
+ - how Zova growth paths differ from typical Vue growth paths
167
+ - which analogy is the closest Vue mental model
168
+
169
+ These can be useful, but they should be labeled as interpretation rather than current-source fact.
170
+
171
+ ## Step 7: Stay inside the right workflow boundary
172
+
173
+ Use this skill for explanation and source reading.
174
+
175
+ Do **not** use it as the primary workflow when the real task is:
176
+
177
+ - creating or refactoring frontend structures → prefer `cabloy-frontend-scaffold`
178
+ - diagnosing backend/frontend contract drift → prefer `cabloy-contract-loop`
179
+ - choosing whether the work belongs to backend, frontend, fullstack, docs, or AI guidance → prefer `cabloy-workflow`
180
+
181
+ ## Step 8: Verification guidance
182
+
183
+ Always finish with a verification path that matches the analysis task.
184
+
185
+ ### For source-reading answers
186
+
187
+ Verify:
188
+
189
+ - the cited file paths exist
190
+ - the described runtime path is actually visible in current source
191
+ - the answer does not contradict the public frontend docs
192
+
193
+ ### For Vue-vs-Zova explanation answers
194
+
195
+ Verify:
196
+
197
+ - the Zova-native explanation comes first
198
+ - Vue analogies are marked as approximate, not authoritative
199
+ - no claim quietly rewrites Zova back into generic Vue habits
200
+
201
+ ### For edition-sensitive frontend analysis
202
+
203
+ Verify:
204
+
205
+ - the active edition marker was considered
206
+ - Basic-only or Start-only UI assumptions were not silently generalized
207
+ - SSR, theme, and flavor-sensitive statements match the active edition context
208
+
209
+ ## Response pattern
210
+
211
+ When helpful, structure the response around these points:
212
+
213
+ 1. detected edition
214
+ 2. analysis mode
215
+ 3. public docs to read first
216
+ 4. source path to inspect next
217
+ 5. Zova-native explanation
218
+ 6. optional Vue analogy
219
+ 7. verification notes or caveats
220
+
221
+ Keep the response practical. The value of this skill is to help AI and users read Zova source accurately and in the right architectural order, not to flatten Zova into generic Vue prose.
@@ -0,0 +1,91 @@
1
+ # Analysis Modes
2
+
3
+ Use this reference to choose the shortest correct analysis posture before reading Zova source deeply.
4
+
5
+ ## Mode A: source-location mode
6
+
7
+ Use this mode when the user is mainly asking:
8
+
9
+ - where should I start reading?
10
+ - which files matter?
11
+ - what order should I read the source in?
12
+ - where is this implemented?
13
+
14
+ ### Workflow
15
+
16
+ 1. detect the active edition if UI-sensitive assumptions might matter
17
+ 2. start from the public frontend docs first
18
+ 3. pick the smallest matching thread from `cabloy-docs/frontend/zova-source-reading-map.md`
19
+ 4. cite the initial source files in the recommended reading order
20
+ 5. stop before tracing deeper runtime layers unless the user also wants runtime-flow analysis
21
+
22
+ ### Output emphasis
23
+
24
+ - reading order
25
+ - key file paths
26
+ - why those files are the right starting points
27
+
28
+ ## Mode B: runtime-flow mode
29
+
30
+ Use this mode when the user is mainly asking:
31
+
32
+ - how does this work internally?
33
+ - why is this reactive?
34
+ - where does this controller/page/component behavior come from?
35
+ - how does render, route state, or lifecycle enter the runtime?
36
+
37
+ ### Workflow
38
+
39
+ 1. read the public Zova-native explanation docs first:
40
+ - `reading-zova-for-vue-developers.md`
41
+ - `zova-reactivity-under-the-hood.md`
42
+ 2. identify the concrete thread:
43
+ - page controller
44
+ - component controller
45
+ - route/state
46
+ - model
47
+ - behavior
48
+ - SSR
49
+ 3. trace the smallest current-source path that confirms the runtime behavior
50
+ 4. distinguish source-confirmed behavior from interpretation
51
+ 5. only after the Zova-native explanation is clear, add Vue analogy if helpful
52
+
53
+ ### Output emphasis
54
+
55
+ - entrypoint
56
+ - intermediate runtime files
57
+ - what triggers the behavior
58
+ - what is source-confirmed
59
+
60
+ ## Mode C: Vue-vs-Zova comparison mode
61
+
62
+ Use this mode when the user is mainly asking:
63
+
64
+ - how should I understand this relative to Vue 3?
65
+ - is this just Vue with a different syntax?
66
+ - what is the Zova way here?
67
+
68
+ ### Workflow
69
+
70
+ 1. explain the Zova-native architectural role first
71
+ 2. identify which public Zova doc best defines that role
72
+ 3. if needed, trace one representative source path to confirm the runtime grounding
73
+ 4. only then provide Vue analogies as approximate translations
74
+ 5. explicitly avoid flattening Zova back into generic Vue habits
75
+
76
+ ### Output emphasis
77
+
78
+ - Zova-native role
79
+ - closest Vue analogy
80
+ - what is genuinely shared underneath
81
+ - what changes at the authoring-model level
82
+
83
+ ## Combined requests
84
+
85
+ If a request spans multiple modes, answer in this order:
86
+
87
+ 1. source-location mode
88
+ 2. runtime-flow mode
89
+ 3. Vue-vs-Zova comparison mode
90
+
91
+ This keeps the explanation anchored in the real source path before analogy work begins.
@@ -0,0 +1,117 @@
1
+ # Core Reading Paths
2
+
3
+ Use this reference to choose the shortest source path after the analysis mode is known.
4
+
5
+ ## Page controller and page reactivity
6
+
7
+ Read in this order:
8
+
9
+ 1. the concrete page controller source
10
+ 2. `zova-core/src/composables/useController.ts`
11
+ 3. `zova-core/src/bean/beanContainer.ts`
12
+ 4. `zova-core/src/bean/beanBase.ts`
13
+ 5. `zova-core/src/bean/beanControllerPageBase.ts`
14
+ 6. `zova-core/src/core/context/component.ts`
15
+ 7. router integration files such as `a-router/src/monkey.ts`
16
+
17
+ Use when the question is about:
18
+
19
+ - plain controller fields
20
+ - `$computed`
21
+ - `$params` / `$query`
22
+ - page render flow
23
+
24
+ ## Component controller and wrapper path
25
+
26
+ Read in this order:
27
+
28
+ 1. representative wrapper metadata under `src/.metadata/component/`
29
+ 2. `zova-core/src/composables/useController.ts`
30
+ 3. `zova-core/src/bean/beanControllerBase.ts`
31
+ 4. `zova-core/src/core/context/component.ts`
32
+ 5. the concrete component controller source
33
+
34
+ Use when the question is about:
35
+
36
+ - wrapper components
37
+ - `controllerRef`
38
+ - component-local controller behavior
39
+
40
+ ## Bean lifecycle and helper API path
41
+
42
+ Read in this order:
43
+
44
+ 1. `zova-core/src/bean/beanBase.ts`
45
+ 2. `zova-core/src/bean/beanBaseSimple.ts`
46
+ 3. `zova-core/src/bean/beanContainer.ts`
47
+ 4. `zova-core/src/core/context/util.ts`
48
+
49
+ Use when the question is about:
50
+
51
+ - `__init__`
52
+ - `__dispose__`
53
+ - `$watch`
54
+ - `$toRef`
55
+ - instance scope
56
+
57
+ ## Route and page-shell path
58
+
59
+ Read in this order:
60
+
61
+ 1. the local `routes.ts`
62
+ 2. `a-router/src/monkey.ts`
63
+ 3. router utility files
64
+ 4. page schema sources
65
+ 5. `BeanControllerPageBase`
66
+
67
+ Use when the question is about:
68
+
69
+ - route records
70
+ - params/query parsing
71
+ - layout shell implications
72
+ - route-aware controller state
73
+
74
+ ## Model/state ownership path
75
+
76
+ Read in this order:
77
+
78
+ 1. the relevant model bean
79
+ 2. framework model state helper files
80
+ 3. representative built-in model beans
81
+ 4. consuming page/controller/service code
82
+
83
+ Use when the question is about:
84
+
85
+ - model-owned state
86
+ - cache-oriented state
87
+ - async vs sync state ownership
88
+
89
+ ## Behavior path
90
+
91
+ Read in this order:
92
+
93
+ 1. the public behavior wrapper/controller path
94
+ 2. the concrete behavior bean
95
+ 3. the behavior composer/service files
96
+ 4. host-scoped injected dependencies
97
+
98
+ Use when the question is about:
99
+
100
+ - render-time interception
101
+ - behavior composition
102
+ - Behavior vs Component vs Helper
103
+
104
+ ## SSR runtime path
105
+
106
+ Read in this order:
107
+
108
+ 1. the SSR site or bundle entry
109
+ 2. SSR runtime/context files in `zova-core`
110
+ 3. relevant page/controller/model code
111
+ 4. Vona SSR handoff layer if needed
112
+
113
+ Use when the question is about:
114
+
115
+ - SSR entry
116
+ - hydration handoff
117
+ - whether the bug belongs to Vona or Zova
package/CHANGELOG.md CHANGED
@@ -1,5 +1,69 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.1.62
4
+
5
+ ### Features
6
+
7
+ - Add a domain planning skill.
8
+ - Add a masked mobile field to the student resource.
9
+ - Generate an OpenAPI SDK for `demo-student`.
10
+ - Add student summary and force-delete actions.
11
+ - Customize student level renderers.
12
+ - Add the `demo-student` module with a full student CRUD flow.
13
+
14
+ ### Bug Fixes
15
+
16
+ - Localize the student menu in `zh-cn`.
17
+ - Override the level filter placeholder correctly.
18
+ - Stabilize empty select value mapping.
19
+ - Polish inline select spacing.
20
+ - Forward select blur handling correctly.
21
+ - Refine borderless styling for filter selects.
22
+ - Place explicit schemas last in `demo-student` metadata.
23
+
24
+ ### Improvements
25
+
26
+ - Clarify level renderer examples.
27
+ - Clarify the standalone tutorial sandbox.
28
+ - Refresh training-student references.
29
+ - Move `demo-student` into the `a-training` suite.
30
+ - Add a suite-first modularization guide.
31
+ - Clarify the thin model facade reading path.
32
+ - Include `demo-student` in the root npm package.
33
+ - Expand source-reading and contract-loop guides.
34
+ - Clean `demo-student` locale resources.
35
+ - Move `TableCell` beans to app scope.
36
+ - Align the student summary query flow.
37
+ - Simplify the student summary action flow.
38
+ - Refine the student level renderer hierarchy.
39
+ - Add a page meta guide and cross-links.
40
+ - Add a rest-resource runtime documentation set.
41
+ - Refine tutorial 4 AI prompt wording.
42
+ - Expand Zova Router ecosystem guides.
43
+ - Add the Zova Table documentation cluster.
44
+
45
+ ## 5.1.61
46
+
47
+ ### Features
48
+
49
+ - Enforce explicit OpenAPI operation filters.
50
+ - Remove the demo-student module and document the module-removal workflow.
51
+ - Add a mobile field to students and document serializer guidance.
52
+
53
+ ### Bug Fixes
54
+
55
+ - Decouple test data initialization from application initialization.
56
+ - Refresh the student summary after updates.
57
+
58
+ ### Improvements
59
+
60
+ - Migrate the contract-loop hook to TypeScript.
61
+ - Harden and simplify contract-loop guidance and gate behavior.
62
+ - Add Zova Form documentation and navigation.
63
+ - Refine ModelResource guidance and examples.
64
+ - Add Zova command scene, fetch interceptor, frontend reading, and Status architecture guides.
65
+ - Update backend contract-sharing tutorial and related skill documentation.
66
+
3
67
  ## 5.1.60
4
68
 
5
69
  ### Features
package/CLAUDE.md CHANGED
@@ -42,8 +42,19 @@ Before inventing a custom implementation path:
42
42
  ## AI development rules
43
43
 
44
44
  - Prefer CLI-backed workflows over manual scaffolding whenever Vona or Zova already provides a generator, refactor, metadata, or verification command.
45
+ - The Cabloy contract-loop model applies to both Cabloy Basic and Cabloy Start; detect the edition to choose commands and output paths, not to redefine the workflow model.
46
+ - Treat contract-loop work as one of four branches: forward chain, reverse chain, consumer drift, or local dependency drift.
47
+ - For the forward chain, change backend contract truth first and regenerate frontend consumers rather than hand-patching them.
48
+ - After forward regeneration, keep frontend follow-up thin: prefer semantic model facades and reuse the existing resource-owner when the custom API still belongs to the same resource.
49
+ - For the reverse chain, when Vona consumes newly added or changed Zova Admin render/action/metadata, always run `npm run build:zova:admin` before `npm run deps:vona`. Do not treat `build:rest:cabloyBasicAdmin` alone as sufficient, because the Admin JS bundle and rest output must move together.
50
+ - If generated artifacts already contain the expected changes but consumers still behave stale, suspect local dependency drift before making more source edits.
51
+ - For Vona consumption drift after Zova-generated type/rest output changes, if `npm run deps:vona` still leaves stale consumer types, delete `vona/node_modules` and reinstall dependencies before further debugging or hand-patching dependency links.
52
+ - For Cabloy Start, apply the same reverse-chain logic but resolve the Start-specific flavor names and generated-output paths from the active Start repo before recommending commands.
45
53
  - Treat legacy docs as input material, not as unquestioned truth. When docs conflict with source code, prefer current source code.
46
54
  - For frontend work, assume Cabloy Basic and Cabloy Start share a frontend engineering layer but may diverge in UI layer, frontend flavors, suite/module availability, SSR site baselines, project assets, and generated outputs.
55
+ - For Zova frontend analysis, do not default to generic Vue reinterpretation first. Read the code through Zova’s controller / bean / IoC architecture before mapping it to Vue concepts.
56
+ - For Zova source-reading or Vue-vs-Zova explanation tasks, start from the frontend reading guides and source-reading map in `cabloy-docs/frontend/` before doing framework-neutral reinterpretation.
57
+ - Keep repo-wide AI rules in `CLAUDE.md` short and durable; put branching Zova analysis workflows in `.claude/skills/`.
47
58
  - 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.
48
59
  - 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.
49
60
  - Do not assume Cabloy Basic and Cabloy Start use the same adapter-level SSR theme handoff. Verify the active theme handler and client hydration path before changing SSR theme behavior.