@vc-shell/vc-app-skill 2.0.0-alpha.33 → 2.0.0-alpha.34

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 (195) hide show
  1. package/CHANGELOG.md +78 -54
  2. package/README.md +42 -12
  3. package/package.json +4 -4
  4. package/runtime/VERSION +1 -1
  5. package/runtime/agents/api-analyzer.md +31 -16
  6. package/runtime/agents/blade-enhancer.md +15 -9
  7. package/runtime/agents/details-blade-generator.md +47 -31
  8. package/runtime/agents/list-blade-generator.md +21 -37
  9. package/runtime/agents/locales-generator.md +3 -0
  10. package/runtime/agents/migration-agent.md +18 -7
  11. package/runtime/agents/module-analyzer.md +2 -0
  12. package/runtime/agents/module-assembler.md +15 -0
  13. package/runtime/agents/promote-agent.md +15 -4
  14. package/runtime/agents/type-checker.md +11 -0
  15. package/runtime/knowledge/docs/_BUILD_HASH.md +1 -1
  16. package/runtime/knowledge/docs/core/api/platform.docs.md +30 -30
  17. package/runtime/knowledge/docs/core/blade-navigation/blade-nav-composables.docs.md +41 -41
  18. package/runtime/knowledge/docs/core/composables/bladeContext/index.docs.md +12 -10
  19. package/runtime/knowledge/docs/core/composables/useApiClient/useApiClient.docs.md +11 -14
  20. package/runtime/knowledge/docs/core/composables/useAppBarMobileButtons/useAppBarMobileButtons.docs.md +35 -35
  21. package/runtime/knowledge/docs/core/composables/useAppBarWidget/useAppBarWidget.docs.md +35 -35
  22. package/runtime/knowledge/docs/core/composables/useAppInsights/useAppInsights.docs.md +15 -15
  23. package/runtime/knowledge/docs/core/composables/useAssets/useAssets.docs.md +21 -18
  24. package/runtime/knowledge/docs/core/composables/useAssetsManager/useAssetsManager.docs.md +28 -24
  25. package/runtime/knowledge/docs/core/composables/useAsync/useAsync.docs.md +90 -61
  26. package/runtime/knowledge/docs/core/composables/useBeforeUnload/useBeforeUnload.docs.md +19 -18
  27. package/runtime/knowledge/docs/core/composables/useBlade/useBlade.docs.md +89 -68
  28. package/runtime/knowledge/docs/core/composables/useBladeForm/useBladeForm.docs.md +27 -25
  29. package/runtime/knowledge/docs/core/composables/useBladeRegistry/useBladeRegistry.docs.md +15 -15
  30. package/runtime/knowledge/docs/core/composables/useBladeWidgets/index.docs.md +43 -47
  31. package/runtime/knowledge/docs/core/composables/useBreadcrumbs/useBreadcrumbs.docs.md +11 -11
  32. package/runtime/knowledge/docs/core/composables/useConnectionStatus/useConnectionStatus.docs.md +27 -15
  33. package/runtime/knowledge/docs/core/composables/useDashboard/useDashboard.docs.md +30 -30
  34. package/runtime/knowledge/docs/core/composables/useDynamicProperties/useDynamicProperties.docs.md +34 -36
  35. package/runtime/knowledge/docs/core/composables/useErrorHandler/useErrorHandler.docs.md +44 -23
  36. package/runtime/knowledge/docs/core/composables/useFunctions/useFunctions.docs.md +14 -11
  37. package/runtime/knowledge/docs/core/composables/useKeyboardNavigation/useKeyboardNavigation.docs.md +47 -38
  38. package/runtime/knowledge/docs/core/composables/useLanguages/useLanguages.docs.md +37 -28
  39. package/runtime/knowledge/docs/core/composables/useLoading/useLoading.docs.md +23 -17
  40. package/runtime/knowledge/docs/core/composables/useMenuExpanded/index.docs.md +9 -9
  41. package/runtime/knowledge/docs/core/composables/useMenuService/useMenuService.docs.md +42 -42
  42. package/runtime/knowledge/docs/core/composables/useModificationTracker/useModificationTracker.docs.md +22 -12
  43. package/runtime/knowledge/docs/core/composables/useNotifications/useNotifications.docs.md +33 -41
  44. package/runtime/knowledge/docs/core/composables/usePermissions/usePermissions.docs.md +16 -16
  45. package/runtime/knowledge/docs/core/composables/usePlatformLocaleSync/usePlatformLocaleSync.docs.md +28 -0
  46. package/runtime/knowledge/docs/core/composables/usePopup/usePopup.docs.md +32 -24
  47. package/runtime/knowledge/docs/core/composables/useResponsive/useResponsive.docs.md +32 -11
  48. package/runtime/knowledge/docs/core/composables/useSettings/useSettings.docs.md +22 -13
  49. package/runtime/knowledge/docs/core/composables/useSettingsMenu/useSettingsMenu.docs.md +7 -7
  50. package/runtime/knowledge/docs/core/composables/useSidebarState/useSidebarState.docs.md +32 -24
  51. package/runtime/knowledge/docs/core/composables/useSlowNetworkDetection/useSlowNetworkDetection.docs.md +21 -17
  52. package/runtime/knowledge/docs/core/composables/useTheme/useTheme.docs.md +24 -24
  53. package/runtime/knowledge/docs/core/composables/useToolbar/useToolbar.docs.md +28 -31
  54. package/runtime/knowledge/docs/core/composables/useUser/useUser.docs.md +43 -24
  55. package/runtime/knowledge/docs/core/composables/useUserManagement/useUserManagement.docs.md +68 -48
  56. package/runtime/knowledge/docs/core/composables/useWebVitals/useWebVitals.docs.md +19 -19
  57. package/runtime/knowledge/docs/core/composables/useWidgets/useWidgets.docs.md +42 -47
  58. package/runtime/knowledge/docs/core/directives/autofocus/autofocus.docs.md +10 -4
  59. package/runtime/knowledge/docs/core/directives/loading/loading.docs.md +35 -20
  60. package/runtime/knowledge/docs/core/notifications/notifications.docs.md +36 -35
  61. package/runtime/knowledge/docs/core/plugins/ai-agent/ai-agent.docs.md +38 -38
  62. package/runtime/knowledge/docs/core/plugins/extension-points/extension-points.docs.md +79 -62
  63. package/runtime/knowledge/docs/core/plugins/global-error-handler/global-error-handler.docs.md +10 -10
  64. package/runtime/knowledge/docs/core/plugins/i18n/i18n.docs.md +21 -23
  65. package/runtime/knowledge/docs/core/plugins/modularity/modularity.docs.md +91 -83
  66. package/runtime/knowledge/docs/core/plugins/permissions/permissions.docs.md +10 -16
  67. package/runtime/knowledge/docs/core/plugins/signalR/signalR.docs.md +9 -9
  68. package/runtime/knowledge/docs/core/plugins/validation/validation.docs.md +65 -22
  69. package/runtime/knowledge/docs/core/services/services.docs.md +19 -22
  70. package/runtime/knowledge/docs/core/types/types.docs.md +40 -40
  71. package/runtime/knowledge/docs/core/utilities/date/date-utilities.docs.md +27 -27
  72. package/runtime/knowledge/docs/core/utilities/shared-utilities.docs.md +23 -23
  73. package/runtime/knowledge/docs/core/utilities/thumbnail/thumbnail.docs.md +22 -25
  74. package/runtime/knowledge/docs/core/utilities/utilities.docs.md +64 -64
  75. package/runtime/knowledge/docs/injection-keys.docs.md +52 -51
  76. package/runtime/knowledge/docs/modules/assets-manager/assets-manager.docs.md +9 -9
  77. package/runtime/knowledge/docs/shell/_internal/popup/common/popup-common.docs.md +23 -43
  78. package/runtime/knowledge/docs/shell/auth/ChangePasswordPage/change-password-page.docs.md +5 -5
  79. package/runtime/knowledge/docs/shell/auth/ForgotPasswordPage/forgot-password-page.docs.md +5 -5
  80. package/runtime/knowledge/docs/shell/auth/InvitePage/invite-page.docs.md +8 -7
  81. package/runtime/knowledge/docs/shell/auth/LoginPage/login-page.docs.md +7 -7
  82. package/runtime/knowledge/docs/shell/auth/ResetPasswordPage/reset-password-page.docs.md +8 -7
  83. package/runtime/knowledge/docs/shell/auth/sign-in/sign-in.docs.md +29 -13
  84. package/runtime/knowledge/docs/shell/components/change-password/change-password.docs.md +13 -16
  85. package/runtime/knowledge/docs/shell/components/change-password-button/change-password-button.docs.md +1 -7
  86. package/runtime/knowledge/docs/shell/components/error-interceptor/error-interceptor.docs.md +5 -5
  87. package/runtime/knowledge/docs/shell/components/language-selector/language-selector.docs.md +1 -1
  88. package/runtime/knowledge/docs/shell/components/logout-button/logout-button.docs.md +1 -1
  89. package/runtime/knowledge/docs/shell/components/notification-template/notification-template.docs.md +17 -9
  90. package/runtime/knowledge/docs/shell/components/settings-menu/settings-menu.docs.md +11 -17
  91. package/runtime/knowledge/docs/shell/components/settings-menu-item/settings-menu-item.docs.md +34 -65
  92. package/runtime/knowledge/docs/shell/components/sidebar/sidebar.docs.md +16 -26
  93. package/runtime/knowledge/docs/shell/components/theme-selector/theme-selector.docs.md +2 -2
  94. package/runtime/knowledge/docs/shell/components/user-dropdown-button/user-dropdown-button.docs.md +7 -9
  95. package/runtime/knowledge/docs/shell/dashboard/dashboard-charts/dashboard-charts.docs.md +30 -40
  96. package/runtime/knowledge/docs/shell/dashboard/dashboard-widget-card/dashboard-widget-card.docs.md +26 -19
  97. package/runtime/knowledge/docs/shell/dashboard/draggable-dashboard/draggable-dashboard.docs.md +15 -12
  98. package/runtime/knowledge/docs/ui/components/atoms/vc-badge/vc-badge.docs.md +15 -26
  99. package/runtime/knowledge/docs/ui/components/atoms/vc-banner/vc-banner.docs.md +21 -19
  100. package/runtime/knowledge/docs/ui/components/atoms/vc-button/vc-button.docs.md +83 -67
  101. package/runtime/knowledge/docs/ui/components/atoms/vc-card/vc-card.docs.md +100 -59
  102. package/runtime/knowledge/docs/ui/components/atoms/vc-col/vc-col.docs.md +28 -11
  103. package/runtime/knowledge/docs/ui/components/atoms/vc-container/vc-container.docs.md +20 -17
  104. package/runtime/knowledge/docs/ui/components/atoms/vc-hint/vc-hint.docs.md +26 -17
  105. package/runtime/knowledge/docs/ui/components/atoms/vc-icon/vc-icon.docs.md +30 -32
  106. package/runtime/knowledge/docs/ui/components/atoms/vc-image/vc-image.docs.md +25 -48
  107. package/runtime/knowledge/docs/ui/components/atoms/vc-label/vc-label.docs.md +29 -24
  108. package/runtime/knowledge/docs/ui/components/atoms/vc-link/vc-link.docs.md +23 -15
  109. package/runtime/knowledge/docs/ui/components/atoms/vc-loading/vc-loading.docs.md +22 -13
  110. package/runtime/knowledge/docs/ui/components/atoms/vc-progress/vc-progress.docs.md +33 -18
  111. package/runtime/knowledge/docs/ui/components/atoms/vc-row/vc-row.docs.md +56 -15
  112. package/runtime/knowledge/docs/ui/components/atoms/vc-scrollable-container/vc-scrollable-container.docs.md +28 -15
  113. package/runtime/knowledge/docs/ui/components/atoms/vc-skeleton/vc-skeleton.docs.md +40 -20
  114. package/runtime/knowledge/docs/ui/components/atoms/vc-status/vc-status.docs.md +25 -14
  115. package/runtime/knowledge/docs/ui/components/atoms/vc-status-icon/vc-status-icon.docs.md +40 -14
  116. package/runtime/knowledge/docs/ui/components/atoms/vc-tooltip/vc-tooltip.docs.md +54 -42
  117. package/runtime/knowledge/docs/ui/components/atoms/vc-video/vc-video.docs.md +17 -17
  118. package/runtime/knowledge/docs/ui/components/atoms/vc-widget/vc-widget.docs.md +21 -21
  119. package/runtime/knowledge/docs/ui/components/molecules/multilanguage-selector/multilanguage-selector.docs.md +23 -10
  120. package/runtime/knowledge/docs/ui/components/molecules/vc-accordion/vc-accordion.docs.md +55 -44
  121. package/runtime/knowledge/docs/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.docs.md +23 -20
  122. package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox/vc-checkbox.docs.md +92 -65
  123. package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.docs.md +22 -36
  124. package/runtime/knowledge/docs/ui/components/molecules/vc-color-input/vc-color-input.docs.md +65 -23
  125. package/runtime/knowledge/docs/ui/components/molecules/vc-date-picker/vc-date-picker.docs.md +52 -73
  126. package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown/vc-dropdown.docs.md +91 -85
  127. package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.docs.md +38 -42
  128. package/runtime/knowledge/docs/ui/components/molecules/vc-editor/vc-editor.docs.md +56 -73
  129. package/runtime/knowledge/docs/ui/components/molecules/vc-field/vc-field.docs.md +61 -27
  130. package/runtime/knowledge/docs/ui/components/molecules/vc-file-upload/vc-file-upload.docs.md +42 -50
  131. package/runtime/knowledge/docs/ui/components/molecules/vc-form/vc-form.docs.md +35 -64
  132. package/runtime/knowledge/docs/ui/components/molecules/vc-image-tile/vc-image-tile.docs.md +38 -41
  133. package/runtime/knowledge/docs/ui/components/molecules/vc-input/vc-input.docs.md +109 -131
  134. package/runtime/knowledge/docs/ui/components/molecules/vc-input-currency/vc-input-currency.docs.md +47 -88
  135. package/runtime/knowledge/docs/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.docs.md +50 -64
  136. package/runtime/knowledge/docs/ui/components/molecules/vc-input-group/vc-input-group.docs.md +29 -24
  137. package/runtime/knowledge/docs/ui/components/molecules/vc-menu/vc-menu.docs.md +32 -28
  138. package/runtime/knowledge/docs/ui/components/molecules/vc-multivalue/vc-multivalue.docs.md +57 -65
  139. package/runtime/knowledge/docs/ui/components/molecules/vc-pagination/vc-pagination.docs.md +28 -26
  140. package/runtime/knowledge/docs/ui/components/molecules/vc-radio-button/vc-radio-button.docs.md +55 -20
  141. package/runtime/knowledge/docs/ui/components/molecules/vc-radio-group/vc-radio-group.docs.md +21 -35
  142. package/runtime/knowledge/docs/ui/components/molecules/vc-rating/vc-rating.docs.md +38 -33
  143. package/runtime/knowledge/docs/ui/components/molecules/vc-select/vc-select.docs.md +72 -83
  144. package/runtime/knowledge/docs/ui/components/molecules/vc-slider/vc-slider.docs.md +21 -16
  145. package/runtime/knowledge/docs/ui/components/molecules/vc-switch/vc-switch.docs.md +55 -64
  146. package/runtime/knowledge/docs/ui/components/molecules/vc-textarea/vc-textarea.docs.md +51 -70
  147. package/runtime/knowledge/docs/ui/components/molecules/vc-toast/vc-toast.docs.md +58 -57
  148. package/runtime/knowledge/docs/ui/components/organisms/vc-app/vc-app.docs.md +49 -26
  149. package/runtime/knowledge/docs/ui/components/organisms/vc-auth-layout/vc-auth-layout.docs.md +82 -28
  150. package/runtime/knowledge/docs/ui/components/organisms/vc-blade/vc-blade.docs.md +90 -75
  151. package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/composables/table-composables.docs.md +99 -48
  152. package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/vc-data-table.docs.md +548 -367
  153. package/runtime/knowledge/docs/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.docs.md +35 -52
  154. package/runtime/knowledge/docs/ui/components/organisms/vc-gallery/vc-gallery.docs.md +33 -62
  155. package/runtime/knowledge/docs/ui/components/organisms/vc-image-upload/vc-image-upload.docs.md +17 -23
  156. package/runtime/knowledge/docs/ui/components/organisms/vc-popup/vc-popup.docs.md +109 -68
  157. package/runtime/knowledge/docs/ui/components/organisms/vc-sidebar/vc-sidebar.docs.md +82 -44
  158. package/runtime/knowledge/docs/ui/composables/ui-composables.docs.md +8 -8
  159. package/runtime/knowledge/docs/ui/composables/useDataTablePagination.docs.md +164 -0
  160. package/runtime/knowledge/docs/ui/composables/useDataTableSort.docs.md +34 -26
  161. package/runtime/knowledge/docs/ui/composables/useTableSelection.docs.md +48 -40
  162. package/runtime/knowledge/docs/ui/composables/useTableSort.docs.md +30 -17
  163. package/runtime/knowledge/docs/ui/types/ui-types.docs.md +40 -29
  164. package/runtime/knowledge/examples/offers-module.md +15 -13
  165. package/runtime/knowledge/examples/team-module.md +82 -119
  166. package/runtime/knowledge/examples/videos-module.md +44 -17
  167. package/runtime/knowledge/index.md +22 -0
  168. package/runtime/knowledge/migration-prompts/blade-form-migration.md +17 -8
  169. package/runtime/knowledge/migration-prompts/blade-props-migration.md +1 -2
  170. package/runtime/knowledge/migration-prompts/datatable-migration.md +801 -0
  171. package/runtime/knowledge/migration-prompts/icon-migration.md +97 -0
  172. package/runtime/knowledge/migration-prompts/manual-migration-audit.md +117 -0
  173. package/runtime/knowledge/migration-prompts/notifications-migration.md +8 -3
  174. package/runtime/knowledge/migration-prompts/nswag-migration.md +25 -29
  175. package/runtime/knowledge/migration-prompts/use-assets-migration.md +164 -0
  176. package/runtime/knowledge/migration-prompts/use-data-table-pagination-migration.md +176 -0
  177. package/runtime/knowledge/migration-prompts/widgets-migration.md +48 -27
  178. package/runtime/knowledge/patterns/assets-management.md +20 -20
  179. package/runtime/knowledge/patterns/blade-navigation.md +7 -14
  180. package/runtime/knowledge/patterns/blade-widget.md +19 -17
  181. package/runtime/knowledge/patterns/child-blade-flow.md +19 -7
  182. package/runtime/knowledge/patterns/composable-details.md +20 -50
  183. package/runtime/knowledge/patterns/composable-list.md +43 -31
  184. package/runtime/knowledge/patterns/dashboard-widget.md +14 -16
  185. package/runtime/knowledge/patterns/datatable-pattern.md +521 -0
  186. package/runtime/knowledge/patterns/details-blade-pattern.md +78 -116
  187. package/runtime/knowledge/patterns/extension-points-usage.md +53 -44
  188. package/runtime/knowledge/patterns/form-validation.md +28 -64
  189. package/runtime/knowledge/patterns/list-blade-pattern.md +33 -21
  190. package/runtime/knowledge/patterns/module-structure.md +7 -1
  191. package/runtime/knowledge/patterns/multilanguage-fields.md +8 -14
  192. package/runtime/knowledge/patterns/notification-template.md +21 -14
  193. package/runtime/knowledge/patterns/signalr-notifications.md +30 -32
  194. package/runtime/knowledge/patterns/toolbar-pattern.md +18 -20
  195. package/runtime/vc-app.md +241 -62
package/CHANGELOG.md CHANGED
@@ -1,18 +1,44 @@
1
- # [2.0.0-alpha.33](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.32...v2.0.0-alpha.33) (2026-04-14)
1
+ # [2.0.0-alpha.34](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.33...v2.0.0-alpha.34) (2026-04-22)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * **vc-app-skill:** add VC_SHELL_MIGRATE_CLI env override for local testing ([010d2f2](https://github.com/VirtoCommerce/vc-shell/commit/010d2f2ecb29d31d9134406bcd18e46e5883208b))
7
- * **vc-app-skill:** resolve migrate CLI from project node_modules before npx fallback ([82a8156](https://github.com/VirtoCommerce/vc-shell/commit/82a81563f7fdb94a94a7b8a80796ecffc671a39c))
8
- * **vc-app-skill:** resolve migrate CLI locally in dev mode, fallback to npx ([89888a0](https://github.com/VirtoCommerce/vc-shell/commit/89888a06cc0b4a1519f46f070ee06ebb0d82fd09))
6
+ * **datatable:** normalise date-range filter values to YYYY-MM-DD ([d89864a](https://github.com/VirtoCommerce/vc-shell/commit/d89864aa635e7479137fb0ad501197adf335f99e))
7
+ * **migrate:** datatable prompt forbids 'removed filters for green build' shortcut ([af5ae8e](https://github.com/VirtoCommerce/vc-shell/commit/af5ae8e4259b435729e6cea9e4c61d74b41d3952))
8
+ * **migrate:** use-data-table-pagination prompt per-file scope skip ([8949f01](https://github.com/VirtoCommerce/vc-shell/commit/8949f01da97b69c15fc6e3a2fca951608731979c))
9
+
10
+
11
+ ### chore
12
+
13
+ * **scripts:** normalize yarn scripts per industry standards ([1cdd0cb](https://github.com/VirtoCommerce/vc-shell/commit/1cdd0cb517d2436ef2a509c6b6c358f6a48630d1))
14
+
15
+
16
+ ### Features
17
+
18
+ * **migrate:** add use-data-table-pagination-audit + AI migration prompt ([0c2e7b6](https://github.com/VirtoCommerce/vc-shell/commit/0c2e7b6efba387d9fafe04e5bdcd21ea20500259))
19
+ * **migrate:** expand v2 migration tooling — icon/asset/audit prompts and blade-event cleanup ([f4788d4](https://github.com/VirtoCommerce/vc-shell/commit/f4788d4d9c588157ca5c11facfe558a69c254c2e)), closes [#41](https://github.com/VirtoCommerce/vc-shell/issues/41)
9
20
 
10
21
 
22
+ ### BREAKING CHANGES
23
+
24
+ * **scripts:** for external consumers: old script names
25
+ (storybook-serve, build-framework, check-locales etc) are removed.
26
+ Legacy aliases are deliberately not provided — they would perpetuate
27
+ the non-standard naming this commit eliminates.
28
+ # [2.0.0-alpha.33](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.32...v2.0.0-alpha.33) (2026-04-14)
29
+
30
+ ### Bug Fixes
31
+
32
+ - **vc-app-skill:** add VC_SHELL_MIGRATE_CLI env override for local testing ([010d2f2](https://github.com/VirtoCommerce/vc-shell/commit/010d2f2ecb29d31d9134406bcd18e46e5883208b))
33
+ - **vc-app-skill:** resolve migrate CLI from project node_modules before npx fallback ([82a8156](https://github.com/VirtoCommerce/vc-shell/commit/82a81563f7fdb94a94a7b8a80796ecffc671a39c))
34
+ - **vc-app-skill:** resolve migrate CLI locally in dev mode, fallback to npx ([89888a0](https://github.com/VirtoCommerce/vc-shell/commit/89888a06cc0b4a1519f46f070ee06ebb0d82fd09))
35
+
11
36
  ### Features
12
37
 
13
- * **vc-app-skill:** add /vc-app migrate command with full migration pipeline ([35a8b11](https://github.com/VirtoCommerce/vc-shell/commit/35a8b119457b14f6f4626caf133476222afd6663))
14
- * **vc-app-skill:** add migration prompt knowledge base (nswag, widgets, form, blade-props, notifications) ([a0b0eb2](https://github.com/VirtoCommerce/vc-shell/commit/a0b0eb2a96521916a72bdbf787961c1c96f96f6d))
15
- * **vc-app-skill:** add migration-agent subagent prompt ([29ac155](https://github.com/VirtoCommerce/vc-shell/commit/29ac1550c8e3c9b71d5dbc2ade7ea86b4d40213f))
38
+ - **vc-app-skill:** add /vc-app migrate command with full migration pipeline ([35a8b11](https://github.com/VirtoCommerce/vc-shell/commit/35a8b119457b14f6f4626caf133476222afd6663))
39
+ - **vc-app-skill:** add migration prompt knowledge base (nswag, widgets, form, blade-props, notifications) ([a0b0eb2](https://github.com/VirtoCommerce/vc-shell/commit/a0b0eb2a96521916a72bdbf787961c1c96f96f6d))
40
+ - **vc-app-skill:** add migration-agent subagent prompt ([29ac155](https://github.com/VirtoCommerce/vc-shell/commit/29ac1550c8e3c9b71d5dbc2ade7ea86b4d40213f))
41
+
16
42
  # [2.0.0-alpha.32](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.31...v2.0.0-alpha.32) (2026-04-02)
17
43
 
18
44
  **Note:** Version bump only for package @vc-shell/vc-app-skill
@@ -23,10 +49,10 @@
23
49
 
24
50
  # [2.0.0-alpha.30](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.29...v2.0.0-alpha.30) (2026-03-30)
25
51
 
26
-
27
52
  ### Features
28
53
 
29
- * **docs:** add documentation for usePopup and useResponsive composables ([342a50a](https://github.com/VirtoCommerce/vc-shell/commit/342a50ada1545637782e01f5452a60839aa90fd2))
54
+ - **docs:** add documentation for usePopup and useResponsive composables ([342a50a](https://github.com/VirtoCommerce/vc-shell/commit/342a50ada1545637782e01f5452a60839aa90fd2))
55
+
30
56
  # [2.0.0-alpha.29](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.28...v2.0.0-alpha.29) (2026-03-26)
31
57
 
32
58
  **Note:** Version bump only for package @vc-shell/vc-app-skill
@@ -49,43 +75,42 @@
49
75
 
50
76
  # [2.0.0-alpha.24](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.23...v2.0.0-alpha.24) (2026-03-25)
51
77
 
52
-
53
78
  ### Features
54
79
 
55
- * **vc-app-skill:** add knowledge-stats script for knowledge base audit ([7a568fc](https://github.com/VirtoCommerce/vc-shell/commit/7a568fc57335d51349a644721c904586efd49273))
56
- * **vc-app-skill:** enrich knowledge base with When to Use sections, patterns, and sync-docs script ([c82ed63](https://github.com/VirtoCommerce/vc-shell/commit/c82ed639d748bdc8fd2d9c39435ee37baedd0563))
57
- * **vc-app:** add sidebar search bar for menu filtering ([72f17fc](https://github.com/VirtoCommerce/vc-shell/commit/72f17fc5b0e77e4e87457c5a29262345da50317d)), closes [#menu](https://github.com/VirtoCommerce/vc-shell/issues/menu) [#menu](https://github.com/VirtoCommerce/vc-shell/issues/menu)
58
- # [2.0.0-alpha.23](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.22...v2.0.0-alpha.23) (2026-03-23)
80
+ - **vc-app-skill:** add knowledge-stats script for knowledge base audit ([7a568fc](https://github.com/VirtoCommerce/vc-shell/commit/7a568fc57335d51349a644721c904586efd49273))
81
+ - **vc-app-skill:** enrich knowledge base with When to Use sections, patterns, and sync-docs script ([c82ed63](https://github.com/VirtoCommerce/vc-shell/commit/c82ed639d748bdc8fd2d9c39435ee37baedd0563))
82
+ - **vc-app:** add sidebar search bar for menu filtering ([72f17fc](https://github.com/VirtoCommerce/vc-shell/commit/72f17fc5b0e77e4e87457c5a29262345da50317d)), closes [#menu](https://github.com/VirtoCommerce/vc-shell/issues/menu) [#menu](https://github.com/VirtoCommerce/vc-shell/issues/menu)
59
83
 
84
+ # [2.0.0-alpha.23](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.22...v2.0.0-alpha.23) (2026-03-23)
60
85
 
61
86
  ### Bug Fixes
62
87
 
63
- * **vc-app-skill:** add menuItem to standalone details blades (isWorkspace entry point) ([6be54ad](https://github.com/VirtoCommerce/vc-shell/commit/6be54ad38613ea0de865ab1348236417da8a572d))
64
- * **vc-app-skill:** auto-run yarn install after project scaffold ([cb9ada3](https://github.com/VirtoCommerce/vc-shell/commit/cb9ada34579f89121de5648eee65b346bcd4d924))
65
-
88
+ - **vc-app-skill:** add menuItem to standalone details blades (isWorkspace entry point) ([6be54ad](https://github.com/VirtoCommerce/vc-shell/commit/6be54ad38613ea0de865ab1348236417da8a572d))
89
+ - **vc-app-skill:** auto-run yarn install after project scaffold ([cb9ada3](https://github.com/VirtoCommerce/vc-shell/commit/cb9ada34579f89121de5648eee65b346bcd4d924))
66
90
 
67
91
  ### Features
68
92
 
69
- * **vc-app-skill:** add platform URL prompt and update design plan structure ([7855830](https://github.com/VirtoCommerce/vc-shell/commit/78558303247107ff55d5b0aeb3f5fdf50cad16f8))
70
- # [2.0.0-alpha.22](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2026-03-23)
93
+ - **vc-app-skill:** add platform URL prompt and update design plan structure ([7855830](https://github.com/VirtoCommerce/vc-shell/commit/78558303247107ff55d5b0aeb3f5fdf50cad16f8))
71
94
 
95
+ # [2.0.0-alpha.22](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.21...v2.0.0-alpha.22) (2026-03-23)
72
96
 
73
97
  ### Bug Fixes
74
98
 
75
- * **vc-app-skill:** clarify app.use ordering — after framework, before router ([97439e4](https://github.com/VirtoCommerce/vc-shell/commit/97439e4cfedcae81a6fc26721b91d79187e95f1a))
76
- * **vc-app-skill:** register generated modules in main.ts (import + app.use) ([e88d75e](https://github.com/VirtoCommerce/vc-shell/commit/e88d75e86ed0d4f69d3261d3d04e3b68bfb3baa5))
77
- # [2.0.0-alpha.21](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2026-03-23)
99
+ - **vc-app-skill:** clarify app.use ordering — after framework, before router ([97439e4](https://github.com/VirtoCommerce/vc-shell/commit/97439e4cfedcae81a6fc26721b91d79187e95f1a))
100
+ - **vc-app-skill:** register generated modules in main.ts (import + app.use) ([e88d75e](https://github.com/VirtoCommerce/vc-shell/commit/e88d75e86ed0d4f69d3261d3d04e3b68bfb3baa5))
78
101
 
102
+ # [2.0.0-alpha.21](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.20...v2.0.0-alpha.21) (2026-03-23)
79
103
 
80
104
  ### Bug Fixes
81
105
 
82
- * **vc-app-skill:** use [@alpha](https://github.com/alpha) dist-tag for create-vc-app commands ([09b4a27](https://github.com/VirtoCommerce/vc-shell/commit/09b4a273116d9b04c00ff1c6ad19af2d869bd394))
83
- # [2.0.0-alpha.20](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.18...v2.0.0-alpha.20) (2026-03-23)
106
+ - **vc-app-skill:** use [@alpha](https://github.com/alpha) dist-tag for create-vc-app commands ([09b4a27](https://github.com/VirtoCommerce/vc-shell/commit/09b4a273116d9b04c00ff1c6ad19af2d869bd394))
84
107
 
108
+ # [2.0.0-alpha.20](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.18...v2.0.0-alpha.20) (2026-03-23)
85
109
 
86
110
  ### Bug Fixes
87
111
 
88
- * **vc-app-skill:** use [@alpha](https://github.com/alpha) dist-tag for update command and version check hook ([cceaab9](https://github.com/VirtoCommerce/vc-shell/commit/cceaab926a3a51160d8994891bc88445bfb9a9aa))
112
+ - **vc-app-skill:** use [@alpha](https://github.com/alpha) dist-tag for update command and version check hook ([cceaab9](https://github.com/VirtoCommerce/vc-shell/commit/cceaab926a3a51160d8994891bc88445bfb9a9aa))
113
+
89
114
  # [2.0.0-alpha.19](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.18...v2.0.0-alpha.19) (2026-03-23)
90
115
 
91
116
  **Note:** Version bump only for package @vc-shell/vc-app-skill
@@ -96,43 +121,42 @@
96
121
 
97
122
  # [2.0.0-alpha.17](https://github.com/VirtoCommerce/vc-shell/compare/v2.0.0-alpha.16...v2.0.0-alpha.17) (2026-03-23)
98
123
 
99
-
100
124
  ### Bug Fixes
101
125
 
102
- * **vc-app-skill:** correct mock template in details-blade-generator ([04b7d43](https://github.com/VirtoCommerce/vc-shell/commit/04b7d43dc12cb66ad786f91017e48c4c30e889e9))
103
- * **vc-app-skill:** validate runtime arg and fix command listing ([f7169af](https://github.com/VirtoCommerce/vc-shell/commit/f7169afa56092be2e223a61c0edd5b73cd653d77))
104
-
126
+ - **vc-app-skill:** correct mock template in details-blade-generator ([04b7d43](https://github.com/VirtoCommerce/vc-shell/commit/04b7d43dc12cb66ad786f91017e48c4c30e889e9))
127
+ - **vc-app-skill:** validate runtime arg and fix command listing ([f7169af](https://github.com/VirtoCommerce/vc-shell/commit/f7169afa56092be2e223a61c0edd5b73cd653d77))
105
128
 
106
129
  ### Features
107
130
 
108
- * **vc-app-skill:** add /vc-app design command documentation ([3cc59b2](https://github.com/VirtoCommerce/vc-shell/commit/3cc59b29831da7f2f78900c7f61354165583813e))
109
- * **vc-app-skill:** add /vc-app design phases 1-6 (prompt → plan → execute → summary) ([b0bb44f](https://github.com/VirtoCommerce/vc-shell/commit/b0bb44f47e28fe9df147c5941a15e76b5ae3d2f8))
110
- * **vc-app-skill:** add /vc-app design to routing table and help ([8b2f53e](https://github.com/VirtoCommerce/vc-shell/commit/8b2f53e7d8643f8ab87f3fab82dc4dd8c8bd44da))
111
- * **vc-app-skill:** add /vc-app promote command with 5-phase flow ([a3b6da6](https://github.com/VirtoCommerce/vc-shell/commit/a3b6da658322a1e39ffb9808d0e80bf732f52ae8))
112
- * **vc-app-skill:** add blade-enhancer agent for surgical module modifications ([bc83681](https://github.com/VirtoCommerce/vc-shell/commit/bc83681c99accd3a25b48a5da1916810a6393aa0))
113
- * **vc-app-skill:** add design-specific error handling scenarios ([5381685](https://github.com/VirtoCommerce/vc-shell/commit/5381685b75a7eac82add64314cab8269518ba53f))
114
- * **vc-app-skill:** add enhance flow to /vc-app generate for existing modules ([2936bd6](https://github.com/VirtoCommerce/vc-shell/commit/2936bd60946d4c63207682908a8edbb8f137e448))
115
- * **vc-app-skill:** add entry-point and update commands ([ab9075f](https://github.com/VirtoCommerce/vc-shell/commit/ab9075f49b1bb2d93f56613758d038ef1ca09d09))
116
- * **vc-app-skill:** add existingModule context and append mode to generators ([3978c66](https://github.com/VirtoCommerce/vc-shell/commit/3978c66aff3b2526f51227c560371be425018ad2))
117
- * **vc-app-skill:** add module-analyzer agent for existing module introspection ([9eaff6b](https://github.com/VirtoCommerce/vc-shell/commit/9eaff6b3ca829ce41298c739f26ba6bdf93a2adb))
118
- * **vc-app-skill:** add multi-runtime installer ([00e656e](https://github.com/VirtoCommerce/vc-shell/commit/00e656e65bef05ebe8e7cb29cbf2efe64b991f5a))
119
- * **vc-app-skill:** add promote-agent subagent for mock-to-API transformation ([27484e3](https://github.com/VirtoCommerce/vc-shell/commit/27484e39c72e7b738e8db5846063e6388f7e06db))
120
- * **vc-app-skill:** add SessionStart update check hook ([72c5bcf](https://github.com/VirtoCommerce/vc-shell/commit/72c5bcf33d4f8ae826e7ed76d9228c42cfa846d4))
121
- * **vc-app-skill:** add uninstaller ([6a0507c](https://github.com/VirtoCommerce/vc-shell/commit/6a0507c9a5c755c0b4487c5625898c5c50c38986))
122
- * **vc-app-skill:** create package scaffold with README ([a2bbced](https://github.com/VirtoCommerce/vc-shell/commit/a2bbced57b2fbb62bb56ca38c679b0c42e7aee88))
123
- * **vc-app-skill:** migrate skill content from create-vc-app to standalone package ([1ac8945](https://github.com/VirtoCommerce/vc-shell/commit/1ac894510ca32cad22efb226117127f76085f85a))
124
- * **vc-app-skill:** update scaffold to skip --module-name for standalone ([c82066e](https://github.com/VirtoCommerce/vc-shell/commit/c82066e3c910676ada13f0cd8f1d7db72d81982a))
131
+ - **vc-app-skill:** add /vc-app design command documentation ([3cc59b2](https://github.com/VirtoCommerce/vc-shell/commit/3cc59b29831da7f2f78900c7f61354165583813e))
132
+ - **vc-app-skill:** add /vc-app design phases 1-6 (prompt → plan → execute → summary) ([b0bb44f](https://github.com/VirtoCommerce/vc-shell/commit/b0bb44f47e28fe9df147c5941a15e76b5ae3d2f8))
133
+ - **vc-app-skill:** add /vc-app design to routing table and help ([8b2f53e](https://github.com/VirtoCommerce/vc-shell/commit/8b2f53e7d8643f8ab87f3fab82dc4dd8c8bd44da))
134
+ - **vc-app-skill:** add /vc-app promote command with 5-phase flow ([a3b6da6](https://github.com/VirtoCommerce/vc-shell/commit/a3b6da658322a1e39ffb9808d0e80bf732f52ae8))
135
+ - **vc-app-skill:** add blade-enhancer agent for surgical module modifications ([bc83681](https://github.com/VirtoCommerce/vc-shell/commit/bc83681c99accd3a25b48a5da1916810a6393aa0))
136
+ - **vc-app-skill:** add design-specific error handling scenarios ([5381685](https://github.com/VirtoCommerce/vc-shell/commit/5381685b75a7eac82add64314cab8269518ba53f))
137
+ - **vc-app-skill:** add enhance flow to /vc-app generate for existing modules ([2936bd6](https://github.com/VirtoCommerce/vc-shell/commit/2936bd60946d4c63207682908a8edbb8f137e448))
138
+ - **vc-app-skill:** add entry-point and update commands ([ab9075f](https://github.com/VirtoCommerce/vc-shell/commit/ab9075f49b1bb2d93f56613758d038ef1ca09d09))
139
+ - **vc-app-skill:** add existingModule context and append mode to generators ([3978c66](https://github.com/VirtoCommerce/vc-shell/commit/3978c66aff3b2526f51227c560371be425018ad2))
140
+ - **vc-app-skill:** add module-analyzer agent for existing module introspection ([9eaff6b](https://github.com/VirtoCommerce/vc-shell/commit/9eaff6b3ca829ce41298c739f26ba6bdf93a2adb))
141
+ - **vc-app-skill:** add multi-runtime installer ([00e656e](https://github.com/VirtoCommerce/vc-shell/commit/00e656e65bef05ebe8e7cb29cbf2efe64b991f5a))
142
+ - **vc-app-skill:** add promote-agent subagent for mock-to-API transformation ([27484e3](https://github.com/VirtoCommerce/vc-shell/commit/27484e39c72e7b738e8db5846063e6388f7e06db))
143
+ - **vc-app-skill:** add SessionStart update check hook ([72c5bcf](https://github.com/VirtoCommerce/vc-shell/commit/72c5bcf33d4f8ae826e7ed76d9228c42cfa846d4))
144
+ - **vc-app-skill:** add uninstaller ([6a0507c](https://github.com/VirtoCommerce/vc-shell/commit/6a0507c9a5c755c0b4487c5625898c5c50c38986))
145
+ - **vc-app-skill:** create package scaffold with README ([a2bbced](https://github.com/VirtoCommerce/vc-shell/commit/a2bbced57b2fbb62bb56ca38c679b0c42e7aee88))
146
+ - **vc-app-skill:** migrate skill content from create-vc-app to standalone package ([1ac8945](https://github.com/VirtoCommerce/vc-shell/commit/1ac894510ca32cad22efb226117127f76085f85a))
147
+ - **vc-app-skill:** update scaffold to skip --module-name for standalone ([c82066e](https://github.com/VirtoCommerce/vc-shell/commit/c82066e3c910676ada13f0cd8f1d7db72d81982a))
148
+
125
149
  # 2.0.0-alpha.16 (2026-03-23)
126
150
 
127
151
  Initial release of the vc-app-skill package.
128
152
 
129
153
  ### Features
130
154
 
131
- * **vc-app-skill:** scaffold standalone vc-shell projects (`/vc-app create`)
132
- * **vc-app-skill:** connect to VirtoCommerce platform and generate API clients (`/vc-app connect`)
133
- * **vc-app-skill:** add empty module skeletons (`/vc-app add-module`)
134
- * **vc-app-skill:** intent-driven module generation with list/details blades, composables, and locales (`/vc-app generate`)
135
- * **vc-app-skill:** enhance existing modules with surgical modifications — add columns, fields, toolbar actions, logic, blade links (`/vc-app generate` enhance flow)
136
- * **vc-app-skill:** promote prototype modules from mock data to real API clients (`/vc-app promote`)
137
- * **vc-app-skill:** 9 specialized subagents for code generation and transformation
138
- * **vc-app-skill:** framework knowledge base with component docs, patterns, and examples
155
+ - **vc-app-skill:** scaffold standalone vc-shell projects (`/vc-app create`)
156
+ - **vc-app-skill:** connect to VirtoCommerce platform and generate API clients (`/vc-app connect`)
157
+ - **vc-app-skill:** add empty module skeletons (`/vc-app add-module`)
158
+ - **vc-app-skill:** intent-driven module generation with list/details blades, composables, and locales (`/vc-app generate`)
159
+ - **vc-app-skill:** enhance existing modules with surgical modifications — add columns, fields, toolbar actions, logic, blade links (`/vc-app generate` enhance flow)
160
+ - **vc-app-skill:** promote prototype modules from mock data to real API clients (`/vc-app promote`)
161
+ - **vc-app-skill:** 9 specialized subagents for code generation and transformation
162
+ - **vc-app-skill:** framework knowledge base with component docs, patterns, and examples
package/README.md CHANGED
@@ -7,12 +7,14 @@ An AI coding skill for scaffolding and generating VirtoCommerce Shell applicatio
7
7
  `vc-app-skill` installs a set of AI-readable skill files (markdown prompts, knowledge base, slash commands) into your AI coding tool's configuration directory. Once installed, your AI assistant gains deep knowledge of the VirtoCommerce Shell framework — enabling it to scaffold apps, connect to platform APIs, generate full UI modules, and follow framework conventions automatically.
8
8
 
9
9
  The skill covers:
10
+
10
11
  - Creating standalone apps from templates
11
12
  - Connecting to VirtoCommerce platform and generating typed API clients
12
13
  - Intent-driven module generation (list + details blades, composables, locales) with mock or API data
13
14
  - Enhancing existing modules with surgical modifications (add columns, fields, toolbar actions, logic, blade links)
14
15
  - Generating full multi-module applications from a free-text prompt (design command)
15
16
  - Promoting prototype modules from mock data to real API clients
17
+ - Migrating existing apps to the latest `@vc-shell/framework` version (runs the CLI migrator, regenerates API clients, completes AI-assisted manual refactors)
16
18
  - Following vc-shell conventions: Vue 3 + TypeScript, Tailwind with `tw-` prefix, `<script setup>`, BEM class names
17
19
 
18
20
  ## Installation
@@ -58,6 +60,7 @@ Scaffold a new VirtoCommerce Shell application interactively.
58
60
  ```
59
61
 
60
62
  Prompts for:
63
+
61
64
  - App name and npm package name
62
65
  - Target directory
63
66
 
@@ -72,6 +75,7 @@ Connect to a VirtoCommerce platform instance and generate typed API clients.
72
75
  ```
73
76
 
74
77
  Walks through:
78
+
75
79
  1. Writing `.env` with platform URL
76
80
  2. Writing `.env.local` with auth credentials
77
81
  3. Generating NSwag API clients from the platform's Swagger endpoints
@@ -86,6 +90,7 @@ Add an empty module skeleton to the current project.
86
90
  ```
87
91
 
88
92
  Generates:
93
+
89
94
  - `src/modules/<name>/` directory with `index.ts`, `pages/`, `composables/`, `locales/`
90
95
  - Registers the module in the app's module list
91
96
 
@@ -98,6 +103,7 @@ Full intent-driven module generation. This is the main power feature — it walk
98
103
  ```
99
104
 
100
105
  **Create flow** (new module):
106
+
101
107
  - **Phase 1: Intent** — describe what the module does, pick blade types (list+details, list-only, details-only), configure menu entry
102
108
  - **Phase 2: Data Source** — select API entity, choose columns/fields, pick CRUD methods. If no API client exists, generates with mock data automatically
103
109
  - **Phase 3: Generation** — dispatches specialized agents to generate blades, composables, locales, and barrel files
@@ -105,6 +111,7 @@ Full intent-driven module generation. This is the main power feature — it walk
105
111
 
106
112
  **Enhance flow** (existing module):
107
113
  When the module already exists, generate detects it and switches to enhance mode:
114
+
108
115
  - **Phase E1: Module Analysis** — analyzes existing blades, composables, locales, API status
109
116
  - **Phase E2: Intent Parsing** — describe changes in free text, parsed into action plan
110
117
  - **Phase E3: Data Source** — only if new entity is involved
@@ -148,6 +155,28 @@ When you generate a module without an API client, it uses mock data with `// vc-
148
155
  - **Phase 4: Code Transformation** — replaces mock code with real API calls, renames fields, updates locales
149
156
  - **Phase 5: Cleanup** — type-checks, removes prototype marker on success
150
157
 
158
+ ### `/vc-app migrate`
159
+
160
+ Fully automatic migration of an existing app to the latest `@vc-shell/framework` version. Runs the CLI migrator for mechanical transforms, regenerates API clients with the new Interface-style output, installs updated dependencies, and dispatches AI agents to complete manual refactors flagged in `MIGRATION_REPORT.md`.
161
+
162
+ ```
163
+ /vc-app migrate
164
+ ```
165
+
166
+ Flow:
167
+
168
+ - **Step 1: Pre-flight** — verifies the project uses `@vc-shell/framework`; warns on uncommitted changes
169
+ - **Step 2: CLI migrator** — runs `@vc-shell/migrate --update-deps` to apply mechanical transforms and align peer-dependency versions (including `@vc-shell/*`, ESLint, Vite, TypeScript, VueUse, `vue-router` and other curated peer deps)
170
+ - **Step 2.5: API client regeneration** — adds `APP_TYPE_STYLE=Interface`, runs `generate-api-client`, verifies types compile
171
+ - **Step 3: Install** — `yarn install` to refresh the lockfile
172
+ - **Step 4: Parse report** — reads `MIGRATION_REPORT.md`, maps "Manual Migration Required" topics to migration prompts and patterns
173
+ - **Step 5: AI migration** — dispatches `migration-agent` on affected files per topic (supports partial resume via `.vc-app-migrate-state.json`)
174
+ - **Step 6: Verify** — runs `vue-tsc --noEmit` and `yarn build`, iteratively fixes type errors
175
+ - **Step 6.5: Format** — runs Prettier across the project
176
+ - **Step 7: Summary** — updates the report and prints a completion summary with remaining issues
177
+
178
+ Handles topics: widgets, form management (`useBladeForm`), injection-key renames, NSwag class-to-interface, blade props simplification, notifications, VcTable → VcDataTable, icon replacements, assets API, pagination, and a manual-audit catch-all.
179
+
151
180
  ## Update
152
181
 
153
182
  ```bash
@@ -209,17 +238,18 @@ cli/vc-app-skill/
209
238
 
210
239
  The skill dispatches specialized agents for different tasks:
211
240
 
212
- | Agent | Purpose |
213
- |---|---|
214
- | `api-analyzer` | Discovers entities and CRUD methods in API client files |
215
- | `list-blade-generator` | Generates list blade + plural composable |
216
- | `details-blade-generator` | Generates details blade + singular composable |
217
- | `locales-generator` | Scans generated files for i18n keys, writes locale JSON |
218
- | `module-assembler` | Creates barrel files and registers module (create + append modes) |
219
- | `type-checker` | Runs vue-tsc, iteratively fixes type errors |
220
- | `promote-agent` | Transforms mock composables/blades/locales to use real API |
221
- | `module-analyzer` | Analyzes existing module structure (read-only) |
222
- | `blade-enhancer` | Surgical edits to existing blades/composables/locales |
241
+ | Agent | Purpose |
242
+ | ------------------------- | -------------------------------------------------------------------------- |
243
+ | `api-analyzer` | Discovers entities and CRUD methods in API client files |
244
+ | `list-blade-generator` | Generates list blade + plural composable |
245
+ | `details-blade-generator` | Generates details blade + singular composable |
246
+ | `locales-generator` | Scans generated files for i18n keys, writes locale JSON |
247
+ | `module-assembler` | Creates barrel files and registers module (create + append modes) |
248
+ | `type-checker` | Runs vue-tsc, iteratively fixes type errors |
249
+ | `promote-agent` | Transforms mock composables/blades/locales to use real API |
250
+ | `migration-agent` | Applies AI-assisted manual migrations on files flagged by the migrate flow |
251
+ | `module-analyzer` | Analyzes existing module structure (read-only) |
252
+ | `blade-enhancer` | Surgical edits to existing blades/composables/locales |
223
253
 
224
254
  ### Running locally
225
255
 
@@ -229,4 +259,4 @@ node cli/vc-app-skill/bin/install.cjs
229
259
 
230
260
  # Verify deployment
231
261
  ls ~/.claude/vc-app-skill/agents/
232
- ```
262
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/vc-app-skill",
3
- "version": "2.0.0-alpha.33",
3
+ "version": "2.0.0-alpha.34",
4
4
  "description": "AI coding skill for scaffolding and generating VirtoCommerce Shell applications. Works with Claude Code, OpenCode, Gemini, Codex, Cursor.",
5
5
  "bin": "./bin/install.cjs",
6
6
  "files": [
@@ -19,9 +19,9 @@
19
19
  "vue3"
20
20
  ],
21
21
  "scripts": {
22
- "sync-docs": "node bin/sync-docs.cjs",
23
- "knowledge-stats": "node bin/knowledge-stats.cjs",
24
- "sync-to-docs": "node bin/sync-to-docs.cjs"
22
+ "sync:docs": "node bin/sync-docs.cjs",
23
+ "knowledge:stats": "node bin/knowledge-stats.cjs",
24
+ "sync:to-docs": "node bin/sync-to-docs.cjs"
25
25
  },
26
26
  "publishConfig": {
27
27
  "access": "public",
package/runtime/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.0-alpha.33
1
+ 2.0.0-alpha.34
@@ -31,11 +31,13 @@ Use Glob to find all `*.ts` files in `apiClientDir`. Exclude `*.d.ts` files.
31
31
  Read each file and extract the following by regex/text scan:
32
32
 
33
33
  **Client classes** — match `class \w+Client`:
34
+
34
35
  ```
35
36
  Pattern: /class (\w+Client)\b/g
36
37
  ```
37
38
 
38
39
  **Search query types** — match NSwag search query class names:
40
+
39
41
  ```
40
42
  Patterns:
41
43
  /class (Search\w+Query)\b/g
@@ -43,42 +45,50 @@ Patterns:
43
45
  ```
44
46
 
45
47
  **Search result types** — match NSwag search result class names:
48
+
46
49
  ```
47
50
  Pattern: /class (Search\w+Result)\b/g
48
51
  ```
49
52
 
50
53
  **Create/Update commands**:
54
+
51
55
  ```
52
56
  Pattern: /class (Create\w+Command)\b/g
53
57
  Pattern: /class (Update\w+Command)\b/g
54
58
  ```
55
59
 
56
60
  **Entity types** — infer from client methods and command names:
61
+
57
62
  - From `Search<Entity>Query` → entity = `Entity`
58
63
  - From `Create<Entity>Command` → entity = `Entity`
59
64
  - Look for `class <Entity>\b` and `class <Entity>Details\b`
60
65
 
61
66
  **Delete methods** — match client method signatures:
67
+
62
68
  ```
63
69
  Pattern: /async delete(\w+)s?\(.*ids.*string/g
64
70
  ```
65
71
 
66
72
  **Search methods** — match client method signatures:
73
+
67
74
  ```
68
75
  Pattern: /async search(\w+)\(/g
69
76
  ```
70
77
 
71
78
  **Get methods**:
79
+
72
80
  ```
73
81
  Pattern: /async get(\w+)\(/g
74
82
  ```
75
83
 
76
84
  **Create methods**:
85
+
77
86
  ```
78
87
  Pattern: /async create(\w+)\(/g
79
88
  ```
80
89
 
81
90
  **Update methods**:
91
+
82
92
  ```
83
93
  Pattern: /async update(\w+)\(/g
84
94
  ```
@@ -86,15 +96,16 @@ Pattern: /async update(\w+)\(/g
86
96
  ### Step 3: Build entity model
87
97
 
88
98
  For each discovered entity, collect:
89
- - `clientClass`: the `*Client` class name (e.g., `VcmpSellerSecurityClient`)
90
- - `clientFile`: relative path from `apiClientDir` (e.g., `virtocommerce.marketplacevendor`)
99
+
100
+ - `clientClass`: the `*Client` class name (e.g., `UserSecurityClient`)
101
+ - `clientFile`: relative path from `apiClientDir` (e.g., `virtocommerce.mymodule`)
91
102
  - `entityName`: PascalCase entity name (e.g., `TeamMember`, `Order`)
92
103
  - `searchQueryClass`: `Search<Entity>Query` or `Search<Entity>sQuery` if found
93
104
  - `searchResultClass`: `Search<Entity>Result` if found
94
105
  - `entityClass`: `<Entity>` if found as a standalone class
95
106
  - `entityDetailsClass`: `<Entity>Details` if found
96
- - `searchMethod`: camelCase method name on client (e.g., `searchSellerUsers`)
97
- - `getMethod`: camelCase method name (e.g., `getSellerUser`) or null
107
+ - `searchMethod`: camelCase method name on client (e.g., `searchUsers`)
108
+ - `getMethod`: camelCase method name (e.g., `getUser`) or null
98
109
  - `createMethod`: camelCase method name or null
99
110
  - `updateMethod`: camelCase method name or null
100
111
  - `deleteMethod`: camelCase method name or null
@@ -108,26 +119,29 @@ If `entityHint` is provided, filter/rank results to prefer entities matching the
108
119
  Return the analysis result as structured JSON in your response. Do NOT write any files.
109
120
 
110
121
  Format:
122
+
111
123
  ```json
112
124
  {
113
125
  "apiClientDir": "<absolute path>",
114
126
  "entities": [
115
127
  {
116
- "clientClass": "VcmpSellerSecurityClient",
117
- "clientFile": "virtocommerce.marketplacevendor",
118
- "entityName": "SellerUser",
119
- "searchQueryClass": "SearchSellerUsersQuery",
120
- "searchResultClass": "SearchSellerUsersResult",
121
- "entityClass": "SellerUser",
128
+ "clientClass": "UserSecurityClient",
129
+ "clientFile": "virtocommerce.mymodule",
130
+ "entityName": "User",
131
+ "searchQueryClass": "SearchUsersQuery",
132
+ "searchResultClass": "SearchUsersResult",
133
+ "entityClass": "User",
122
134
  "entityDetailsClass": null,
123
- "searchMethod": "searchSellerUsers",
124
- "getMethod": "getSellerUser",
125
- "createMethod": "createSellerUser",
126
- "updateMethod": "updateSellerUser",
127
- "deleteMethod": "deleteSellerUsers"
135
+ "searchMethod": "searchUsers",
136
+ "getMethod": "getUser",
137
+ "createMethod": "createUser",
138
+ "updateMethod": "updateUser",
139
+ "deleteMethod": "deleteUsers"
128
140
  }
129
141
  ],
130
- "primaryEntity": { /* best match or first entity */ }
142
+ "primaryEntity": {
143
+ /* best match or first entity */
144
+ }
131
145
  }
132
146
  ```
133
147
 
@@ -138,6 +152,7 @@ Returns JSON in response text. Does NOT write files to disk.
138
152
  ## Self-Check
139
153
 
140
154
  Before completing, verify:
155
+
141
156
  - [ ] All `*.ts` files in `apiClientDir` were scanned (not just the first one)
142
157
  - [ ] `clientClass` ends with `Client`
143
158
  - [ ] `searchMethod`, `getMethod`, etc. are camelCase method names (not class names)
@@ -29,6 +29,7 @@ description: Performs surgical edits on existing module files to add columns, fi
29
29
  ### Action Schema by Type
30
30
 
31
31
  **`add-column`:**
32
+
32
33
  ```json
33
34
  {
34
35
  "type": "add-column",
@@ -50,6 +51,7 @@ description: Performs surgical edits on existing module files to add columns, fi
50
51
  ```
51
52
 
52
53
  **`add-field`:**
54
+
53
55
  ```json
54
56
  {
55
57
  "type": "add-field",
@@ -68,6 +70,7 @@ description: Performs surgical edits on existing module files to add columns, fi
68
70
  ```
69
71
 
70
72
  **`add-logic`:**
73
+
71
74
  ```json
72
75
  {
73
76
  "type": "add-logic",
@@ -86,6 +89,7 @@ description: Performs surgical edits on existing module files to add columns, fi
86
89
  ```
87
90
 
88
91
  **`add-toolbar-action`:**
92
+
89
93
  ```json
90
94
  {
91
95
  "type": "add-toolbar-action",
@@ -102,6 +106,7 @@ description: Performs surgical edits on existing module files to add columns, fi
102
106
  ```
103
107
 
104
108
  **`link-blades`:**
109
+
105
110
  ```json
106
111
  {
107
112
  "type": "link-blades",
@@ -126,6 +131,7 @@ Before making edits, Read these files if paths are provided:
126
131
  2. From `index.md`, identify `.docs.md` files for any components referenced in the actions (VcColumn, VcInput, VcBlade, etc.) and Read them from `{docsRoot}/`
127
132
 
128
133
  Then, for EACH action:
134
+
129
135
  1. Read the `target` file to understand its current structure
130
136
  2. Read any composable files referenced by the target blade
131
137
  3. Scan `{targetDir}/locales/` for ALL `.json` files — these will ALL need locale key additions
@@ -167,10 +173,7 @@ Then, for EACH action:
167
173
  ```
168
174
  4. If `column.hasBodySlot` is true, use the open/close tag form with the provided `bodySlotTemplate`:
169
175
  ```vue
170
- <VcColumn
171
- id="{column.id}"
172
- ...attributes...
173
- >
176
+ <VcColumn id="{column.id}" ...attributes...>
174
177
  <template #body="{ data }">
175
178
  {column.bodySlotTemplate}
176
179
  </template>
@@ -181,6 +184,7 @@ Then, for EACH action:
181
184
  **Step 2: Add locale keys**
182
185
 
183
186
  For EVERY `.json` file in `{targetDir}/locales/`:
187
+
184
188
  1. Read the file
185
189
  2. Navigate to the table header key section (e.g., `{I18N_PREFIX}.PAGES.LIST.TABLE.HEADER`)
186
190
  3. Add the new key: `"{SCREAMING_SNAKE(column.id)}": "{column.title}"`
@@ -197,11 +201,7 @@ For EVERY `.json` file in `{targetDir}/locales/`:
197
201
  - If `section` is specified: narrow search to that form section
198
202
  3. Construct the form field element:
199
203
  ```vue
200
- <{field.component}
201
- :label="t('{I18N_PREFIX}.PAGES.DETAILS.FIELDS.{SCREAMING_SNAKE(field.name)}')"
202
- v-model="item.{field.name}"
203
- {...additional props from field.props}
204
- />
204
+ <{field.component} :label="t('{I18N_PREFIX}.PAGES.DETAILS.FIELDS.{SCREAMING_SNAKE(field.name)}')" v-model="item.{field.name}" {...additional props from field.props} />
205
205
  ```
206
206
  Use `v-model` or `:modelValue` based on `field.bindingType`.
207
207
  4. Use the Edit tool to insert after the identified closing tag
@@ -216,6 +216,7 @@ For EVERY `.json` file in `{targetDir}/locales/`:
216
216
  **Step 3: Add locale keys**
217
217
 
218
218
  For EVERY `.json` file in `{targetDir}/locales/`:
219
+
219
220
  1. Read the file
220
221
  2. Navigate to the details fields key section (e.g., `{I18N_PREFIX}.PAGES.DETAILS.FIELDS`)
221
222
  3. Add the new key: `"{SCREAMING_SNAKE(field.name)}": "{field.label}"`
@@ -244,6 +245,7 @@ For EVERY `.json` file in `{targetDir}/locales/`:
244
245
  **Step 3: Add locale keys (if the logic introduces user-facing strings)**
245
246
 
246
247
  For EVERY `.json` file in `{targetDir}/locales/`:
248
+
247
249
  1. Add relevant locale keys following the module's existing key pattern
248
250
  2. Use the Edit tool for insertion
249
251
 
@@ -281,6 +283,7 @@ For EVERY `.json` file in `{targetDir}/locales/`:
281
283
  **Step 3: Add locale keys**
282
284
 
283
285
  For EVERY `.json` file in `{targetDir}/locales/`:
286
+
284
287
  1. Navigate to the toolbar key section (e.g., `{I18N_PREFIX}.PAGES.{PAGE_TYPE}.TOOLBAR`)
285
288
  2. Add the new key: `"{SCREAMING_SNAKE(action.id)}": "{action.label}"`
286
289
  3. If the toolbar section doesn't exist in the locale structure, create it
@@ -304,6 +307,7 @@ Based on `link.trigger`:
304
307
  - **`row-click`**: Ensure `@item-click` handler on `<VcDataTable>` calls the open blade function. If `@item-click` already exists, update its handler.
305
308
 
306
309
  - **`button`**: Add a `<VcButton>` at the appropriate location:
310
+
307
311
  ```vue
308
312
  <VcButton
309
313
  :label="t('{I18N_PREFIX}.PAGES.{PAGE_TYPE}.ACTIONS.{SCREAMING_SNAKE(link.destinationBlade)}')"
@@ -332,6 +336,7 @@ Based on `link.trigger`:
332
336
  **Step 4: Add locale keys**
333
337
 
334
338
  For EVERY `.json` file in `{targetDir}/locales/`:
339
+
335
340
  1. Add the button/link label key following the module's key pattern
336
341
  2. Use the Edit tool for insertion
337
342
 
@@ -346,6 +351,7 @@ If the target file has a non-standard structure (e.g., custom table component in
346
351
  ## Output Contract
347
352
 
348
353
  Report format:
354
+
349
355
  ```
350
356
  Status: DONE | DONE_WITH_CONCERNS | BLOCKED
351
357
  Actions applied: