@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.
- package/CHANGELOG.md +78 -54
- package/README.md +42 -12
- package/package.json +4 -4
- package/runtime/VERSION +1 -1
- package/runtime/agents/api-analyzer.md +31 -16
- package/runtime/agents/blade-enhancer.md +15 -9
- package/runtime/agents/details-blade-generator.md +47 -31
- package/runtime/agents/list-blade-generator.md +21 -37
- package/runtime/agents/locales-generator.md +3 -0
- package/runtime/agents/migration-agent.md +18 -7
- package/runtime/agents/module-analyzer.md +2 -0
- package/runtime/agents/module-assembler.md +15 -0
- package/runtime/agents/promote-agent.md +15 -4
- package/runtime/agents/type-checker.md +11 -0
- package/runtime/knowledge/docs/_BUILD_HASH.md +1 -1
- package/runtime/knowledge/docs/core/api/platform.docs.md +30 -30
- package/runtime/knowledge/docs/core/blade-navigation/blade-nav-composables.docs.md +41 -41
- package/runtime/knowledge/docs/core/composables/bladeContext/index.docs.md +12 -10
- package/runtime/knowledge/docs/core/composables/useApiClient/useApiClient.docs.md +11 -14
- package/runtime/knowledge/docs/core/composables/useAppBarMobileButtons/useAppBarMobileButtons.docs.md +35 -35
- package/runtime/knowledge/docs/core/composables/useAppBarWidget/useAppBarWidget.docs.md +35 -35
- package/runtime/knowledge/docs/core/composables/useAppInsights/useAppInsights.docs.md +15 -15
- package/runtime/knowledge/docs/core/composables/useAssets/useAssets.docs.md +21 -18
- package/runtime/knowledge/docs/core/composables/useAssetsManager/useAssetsManager.docs.md +28 -24
- package/runtime/knowledge/docs/core/composables/useAsync/useAsync.docs.md +90 -61
- package/runtime/knowledge/docs/core/composables/useBeforeUnload/useBeforeUnload.docs.md +19 -18
- package/runtime/knowledge/docs/core/composables/useBlade/useBlade.docs.md +89 -68
- package/runtime/knowledge/docs/core/composables/useBladeForm/useBladeForm.docs.md +27 -25
- package/runtime/knowledge/docs/core/composables/useBladeRegistry/useBladeRegistry.docs.md +15 -15
- package/runtime/knowledge/docs/core/composables/useBladeWidgets/index.docs.md +43 -47
- package/runtime/knowledge/docs/core/composables/useBreadcrumbs/useBreadcrumbs.docs.md +11 -11
- package/runtime/knowledge/docs/core/composables/useConnectionStatus/useConnectionStatus.docs.md +27 -15
- package/runtime/knowledge/docs/core/composables/useDashboard/useDashboard.docs.md +30 -30
- package/runtime/knowledge/docs/core/composables/useDynamicProperties/useDynamicProperties.docs.md +34 -36
- package/runtime/knowledge/docs/core/composables/useErrorHandler/useErrorHandler.docs.md +44 -23
- package/runtime/knowledge/docs/core/composables/useFunctions/useFunctions.docs.md +14 -11
- package/runtime/knowledge/docs/core/composables/useKeyboardNavigation/useKeyboardNavigation.docs.md +47 -38
- package/runtime/knowledge/docs/core/composables/useLanguages/useLanguages.docs.md +37 -28
- package/runtime/knowledge/docs/core/composables/useLoading/useLoading.docs.md +23 -17
- package/runtime/knowledge/docs/core/composables/useMenuExpanded/index.docs.md +9 -9
- package/runtime/knowledge/docs/core/composables/useMenuService/useMenuService.docs.md +42 -42
- package/runtime/knowledge/docs/core/composables/useModificationTracker/useModificationTracker.docs.md +22 -12
- package/runtime/knowledge/docs/core/composables/useNotifications/useNotifications.docs.md +33 -41
- package/runtime/knowledge/docs/core/composables/usePermissions/usePermissions.docs.md +16 -16
- package/runtime/knowledge/docs/core/composables/usePlatformLocaleSync/usePlatformLocaleSync.docs.md +28 -0
- package/runtime/knowledge/docs/core/composables/usePopup/usePopup.docs.md +32 -24
- package/runtime/knowledge/docs/core/composables/useResponsive/useResponsive.docs.md +32 -11
- package/runtime/knowledge/docs/core/composables/useSettings/useSettings.docs.md +22 -13
- package/runtime/knowledge/docs/core/composables/useSettingsMenu/useSettingsMenu.docs.md +7 -7
- package/runtime/knowledge/docs/core/composables/useSidebarState/useSidebarState.docs.md +32 -24
- package/runtime/knowledge/docs/core/composables/useSlowNetworkDetection/useSlowNetworkDetection.docs.md +21 -17
- package/runtime/knowledge/docs/core/composables/useTheme/useTheme.docs.md +24 -24
- package/runtime/knowledge/docs/core/composables/useToolbar/useToolbar.docs.md +28 -31
- package/runtime/knowledge/docs/core/composables/useUser/useUser.docs.md +43 -24
- package/runtime/knowledge/docs/core/composables/useUserManagement/useUserManagement.docs.md +68 -48
- package/runtime/knowledge/docs/core/composables/useWebVitals/useWebVitals.docs.md +19 -19
- package/runtime/knowledge/docs/core/composables/useWidgets/useWidgets.docs.md +42 -47
- package/runtime/knowledge/docs/core/directives/autofocus/autofocus.docs.md +10 -4
- package/runtime/knowledge/docs/core/directives/loading/loading.docs.md +35 -20
- package/runtime/knowledge/docs/core/notifications/notifications.docs.md +36 -35
- package/runtime/knowledge/docs/core/plugins/ai-agent/ai-agent.docs.md +38 -38
- package/runtime/knowledge/docs/core/plugins/extension-points/extension-points.docs.md +79 -62
- package/runtime/knowledge/docs/core/plugins/global-error-handler/global-error-handler.docs.md +10 -10
- package/runtime/knowledge/docs/core/plugins/i18n/i18n.docs.md +21 -23
- package/runtime/knowledge/docs/core/plugins/modularity/modularity.docs.md +91 -83
- package/runtime/knowledge/docs/core/plugins/permissions/permissions.docs.md +10 -16
- package/runtime/knowledge/docs/core/plugins/signalR/signalR.docs.md +9 -9
- package/runtime/knowledge/docs/core/plugins/validation/validation.docs.md +65 -22
- package/runtime/knowledge/docs/core/services/services.docs.md +19 -22
- package/runtime/knowledge/docs/core/types/types.docs.md +40 -40
- package/runtime/knowledge/docs/core/utilities/date/date-utilities.docs.md +27 -27
- package/runtime/knowledge/docs/core/utilities/shared-utilities.docs.md +23 -23
- package/runtime/knowledge/docs/core/utilities/thumbnail/thumbnail.docs.md +22 -25
- package/runtime/knowledge/docs/core/utilities/utilities.docs.md +64 -64
- package/runtime/knowledge/docs/injection-keys.docs.md +52 -51
- package/runtime/knowledge/docs/modules/assets-manager/assets-manager.docs.md +9 -9
- package/runtime/knowledge/docs/shell/_internal/popup/common/popup-common.docs.md +23 -43
- package/runtime/knowledge/docs/shell/auth/ChangePasswordPage/change-password-page.docs.md +5 -5
- package/runtime/knowledge/docs/shell/auth/ForgotPasswordPage/forgot-password-page.docs.md +5 -5
- package/runtime/knowledge/docs/shell/auth/InvitePage/invite-page.docs.md +8 -7
- package/runtime/knowledge/docs/shell/auth/LoginPage/login-page.docs.md +7 -7
- package/runtime/knowledge/docs/shell/auth/ResetPasswordPage/reset-password-page.docs.md +8 -7
- package/runtime/knowledge/docs/shell/auth/sign-in/sign-in.docs.md +29 -13
- package/runtime/knowledge/docs/shell/components/change-password/change-password.docs.md +13 -16
- package/runtime/knowledge/docs/shell/components/change-password-button/change-password-button.docs.md +1 -7
- package/runtime/knowledge/docs/shell/components/error-interceptor/error-interceptor.docs.md +5 -5
- package/runtime/knowledge/docs/shell/components/language-selector/language-selector.docs.md +1 -1
- package/runtime/knowledge/docs/shell/components/logout-button/logout-button.docs.md +1 -1
- package/runtime/knowledge/docs/shell/components/notification-template/notification-template.docs.md +17 -9
- package/runtime/knowledge/docs/shell/components/settings-menu/settings-menu.docs.md +11 -17
- package/runtime/knowledge/docs/shell/components/settings-menu-item/settings-menu-item.docs.md +34 -65
- package/runtime/knowledge/docs/shell/components/sidebar/sidebar.docs.md +16 -26
- package/runtime/knowledge/docs/shell/components/theme-selector/theme-selector.docs.md +2 -2
- package/runtime/knowledge/docs/shell/components/user-dropdown-button/user-dropdown-button.docs.md +7 -9
- package/runtime/knowledge/docs/shell/dashboard/dashboard-charts/dashboard-charts.docs.md +30 -40
- package/runtime/knowledge/docs/shell/dashboard/dashboard-widget-card/dashboard-widget-card.docs.md +26 -19
- package/runtime/knowledge/docs/shell/dashboard/draggable-dashboard/draggable-dashboard.docs.md +15 -12
- package/runtime/knowledge/docs/ui/components/atoms/vc-badge/vc-badge.docs.md +15 -26
- package/runtime/knowledge/docs/ui/components/atoms/vc-banner/vc-banner.docs.md +21 -19
- package/runtime/knowledge/docs/ui/components/atoms/vc-button/vc-button.docs.md +83 -67
- package/runtime/knowledge/docs/ui/components/atoms/vc-card/vc-card.docs.md +100 -59
- package/runtime/knowledge/docs/ui/components/atoms/vc-col/vc-col.docs.md +28 -11
- package/runtime/knowledge/docs/ui/components/atoms/vc-container/vc-container.docs.md +20 -17
- package/runtime/knowledge/docs/ui/components/atoms/vc-hint/vc-hint.docs.md +26 -17
- package/runtime/knowledge/docs/ui/components/atoms/vc-icon/vc-icon.docs.md +30 -32
- package/runtime/knowledge/docs/ui/components/atoms/vc-image/vc-image.docs.md +25 -48
- package/runtime/knowledge/docs/ui/components/atoms/vc-label/vc-label.docs.md +29 -24
- package/runtime/knowledge/docs/ui/components/atoms/vc-link/vc-link.docs.md +23 -15
- package/runtime/knowledge/docs/ui/components/atoms/vc-loading/vc-loading.docs.md +22 -13
- package/runtime/knowledge/docs/ui/components/atoms/vc-progress/vc-progress.docs.md +33 -18
- package/runtime/knowledge/docs/ui/components/atoms/vc-row/vc-row.docs.md +56 -15
- package/runtime/knowledge/docs/ui/components/atoms/vc-scrollable-container/vc-scrollable-container.docs.md +28 -15
- package/runtime/knowledge/docs/ui/components/atoms/vc-skeleton/vc-skeleton.docs.md +40 -20
- package/runtime/knowledge/docs/ui/components/atoms/vc-status/vc-status.docs.md +25 -14
- package/runtime/knowledge/docs/ui/components/atoms/vc-status-icon/vc-status-icon.docs.md +40 -14
- package/runtime/knowledge/docs/ui/components/atoms/vc-tooltip/vc-tooltip.docs.md +54 -42
- package/runtime/knowledge/docs/ui/components/atoms/vc-video/vc-video.docs.md +17 -17
- package/runtime/knowledge/docs/ui/components/atoms/vc-widget/vc-widget.docs.md +21 -21
- package/runtime/knowledge/docs/ui/components/molecules/multilanguage-selector/multilanguage-selector.docs.md +23 -10
- package/runtime/knowledge/docs/ui/components/molecules/vc-accordion/vc-accordion.docs.md +55 -44
- package/runtime/knowledge/docs/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.docs.md +23 -20
- package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox/vc-checkbox.docs.md +92 -65
- package/runtime/knowledge/docs/ui/components/molecules/vc-checkbox-group/vc-checkbox-group.docs.md +22 -36
- package/runtime/knowledge/docs/ui/components/molecules/vc-color-input/vc-color-input.docs.md +65 -23
- package/runtime/knowledge/docs/ui/components/molecules/vc-date-picker/vc-date-picker.docs.md +52 -73
- package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown/vc-dropdown.docs.md +91 -85
- package/runtime/knowledge/docs/ui/components/molecules/vc-dropdown-panel/vc-dropdown-panel.docs.md +38 -42
- package/runtime/knowledge/docs/ui/components/molecules/vc-editor/vc-editor.docs.md +56 -73
- package/runtime/knowledge/docs/ui/components/molecules/vc-field/vc-field.docs.md +61 -27
- package/runtime/knowledge/docs/ui/components/molecules/vc-file-upload/vc-file-upload.docs.md +42 -50
- package/runtime/knowledge/docs/ui/components/molecules/vc-form/vc-form.docs.md +35 -64
- package/runtime/knowledge/docs/ui/components/molecules/vc-image-tile/vc-image-tile.docs.md +38 -41
- package/runtime/knowledge/docs/ui/components/molecules/vc-input/vc-input.docs.md +109 -131
- package/runtime/knowledge/docs/ui/components/molecules/vc-input-currency/vc-input-currency.docs.md +47 -88
- package/runtime/knowledge/docs/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.docs.md +50 -64
- package/runtime/knowledge/docs/ui/components/molecules/vc-input-group/vc-input-group.docs.md +29 -24
- package/runtime/knowledge/docs/ui/components/molecules/vc-menu/vc-menu.docs.md +32 -28
- package/runtime/knowledge/docs/ui/components/molecules/vc-multivalue/vc-multivalue.docs.md +57 -65
- package/runtime/knowledge/docs/ui/components/molecules/vc-pagination/vc-pagination.docs.md +28 -26
- package/runtime/knowledge/docs/ui/components/molecules/vc-radio-button/vc-radio-button.docs.md +55 -20
- package/runtime/knowledge/docs/ui/components/molecules/vc-radio-group/vc-radio-group.docs.md +21 -35
- package/runtime/knowledge/docs/ui/components/molecules/vc-rating/vc-rating.docs.md +38 -33
- package/runtime/knowledge/docs/ui/components/molecules/vc-select/vc-select.docs.md +72 -83
- package/runtime/knowledge/docs/ui/components/molecules/vc-slider/vc-slider.docs.md +21 -16
- package/runtime/knowledge/docs/ui/components/molecules/vc-switch/vc-switch.docs.md +55 -64
- package/runtime/knowledge/docs/ui/components/molecules/vc-textarea/vc-textarea.docs.md +51 -70
- package/runtime/knowledge/docs/ui/components/molecules/vc-toast/vc-toast.docs.md +58 -57
- package/runtime/knowledge/docs/ui/components/organisms/vc-app/vc-app.docs.md +49 -26
- package/runtime/knowledge/docs/ui/components/organisms/vc-auth-layout/vc-auth-layout.docs.md +82 -28
- package/runtime/knowledge/docs/ui/components/organisms/vc-blade/vc-blade.docs.md +90 -75
- package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/composables/table-composables.docs.md +99 -48
- package/runtime/knowledge/docs/ui/components/organisms/vc-data-table/vc-data-table.docs.md +548 -367
- package/runtime/knowledge/docs/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.docs.md +35 -52
- package/runtime/knowledge/docs/ui/components/organisms/vc-gallery/vc-gallery.docs.md +33 -62
- package/runtime/knowledge/docs/ui/components/organisms/vc-image-upload/vc-image-upload.docs.md +17 -23
- package/runtime/knowledge/docs/ui/components/organisms/vc-popup/vc-popup.docs.md +109 -68
- package/runtime/knowledge/docs/ui/components/organisms/vc-sidebar/vc-sidebar.docs.md +82 -44
- package/runtime/knowledge/docs/ui/composables/ui-composables.docs.md +8 -8
- package/runtime/knowledge/docs/ui/composables/useDataTablePagination.docs.md +164 -0
- package/runtime/knowledge/docs/ui/composables/useDataTableSort.docs.md +34 -26
- package/runtime/knowledge/docs/ui/composables/useTableSelection.docs.md +48 -40
- package/runtime/knowledge/docs/ui/composables/useTableSort.docs.md +30 -17
- package/runtime/knowledge/docs/ui/types/ui-types.docs.md +40 -29
- package/runtime/knowledge/examples/offers-module.md +15 -13
- package/runtime/knowledge/examples/team-module.md +82 -119
- package/runtime/knowledge/examples/videos-module.md +44 -17
- package/runtime/knowledge/index.md +22 -0
- package/runtime/knowledge/migration-prompts/blade-form-migration.md +17 -8
- package/runtime/knowledge/migration-prompts/blade-props-migration.md +1 -2
- package/runtime/knowledge/migration-prompts/datatable-migration.md +801 -0
- package/runtime/knowledge/migration-prompts/icon-migration.md +97 -0
- package/runtime/knowledge/migration-prompts/manual-migration-audit.md +117 -0
- package/runtime/knowledge/migration-prompts/notifications-migration.md +8 -3
- package/runtime/knowledge/migration-prompts/nswag-migration.md +25 -29
- package/runtime/knowledge/migration-prompts/use-assets-migration.md +164 -0
- package/runtime/knowledge/migration-prompts/use-data-table-pagination-migration.md +176 -0
- package/runtime/knowledge/migration-prompts/widgets-migration.md +48 -27
- package/runtime/knowledge/patterns/assets-management.md +20 -20
- package/runtime/knowledge/patterns/blade-navigation.md +7 -14
- package/runtime/knowledge/patterns/blade-widget.md +19 -17
- package/runtime/knowledge/patterns/child-blade-flow.md +19 -7
- package/runtime/knowledge/patterns/composable-details.md +20 -50
- package/runtime/knowledge/patterns/composable-list.md +43 -31
- package/runtime/knowledge/patterns/dashboard-widget.md +14 -16
- package/runtime/knowledge/patterns/datatable-pattern.md +521 -0
- package/runtime/knowledge/patterns/details-blade-pattern.md +78 -116
- package/runtime/knowledge/patterns/extension-points-usage.md +53 -44
- package/runtime/knowledge/patterns/form-validation.md +28 -64
- package/runtime/knowledge/patterns/list-blade-pattern.md +33 -21
- package/runtime/knowledge/patterns/module-structure.md +7 -1
- package/runtime/knowledge/patterns/multilanguage-fields.md +8 -14
- package/runtime/knowledge/patterns/notification-template.md +21 -14
- package/runtime/knowledge/patterns/signalr-notifications.md +30 -32
- package/runtime/knowledge/patterns/toolbar-pattern.md +18 -20
- package/runtime/vc-app.md +241 -62
package/CHANGELOG.md
CHANGED
|
@@ -1,18 +1,44 @@
|
|
|
1
|
-
# [2.0.0-alpha.
|
|
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
|
-
* **
|
|
7
|
-
* **
|
|
8
|
-
* **
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
-
|
|
64
|
-
|
|
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
|
-
|
|
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
|
-
|
|
76
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
103
|
-
|
|
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
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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
|
|
213
|
-
|
|
214
|
-
| `api-analyzer`
|
|
215
|
-
| `list-blade-generator`
|
|
216
|
-
| `details-blade-generator` | Generates details blade + singular composable
|
|
217
|
-
| `locales-generator`
|
|
218
|
-
| `module-assembler`
|
|
219
|
-
| `type-checker`
|
|
220
|
-
| `promote-agent`
|
|
221
|
-
| `
|
|
222
|
-
| `
|
|
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.
|
|
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
|
|
23
|
-
"knowledge
|
|
24
|
-
"sync
|
|
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.
|
|
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
|
-
|
|
90
|
-
- `
|
|
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., `
|
|
97
|
-
- `getMethod`: camelCase method name (e.g., `
|
|
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": "
|
|
117
|
-
"clientFile": "virtocommerce.
|
|
118
|
-
"entityName": "
|
|
119
|
-
"searchQueryClass": "
|
|
120
|
-
"searchResultClass": "
|
|
121
|
-
"entityClass": "
|
|
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": "
|
|
124
|
-
"getMethod": "
|
|
125
|
-
"createMethod": "
|
|
126
|
-
"updateMethod": "
|
|
127
|
-
"deleteMethod": "
|
|
135
|
+
"searchMethod": "searchUsers",
|
|
136
|
+
"getMethod": "getUser",
|
|
137
|
+
"createMethod": "createUser",
|
|
138
|
+
"updateMethod": "updateUser",
|
|
139
|
+
"deleteMethod": "deleteUsers"
|
|
128
140
|
}
|
|
129
141
|
],
|
|
130
|
-
"primaryEntity": {
|
|
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:
|