@synergy-design-system/mcp 0.1.0 → 1.1.0
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 +15 -0
- package/README.md +539 -3
- package/dist/bin/create-checksum.d.ts +2 -0
- package/dist/bin/create-checksum.js +23 -0
- package/dist/bin/start.d.ts +2 -0
- package/dist/bin/start.js +8 -0
- package/dist/build/assets.d.ts +4 -0
- package/dist/build/assets.js +57 -0
- package/dist/build/build.d.ts +1 -0
- package/dist/build/build.js +33 -0
- package/dist/build/components.d.ts +4 -0
- package/dist/build/components.js +132 -0
- package/dist/build/frameworks.d.ts +4 -0
- package/dist/build/frameworks.js +61 -0
- package/dist/build/static.d.ts +4 -0
- package/dist/build/static.js +57 -0
- package/dist/build/styles.d.ts +4 -0
- package/dist/build/styles.js +58 -0
- package/dist/build/tokens.d.ts +4 -0
- package/dist/build/tokens.js +59 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.js +20 -0
- package/dist/tools/asset-info.d.ts +8 -0
- package/dist/tools/asset-info.js +140 -0
- package/dist/tools/asset-list.d.ts +6 -0
- package/dist/tools/asset-list.js +40 -0
- package/dist/tools/component-info.d.ts +6 -0
- package/dist/tools/component-info.js +35 -0
- package/dist/tools/component-list.d.ts +7 -0
- package/dist/tools/component-list.js +42 -0
- package/dist/tools/davinci-migration.d.ts +3 -0
- package/dist/tools/davinci-migration.js +66 -0
- package/dist/tools/framework-info.d.ts +7 -0
- package/dist/tools/framework-info.js +59 -0
- package/dist/tools/index.d.ts +13 -0
- package/dist/tools/index.js +13 -0
- package/dist/tools/migration-info.d.ts +6 -0
- package/dist/tools/migration-info.js +27 -0
- package/dist/tools/styles-info.d.ts +7 -0
- package/dist/tools/styles-info.js +28 -0
- package/dist/tools/styles-list.d.ts +7 -0
- package/dist/tools/styles-list.js +42 -0
- package/dist/tools/template-info.d.ts +6 -0
- package/dist/tools/template-info.js +34 -0
- package/dist/tools/template-list.d.ts +7 -0
- package/dist/tools/template-list.js +42 -0
- package/dist/tools/tokens.d.ts +7 -0
- package/dist/tools/tokens.js +24 -0
- package/dist/tools/version.d.ts +7 -0
- package/dist/tools/version.js +51 -0
- package/dist/utilities/assets.d.ts +2 -0
- package/dist/utilities/assets.js +3 -0
- package/dist/utilities/checksum.d.ts +36 -0
- package/dist/utilities/checksum.js +93 -0
- package/dist/utilities/components.d.ts +25 -0
- package/dist/utilities/components.js +86 -0
- package/dist/utilities/config.d.ts +76 -0
- package/dist/utilities/config.js +77 -0
- package/dist/utilities/file.d.ts +12 -0
- package/dist/utilities/file.js +31 -0
- package/dist/utilities/index.d.ts +12 -0
- package/dist/utilities/index.js +12 -0
- package/dist/utilities/metadata.d.ts +28 -0
- package/dist/utilities/metadata.js +57 -0
- package/dist/utilities/migration.d.ts +1 -0
- package/dist/utilities/migration.js +10 -0
- package/dist/utilities/stdio.d.ts +14 -0
- package/dist/utilities/stdio.js +60 -0
- package/dist/utilities/storybook/build-docs.d.ts +2 -0
- package/dist/utilities/storybook/build-docs.js +42 -0
- package/dist/utilities/storybook/configs.d.ts +13 -0
- package/dist/utilities/storybook/configs.js +85 -0
- package/dist/utilities/storybook/docs-scraper.d.ts +26 -0
- package/dist/utilities/storybook/docs-scraper.js +97 -0
- package/dist/utilities/storybook/index.d.ts +5 -0
- package/dist/utilities/storybook/index.js +4 -0
- package/dist/utilities/storybook/scraper.d.ts +14 -0
- package/dist/utilities/storybook/scraper.js +196 -0
- package/dist/utilities/storybook/storybook-manager.d.ts +29 -0
- package/dist/utilities/storybook/storybook-manager.js +139 -0
- package/dist/utilities/storybook/types.d.ts +22 -0
- package/dist/utilities/storybook/types.js +1 -0
- package/dist/utilities/styles.d.ts +6 -0
- package/dist/utilities/styles.js +24 -0
- package/dist/utilities/templates.d.ts +12 -0
- package/dist/utilities/templates.js +28 -0
- package/dist/utilities/tokens.d.ts +1 -0
- package/dist/utilities/tokens.js +21 -0
- package/dist/utilities/version.d.ts +10 -0
- package/dist/utilities/version.js +21 -0
- package/metadata/checksum.txt +1 -0
- package/metadata/davinci-migration/migration-guide.md +1859 -0
- package/metadata/packages/angular/LIMITATIONS.md +32 -0
- package/metadata/packages/angular/README.md +393 -0
- package/metadata/packages/assets/CHANGELOG.md +196 -0
- package/metadata/packages/assets/README.md +79 -0
- package/metadata/packages/components/components/syn-accordion/component.angular.ts +80 -0
- package/metadata/packages/components/components/syn-accordion/component.react.ts +30 -0
- package/metadata/packages/components/components/syn-accordion/component.styles.ts +15 -0
- package/metadata/packages/components/components/syn-accordion/component.ts +111 -0
- package/metadata/packages/components/components/syn-accordion/component.vue +64 -0
- package/metadata/packages/components/components/syn-alert/component.angular.ts +158 -0
- package/metadata/packages/components/components/syn-alert/component.custom.styles.ts +90 -0
- package/metadata/packages/components/components/syn-alert/component.react.ts +60 -0
- package/metadata/packages/components/components/syn-alert/component.styles.ts +110 -0
- package/metadata/packages/components/components/syn-alert/component.ts +324 -0
- package/metadata/packages/components/components/syn-alert/component.vue +130 -0
- package/metadata/packages/components/components/syn-badge/component.angular.ts +53 -0
- package/metadata/packages/components/components/syn-badge/component.custom.styles.ts +61 -0
- package/metadata/packages/components/components/syn-badge/component.react.ts +29 -0
- package/metadata/packages/components/components/syn-badge/component.styles.ts +59 -0
- package/metadata/packages/components/components/syn-badge/component.ts +65 -0
- package/metadata/packages/components/components/syn-badge/component.vue +53 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.angular.ts +58 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.custom.styles.ts +5 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.react.ts +32 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.styles.ts +18 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.ts +110 -0
- package/metadata/packages/components/components/syn-breadcrumb/component.vue +58 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.angular.ts +88 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.custom.styles.ts +74 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.styles.ts +95 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.ts +139 -0
- package/metadata/packages/components/components/syn-breadcrumb-item/component.vue +76 -0
- package/metadata/packages/components/components/syn-button/component.angular.ts +318 -0
- package/metadata/packages/components/components/syn-button/component.custom.styles.ts +206 -0
- package/metadata/packages/components/components/syn-button/component.react.ts +56 -0
- package/metadata/packages/components/components/syn-button/component.styles.ts +368 -0
- package/metadata/packages/components/components/syn-button/component.ts +322 -0
- package/metadata/packages/components/components/syn-button/component.vue +204 -0
- package/metadata/packages/components/components/syn-button-group/component.angular.ts +55 -0
- package/metadata/packages/components/components/syn-button-group/component.react.ts +29 -0
- package/metadata/packages/components/components/syn-button-group/component.styles.ts +21 -0
- package/metadata/packages/components/components/syn-button-group/component.ts +103 -0
- package/metadata/packages/components/components/syn-button-group/component.vue +55 -0
- package/metadata/packages/components/components/syn-card/component.angular.ts +69 -0
- package/metadata/packages/components/components/syn-card/component.custom.styles.ts +55 -0
- package/metadata/packages/components/components/syn-card/component.react.ts +41 -0
- package/metadata/packages/components/components/syn-card/component.styles.ts +77 -0
- package/metadata/packages/components/components/syn-card/component.ts +68 -0
- package/metadata/packages/components/components/syn-card/component.vue +67 -0
- package/metadata/packages/components/components/syn-checkbox/component.angular.ts +260 -0
- package/metadata/packages/components/components/syn-checkbox/component.custom.styles.ts +53 -0
- package/metadata/packages/components/components/syn-checkbox/component.react.ts +64 -0
- package/metadata/packages/components/components/syn-checkbox/component.styles.ts +130 -0
- package/metadata/packages/components/components/syn-checkbox/component.ts +291 -0
- package/metadata/packages/components/components/syn-checkbox/component.vue +186 -0
- package/metadata/packages/components/components/syn-combobox/component.angular.ts +436 -0
- package/metadata/packages/components/components/syn-combobox/component.custom.styles.ts +35 -0
- package/metadata/packages/components/components/syn-combobox/component.react.ts +109 -0
- package/metadata/packages/components/components/syn-combobox/component.styles.ts +406 -0
- package/metadata/packages/components/components/syn-combobox/component.ts +1139 -0
- package/metadata/packages/components/components/syn-combobox/component.vue +304 -0
- package/metadata/packages/components/components/syn-details/component.angular.ts +184 -0
- package/metadata/packages/components/components/syn-details/component.custom.styles.ts +140 -0
- package/metadata/packages/components/components/syn-details/component.react.ts +63 -0
- package/metadata/packages/components/components/syn-details/component.styles.ts +90 -0
- package/metadata/packages/components/components/syn-details/component.ts +266 -0
- package/metadata/packages/components/components/syn-details/component.vue +134 -0
- package/metadata/packages/components/components/syn-dialog/component.angular.ts +201 -0
- package/metadata/packages/components/components/syn-dialog/component.custom.styles.ts +54 -0
- package/metadata/packages/components/components/syn-dialog/component.react.ts +91 -0
- package/metadata/packages/components/components/syn-dialog/component.styles.ts +129 -0
- package/metadata/packages/components/components/syn-dialog/component.ts +366 -0
- package/metadata/packages/components/components/syn-dialog/component.vue +169 -0
- package/metadata/packages/components/components/syn-divider/component.angular.ts +55 -0
- package/metadata/packages/components/components/syn-divider/component.custom.styles.ts +8 -0
- package/metadata/packages/components/components/syn-divider/component.react.ts +29 -0
- package/metadata/packages/components/components/syn-divider/component.styles.ts +31 -0
- package/metadata/packages/components/components/syn-divider/component.ts +42 -0
- package/metadata/packages/components/components/syn-divider/component.vue +51 -0
- package/metadata/packages/components/components/syn-drawer/component.angular.ts +234 -0
- package/metadata/packages/components/components/syn-drawer/component.custom.styles.ts +78 -0
- package/metadata/packages/components/components/syn-drawer/component.react.ts +98 -0
- package/metadata/packages/components/components/syn-drawer/component.styles.ts +165 -0
- package/metadata/packages/components/components/syn-drawer/component.ts +496 -0
- package/metadata/packages/components/components/syn-drawer/component.vue +188 -0
- package/metadata/packages/components/components/syn-dropdown/component.angular.ts +223 -0
- package/metadata/packages/components/components/syn-dropdown/component.custom.styles.ts +5 -0
- package/metadata/packages/components/components/syn-dropdown/component.react.ts +59 -0
- package/metadata/packages/components/components/syn-dropdown/component.styles.ts +60 -0
- package/metadata/packages/components/components/syn-dropdown/component.ts +484 -0
- package/metadata/packages/components/components/syn-dropdown/component.vue +159 -0
- package/metadata/packages/components/components/syn-file/component.angular.ts +359 -0
- package/metadata/packages/components/components/syn-file/component.react.ts +85 -0
- package/metadata/packages/components/components/syn-file/component.styles.ts +179 -0
- package/metadata/packages/components/components/syn-file/component.ts +631 -0
- package/metadata/packages/components/components/syn-file/component.vue +251 -0
- package/metadata/packages/components/components/syn-header/component.angular.ts +132 -0
- package/metadata/packages/components/components/syn-header/component.react.ts +65 -0
- package/metadata/packages/components/components/syn-header/component.styles.ts +128 -0
- package/metadata/packages/components/components/syn-header/component.ts +260 -0
- package/metadata/packages/components/components/syn-header/component.vue +117 -0
- package/metadata/packages/components/components/syn-icon/component.angular.ts +115 -0
- package/metadata/packages/components/components/syn-icon/component.custom.styles.ts +5 -0
- package/metadata/packages/components/components/syn-icon/component.react.ts +41 -0
- package/metadata/packages/components/components/syn-icon/component.styles.ts +25 -0
- package/metadata/packages/components/components/syn-icon/component.ts +234 -0
- package/metadata/packages/components/components/syn-icon/component.vue +100 -0
- package/metadata/packages/components/components/syn-icon-button/component.angular.ts +185 -0
- package/metadata/packages/components/components/syn-icon-button/component.custom.styles.ts +68 -0
- package/metadata/packages/components/components/syn-icon-button/component.react.ts +42 -0
- package/metadata/packages/components/components/syn-icon-button/component.styles.ts +59 -0
- package/metadata/packages/components/components/syn-icon-button/component.ts +154 -0
- package/metadata/packages/components/components/syn-icon-button/component.vue +132 -0
- package/metadata/packages/components/components/syn-input/component.angular.ts +606 -0
- package/metadata/packages/components/components/syn-input/component.custom.styles.ts +278 -0
- package/metadata/packages/components/components/syn-input/component.react.ts +91 -0
- package/metadata/packages/components/components/syn-input/component.styles.ts +287 -0
- package/metadata/packages/components/components/syn-input/component.ts +942 -0
- package/metadata/packages/components/components/syn-input/component.vue +370 -0
- package/metadata/packages/components/components/syn-menu/component.angular.ts +52 -0
- package/metadata/packages/components/components/syn-menu/component.custom.styles.ts +29 -0
- package/metadata/packages/components/components/syn-menu/component.react.ts +36 -0
- package/metadata/packages/components/components/syn-menu/component.styles.ts +27 -0
- package/metadata/packages/components/components/syn-menu/component.ts +199 -0
- package/metadata/packages/components/components/syn-menu/component.vue +48 -0
- package/metadata/packages/components/components/syn-menu-item/component.angular.ts +121 -0
- package/metadata/packages/components/components/syn-menu-item/component.custom.styles.ts +128 -0
- package/metadata/packages/components/components/syn-menu-item/component.react.ts +45 -0
- package/metadata/packages/components/components/syn-menu-item/component.styles.ts +164 -0
- package/metadata/packages/components/components/syn-menu-item/component.ts +209 -0
- package/metadata/packages/components/components/syn-menu-item/component.vue +91 -0
- package/metadata/packages/components/components/syn-menu-label/component.angular.ts +48 -0
- package/metadata/packages/components/components/syn-menu-label/component.custom.styles.ts +24 -0
- package/metadata/packages/components/components/syn-menu-label/component.react.ts +35 -0
- package/metadata/packages/components/components/syn-menu-label/component.styles.ts +28 -0
- package/metadata/packages/components/components/syn-menu-label/component.ts +54 -0
- package/metadata/packages/components/components/syn-menu-label/component.vue +41 -0
- package/metadata/packages/components/components/syn-nav-item/component.angular.ts +242 -0
- package/metadata/packages/components/components/syn-nav-item/component.react.ts +82 -0
- package/metadata/packages/components/components/syn-nav-item/component.styles.ts +337 -0
- package/metadata/packages/components/components/syn-nav-item/component.ts +492 -0
- package/metadata/packages/components/components/syn-nav-item/component.vue +182 -0
- package/metadata/packages/components/components/syn-optgroup/component.angular.ts +79 -0
- package/metadata/packages/components/components/syn-optgroup/component.react.ts +41 -0
- package/metadata/packages/components/components/syn-optgroup/component.styles.ts +59 -0
- package/metadata/packages/components/components/syn-optgroup/component.ts +176 -0
- package/metadata/packages/components/components/syn-optgroup/component.vue +71 -0
- package/metadata/packages/components/components/syn-option/component.angular.ts +79 -0
- package/metadata/packages/components/components/syn-option/component.custom.styles.ts +81 -0
- package/metadata/packages/components/components/syn-option/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-option/component.styles.ts +96 -0
- package/metadata/packages/components/components/syn-option/component.ts +174 -0
- package/metadata/packages/components/components/syn-option/component.vue +71 -0
- package/metadata/packages/components/components/syn-popup/component.angular.ts +385 -0
- package/metadata/packages/components/components/syn-popup/component.react.ts +55 -0
- package/metadata/packages/components/components/syn-popup/component.styles.ts +70 -0
- package/metadata/packages/components/components/syn-popup/component.ts +583 -0
- package/metadata/packages/components/components/syn-popup/component.vue +240 -0
- package/metadata/packages/components/components/syn-prio-nav/component.angular.ts +67 -0
- package/metadata/packages/components/components/syn-prio-nav/component.react.ts +54 -0
- package/metadata/packages/components/components/syn-prio-nav/component.styles.ts +48 -0
- package/metadata/packages/components/components/syn-prio-nav/component.ts +287 -0
- package/metadata/packages/components/components/syn-prio-nav/component.vue +60 -0
- package/metadata/packages/components/components/syn-progress-bar/component.angular.ts +85 -0
- package/metadata/packages/components/components/syn-progress-bar/component.custom.styles.ts +22 -0
- package/metadata/packages/components/components/syn-progress-bar/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-progress-bar/component.styles.ts +94 -0
- package/metadata/packages/components/components/syn-progress-bar/component.ts +74 -0
- package/metadata/packages/components/components/syn-progress-bar/component.vue +71 -0
- package/metadata/packages/components/components/syn-progress-ring/component.angular.ts +72 -0
- package/metadata/packages/components/components/syn-progress-ring/component.custom.styles.ts +17 -0
- package/metadata/packages/components/components/syn-progress-ring/component.react.ts +37 -0
- package/metadata/packages/components/components/syn-progress-ring/component.styles.ts +77 -0
- package/metadata/packages/components/components/syn-progress-ring/component.ts +90 -0
- package/metadata/packages/components/components/syn-progress-ring/component.vue +66 -0
- package/metadata/packages/components/components/syn-radio/component.angular.ts +109 -0
- package/metadata/packages/components/components/syn-radio/component.custom.styles.ts +73 -0
- package/metadata/packages/components/components/syn-radio/component.react.ts +48 -0
- package/metadata/packages/components/components/syn-radio/component.styles.ts +124 -0
- package/metadata/packages/components/components/syn-radio/component.ts +129 -0
- package/metadata/packages/components/components/syn-radio/component.vue +99 -0
- package/metadata/packages/components/components/syn-radio-button/component.angular.ts +123 -0
- package/metadata/packages/components/components/syn-radio-button/component.react.ts +49 -0
- package/metadata/packages/components/components/syn-radio-button/component.styles.ts +37 -0
- package/metadata/packages/components/components/syn-radio-button/component.ts +149 -0
- package/metadata/packages/components/components/syn-radio-button/component.vue +105 -0
- package/metadata/packages/components/components/syn-radio-group/component.angular.ts +204 -0
- package/metadata/packages/components/components/syn-radio-group/component.custom.styles.ts +22 -0
- package/metadata/packages/components/components/syn-radio-group/component.react.ts +56 -0
- package/metadata/packages/components/components/syn-radio-group/component.styles.ts +44 -0
- package/metadata/packages/components/components/syn-radio-group/component.ts +418 -0
- package/metadata/packages/components/components/syn-radio-group/component.vue +158 -0
- package/metadata/packages/components/components/syn-range/component.angular.ts +334 -0
- package/metadata/packages/components/components/syn-range/component.react.ts +92 -0
- package/metadata/packages/components/components/syn-range/component.styles.ts +284 -0
- package/metadata/packages/components/components/syn-range/component.ts +878 -0
- package/metadata/packages/components/components/syn-range/component.vue +240 -0
- package/metadata/packages/components/components/syn-range-tick/component.angular.ts +59 -0
- package/metadata/packages/components/components/syn-range-tick/component.react.ts +33 -0
- package/metadata/packages/components/components/syn-range-tick/component.styles.ts +34 -0
- package/metadata/packages/components/components/syn-range-tick/component.ts +50 -0
- package/metadata/packages/components/components/syn-range-tick/component.vue +57 -0
- package/metadata/packages/components/components/syn-resize-observer/component.styles.ts +16 -0
- package/metadata/packages/components/components/syn-resize-observer/component.ts +98 -0
- package/metadata/packages/components/components/syn-select/component.angular.ts +441 -0
- package/metadata/packages/components/components/syn-select/component.custom.styles.ts +176 -0
- package/metadata/packages/components/components/syn-select/component.react.ts +101 -0
- package/metadata/packages/components/components/syn-select/component.styles.ts +316 -0
- package/metadata/packages/components/components/syn-select/component.ts +1054 -0
- package/metadata/packages/components/components/syn-select/component.vue +303 -0
- package/metadata/packages/components/components/syn-side-nav/component.angular.ts +231 -0
- package/metadata/packages/components/components/syn-side-nav/component.react.ts +95 -0
- package/metadata/packages/components/components/syn-side-nav/component.styles.ts +160 -0
- package/metadata/packages/components/components/syn-side-nav/component.ts +492 -0
- package/metadata/packages/components/components/syn-side-nav/component.vue +201 -0
- package/metadata/packages/components/components/syn-spinner/component.angular.ts +44 -0
- package/metadata/packages/components/components/syn-spinner/component.custom.styles.ts +31 -0
- package/metadata/packages/components/components/syn-spinner/component.react.ts +31 -0
- package/metadata/packages/components/components/syn-spinner/component.styles.ts +55 -0
- package/metadata/packages/components/components/syn-spinner/component.ts +42 -0
- package/metadata/packages/components/components/syn-spinner/component.vue +35 -0
- package/metadata/packages/components/components/syn-switch/component.angular.ts +244 -0
- package/metadata/packages/components/components/syn-switch/component.custom.styles.ts +112 -0
- package/metadata/packages/components/components/syn-switch/component.react.ts +63 -0
- package/metadata/packages/components/components/syn-switch/component.styles.ts +177 -0
- package/metadata/packages/components/components/syn-switch/component.ts +274 -0
- package/metadata/packages/components/components/syn-switch/component.vue +178 -0
- package/metadata/packages/components/components/syn-tab/component.angular.ts +109 -0
- package/metadata/packages/components/components/syn-tab/component.custom.styles.ts +92 -0
- package/metadata/packages/components/components/syn-tab/component.react.ts +42 -0
- package/metadata/packages/components/components/syn-tab/component.styles.ts +77 -0
- package/metadata/packages/components/components/syn-tab/component.ts +132 -0
- package/metadata/packages/components/components/syn-tab/component.vue +91 -0
- package/metadata/packages/components/components/syn-tab-group/component.angular.ts +166 -0
- package/metadata/packages/components/components/syn-tab-group/component.custom.styles.ts +248 -0
- package/metadata/packages/components/components/syn-tab-group/component.react.ts +58 -0
- package/metadata/packages/components/components/syn-tab-group/component.styles.ts +200 -0
- package/metadata/packages/components/components/syn-tab-group/component.ts +557 -0
- package/metadata/packages/components/components/syn-tab-group/component.vue +126 -0
- package/metadata/packages/components/components/syn-tab-panel/component.angular.ts +68 -0
- package/metadata/packages/components/components/syn-tab-panel/component.custom.styles.ts +8 -0
- package/metadata/packages/components/components/syn-tab-panel/component.react.ts +31 -0
- package/metadata/packages/components/components/syn-tab-panel/component.styles.ts +27 -0
- package/metadata/packages/components/components/syn-tab-panel/component.ts +67 -0
- package/metadata/packages/components/components/syn-tab-panel/component.vue +60 -0
- package/metadata/packages/components/components/syn-tag/component.angular.ts +83 -0
- package/metadata/packages/components/components/syn-tag/component.custom.styles.ts +120 -0
- package/metadata/packages/components/components/syn-tag/component.react.ts +43 -0
- package/metadata/packages/components/components/syn-tag/component.styles.ts +65 -0
- package/metadata/packages/components/components/syn-tag/component.ts +90 -0
- package/metadata/packages/components/components/syn-tag/component.vue +81 -0
- package/metadata/packages/components/components/syn-textarea/component.angular.ts +394 -0
- package/metadata/packages/components/components/syn-textarea/component.custom.styles.ts +18 -0
- package/metadata/packages/components/components/syn-textarea/component.react.ts +60 -0
- package/metadata/packages/components/components/syn-textarea/component.styles.ts +187 -0
- package/metadata/packages/components/components/syn-textarea/component.ts +401 -0
- package/metadata/packages/components/components/syn-textarea/component.vue +244 -0
- package/metadata/packages/components/components/syn-tooltip/component.angular.ts +212 -0
- package/metadata/packages/components/components/syn-tooltip/component.custom.styles.ts +13 -0
- package/metadata/packages/components/components/syn-tooltip/component.react.ts +63 -0
- package/metadata/packages/components/components/syn-tooltip/component.styles.ts +64 -0
- package/metadata/packages/components/components/syn-tooltip/component.ts +319 -0
- package/metadata/packages/components/components/syn-tooltip/component.vue +158 -0
- package/metadata/packages/components/components/syn-validate/component.angular.ts +128 -0
- package/metadata/packages/components/components/syn-validate/component.react.ts +36 -0
- package/metadata/packages/components/components/syn-validate/component.styles.ts +9 -0
- package/metadata/packages/components/components/syn-validate/component.ts +437 -0
- package/metadata/packages/components/components/syn-validate/component.vue +98 -0
- package/metadata/packages/components/migration/BREAKING_CHANGES.md +489 -0
- package/metadata/packages/components/migration/migration-synergy-v3.md +50 -0
- package/metadata/packages/components/static/CHANGELOG.md +1107 -0
- package/metadata/packages/components/static/LIMITATIONS.md +269 -0
- package/metadata/packages/components/static/README.md +248 -0
- package/metadata/packages/react/LIMITATIONS.md +31 -0
- package/metadata/packages/react/README.md +262 -0
- package/metadata/packages/styles/CHANGELOG.md +76 -0
- package/metadata/packages/styles/README.md +132 -0
- package/metadata/packages/styles/index.css +309 -0
- package/metadata/packages/styles/link-list.css +47 -0
- package/metadata/packages/styles/link.css +79 -0
- package/metadata/packages/styles/tables.css +143 -0
- package/metadata/packages/styles/typography.css +52 -0
- package/metadata/packages/tokens/CHANGELOG.md +431 -0
- package/metadata/packages/tokens/README.md +408 -0
- package/metadata/packages/tokens/dark.css +268 -0
- package/metadata/packages/tokens/index.js +1294 -0
- package/metadata/packages/tokens/light.css +268 -0
- package/metadata/packages/vue/LIMITATIONS.md +53 -0
- package/metadata/packages/vue/README.md +252 -0
- package/metadata/static/angular/index.md +6 -0
- package/metadata/static/assets/index.md +10 -0
- package/metadata/static/component-info/index.md +24 -0
- package/metadata/static/component-list/index.md +34 -0
- package/metadata/static/components/index.md +10 -0
- package/metadata/static/components/syn-accordion/docs.md +428 -0
- package/metadata/static/components/syn-alert/docs.md +231 -0
- package/metadata/static/components/syn-badge/docs.md +128 -0
- package/metadata/static/components/syn-breadcrumb/docs.md +265 -0
- package/metadata/static/components/syn-breadcrumb-item/docs.md +49 -0
- package/metadata/static/components/syn-button/docs.md +402 -0
- package/metadata/static/components/syn-card/docs.md +273 -0
- package/metadata/static/components/syn-checkbox/docs.md +77 -0
- package/metadata/static/components/syn-combobox/docs.md +2402 -0
- package/metadata/static/components/syn-details/docs.md +220 -0
- package/metadata/static/components/syn-dialog/docs.md +222 -0
- package/metadata/static/components/syn-divider/docs.md +77 -0
- package/metadata/static/components/syn-drawer/docs.md +271 -0
- package/metadata/static/components/syn-dropdown/docs.md +316 -0
- package/metadata/static/components/syn-file/docs.md +215 -0
- package/metadata/static/components/syn-header/docs.md +134 -0
- package/metadata/static/components/syn-icon/docs.md +177 -0
- package/metadata/static/components/syn-icon-button/docs.md +142 -0
- package/metadata/static/components/syn-input/docs.md +460 -0
- package/metadata/static/components/syn-menu/docs.md +162 -0
- package/metadata/static/components/syn-menu-item/docs.md +196 -0
- package/metadata/static/components/syn-menu-label/docs.md +29 -0
- package/metadata/static/components/syn-nav-item/docs.md +161 -0
- package/metadata/static/components/syn-optgroup/docs.md +167 -0
- package/metadata/static/components/syn-option/docs.md +137 -0
- package/metadata/static/components/syn-prio-nav/docs.md +54 -0
- package/metadata/static/components/syn-progress-bar/docs.md +77 -0
- package/metadata/static/components/syn-progress-ring/docs.md +89 -0
- package/metadata/static/components/syn-radio/docs.md +123 -0
- package/metadata/static/components/syn-radio-group/docs.md +363 -0
- package/metadata/static/components/syn-range/docs.md +419 -0
- package/metadata/static/components/syn-range-tick/docs.md +110 -0
- package/metadata/static/components/syn-select/docs.md +730 -0
- package/metadata/static/components/syn-side-nav/docs.md +593 -0
- package/metadata/static/components/syn-spinner/docs.md +45 -0
- package/metadata/static/components/syn-switch/docs.md +74 -0
- package/metadata/static/components/syn-tab/docs.md +47 -0
- package/metadata/static/components/syn-tab-group/docs.md +1094 -0
- package/metadata/static/components/syn-tab-panel/docs.md +91 -0
- package/metadata/static/components/syn-tag/docs.md +50 -0
- package/metadata/static/components/syn-textarea/docs.md +215 -0
- package/metadata/static/components/syn-tooltip/docs.md +144 -0
- package/metadata/static/components/syn-validate/docs.md +225 -0
- package/metadata/static/migration/index.md +16 -0
- package/metadata/static/react/index.md +8 -0
- package/metadata/static/setup/icon-usage.md +276 -0
- package/metadata/static/setup/prerequisites.md +171 -0
- package/metadata/static/styles/index.md +11 -0
- package/metadata/static/styles/syn-body.md +5 -0
- package/metadata/static/styles/syn-heading.md +5 -0
- package/metadata/static/styles/syn-link-list.md +325 -0
- package/metadata/static/styles/syn-link.md +156 -0
- package/metadata/static/styles/syn-table-cell.md +125 -0
- package/metadata/static/styles/syn-table.md +201 -0
- package/metadata/static/styles/syn-weight.md +5 -0
- package/metadata/static/templates/appshell.md +2061 -0
- package/metadata/static/templates/breadcrumb.md +375 -0
- package/metadata/static/templates/footer.md +342 -0
- package/metadata/static/templates/forms.md +369 -0
- package/metadata/static/templates/index.md +9 -0
- package/metadata/static/templates/table.md +1426 -0
- package/metadata/static/vue/index.md +6 -0
- package/package.json +109 -4
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
# [@synergy-design-system/mcp-v1.1.0](https://github.com/synergy-design-system/synergy-design-system/compare/mcp/1.0.0...mcp/1.1.0) (2025-08-08)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* ✨ syn-icon: Provide a function to switch the icon set to brand2025 ([#974](https://github.com/synergy-design-system/synergy-design-system/issues/974)) ([1482e34](https://github.com/synergy-design-system/synergy-design-system/commit/1482e34f21ce80b9ad6f25e760f87de13d5f70db))
|
|
9
|
+
|
|
10
|
+
# @synergy-design-system/mcp-v1.0.0 (2025-08-07)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* ✨ MCP: Initial release ([#931](https://github.com/synergy-design-system/synergy-design-system/pull/931)) ([5f511ca](https://github.com/synergy-design-system/synergy-design-system/commit/5f511ca4305981f90e589a5f634e58d0e4e834ee))
|
package/README.md
CHANGED
|
@@ -2,7 +2,543 @@
|
|
|
2
2
|
|
|
3
3
|
Synergy MCP Server – Multi-Framework Component Metadata & Tooling
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
There will be **no** releases on the `stable` channel until we reach basic stability.
|
|
5
|
+
---
|
|
7
6
|
|
|
8
|
-
|
|
7
|
+
The `@synergy-design-system/mcp` package provides a Model Context Protocol (MCP) server for the Synergy Design System. It enables AI assistants and development tools to access structured information about Synergy components, design tokens, icons, and migration guides across multiple frameworks (Angular, React, Vue, and vanilla Web Components).
|
|
8
|
+
|
|
9
|
+
## Quick Start
|
|
10
|
+
|
|
11
|
+
### Installation
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install --save-dev @synergy-design-system/mcp
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Running the Server
|
|
18
|
+
|
|
19
|
+
The MCP server can be started using the `syn-mcp` binary:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Run directly
|
|
23
|
+
npx @synergy-design-system/mcp
|
|
24
|
+
|
|
25
|
+
# Or if installed globally
|
|
26
|
+
syn-mcp
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### VS Code Integration
|
|
30
|
+
|
|
31
|
+
To integrate with VS Code and AI assistants, add this configuration to your VS Code `settings.json` under the `mcp.servers` section:
|
|
32
|
+
|
|
33
|
+
```jsonc
|
|
34
|
+
{
|
|
35
|
+
"mcp": {
|
|
36
|
+
"servers": {
|
|
37
|
+
"synergy": {
|
|
38
|
+
"type": "stdio",
|
|
39
|
+
"command": "npx",
|
|
40
|
+
"args": ["@synergy-design-system/mcp"],
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Claude Desktop Integration
|
|
48
|
+
|
|
49
|
+
For Claude Desktop, add this to your `claude_desktop_config.json`:
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"mcpServers": {
|
|
54
|
+
"synergy": {
|
|
55
|
+
"command": "npx",
|
|
56
|
+
"args": ["@synergy-design-system/mcp"]
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Features
|
|
63
|
+
|
|
64
|
+
- **Component Information**: Get detailed usage information for Synergy components across frameworks
|
|
65
|
+
- **Icon Assets**: Search and discover available icons from multiple icon sets
|
|
66
|
+
- **Design Tokens**: Access CSS and JavaScript design tokens
|
|
67
|
+
- **Style Utilities**: Information about available CSS utility classes
|
|
68
|
+
- **Templates**: Access static templates built with the Synergy Design System
|
|
69
|
+
- **Migration Guides**: DaVinci to Synergy component migration assistance and Synergy version migrations
|
|
70
|
+
- **Framework Support**: Specific documentation for Angular, React, Vue, and vanilla Web Components
|
|
71
|
+
- **Version Information**: Get version and metadata about the MCP server
|
|
72
|
+
- **MCP Protocol**: Standard Model Context Protocol interface for AI assistant integration
|
|
73
|
+
|
|
74
|
+
## Available Tools
|
|
75
|
+
|
|
76
|
+
The MCP server provides the following tools that can be invoked by AI assistants:
|
|
77
|
+
|
|
78
|
+
### 1. `component-list`
|
|
79
|
+
|
|
80
|
+
**Description:** Outputs a list of all available components in the Synergy Design System.
|
|
81
|
+
|
|
82
|
+
**Parameters:** None
|
|
83
|
+
|
|
84
|
+
**Example prompts:**
|
|
85
|
+
|
|
86
|
+
- "Show me all available Synergy components"
|
|
87
|
+
- "What components are available in the Synergy Design System?"
|
|
88
|
+
- "List all syn-\* components"
|
|
89
|
+
|
|
90
|
+
### 2. `component-info`
|
|
91
|
+
|
|
92
|
+
**Description:** Get detailed information about the usage of a specific component in the Synergy Design System.
|
|
93
|
+
|
|
94
|
+
**Parameters:**
|
|
95
|
+
|
|
96
|
+
- `component` (string, required): The name of the component (must start with `syn-`, e.g., `syn-button`)
|
|
97
|
+
- `framework` (string, optional): The framework (`react`, `vue`, `angular`, `vanilla`). Defaults to `vanilla`
|
|
98
|
+
|
|
99
|
+
**Example prompts:**
|
|
100
|
+
|
|
101
|
+
- "How do I use the syn-button component in React?"
|
|
102
|
+
- "Show me the syn-input component documentation"
|
|
103
|
+
- "What props does syn-dialog support in Vue?"
|
|
104
|
+
- "Give me an example of syn-card in Angular"
|
|
105
|
+
|
|
106
|
+
### 3. `asset-list`
|
|
107
|
+
|
|
108
|
+
**Description:** Get the available iconsets in the Synergy Design System.
|
|
109
|
+
|
|
110
|
+
**Parameters:** None
|
|
111
|
+
|
|
112
|
+
**Example prompts:**
|
|
113
|
+
|
|
114
|
+
- "What iconsets are available?"
|
|
115
|
+
- "Show me all available icon libraries"
|
|
116
|
+
- "List all iconsets in Synergy"
|
|
117
|
+
|
|
118
|
+
### 4. `asset-info`
|
|
119
|
+
|
|
120
|
+
**Description:** Get information about available icons in the Synergy Design System.
|
|
121
|
+
|
|
122
|
+
**Parameters:**
|
|
123
|
+
|
|
124
|
+
- `filter` (string, optional): Filter icon names by substring match
|
|
125
|
+
- `iconset` (string, optional): Icon set to search (`current`, `legacy`, `v2`, `synergy2018`, `brand2018`, `brand2025`, `synergy2025`, `new`, `next`). Defaults to `current`
|
|
126
|
+
- `limit` (number, optional): Maximum number of icons to return. Defaults to 5
|
|
127
|
+
|
|
128
|
+
**Example prompts:**
|
|
129
|
+
|
|
130
|
+
- "Show me icons with 'add' in the name"
|
|
131
|
+
- "What icons are available for cancel actions?"
|
|
132
|
+
- "List 10 icons from the new iconset"
|
|
133
|
+
- "Find icons related to 'close' in the current iconset"
|
|
134
|
+
|
|
135
|
+
### 5. `token-info`
|
|
136
|
+
|
|
137
|
+
**Description:** Get information about design tokens available in the Synergy Design System.
|
|
138
|
+
|
|
139
|
+
**Parameters:**
|
|
140
|
+
|
|
141
|
+
- `type` (string, optional): Token type (`javascript` or `css`). Defaults to `css`
|
|
142
|
+
|
|
143
|
+
**Example prompts:**
|
|
144
|
+
|
|
145
|
+
- "Show me the available CSS design tokens"
|
|
146
|
+
- "What JavaScript design tokens are available?"
|
|
147
|
+
- "List all design tokens for styling"
|
|
148
|
+
|
|
149
|
+
### 6. `styles-list`
|
|
150
|
+
|
|
151
|
+
**Description:** Outputs a list of available styles in the Synergy Design System.
|
|
152
|
+
|
|
153
|
+
**Parameters:** None
|
|
154
|
+
|
|
155
|
+
**Example prompts:**
|
|
156
|
+
|
|
157
|
+
- "What styles are available in Synergy?"
|
|
158
|
+
- "Show me all available CSS utility classes"
|
|
159
|
+
- "List all style modules"
|
|
160
|
+
|
|
161
|
+
### 7. `styles-info`
|
|
162
|
+
|
|
163
|
+
**Description:** Get information about CSS utilities available in the Synergy Design System.
|
|
164
|
+
|
|
165
|
+
**Parameters:** None
|
|
166
|
+
|
|
167
|
+
**Example prompts:**
|
|
168
|
+
|
|
169
|
+
- "Show me information about Synergy CSS utilities"
|
|
170
|
+
- "What CSS utilities does Synergy provide?"
|
|
171
|
+
- "Tell me about the styles package"
|
|
172
|
+
|
|
173
|
+
### 8. `template-list`
|
|
174
|
+
|
|
175
|
+
**Description:** Outputs a list of available static templates built with the Synergy Design System.
|
|
176
|
+
|
|
177
|
+
**Parameters:** None
|
|
178
|
+
|
|
179
|
+
**Example prompts:**
|
|
180
|
+
|
|
181
|
+
- "What templates are available in Synergy?"
|
|
182
|
+
- "Show me all available static templates"
|
|
183
|
+
- "List all templates"
|
|
184
|
+
|
|
185
|
+
### 9. `template-info`
|
|
186
|
+
|
|
187
|
+
**Description:** Get a specific template in the Synergy Design System.
|
|
188
|
+
|
|
189
|
+
**Parameters:**
|
|
190
|
+
|
|
191
|
+
- `template` (string, required): The name of the template to get information about.
|
|
192
|
+
|
|
193
|
+
**Example prompts:**
|
|
194
|
+
|
|
195
|
+
- "Show me the form template"
|
|
196
|
+
- "Give me information about the dashboard template"
|
|
197
|
+
- "How do I use the form template?"
|
|
198
|
+
|
|
199
|
+
### 10. `davinci-migrate-list`
|
|
200
|
+
|
|
201
|
+
**Description:** Get a list of all components that have migration information from DaVinci to Synergy.
|
|
202
|
+
|
|
203
|
+
**Parameters:** None
|
|
204
|
+
|
|
205
|
+
**Example prompts:**
|
|
206
|
+
|
|
207
|
+
- "What DaVinci components can be migrated to Synergy?"
|
|
208
|
+
- "Show me all available migration guides"
|
|
209
|
+
- "List components with migration information"
|
|
210
|
+
|
|
211
|
+
### 11. `davinci-migrate-component`
|
|
212
|
+
|
|
213
|
+
**Description:** Get information about the migration of a specific component from DaVinci to Synergy.
|
|
214
|
+
|
|
215
|
+
**Parameters:**
|
|
216
|
+
|
|
217
|
+
- `component` (string, required): Name of the DaVinci component (must start with `davinci-`, e.g., `davinci-button`)
|
|
218
|
+
|
|
219
|
+
**Example prompts:**
|
|
220
|
+
|
|
221
|
+
- "How do I migrate from davinci-button to Synergy?"
|
|
222
|
+
- "Show me the migration guide for davinci-input"
|
|
223
|
+
- "What's the Synergy equivalent of davinci-auto-suggest?"
|
|
224
|
+
|
|
225
|
+
### 12. `framework-info`
|
|
226
|
+
|
|
227
|
+
**Description:** Get information about a specific framework package that the Synergy Design System supports.
|
|
228
|
+
|
|
229
|
+
**Parameters:**
|
|
230
|
+
|
|
231
|
+
- `framework` (string, optional): Framework name (`react`, `vue`, `angular`, `vanilla`). Defaults to `vanilla`
|
|
232
|
+
- `setupInstructions` (boolean, optional): Adds additional context to include setup instructions for all synergy applications. Defaults to `false`
|
|
233
|
+
|
|
234
|
+
**Example prompts:**
|
|
235
|
+
|
|
236
|
+
- "How do I set up Synergy with React?"
|
|
237
|
+
- "Show me the Angular integration guide"
|
|
238
|
+
- "What's needed to use Synergy with Vue?"
|
|
239
|
+
- "How do I install Synergy for vanilla JavaScript?"
|
|
240
|
+
|
|
241
|
+
### 13. `migration-info`
|
|
242
|
+
|
|
243
|
+
**Description:** Get information about migrations available in the Synergy Design System, including breaking changes between major versions.
|
|
244
|
+
|
|
245
|
+
**Parameters:** None
|
|
246
|
+
|
|
247
|
+
**Example prompts:**
|
|
248
|
+
|
|
249
|
+
- "What migrations are available in Synergy?"
|
|
250
|
+
- "How do I migrate from Synergy v1 to v2?"
|
|
251
|
+
- "Show me breaking changes between versions"
|
|
252
|
+
- "What changed in the latest Synergy version?"
|
|
253
|
+
|
|
254
|
+
### 14. `version`
|
|
255
|
+
|
|
256
|
+
**Description:** Get version and basic information about the Synergy Design System MCP Server.
|
|
257
|
+
|
|
258
|
+
**Parameters:** None
|
|
259
|
+
|
|
260
|
+
**Example prompts:**
|
|
261
|
+
|
|
262
|
+
- "What version of the MCP server is running?"
|
|
263
|
+
- "Show me information about this Synergy MCP server"
|
|
264
|
+
- "What's the current version?"
|
|
265
|
+
|
|
266
|
+
## Developer Documentation
|
|
267
|
+
|
|
268
|
+
### Project Structure
|
|
269
|
+
|
|
270
|
+
```
|
|
271
|
+
src/
|
|
272
|
+
├── bin/
|
|
273
|
+
│ └── start.ts # CLI entry point (syn-mcp command)
|
|
274
|
+
├── build/ # Build scripts for metadata generation
|
|
275
|
+
│ ├── assets.ts # Asset metadata builder
|
|
276
|
+
│ ├── build.ts # Main build orchestrator
|
|
277
|
+
│ ├── components.ts # Component metadata builder
|
|
278
|
+
│ ├── frameworks.ts # Framework info builder
|
|
279
|
+
│ ├── static.ts # Static content builder
|
|
280
|
+
│ ├── styles.ts # Styles metadata builder
|
|
281
|
+
│ └── tokens.ts # Token metadata builder
|
|
282
|
+
├── scripts/ # Build and utility scripts
|
|
283
|
+
│ └── generate-checksum.ts # TypeScript checksum generator (replaces shell scripts)
|
|
284
|
+
├── server.ts # MCP server setup and tool registration
|
|
285
|
+
├── tools/ # MCP tool implementations
|
|
286
|
+
│ ├── asset-info.ts # Icon search and information
|
|
287
|
+
│ ├── asset-list.ts # Available iconsets
|
|
288
|
+
│ ├── component-info.ts # Individual component details
|
|
289
|
+
│ ├── component-list.ts # List all components
|
|
290
|
+
│ ├── davinci-migration.ts # Migration guides
|
|
291
|
+
│ ├── framework-info.ts # Framework-specific information
|
|
292
|
+
│ ├── styles-info.ts # CSS utilities information
|
|
293
|
+
│ ├── styles-list.ts # List all styles
|
|
294
|
+
│ ├── template-info.ts # Template details
|
|
295
|
+
│ ├── template-list.ts # List all templates
|
|
296
|
+
│ ├── tokens.ts # Design tokens
|
|
297
|
+
│ ├── version.ts # MCP server version info
|
|
298
|
+
│ └── index.ts # Tool exports
|
|
299
|
+
└── utilities/ # Helper functions and metadata loaders
|
|
300
|
+
├── assets.ts # Asset utilities
|
|
301
|
+
├── checksum.ts # Folder checksum utilities (replaces shell scripts)
|
|
302
|
+
├── components.ts # Component utilities
|
|
303
|
+
├── config.ts # Configuration management
|
|
304
|
+
├── file.ts # File system utilities
|
|
305
|
+
├── metadata.ts # Metadata loading utilities
|
|
306
|
+
├── stdio.ts # Standard I/O utilities
|
|
307
|
+
├── styles.ts # Style utilities
|
|
308
|
+
├── templates.ts # Template utilities
|
|
309
|
+
├── tokens.ts # Token utilities
|
|
310
|
+
├── version.ts # Version utilities
|
|
311
|
+
├── storybook/ # Storybook documentation utilities
|
|
312
|
+
└── index.ts # Utility exports
|
|
313
|
+
metadata/ # Generated and static metadata files
|
|
314
|
+
├── checksum.txt # Metadata integrity checksum
|
|
315
|
+
├── davinci-migration/ # DaVinci to Synergy migration guides
|
|
316
|
+
├── packages/ # Synergy package specific information
|
|
317
|
+
└── static/ # Static metadata for tools
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
### Available Scripts
|
|
321
|
+
|
|
322
|
+
The following npm scripts are available for development:
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
# Build the entire project (TypeScript + metadata + Storybook docs)
|
|
326
|
+
pnpm build
|
|
327
|
+
|
|
328
|
+
# Build only TypeScript files
|
|
329
|
+
pnpm build:ts
|
|
330
|
+
|
|
331
|
+
# Build metadata from source packages
|
|
332
|
+
pnpm build:metadata
|
|
333
|
+
|
|
334
|
+
# Generate metadata integrity checksum (uses TypeScript instead of shell script)
|
|
335
|
+
pnpm build:hash
|
|
336
|
+
|
|
337
|
+
# Build Storybook documentation
|
|
338
|
+
pnpm build:storybook
|
|
339
|
+
|
|
340
|
+
# Run linting
|
|
341
|
+
pnpm lint
|
|
342
|
+
pnpm lint:js
|
|
343
|
+
|
|
344
|
+
# Run tests with coverage
|
|
345
|
+
pnpm test
|
|
346
|
+
|
|
347
|
+
# Create a release (dry run)
|
|
348
|
+
pnpm release.dry
|
|
349
|
+
|
|
350
|
+
# Create a release
|
|
351
|
+
pnpm release
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Development Workflow
|
|
355
|
+
|
|
356
|
+
1. **Setup**: Install dependencies with `pnpm install`
|
|
357
|
+
2. **Build**: Run `pnpm build` to compile TypeScript and generate metadata
|
|
358
|
+
- `pnpm build:ts` compiles TypeScript files
|
|
359
|
+
- `pnpm build:metadata` generates metadata from source packages
|
|
360
|
+
- `pnpm build:hash` creates integrity checksum for metadata using TypeScript utilities
|
|
361
|
+
3. **Test**: Use `pnpm test` to run the test suite with coverage
|
|
362
|
+
4. **Lint**: Run `pnpm lint` to check code quality
|
|
363
|
+
5. **Run**: Start the server with `npx syn-mcp` or `node dist/bin/start.js`
|
|
364
|
+
|
|
365
|
+
The metadata build process runs multiple specialized builders in sequence:
|
|
366
|
+
|
|
367
|
+
1. Assets (icons and iconsets)
|
|
368
|
+
2. Components (from package manifests)
|
|
369
|
+
3. Framework information (setup guides)
|
|
370
|
+
4. Design tokens (CSS and JS tokens)
|
|
371
|
+
5. Styles (utility classes)
|
|
372
|
+
6. Static files (hand-written documentation)
|
|
373
|
+
|
|
374
|
+
### Adding New Tools
|
|
375
|
+
|
|
376
|
+
To add a new tool:
|
|
377
|
+
|
|
378
|
+
1. Create a new file in `src/tools/` (e.g., `my-tool.ts`)
|
|
379
|
+
2. Implement the tool following the MCP SDK patterns
|
|
380
|
+
3. Export the tool from `src/tools/index.ts`
|
|
381
|
+
4. Your tool will automatically be registered into the server.
|
|
382
|
+
|
|
383
|
+
Example tool structure:
|
|
384
|
+
|
|
385
|
+
```typescript
|
|
386
|
+
import { z } from "zod";
|
|
387
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
388
|
+
|
|
389
|
+
export const myTool = (server: McpServer) => {
|
|
390
|
+
server.registerTool(
|
|
391
|
+
"my-tool",
|
|
392
|
+
{
|
|
393
|
+
description: "Description of what the tool does",
|
|
394
|
+
inputSchema: {
|
|
395
|
+
param: z.string().describe("Parameter description"),
|
|
396
|
+
},
|
|
397
|
+
title: "My Tool",
|
|
398
|
+
},
|
|
399
|
+
async ({ param }) => {
|
|
400
|
+
// Tool implementation
|
|
401
|
+
return {
|
|
402
|
+
content: [
|
|
403
|
+
{
|
|
404
|
+
text: `Result for ${param}`,
|
|
405
|
+
type: "text",
|
|
406
|
+
},
|
|
407
|
+
],
|
|
408
|
+
};
|
|
409
|
+
},
|
|
410
|
+
);
|
|
411
|
+
};
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
### Metadata Management
|
|
415
|
+
|
|
416
|
+
Metadata is stored in the `metadata/` directory and is built during the build process:
|
|
417
|
+
|
|
418
|
+
- **Static metadata**: Hand-written files in `metadata/static/`
|
|
419
|
+
- **Component metadata**: Generated from Synergy packages in `metadata/packages/`
|
|
420
|
+
- **Migration guides**: DaVinci migration information in `metadata/davinci-migration/`
|
|
421
|
+
- **Checksum validation**: `metadata/checksum.txt` ensures metadata integrity
|
|
422
|
+
|
|
423
|
+
The `pnpm build:metadata` script processes source packages and generates structured metadata files using specialized builders:
|
|
424
|
+
|
|
425
|
+
- `build/assets.ts` - Processes icon and asset information
|
|
426
|
+
- `build/components.ts` - Extracts component metadata from packages
|
|
427
|
+
- `build/frameworks.ts` - Generates framework-specific documentation
|
|
428
|
+
- `build/static.ts` - Processes static content files
|
|
429
|
+
- `build/styles.ts` - Extracts CSS utility information
|
|
430
|
+
- `build/tokens.ts` - Processes design token data
|
|
431
|
+
- `build/build.ts` - Orchestrates the entire build process
|
|
432
|
+
|
|
433
|
+
### Checksum Utilities
|
|
434
|
+
|
|
435
|
+
The project includes TypeScript utilities for generating and verifying folder checksums, replacing shell scripts for cross-platform compatibility:
|
|
436
|
+
|
|
437
|
+
**Key Features:**
|
|
438
|
+
|
|
439
|
+
- **Cross-platform**: Works on Windows, macOS, and Linux
|
|
440
|
+
- **Configurable**: Support for custom exclude patterns and hash algorithms (MD5, SHA1, SHA256)
|
|
441
|
+
- **TypeScript native**: Full type safety and IDE support
|
|
442
|
+
- **Shell script replacement**: Replaces `find | sort | xargs | md5` commands
|
|
443
|
+
|
|
444
|
+
**Available Functions:**
|
|
445
|
+
|
|
446
|
+
- `createFolderChecksum(path, options?)` - Generate checksum and optionally write to file
|
|
447
|
+
- `verifyFolderChecksum(path, options?)` - Verify current contents match stored checksum
|
|
448
|
+
- `getFolderChecksum(path, options?)` - Get checksum without writing to file
|
|
449
|
+
|
|
450
|
+
**Usage Example:**
|
|
451
|
+
|
|
452
|
+
```typescript
|
|
453
|
+
import {
|
|
454
|
+
createFolderChecksum,
|
|
455
|
+
verifyFolderChecksum,
|
|
456
|
+
} from "./utilities/checksum.js";
|
|
457
|
+
|
|
458
|
+
// Generate checksum (equivalent to shell script)
|
|
459
|
+
await createFolderChecksum("./metadata", {
|
|
460
|
+
excludePatterns: [".*", "checksum.txt"],
|
|
461
|
+
algorithm: "md5",
|
|
462
|
+
outputFile: "checksum.txt",
|
|
463
|
+
});
|
|
464
|
+
|
|
465
|
+
// Verify integrity
|
|
466
|
+
const isValid = await verifyFolderChecksum("./metadata");
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
The build process uses `scripts/generate-checksum.ts` instead of shell commands for better cross-platform support and maintainability.
|
|
470
|
+
|
|
471
|
+
### Binary Distribution
|
|
472
|
+
|
|
473
|
+
The package includes a `syn-mcp` binary that starts the MCP server via stdio transport. This is defined in `package.json`:
|
|
474
|
+
|
|
475
|
+
```json
|
|
476
|
+
{
|
|
477
|
+
"bin": {
|
|
478
|
+
"syn-mcp": "./dist/bin/start.js"
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
## Usage Examples
|
|
484
|
+
|
|
485
|
+
### Command Line Interface
|
|
486
|
+
|
|
487
|
+
```bash
|
|
488
|
+
# Start the MCP server
|
|
489
|
+
syn-mcp
|
|
490
|
+
|
|
491
|
+
# The server will communicate via stdio and wait for MCP protocol messages
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
### Programmatic Usage
|
|
495
|
+
|
|
496
|
+
```typescript
|
|
497
|
+
import { createServer } from "@synergy-design-system/mcp";
|
|
498
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
499
|
+
|
|
500
|
+
// Create and start the server
|
|
501
|
+
const server = createServer();
|
|
502
|
+
const transport = new StdioServerTransport();
|
|
503
|
+
await server.connect(transport);
|
|
504
|
+
```
|
|
505
|
+
|
|
506
|
+
### AI Assistant Integration
|
|
507
|
+
|
|
508
|
+
Once configured with an AI assistant, you can use natural language prompts like:
|
|
509
|
+
|
|
510
|
+
```
|
|
511
|
+
"Show me how to use syn-button in React"
|
|
512
|
+
"What icons are available for navigation?"
|
|
513
|
+
"How do I migrate from davinci-textarea to Synergy?"
|
|
514
|
+
"How do I migrate from Synergy v1 to v2?"
|
|
515
|
+
"List all available Synergy components"
|
|
516
|
+
"What CSS utilities does Synergy provide?"
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
The MCP server will interpret these prompts and call the appropriate tools to provide structured responses.
|
|
520
|
+
|
|
521
|
+
## Architecture
|
|
522
|
+
|
|
523
|
+
The MCP server is built using the Model Context Protocol SDK and provides a standardized interface for AI assistants to access Synergy Design System information.
|
|
524
|
+
|
|
525
|
+
### Core Components
|
|
526
|
+
|
|
527
|
+
- **Server**: MCP server instance that manages tool registration and request handling
|
|
528
|
+
- **Tools**: Individual tool implementations that provide specific functionality
|
|
529
|
+
- **Utilities**: Helper functions for metadata loading and processing
|
|
530
|
+
- **Metadata**: Static and generated metadata files containing component and framework information
|
|
531
|
+
|
|
532
|
+
### Data Flow
|
|
533
|
+
|
|
534
|
+
1. AI assistant sends MCP request to the server
|
|
535
|
+
2. Server routes request to appropriate tool
|
|
536
|
+
3. Tool processes request and loads relevant metadata
|
|
537
|
+
4. Tool returns structured response to AI assistant
|
|
538
|
+
5. AI assistant processes response and provides user-friendly output
|
|
539
|
+
|
|
540
|
+
## License
|
|
541
|
+
|
|
542
|
+
MIT
|
|
543
|
+
|
|
544
|
+
---
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
4
|
+
import ora from 'ora';
|
|
5
|
+
import { createFolderChecksum, metaDataPath, } from '../utilities/index.js';
|
|
6
|
+
async function run() {
|
|
7
|
+
const spinner = ora('Generating checksum for metadata folder...').start();
|
|
8
|
+
try {
|
|
9
|
+
spinner.text = 'Cleaning up old checksum...';
|
|
10
|
+
const checksum = await createFolderChecksum(metaDataPath, {
|
|
11
|
+
algorithm: 'md5',
|
|
12
|
+
excludePatterns: ['.*', 'checksum.txt'],
|
|
13
|
+
outputFile: 'checksum.txt',
|
|
14
|
+
});
|
|
15
|
+
spinner.info(`Checksum generated: ${checksum}`);
|
|
16
|
+
spinner.succeed(`Written to: ${metaDataPath}/checksum.txt`);
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
spinner.fail(`Failed to generate checksum: ${error}`);
|
|
20
|
+
process.exit(1);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
run();
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
3
|
+
import { createServer } from '../server.js';
|
|
4
|
+
import { handleCommandLineArgs } from '../utilities/index.js';
|
|
5
|
+
handleCommandLineArgs();
|
|
6
|
+
const server = createServer();
|
|
7
|
+
const transport = new StdioServerTransport();
|
|
8
|
+
await server.connect(transport);
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import { fileURLToPath } from 'url';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { globby } from 'globby';
|
|
5
|
+
import { rimraf } from 'rimraf';
|
|
6
|
+
import ora from 'ora';
|
|
7
|
+
import { assetsPath, createPath, } from '../utilities/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* List of relative paths to files that should be copied to the static metadata directory.
|
|
10
|
+
*/
|
|
11
|
+
const filesToCopy = [
|
|
12
|
+
'README.md',
|
|
13
|
+
'CHANGELOG.md',
|
|
14
|
+
];
|
|
15
|
+
/**
|
|
16
|
+
* Sets up all wanted data from the assets package and adds it to the static metadata.
|
|
17
|
+
*/
|
|
18
|
+
export const buildAssets = async () => {
|
|
19
|
+
const spinner = ora({
|
|
20
|
+
prefixText: 'Assets:',
|
|
21
|
+
text: 'Generating static metadata...',
|
|
22
|
+
}).start();
|
|
23
|
+
try {
|
|
24
|
+
spinner.text = 'Cleaning up old metadata...';
|
|
25
|
+
await rimraf(assetsPath);
|
|
26
|
+
spinner.succeed('Old metadata cleaned up.');
|
|
27
|
+
spinner.text = 'Creating new metadata directory...';
|
|
28
|
+
// Create the assets directory if it doesn't exist
|
|
29
|
+
await createPath(assetsPath);
|
|
30
|
+
spinner.succeed('New metadata directory created.');
|
|
31
|
+
spinner.text = 'Copying files to metadata directory...';
|
|
32
|
+
// Get the module's root directory
|
|
33
|
+
// Note that the default export resolves to dist/index.js,
|
|
34
|
+
// so we need to go up one level to get to the root of the package!
|
|
35
|
+
const moduleUrl = import.meta.resolve('@synergy-design-system/assets');
|
|
36
|
+
const modulePath = fileURLToPath(moduleUrl);
|
|
37
|
+
const moduleDir = path.join(path.dirname(modulePath), '../');
|
|
38
|
+
// Process the files (placeholder for actual logic)
|
|
39
|
+
// eslint-disable-next-line no-console
|
|
40
|
+
const contents = await globby(filesToCopy, {
|
|
41
|
+
cwd: moduleDir,
|
|
42
|
+
onlyFiles: true,
|
|
43
|
+
});
|
|
44
|
+
// Write the files to the tokens directory into a flat structure
|
|
45
|
+
const copies = contents.map(file => {
|
|
46
|
+
const sourcePath = path.join(moduleDir, file);
|
|
47
|
+
const destPath = path.join(assetsPath, path.basename(file));
|
|
48
|
+
return fs.copyFile(sourcePath, destPath);
|
|
49
|
+
});
|
|
50
|
+
await Promise.all(copies);
|
|
51
|
+
spinner.succeed('Assets metadata generated successfully.');
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
spinner.fail(`Failed to generate assets metadata. Error: ${error}`);
|
|
55
|
+
throw error; // Re-throw to handle it in the calling function
|
|
56
|
+
}
|
|
57
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|