cabloy 5.1.49 → 5.1.51

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 (276) hide show
  1. package/.claude/skills/cabloy-backend-scaffold/SKILL.md +207 -0
  2. package/.claude/skills/cabloy-backend-scaffold/evals/evals.json +29 -0
  3. package/.claude/skills/cabloy-backend-scaffold/references/backend-thread-map.md +52 -0
  4. package/.claude/skills/cabloy-backend-scaffold/references/follow-up-checklist.md +39 -0
  5. package/.claude/skills/cabloy-contract-loop/SKILL.md +201 -0
  6. package/.claude/skills/cabloy-contract-loop/evals/evals.json +29 -0
  7. package/.claude/skills/cabloy-contract-loop/references/contract-loop-map.md +47 -0
  8. package/.claude/skills/cabloy-contract-loop/references/verification-checklist.md +32 -0
  9. package/.claude/skills/cabloy-frontend-scaffold/SKILL.md +230 -0
  10. package/.claude/skills/cabloy-frontend-scaffold/evals/evals.json +35 -0
  11. package/.claude/skills/cabloy-frontend-scaffold/references/follow-up-checklist.md +41 -0
  12. package/.claude/skills/cabloy-frontend-scaffold/references/frontend-thread-map.md +54 -0
  13. package/.claude/skills/cabloy-workflow/SKILL.md +288 -0
  14. package/.claude/skills/cabloy-workflow/evals/evals.json +35 -0
  15. package/.claude/skills/cabloy-workflow/references/cli-strategy.md +39 -0
  16. package/.claude/skills/cabloy-workflow/references/edition-detection.md +29 -0
  17. package/.github/workflows/docs-pages.yml +54 -0
  18. package/.gitignore +1 -0
  19. package/CHANGELOG.md +46 -0
  20. package/CLAUDE.md +59 -0
  21. package/README.md +137 -0
  22. package/cabloy-docs/.vitepress/config.mjs +222 -0
  23. package/cabloy-docs/.vitepress/public/CNAME +1 -0
  24. package/cabloy-docs/.vitepress/theme/custom.css +64 -0
  25. package/cabloy-docs/.vitepress/theme/edition-badges.md +5 -0
  26. package/cabloy-docs/.vitepress/theme/index.js +5 -0
  27. package/cabloy-docs/ai/class-placement-rule.md +138 -0
  28. package/cabloy-docs/ai/cli-for-agents.md +56 -0
  29. package/cabloy-docs/ai/cli-to-skill-map.md +165 -0
  30. package/cabloy-docs/ai/docs-skills-rules-mapping.md +167 -0
  31. package/cabloy-docs/ai/edition-detection.md +30 -0
  32. package/cabloy-docs/ai/future-skill-roadmap.md +135 -0
  33. package/cabloy-docs/ai/global-bean-lookup.md +157 -0
  34. package/cabloy-docs/ai/introduction.md +62 -0
  35. package/cabloy-docs/ai/playbook-backend-module.md +111 -0
  36. package/cabloy-docs/ai/playbook-contract-regeneration.md +100 -0
  37. package/cabloy-docs/ai/playbook-frontend-page.md +99 -0
  38. package/cabloy-docs/ai/playbook-metadata-refresh.md +67 -0
  39. package/cabloy-docs/ai/repo-guidance.md +58 -0
  40. package/cabloy-docs/ai/rules-and-config.md +29 -0
  41. package/cabloy-docs/ai/skills.md +35 -0
  42. package/cabloy-docs/ai/verification.md +30 -0
  43. package/cabloy-docs/backend/aop-overview.md +128 -0
  44. package/cabloy-docs/backend/auth-guide.md +151 -0
  45. package/cabloy-docs/backend/backend-essentials.md +128 -0
  46. package/cabloy-docs/backend/broadcast-guide.md +138 -0
  47. package/cabloy-docs/backend/cache-guide.md +70 -0
  48. package/cabloy-docs/backend/captcha-guide.md +162 -0
  49. package/cabloy-docs/backend/cli.md +173 -0
  50. package/cabloy-docs/backend/config-guide.md +249 -0
  51. package/cabloy-docs/backend/controller-aop-guide.md +270 -0
  52. package/cabloy-docs/backend/controller-guide.md +347 -0
  53. package/cabloy-docs/backend/crud-workflow.md +118 -0
  54. package/cabloy-docs/backend/dto-guide.md +161 -0
  55. package/cabloy-docs/backend/dto-infer-generation.md +153 -0
  56. package/cabloy-docs/backend/dynamic-datasource-guide.md +70 -0
  57. package/cabloy-docs/backend/election-guide.md +141 -0
  58. package/cabloy-docs/backend/entity-guide.md +150 -0
  59. package/cabloy-docs/backend/error-guide.md +108 -0
  60. package/cabloy-docs/backend/event-guide.md +183 -0
  61. package/cabloy-docs/backend/external-aop-guide.md +149 -0
  62. package/cabloy-docs/backend/field-indexes.md +79 -0
  63. package/cabloy-docs/backend/foundation.md +281 -0
  64. package/cabloy-docs/backend/i18n-guide.md +211 -0
  65. package/cabloy-docs/backend/internal-aop-guide.md +181 -0
  66. package/cabloy-docs/backend/introduction.md +95 -0
  67. package/cabloy-docs/backend/jwt-guide.md +276 -0
  68. package/cabloy-docs/backend/logger-guide.md +223 -0
  69. package/cabloy-docs/backend/mail-guide.md +189 -0
  70. package/cabloy-docs/backend/menu-guide.md +80 -0
  71. package/cabloy-docs/backend/migration-and-changes.md +192 -0
  72. package/cabloy-docs/backend/model-guide.md +274 -0
  73. package/cabloy-docs/backend/multi-database-datasource.md +171 -0
  74. package/cabloy-docs/backend/multi-instance-and-instance-resolution.md +196 -0
  75. package/cabloy-docs/backend/openapi-guide.md +118 -0
  76. package/cabloy-docs/backend/orm-aggregate-group-guide.md +210 -0
  77. package/cabloy-docs/backend/orm-configuration-guide.md +165 -0
  78. package/cabloy-docs/backend/orm-guide.md +109 -0
  79. package/cabloy-docs/backend/orm-mutation-guide.md +195 -0
  80. package/cabloy-docs/backend/orm-select-guide.md +243 -0
  81. package/cabloy-docs/backend/queue-guide.md +271 -0
  82. package/cabloy-docs/backend/quickstart.md +141 -0
  83. package/cabloy-docs/backend/redis-guide.md +70 -0
  84. package/cabloy-docs/backend/redlock-guide.md +60 -0
  85. package/cabloy-docs/backend/relations-guide.md +250 -0
  86. package/cabloy-docs/backend/runtime-and-flavors.md +304 -0
  87. package/cabloy-docs/backend/schedule-guide.md +81 -0
  88. package/cabloy-docs/backend/scripts.md +116 -0
  89. package/cabloy-docs/backend/serialization-guide.md +192 -0
  90. package/cabloy-docs/backend/service-guide.md +166 -0
  91. package/cabloy-docs/backend/sharding-guide.md +49 -0
  92. package/cabloy-docs/backend/startup-guide.md +326 -0
  93. package/cabloy-docs/backend/transaction-guide.md +82 -0
  94. package/cabloy-docs/backend/unit-testing.md +209 -0
  95. package/cabloy-docs/backend/upload-guide.md +160 -0
  96. package/cabloy-docs/backend/user-access-guide.md +157 -0
  97. package/cabloy-docs/backend/validation-guide.md +80 -0
  98. package/cabloy-docs/backend/worker-guide.md +59 -0
  99. package/cabloy-docs/editions/cabloy-basic.md +25 -0
  100. package/cabloy-docs/editions/cabloy-start.md +24 -0
  101. package/cabloy-docs/editions/detection.md +31 -0
  102. package/cabloy-docs/editions/overview.md +44 -0
  103. package/cabloy-docs/frontend/api-guide.md +93 -0
  104. package/cabloy-docs/frontend/api-schema-guide.md +43 -0
  105. package/cabloy-docs/frontend/app-startup-guide.md +185 -0
  106. package/cabloy-docs/frontend/cli.md +78 -0
  107. package/cabloy-docs/frontend/component-guide.md +105 -0
  108. package/cabloy-docs/frontend/component-props-guide.md +97 -0
  109. package/cabloy-docs/frontend/component-v-model-guide.md +110 -0
  110. package/cabloy-docs/frontend/css-in-js-guide.md +151 -0
  111. package/cabloy-docs/frontend/design-principles.md +55 -0
  112. package/cabloy-docs/frontend/environment-config-guide.md +250 -0
  113. package/cabloy-docs/frontend/foundation.md +57 -0
  114. package/cabloy-docs/frontend/generic-component-guide.md +35 -0
  115. package/cabloy-docs/frontend/icon-engine-guide.md +88 -0
  116. package/cabloy-docs/frontend/introduction.md +32 -0
  117. package/cabloy-docs/frontend/ioc-and-beans.md +211 -0
  118. package/cabloy-docs/frontend/mock-guide.md +109 -0
  119. package/cabloy-docs/frontend/model-architecture.md +87 -0
  120. package/cabloy-docs/frontend/model-state-guide.md +70 -0
  121. package/cabloy-docs/frontend/module-scope.md +168 -0
  122. package/cabloy-docs/frontend/modules-and-suites.md +179 -0
  123. package/cabloy-docs/frontend/navigation-guards-guide.md +68 -0
  124. package/cabloy-docs/frontend/openapi-sdk-guide.md +102 -0
  125. package/cabloy-docs/frontend/page-guide.md +223 -0
  126. package/cabloy-docs/frontend/page-params-guide.md +87 -0
  127. package/cabloy-docs/frontend/page-query-guide.md +96 -0
  128. package/cabloy-docs/frontend/page-route-guide.md +147 -0
  129. package/cabloy-docs/frontend/quickstart.md +201 -0
  130. package/cabloy-docs/frontend/route-alias-guide.md +61 -0
  131. package/cabloy-docs/frontend/scripts.md +86 -0
  132. package/cabloy-docs/frontend/sdk-guide.md +45 -0
  133. package/cabloy-docs/frontend/server-data.md +74 -0
  134. package/cabloy-docs/frontend/ssr-client-only.md +40 -0
  135. package/cabloy-docs/frontend/ssr-env.md +51 -0
  136. package/cabloy-docs/frontend/ssr-init-data.md +46 -0
  137. package/cabloy-docs/frontend/ssr-overview.md +48 -0
  138. package/cabloy-docs/frontend/ssr-seo-meta.md +52 -0
  139. package/cabloy-docs/frontend/system-startup-guide.md +186 -0
  140. package/cabloy-docs/frontend/theme-guide.md +154 -0
  141. package/cabloy-docs/frontend/zod-guide.md +161 -0
  142. package/cabloy-docs/fullstack/edition-collaboration-differences.md +61 -0
  143. package/cabloy-docs/fullstack/frontend-metadata-to-backend.md +64 -0
  144. package/cabloy-docs/fullstack/introduction.md +69 -0
  145. package/cabloy-docs/fullstack/openapi-to-sdk.md +116 -0
  146. package/cabloy-docs/fullstack/quickstart.md +86 -0
  147. package/cabloy-docs/fullstack/vona-zova-integration.md +86 -0
  148. package/cabloy-docs/index.md +73 -0
  149. package/cabloy-docs/package.json +16 -0
  150. package/cabloy-docs/pnpm-lock.yaml +1607 -0
  151. package/cabloy-docs/reference/backend-directory-structure.md +88 -0
  152. package/cabloy-docs/reference/cli-reference.md +49 -0
  153. package/cabloy-docs/reference/glossary.md +38 -0
  154. package/cabloy-docs/reference/package-map.md +105 -0
  155. package/cabloy-docs/reference/repo-scripts.md +36 -0
  156. package/package.json +4 -1
  157. package/scripts/init.ts +12 -0
  158. package/scripts/upgrade.ts +31 -3
  159. package/vona/README.md +3 -3
  160. package/vona/README.zh-CN.md +4 -4
  161. package/vona/packages-vona/vona/package.json +1 -1
  162. package/vona/src/suite-vendor/a-cabloy/modules/a-datasharding/package.json +1 -1
  163. package/vona/src/suite-vendor/a-cabloy/modules/a-datasharding/src/bean/summerCache.datasourceWrite.ts +2 -2
  164. package/vona/src/suite-vendor/a-cabloy/package.json +1 -1
  165. package/vona/src/suite-vendor/a-captcha/modules/a-captcha/package.json +1 -1
  166. package/vona/src/suite-vendor/a-captcha/modules/a-captcha/src/bean/cacheRedis.captcha.ts +2 -2
  167. package/vona/src/suite-vendor/a-captcha/package.json +1 -1
  168. package/vona/src/suite-vendor/a-vona/modules/a-bean/cli/bean/metadata/generate.ts +5 -6
  169. package/vona/src/suite-vendor/a-vona/modules/a-bean/package.json +1 -1
  170. package/vona/src/suite-vendor/a-vona/modules/a-cache/cli/cacheMem/boilerplate/{{sceneName}}.{{beanName}}.ts_ +2 -2
  171. package/vona/src/suite-vendor/a-vona/modules/a-cache/cli/cacheRedis/boilerplate/{{sceneName}}.{{beanName}}.ts_ +2 -2
  172. package/vona/src/suite-vendor/a-vona/modules/a-cache/package.json +1 -1
  173. package/vona/src/suite-vendor/a-vona/modules/a-cache/src/.metadata/index.ts +13 -2
  174. package/vona/src/suite-vendor/a-vona/modules/a-cache/src/bean/bean.cache.ts +6 -7
  175. package/vona/src/suite-vendor/a-vona/modules/a-cache/src/{bean/bean.cacheMemBase.ts → service/cacheMemBase_.ts} +3 -3
  176. package/vona/src/suite-vendor/a-vona/modules/a-cache/src/{bean/bean.cacheRedisBase.ts → service/cacheRedisBase_.ts} +3 -3
  177. package/vona/src/suite-vendor/a-vona/modules/a-mailconfirm/package.json +1 -1
  178. package/vona/src/suite-vendor/a-vona/modules/a-mailconfirm/src/bean/cacheRedis.emailConfirm.ts +2 -2
  179. package/vona/src/suite-vendor/a-vona/modules/a-mailconfirm/src/bean/cacheRedis.passwordReset.ts +2 -2
  180. package/vona/src/suite-vendor/a-vona/modules/a-openapi/package.json +1 -1
  181. package/vona/src/suite-vendor/a-vona/modules/a-openapi/src/bean/summerCache.json.ts +2 -2
  182. package/vona/src/suite-vendor/a-vona/modules/a-orm/cli/databaseDialect/boilerplate/{{sceneName}}.{{beanName}}.ts_ +2 -2
  183. package/vona/src/suite-vendor/a-vona/modules/a-orm/package.json +1 -1
  184. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/.metadata/index.ts +4 -3
  185. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/bean/bean.database.ts +3 -3
  186. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/bean/bean.model.ts +1 -1
  187. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/bean/schedule.softDeletionPrune.ts +1 -1
  188. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/common/utils.ts +1 -1
  189. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/index.ts +1 -1
  190. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_cache.ts +1 -1
  191. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_meta.ts +1 -1
  192. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.modelBase.ts +0 -5
  193. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoAggregate.ts +1 -1
  194. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoCreate.ts +1 -1
  195. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoGet.ts +1 -1
  196. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoGroup.ts +1 -1
  197. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoMutate.ts +1 -1
  198. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoSelectAndCount.ts +1 -1
  199. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoUpdate.ts +1 -1
  200. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/index.ts +1 -0
  201. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/modelCacheBase.ts +3 -3
  202. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/relations.ts +1 -1
  203. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/relationsDynamic.ts +1 -1
  204. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/relationsMutate.ts +1 -1
  205. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/relationsStatic.ts +1 -1
  206. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/service/cacheEntity_.ts +1 -1
  207. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/service/cacheQuery_.ts +1 -1
  208. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/service/database.ts +2 -2
  209. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean/bean.databaseDialectBase.ts → service/databaseDialectBase_.ts} +38 -41
  210. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/service/db_.ts +2 -2
  211. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/service/relations_.ts +3 -3
  212. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/database.ts +0 -5
  213. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/dto/dtoGet.ts +1 -1
  214. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/dto/dtoMutate.ts +1 -1
  215. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/dto/dtoSelectAndCount.ts +1 -1
  216. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/model.ts +1 -1
  217. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/modelAggr.ts +1 -1
  218. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/modelCount.ts +1 -1
  219. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/modelGeneral.ts +1 -1
  220. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/modelGroup.ts +1 -1
  221. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/modelIncrement.ts +1 -1
  222. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relations.ts +1 -1
  223. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsColumns.ts +1 -1
  224. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsDef.ts +1 -1
  225. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsDefDynamic.ts +1 -1
  226. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsDefMutate.ts +1 -1
  227. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsMutate.ts +1 -1
  228. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/relationsTables.ts +1 -1
  229. package/vona/src/suite-vendor/a-vona/modules/a-ormdialect/package.json +1 -1
  230. package/vona/src/suite-vendor/a-vona/modules/a-ormdialect/src/bean/databaseDialect.betterSqlite3.ts +2 -2
  231. package/vona/src/suite-vendor/a-vona/modules/a-ormdialect/src/bean/databaseDialect.mysql.ts +2 -2
  232. package/vona/src/suite-vendor/a-vona/modules/a-ormdialect/src/bean/databaseDialect.pg.ts +2 -2
  233. package/vona/src/suite-vendor/a-vona/modules/a-permission/package.json +1 -1
  234. package/vona/src/suite-vendor/a-vona/modules/a-permission/src/bean/bean.permission.ts +109 -40
  235. package/vona/src/suite-vendor/a-vona/modules/a-permission/src/bean/summerCache.permission.ts +2 -2
  236. package/vona/src/suite-vendor/a-vona/modules/a-startup/package.json +1 -1
  237. package/vona/src/suite-vendor/a-vona/modules/a-startup/src/bean/cacheRedis.startupDebounce.ts +2 -2
  238. package/vona/src/suite-vendor/a-vona/modules/a-summer/cli/boilerplate/{{sceneName}}.{{beanName}}.ts_ +2 -2
  239. package/vona/src/suite-vendor/a-vona/modules/a-summer/package.json +1 -1
  240. package/vona/src/suite-vendor/a-vona/modules/a-summer/src/.metadata/index.ts +1 -1
  241. package/vona/src/suite-vendor/a-vona/modules/a-summer/src/bean/bean.summer.ts +3 -3
  242. package/vona/src/suite-vendor/a-vona/modules/a-summer/src/service/localMem_.ts +3 -3
  243. package/vona/src/suite-vendor/a-vona/modules/a-summer/src/service/localRedis_.ts +3 -3
  244. package/vona/src/suite-vendor/a-vona/modules/a-summer/src/{bean/bean.summerCacheBase.ts → service/summerCacheBase_.ts} +3 -3
  245. package/vona/src/suite-vendor/a-vona/modules/a-swagger/package.json +1 -1
  246. package/vona/src/suite-vendor/a-vona/modules/a-swagger/src/bean/summerCache.rapidoc.ts +2 -2
  247. package/vona/src/suite-vendor/a-vona/modules/a-swagger/src/bean/summerCache.swagger.ts +2 -2
  248. package/vona/src/suite-vendor/a-vona/modules/a-user/package.json +1 -1
  249. package/vona/src/suite-vendor/a-vona/modules/a-user/src/bean/cacheRedis.authToken.ts +2 -2
  250. package/vona/src/suite-vendor/a-vona/modules/a-worker/package.json +1 -1
  251. package/vona/src/suite-vendor/a-vona/modules/a-worker/src/bean/cacheRedis.workerAlive.ts +2 -2
  252. package/vona/src/suite-vendor/a-vona/package.json +1 -1
  253. package/zova/README.md +4 -4
  254. package/zova/README.zh-CN.md +4 -4
  255. package/zova/packages-zova/zova/package.json +2 -2
  256. package/zova/src/suite/a-demo/modules/demo-basic/src/page/toolTwo/controller.tsx +0 -2
  257. package/zova/src/suite/a-home/modules/home-base/src/config/locale/en-us.ts +1 -0
  258. package/zova/src/suite/a-home/modules/home-base/src/config/locale/zh-cn.ts +1 -0
  259. package/zova/src/suite/a-home/modules/home-base/src/page/errorNotFound/controller.tsx +8 -2
  260. package/zova/src/suite/a-home/modules/home-layoutweb/src/component/layoutWeb/controller.tsx +1 -1
  261. package/zova/src/suite/a-home/modules/home-layoutweb/src/component/layoutWeb/render.header.tsx +1 -1
  262. package/zova/src/suite/a-home/modules/home-layoutweb/src/component/layoutWeb/render.locale.tsx +2 -5
  263. package/zova/src/suite/a-home/modules/home-layoutweb/src/component/layoutWeb/render.tabs.tsx +1 -4
  264. package/zova/src/suite-vendor/a-zova/modules/a-router/package.json +1 -1
  265. package/zova/src/suite-vendor/a-zova/modules/a-router/src/bean/sys.router.ts +28 -6
  266. package/zova/src/suite-vendor/a-zova/modules/a-router/src/monkeySys.ts +15 -3
  267. package/zova/src/suite-vendor/a-zova/modules/a-router/src/types/router.ts +1 -0
  268. package/zova/src/suite-vendor/a-zova/modules/a-routertabs/package.json +1 -1
  269. package/zova/src/suite-vendor/a-zova/modules/a-routertabs/src/model/tabs.ts +4 -0
  270. package/zova/src/suite-vendor/a-zova/package.json +3 -3
  271. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_crud.ts +0 -0
  272. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_crud_inner.ts +0 -0
  273. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_crud_table.ts +0 -0
  274. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_knex.ts +0 -0
  275. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_utils.ts +0 -0
  276. /package/vona/src/suite-vendor/a-vona/modules/a-orm/src/{bean → lib}/bean.model/bean.model_view.ts +0 -0
@@ -0,0 +1,69 @@
1
+ # Fullstack Introduction
2
+
3
+ Cabloy is a fullstack framework built around a single source tree where backend and frontend development stay close enough for code sharing, workflow reuse, and AI-assisted implementation.
4
+
5
+ ## Shared architecture
6
+
7
+ - **Vona** provides the backend framework capabilities.
8
+ - **Zova** provides the frontend framework capabilities.
9
+ - The root repository coordinates the two through shared scripts, shared terminology, and a shared release story.
10
+
11
+ In the current monorepo root, the main command entrypoints are:
12
+
13
+ - `npm run vona`
14
+ - `npm run zova`
15
+ - `npm run dev`
16
+ - `npm run build`
17
+ - `npm run test`
18
+ - `npm run tsc`
19
+
20
+ These are defined in the root `package.json` and should be the first place an agent or contributor checks before inventing a custom workflow.
21
+
22
+ ## Why the monorepo matters for workflow selection
23
+
24
+ The monorepo makes it possible to answer cross-stack questions from source rather than memory, for example:
25
+
26
+ - how frontend routes and components are reflected back into backend type hints
27
+ - how backend OpenAPI and DTO output feeds frontend SDK generation
28
+ - how edition-specific scripts differ between Cabloy Basic and Cabloy Start
29
+ - how Vona and Zova CLI commands can be reused instead of writing scaffolding manually
30
+
31
+ ## Technology Stack
32
+
33
+ ### General
34
+
35
+ | Package | Version |
36
+ | ---------- | --------- |
37
+ | TypeScript | `^5.9.3` |
38
+ | Zod | `^4.3.6` |
39
+
40
+ ### Backend (Vona)
41
+
42
+ | Package | Version |
43
+ | ---------------------------------- | --------- |
44
+ | Koa | `^3.2.0` |
45
+ | Knex | `^3.2.9` |
46
+ | Redis Client (`ioredis`) | `^5.10.1` |
47
+ | SQLite Driver (`better-sqlite3`) | `^12.9.0` |
48
+
49
+ ### Frontend (Zova)
50
+
51
+ | Package | Version |
52
+ | ---------------- | ----------- |
53
+ | Vue | `^3.5.32` |
54
+ | Vite | `^8.0.14` |
55
+ | Quasar | `^2.19.3` |
56
+ | TanStack Query | `^5.100.10` |
57
+ | TanStack Form | `^1.32.0` |
58
+ | TanStack Table | `^8.21.3` |
59
+
60
+ ### Edition-specific UI Stack
61
+
62
+ - **Cabloy Basic**: DaisyUI + Tailwind CSS
63
+ - **Cabloy Start**: Vuetify
64
+
65
+ ## Common-first, edition-aware
66
+
67
+ Most framework concepts are shared across Cabloy Basic and Cabloy Start. The new documentation prefers a common-first explanation, then adds edition-specific notes only where the repos intentionally diverge.
68
+
69
+ Use the [Editions Overview](/editions/overview) page whenever a task depends on UI library, module composition, or private-value project boundaries.
@@ -0,0 +1,116 @@
1
+ # Backend OpenAPI to Frontend SDK
2
+
3
+ This page turns one of Cabloy’s most important fullstack collaboration paths into an explicit guide.
4
+
5
+ ## Why this path matters
6
+
7
+ Cabloy’s fullstack productivity depends heavily on a contract loop:
8
+
9
+ 1. Vona emits backend API metadata through Swagger/OpenAPI
10
+ 2. Zova consumes that metadata to generate frontend SDKs and schema-aware helpers
11
+ 3. frontend pages, models, and services build on those generated contracts instead of re-declaring everything manually
12
+
13
+ This is one of the strongest AI-leverage paths in the repo because it reduces duplicated type work and keeps backend/frontend coordination closer to source truth.
14
+
15
+ ## The contract loop in practical terms
16
+
17
+ A useful split is:
18
+
19
+ - backend docs define the authoring side of the contract
20
+ - fullstack docs define the bridge from emitted contract to generated SDK
21
+ - frontend docs define the consumption side of the generated contract
22
+
23
+ That means this page is the fullstack contract-bridge page, not the backend authoring page and not the frontend usage page.
24
+
25
+ ## Backend side: Vona emits the contract
26
+
27
+ On the backend side, OpenAPI metadata is driven by:
28
+
29
+ - controller argument and return contracts
30
+ - DTO and entity field definitions
31
+ - validation rules and `v` helpers
32
+ - `a-openapi` configuration
33
+
34
+ For the deeper backend perspective, see:
35
+
36
+ - [Controller Guide](/backend/controller-guide)
37
+ - [OpenAPI Guide](/backend/openapi-guide)
38
+ - [Validation Guide](/backend/validation-guide)
39
+ - [DTO Infer and Generation](/backend/dto-infer-generation)
40
+
41
+ ## Frontend side: Zova consumes the contract
42
+
43
+ On the frontend side, the generated-contract path typically includes:
44
+
45
+ - OpenAPI configuration
46
+ - SDK generation
47
+ - API services or schema-driven helpers based on the generated output
48
+
49
+ For the deeper frontend perspective, see:
50
+
51
+ - [OpenAPI SDK Guide](/frontend/openapi-sdk-guide)
52
+ - [Server Data](/frontend/server-data)
53
+ - [API Guide](/frontend/api-guide)
54
+ - [API Schema Guide](/frontend/api-schema-guide)
55
+ - [SDK Guide](/frontend/sdk-guide)
56
+
57
+ ## Cabloy Basic workflow
58
+
59
+ In the current public monorepo, Basic-specific Zova flavors include:
60
+
61
+ - `cabloyBasicAdmin`
62
+ - `cabloyBasicWeb`
63
+
64
+ Representative frontend-side contract-generation commands include:
65
+
66
+ ```bash
67
+ npm run zova :openapi:config demo-student
68
+ npm run zova :openapi:generate demo-student
69
+ cd zova && npm run build:rest:cabloyBasicAdmin
70
+ cd zova && npm run build:rest:cabloyBasicWeb
71
+ ```
72
+
73
+ A practical contract-loop sequence is:
74
+
75
+ 1. author or change the backend contract
76
+ 2. emit or inspect backend OpenAPI output
77
+ 3. configure frontend module ownership if needed
78
+ 4. generate module-level OpenAPI SDK output
79
+ 5. run the rest build for the active Basic flavor when needed
80
+ 6. consume the generated contract from frontend code instead of re-declaring it manually
81
+
82
+ A practical responsibility split is:
83
+
84
+ - project-level OpenAPI config decides where the backend Swagger/OpenAPI source comes from
85
+ - module-level OpenAPI config decides which generated contract slice belongs to which frontend module
86
+
87
+ A practical regeneration rule is:
88
+
89
+ - if the backend contract changed, prefer regenerating the SDK/rest layer before hand-editing frontend request code
90
+
91
+ ## Cabloy Start workflow
92
+
93
+ In the sibling private Start repo, the same collaboration idea applies, but the frontend flavor names differ.
94
+
95
+ Representative Start-specific flavors include:
96
+
97
+ - `cabloyStartAdmin`
98
+ - `cabloyStartWeb`
99
+
100
+ Before documenting or automating this path for Start, confirm:
101
+
102
+ 1. the `__CABLOY_START__` marker
103
+ 2. the Start repo’s `package.json`
104
+ 3. the exact frontend flavor names and generated output paths
105
+
106
+ ## Implementation checks for backend-to-frontend contract changes
107
+
108
+ When changing a backend API contract, ask:
109
+
110
+ 1. does OpenAPI output change?
111
+ 2. does the frontend SDK or schema layer need regeneration?
112
+ 3. is the active edition Basic or Start?
113
+ 4. is the right next step to regenerate contracts instead of hand-editing frontend request code?
114
+ 5. is the current task on the backend authoring side, the bridge step, or the frontend consumption side?
115
+
116
+ That keeps the backend/frontend contract loop coherent.
@@ -0,0 +1,86 @@
1
+ # Fullstack Quickstart
2
+
3
+ This guide explains the fastest way to start a Cabloy fullstack project.
4
+
5
+ ## 1. Prerequisites
6
+
7
+ Before creating a new Cabloy project, make sure your environment has:
8
+
9
+ | Name | Version |
10
+ | ------------ | ----------- |
11
+ | `pnpm` | `>=10.19.0` |
12
+ | `Node.js` | `>=24.4.0` |
13
+ | `Redis` | `>=7.2.6` |
14
+ | `SQLite3` | `Built-in` |
15
+ | `MySQL` | `>=8` |
16
+ | `PostgreSQL` | `>=16` |
17
+
18
+ - `Redis`: powers queue, schedule, startup, broadcast, caching, two-layer cache, and redlock
19
+ - `SQLite3`: if you use `better-sqlite3`, set up `node-gyp` before installing dependencies
20
+
21
+ ## 2. Create a new project
22
+
23
+ ```bash
24
+ npm create cabloy
25
+ ```
26
+
27
+ The generated project already includes `CLAUDE.md` and the `.claude/` workspace assets. Open this project in Claude Code and start coding immediately with project-specific guidance.
28
+
29
+ ## 3. Start the backend
30
+
31
+ ```bash
32
+ npm run dev
33
+ ```
34
+
35
+ - Web: http://localhost:7102/
36
+ - Admin: http://localhost:7102/admin/
37
+
38
+ ## 4. Start the frontend for your edition
39
+
40
+ ### Cabloy Basic
41
+
42
+ ```bash
43
+ npm run dev:zova:admin # http://localhost:9000/admin/
44
+ npm run dev:zova:web # http://localhost:9000/
45
+ ```
46
+
47
+ ### Cabloy Start
48
+
49
+ Use the frontend commands provided by your project edition. Do not assume the Cabloy Basic flavor names apply to Cabloy Start.
50
+
51
+ If you are not sure which edition you are using, read:
52
+
53
+ - [Edition Detection](/editions/detection)
54
+ - [Cabloy Basic](/editions/cabloy-basic)
55
+ - [Cabloy Start](/editions/cabloy-start)
56
+
57
+ ## 5. Upgrade an existing project
58
+
59
+ ```bash
60
+ npm run upgrade
61
+ ```
62
+
63
+ ## 6. Next steps for framework-aware development
64
+
65
+ If you are contributing to framework-aware workflows or using Cabloy CLI generation directly, prefer CLI-backed generation over manual scaffolding.
66
+
67
+ Instead of creating framework files by hand, start with:
68
+
69
+ ```bash
70
+ npm run vona :create
71
+ npm run zova :create
72
+ ```
73
+
74
+ Then narrow into the specific command family you need.
75
+
76
+ ## 7. Shared verification commands for deeper workflow checks
77
+
78
+ If you are validating framework-aware changes or a broader workflow, use the shared project scripts before declaring a workflow correct:
79
+
80
+ ```bash
81
+ npm run tsc
82
+ npm run test
83
+ npm run build
84
+ ```
85
+
86
+ Choose more targeted checks when only one area is affected, but treat these scripts as the shared reference surface.
@@ -0,0 +1,86 @@
1
+ # Fullstack Vona + Zova Integration
2
+
3
+ This guide explains the current monorepo-native workflow for integrating Vona and Zova.
4
+
5
+ ## Why the workflow looks different in the monorepo
6
+
7
+ Earlier standalone-repo workflows often described integrating Zova by cloning a separate repository and copying its built output into Vona manually.
8
+
9
+ That is not the preferred Cabloy workflow.
10
+
11
+ In the current monorepo:
12
+
13
+ - Vona and Zova already live in the same source tree
14
+ - the root repository already exposes shared scripts for both sides
15
+ - edition differences should be handled explicitly rather than through ad hoc path replacement
16
+
17
+ ## Core integration model
18
+
19
+ Cabloy uses a frontend-backend separation architecture:
20
+
21
+ - Vona provides the backend runtime
22
+ - Zova provides the frontend application
23
+ - generated or built frontend output is consumed by the backend-side fullstack flow
24
+ - type sharing is coordinated through OpenAPI, generated SDKs, and frontend-generated route/component typing
25
+
26
+ ## Cabloy Basic
27
+
28
+ In Cabloy Basic, the root repository already exposes these shared entrypoints:
29
+
30
+ ```bash
31
+ npm run dev
32
+ npm run dev:zova:admin
33
+ npm run dev:zova:web
34
+ npm run build
35
+ npm run build:zova
36
+ ```
37
+
38
+ The relevant Zova flavors in this repository include:
39
+
40
+ - `cabloyBasicAdmin`
41
+ - `cabloyBasicWeb`
42
+
43
+ The frontend-side REST/type build flows include:
44
+
45
+ ```bash
46
+ cd zova && npm run build:rest:cabloyBasicAdmin
47
+ cd zova && npm run build:rest:cabloyBasicWeb
48
+ ```
49
+
50
+ ## Cabloy Start
51
+
52
+ Cabloy Start is a sibling private repository rather than a subdirectory here, but the same integration idea applies.
53
+
54
+ Its root script surface uses Start-specific flavors such as:
55
+
56
+ - `cabloyStartAdmin`
57
+ - `cabloyStartWeb`
58
+
59
+ Because Start differs in UI stack and module composition, do not reuse Basic integration examples without first confirming:
60
+
61
+ 1. the `__CABLOY_START__` marker
62
+ 2. the Start repo’s `package.json`
63
+ 3. the exact Zova flavor names and generated output paths used there
64
+
65
+ ## Recommended integration workflow
66
+
67
+ ### 1. Detect the edition
68
+
69
+ - `__CABLOY_BASIC__` → use Basic examples from this repo
70
+ - `__CABLOY_START__` → verify the sibling Start repo scripts before using examples
71
+
72
+ ### 2. Start from root scripts
73
+
74
+ Use the root `package.json` as the first workflow surface.
75
+
76
+ ### 3. Use Zova build and REST generation deliberately
77
+
78
+ For frontend builds and type generation, inspect the relevant Zova flavor scripts instead of hardcoding copy paths or ad hoc integration steps.
79
+
80
+ ### 4. Verify both sides together
81
+
82
+ For meaningful fullstack changes, verify:
83
+
84
+ - backend dev/build/test flow
85
+ - frontend dev/build/type generation flow
86
+ - the edition-specific flavor you actually targeted
@@ -0,0 +1,73 @@
1
+ ---
2
+ layout: home
3
+
4
+ hero:
5
+ name: 'Cabloy'
6
+ text: 'Unified fullstack framework documentation'
7
+ tagline: Build SSR, SPA, Web, and Admin applications with monorepo-native guidance for Cabloy, Vona, Zova, and AI-assisted development.
8
+ actions:
9
+ - theme: brand
10
+ text: Get Started
11
+ link: /fullstack/quickstart
12
+ - theme: alt
13
+ text: Editions
14
+ link: /editions/overview
15
+ - theme: alt
16
+ text: AI Development
17
+ link: /ai/introduction
18
+
19
+ features:
20
+ - title: Fullstack by design
21
+ details: Understand how Cabloy combines the Vona backend and the Zova frontend in one source tree so humans and AI agents can work from the same ground truth.
22
+ - title: Edition-aware workflows
23
+ details: Distinguish what is common across Cabloy Basic and Cabloy Start, and what changes because of UI library, module composition, or private value-add features.
24
+ - title: CLI-first automation
25
+ details: Reuse Vona and Zova CLI capabilities for scaffolding, refactoring, metadata, and verification instead of re-deriving framework conventions from scratch.
26
+ - title: AI-ready knowledge system
27
+ details: Connect public docs, internal architecture notes, Claude rules, and skills so AI-assisted development stays accurate, efficient, and maintainable.
28
+ ---
29
+
30
+ # Cabloy Documentation
31
+
32
+ This site is the new documentation home for the Cabloy monorepo.
33
+
34
+ It is designed around four practical goals:
35
+
36
+ 1. explain the shared architecture across Cabloy, Vona, and Zova
37
+ 2. document the real monorepo workflows used in current source code
38
+ 3. distinguish Cabloy Basic and Cabloy Start clearly
39
+ 4. provide durable guidance for AI-assisted development
40
+
41
+ ## What is covered here
42
+
43
+ - **Fullstack**: monorepo setup, shared workflows, and cross-stack architecture
44
+ - **Backend (Vona)**: backend concepts, infrastructure, and CLI-backed workflows
45
+ - **Frontend (Zova)**: frontend concepts, SSR, UI-stack considerations, and CLI-backed workflows
46
+ - **Editions**: how Cabloy Basic and Cabloy Start relate and where they differ
47
+ - **AI Development**: how docs, skills, rules, commands, and internal engineering notes work together
48
+ - **Reference**: scripts, CLI command families, package layout, and terminology
49
+
50
+ ## Documentation scope labels
51
+
52
+ Use these labels throughout the site:
53
+
54
+ <Badge type="tip" text="Common" /> applies to both Cabloy Basic and Cabloy Start.
55
+
56
+ <Badge type="info" text="Basic" /> applies only to Cabloy Basic.
57
+
58
+ <Badge type="warning" text="Start" /> applies only to Cabloy Start.
59
+
60
+ ## First reading path
61
+
62
+ ### For project users
63
+
64
+ 1. [Fullstack Quickstart](/fullstack/quickstart)
65
+ 2. [Editions Overview](/editions/overview)
66
+ 3. [Fullstack Introduction](/fullstack/introduction)
67
+
68
+ ### For framework contributors and AI workflows
69
+
70
+ 1. [Fullstack Introduction](/fullstack/introduction)
71
+ 2. [AI Development Introduction](/ai/introduction)
72
+ 3. [Repo Scripts Reference](/reference/repo-scripts)
73
+ 4. [Editions Overview](/editions/overview)
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "cabloy-docs",
3
+ "private": true,
4
+ "description": "Unified Cabloy monorepo docs",
5
+ "license": "MIT",
6
+ "author": "zhennann",
7
+ "type": "module",
8
+ "scripts": {
9
+ "docs:dev": "vitepress dev .",
10
+ "docs:build": "vitepress build .",
11
+ "docs:preview": "vitepress preview ."
12
+ },
13
+ "devDependencies": {
14
+ "vitepress": "^1.6.4"
15
+ }
16
+ }