@maz-ui/mcp 5.0.1-beta.0 → 5.1.0-beta.1
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/README.md +61 -228
- package/bin/maz-ui-mcp.mjs +2 -5
- package/dist/cli.d.mts +7 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.mjs +16 -0
- package/dist/index.d.mts +345 -0
- package/dist/index.d.ts +345 -0
- package/dist/index.mjs +16 -0
- package/dist/shared/mcp.DseFuKdl.mjs +2968 -0
- package/docs/README.md +207 -0
- package/docs/agents/agents-md.md +52 -0
- package/docs/agents/claude-rule.md +52 -0
- package/docs/components/maz-accordion.md +78 -0
- package/docs/{src/components → components}/maz-alert.md +31 -164
- package/docs/components/maz-animated-counter.md +87 -0
- package/docs/components/maz-animated-element.md +46 -0
- package/docs/components/maz-animated-text.md +53 -0
- package/docs/components/maz-avatar.md +193 -0
- package/docs/components/maz-backdrop.md +178 -0
- package/docs/{src/components → components}/maz-badge.md +26 -67
- package/docs/components/maz-bottom-sheet.md +257 -0
- package/docs/{src/components → components}/maz-btn-group.md +27 -189
- package/docs/{src/components → components}/maz-btn.md +62 -245
- package/docs/components/maz-card-spotlight.md +84 -0
- package/docs/{src/components → components}/maz-card.md +67 -192
- package/docs/components/maz-carousel.md +153 -0
- package/docs/{src/components → components}/maz-chart.md +17 -161
- package/docs/components/maz-checkbox.md +138 -0
- package/docs/components/maz-checklist.md +251 -0
- package/docs/components/maz-circular-progress-bar.md +109 -0
- package/docs/{src/components → components}/maz-code-highlight.md +15 -93
- package/docs/components/maz-container.md +241 -0
- package/docs/{src/components → components}/maz-date-picker.md +85 -454
- package/docs/components/maz-dialog-confirm.md +215 -0
- package/docs/components/maz-dialog.md +143 -0
- package/docs/components/maz-drawer.md +107 -0
- package/docs/components/maz-dropdown.md +419 -0
- package/docs/{src/components → components}/maz-dropzone.md +80 -221
- package/docs/components/maz-expand-animation.md +82 -0
- package/docs/components/maz-fullscreen-loader.md +58 -0
- package/docs/components/maz-gallery.md +79 -0
- package/docs/{src/components → components}/maz-icon.md +32 -83
- package/docs/components/maz-input-code.md +73 -0
- package/docs/components/maz-input-number.md +79 -0
- package/docs/components/maz-input-phone-number.md +536 -0
- package/docs/components/maz-input-price.md +68 -0
- package/docs/components/maz-input-tags.md +112 -0
- package/docs/{src/components → components}/maz-input.md +74 -221
- package/docs/components/maz-lazy-img.md +113 -0
- package/docs/components/maz-link.md +146 -0
- package/docs/components/maz-loading-bar.md +38 -0
- package/docs/{src/components → components}/maz-markdown-editor.md +72 -125
- package/docs/components/maz-pagination.md +82 -0
- package/docs/components/maz-popover.md +794 -0
- package/docs/{src/components → components}/maz-pull-to-refresh.md +59 -45
- package/docs/components/maz-radio-buttons.md +313 -0
- package/docs/components/maz-radio.md +119 -0
- package/docs/{src/components → components}/maz-read-more.md +31 -122
- package/docs/components/maz-reading-progress-bar.md +96 -0
- package/docs/{src/components → components}/maz-select-country.md +80 -340
- package/docs/{src/components → components}/maz-select.md +76 -206
- package/docs/components/maz-sidebar-content.md +25 -0
- package/docs/components/maz-sidebar-footer.md +25 -0
- package/docs/components/maz-sidebar-group.md +27 -0
- package/docs/components/maz-sidebar-header.md +25 -0
- package/docs/components/maz-sidebar-menu-button.md +41 -0
- package/docs/components/maz-sidebar-menu-item.md +25 -0
- package/docs/components/maz-sidebar-menu-sub.md +32 -0
- package/docs/components/maz-sidebar-menu.md +25 -0
- package/docs/components/maz-sidebar-separator.md +21 -0
- package/docs/components/maz-sidebar-trigger.md +25 -0
- package/docs/{src/components → components}/maz-sidebar.md +117 -329
- package/docs/{src/components → components}/maz-skeleton.md +27 -156
- package/docs/{src/components → components}/maz-slider.md +33 -66
- package/docs/components/maz-spinner.md +84 -0
- package/docs/{src/components → components}/maz-stepper.md +48 -185
- package/docs/components/maz-switch.md +86 -0
- package/docs/components/maz-table-cell.md +27 -0
- package/docs/components/maz-table-row.md +28 -0
- package/docs/components/maz-table-title.md +27 -0
- package/docs/components/maz-table-virtualizer.md +31 -0
- package/docs/components/maz-table.md +426 -0
- package/docs/components/maz-tabs-bar.md +43 -0
- package/docs/components/maz-tabs-content-item.md +27 -0
- package/docs/components/maz-tabs-content.md +27 -0
- package/docs/{src/components → components}/maz-tabs.md +89 -126
- package/docs/components/maz-textarea.md +255 -0
- package/docs/components/maz-ticker.md +427 -0
- package/docs/components/maz-timeline.md +304 -0
- package/docs/components/maz-ui-provider.md +26 -0
- package/docs/{src/components → components}/maz-window-mockup.md +38 -105
- package/docs/composables/use-aos.md +41 -0
- package/docs/composables/use-breakpoints.md +42 -0
- package/docs/composables/use-dialog.md +58 -0
- package/docs/{src/composables → composables}/use-display-names.md +12 -59
- package/docs/{src/composables → composables}/use-drag.md +14 -68
- package/docs/{src/composables → composables}/use-form-validator.md +22 -696
- package/docs/{src/composables → composables}/use-idle-timeout.md +13 -97
- package/docs/{src/composables → composables}/use-pull-to-refresh.md +14 -7
- package/docs/{src/composables → composables}/use-reading-time.md +20 -56
- package/docs/composables/use-string-matching.md +41 -0
- package/docs/{src/composables → composables}/use-swipe.md +14 -81
- package/docs/{src/composables → composables}/use-timer.md +12 -38
- package/docs/composables/use-toast.md +50 -0
- package/docs/{src/composables → composables}/use-user-visibility.md +14 -56
- package/docs/composables/use-wait.md +50 -0
- package/docs/composables/use-window-size.md +25 -0
- package/docs/{src/directives → directives}/click-outside.md +13 -99
- package/docs/{src/directives → directives}/fullscreen-img.md +10 -28
- package/docs/{src/directives → directives}/lazy-img.md +14 -49
- package/docs/{src/directives → directives}/tooltip.md +12 -217
- package/docs/{src/directives → directives}/zoom-img.md +11 -38
- package/docs/{src/ecosystem → ecosystem}/eslint-config.md +37 -29
- package/docs/ecosystem/icons/icon-set.md +25 -0
- package/docs/{src/ecosystem → ecosystem}/icons/index.md +21 -15
- package/docs/ecosystem/mcp.md +165 -0
- package/docs/{src/ecosystem → ecosystem}/node/exec-promise.md +12 -6
- package/docs/ecosystem/node/index.md +53 -0
- package/docs/{src/ecosystem → ecosystem}/node/logger.md +12 -6
- package/docs/{src/ecosystem → ecosystem}/node/print-banner.md +12 -4
- package/docs/ecosystem/node/setup-agents.md +102 -0
- package/docs/{src/ecosystem → ecosystem}/nuxt.md +50 -19
- package/docs/{src/ecosystem → ecosystem}/stylelint-config.md +33 -25
- package/docs/{src/ecosystem → ecosystem}/themes.md +72 -235
- package/docs/{src/ecosystem → ecosystem}/translations.md +25 -23
- package/docs/ecosystem/utils/camel-case.md +37 -0
- package/docs/ecosystem/utils/capitalize.md +37 -0
- package/docs/{src/ecosystem → ecosystem}/utils/check-availability.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/cookie.md +18 -12
- package/docs/ecosystem/utils/country-code-to-unicode-flag.md +128 -0
- package/docs/{src/ecosystem → ecosystem}/utils/currency.md +12 -26
- package/docs/{src/ecosystem → ecosystem}/utils/date.md +10 -24
- package/docs/ecosystem/utils/debounce-callback.md +44 -0
- package/docs/{src/ecosystem → ecosystem}/utils/debounce-id.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/debounce.md +14 -8
- package/docs/ecosystem/utils/fetch-locale-ip.md +39 -0
- package/docs/{src/ecosystem → ecosystem}/utils/format-json.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/format-phone-number.md +12 -6
- package/docs/ecosystem/utils/get-browser-locale.md +35 -0
- package/docs/ecosystem/utils/get-country-flag-url.md +67 -0
- package/docs/{src/ecosystem → ecosystem}/utils/get-error-message.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/idle-timeout.md +15 -9
- package/docs/{src/ecosystem → ecosystem}/utils/index.md +10 -13
- package/docs/{src/ecosystem → ecosystem}/utils/is-client.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/is-equal.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/is-ios.md +12 -6
- package/docs/ecosystem/utils/is-server.md +37 -0
- package/docs/ecosystem/utils/is-standalone-mode.md +49 -0
- package/docs/{src/ecosystem → ecosystem}/utils/kebab-case.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/normalize-string.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/number.md +10 -24
- package/docs/{src/ecosystem → ecosystem}/utils/pascal-case.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/prevent-ios-input-zoom.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/script-loader.md +16 -8
- package/docs/{src/ecosystem → ecosystem}/utils/sleep.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/snake-case.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/swipe-handler.md +14 -8
- package/docs/{src/ecosystem → ecosystem}/utils/textarea-autogrow.md +12 -6
- package/docs/{src/ecosystem → ecosystem}/utils/throttle-id.md +13 -7
- package/docs/{src/ecosystem → ecosystem}/utils/throttle.md +14 -8
- package/docs/ecosystem/utils/truthy-filter.md +37 -0
- package/docs/{src/ecosystem → ecosystem}/utils/types/deep-key-of.md +11 -5
- package/docs/{src/ecosystem → ecosystem}/utils/types/deep-partial.md +10 -4
- package/docs/ecosystem/utils/types/deep-required.md +45 -0
- package/docs/ecosystem/utils/types/flatten-object-keys.md +50 -0
- package/docs/{src/ecosystem → ecosystem}/utils/types/generic-instance-type.md +10 -4
- package/docs/{src/ecosystem → ecosystem}/utils/types/infer-maybe-ref.md +10 -4
- package/docs/ecosystem/utils/upper-first.md +38 -0
- package/docs/{src/ecosystem → ecosystem}/utils/user-visibility.md +12 -6
- package/docs/guide/ai-agents.md +239 -0
- package/docs/{src/guide → guide}/browser-support.md +22 -15
- package/docs/{src/guide → guide}/getting-started.md +34 -139
- package/docs/{src/guide → guide}/global-defaults.md +12 -11
- package/docs/{src/guide → guide}/maz-ui-provider.md +17 -16
- package/docs/{src/guide → guide}/migration-v5.md +95 -88
- package/docs/{src/guide → guide}/resolvers.md +33 -100
- package/docs/guide/tailwind.md +507 -0
- package/docs/{src/guide → guide}/vue.md +33 -39
- package/docs/manifest.json +1 -0
- package/docs/{src/plugins → plugins}/aos.md +20 -55
- package/docs/{src/plugins → plugins}/dialog.md +14 -161
- package/docs/plugins/toast.md +221 -0
- package/docs/plugins/wait.md +78 -0
- package/docs/reference/icons.md +46 -0
- package/docs/reference/tailwind-tokens.md +191 -0
- package/docs/rules.md +59 -0
- package/package.json +86 -22
- package/dist/mcp.d.mts +0 -153
- package/dist/mcp.d.ts +0 -153
- package/dist/mcp.mjs +0 -1511
- package/docs/generated-docs/maz-accordion.doc.md +0 -21
- package/docs/generated-docs/maz-alert.doc.md +0 -20
- package/docs/generated-docs/maz-animated-counter.doc.md +0 -17
- package/docs/generated-docs/maz-animated-element.doc.md +0 -14
- package/docs/generated-docs/maz-animated-text.doc.md +0 -17
- package/docs/generated-docs/maz-avatar.doc.md +0 -45
- package/docs/generated-docs/maz-backdrop.doc.md +0 -55
- package/docs/generated-docs/maz-badge.doc.md +0 -16
- package/docs/generated-docs/maz-bottom-sheet.doc.md +0 -24
- package/docs/generated-docs/maz-btn-group.doc.md +0 -20
- package/docs/generated-docs/maz-btn.doc.md +0 -33
- package/docs/generated-docs/maz-card-spotlight.doc.md +0 -16
- package/docs/generated-docs/maz-card.doc.md +0 -39
- package/docs/generated-docs/maz-carousel.doc.md +0 -17
- package/docs/generated-docs/maz-chart.doc.md +0 -10
- package/docs/generated-docs/maz-checkbox.doc.md +0 -33
- package/docs/generated-docs/maz-checklist.doc.md +0 -30
- package/docs/generated-docs/maz-circular-progress-bar.doc.md +0 -27
- package/docs/generated-docs/maz-code-highlight.doc.md +0 -11
- package/docs/generated-docs/maz-container.doc.md +0 -26
- package/docs/generated-docs/maz-date-picker.doc.md +0 -56
- package/docs/generated-docs/maz-dialog-confirm.doc.md +0 -24
- package/docs/generated-docs/maz-dialog.doc.md +0 -22
- package/docs/generated-docs/maz-drawer.doc.md +0 -25
- package/docs/generated-docs/maz-dropdown.doc.md +0 -45
- package/docs/generated-docs/maz-dropzone.doc.md +0 -82
- package/docs/generated-docs/maz-expand-animation.doc.md +0 -12
- package/docs/generated-docs/maz-fullscreen-loader.doc.md +0 -13
- package/docs/generated-docs/maz-gallery.doc.md +0 -17
- package/docs/generated-docs/maz-icon.doc.md +0 -16
- package/docs/generated-docs/maz-input-code.doc.md +0 -25
- package/docs/generated-docs/maz-input-number.doc.md +0 -33
- package/docs/generated-docs/maz-input-phone-number.doc.md +0 -62
- package/docs/generated-docs/maz-input-price.doc.md +0 -26
- package/docs/generated-docs/maz-input-tags.doc.md +0 -24
- package/docs/generated-docs/maz-input.doc.md +0 -54
- package/docs/generated-docs/maz-lazy-img.doc.md +0 -49
- package/docs/generated-docs/maz-link.doc.md +0 -31
- package/docs/generated-docs/maz-loading-bar.doc.md +0 -6
- package/docs/generated-docs/maz-markdown-editor.doc.md +0 -65
- package/docs/generated-docs/maz-pagination.doc.md +0 -21
- package/docs/generated-docs/maz-popover.doc.md +0 -79
- package/docs/generated-docs/maz-pull-to-refresh.doc.md +0 -50
- package/docs/generated-docs/maz-radio-buttons.doc.md +0 -34
- package/docs/generated-docs/maz-radio.doc.md +0 -33
- package/docs/generated-docs/maz-read-more.doc.md +0 -18
- package/docs/generated-docs/maz-reading-progress-bar.doc.md +0 -18
- package/docs/generated-docs/maz-select-country.doc.md +0 -45
- package/docs/generated-docs/maz-select.doc.md +0 -32
- package/docs/generated-docs/maz-sidebar-content.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-footer.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-group.doc.md +0 -11
- package/docs/generated-docs/maz-sidebar-header.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-menu-button.doc.md +0 -27
- package/docs/generated-docs/maz-sidebar-menu-item.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-menu-sub.doc.md +0 -16
- package/docs/generated-docs/maz-sidebar-menu.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar-separator.doc.md +0 -0
- package/docs/generated-docs/maz-sidebar-trigger.doc.md +0 -5
- package/docs/generated-docs/maz-sidebar.doc.md +0 -36
- package/docs/generated-docs/maz-skeleton.doc.md +0 -12
- package/docs/generated-docs/maz-slider.doc.md +0 -20
- package/docs/generated-docs/maz-spinner.doc.md +0 -6
- package/docs/generated-docs/maz-stepper.doc.md +0 -30
- package/docs/generated-docs/maz-switch.doc.md +0 -31
- package/docs/generated-docs/maz-table-cell.doc.md +0 -5
- package/docs/generated-docs/maz-table-row.doc.md +0 -12
- package/docs/generated-docs/maz-table-title.doc.md +0 -5
- package/docs/generated-docs/maz-table-virtualizer.doc.md +0 -20
- package/docs/generated-docs/maz-table.doc.md +0 -72
- package/docs/generated-docs/maz-tabs-bar.doc.md +0 -29
- package/docs/generated-docs/maz-tabs-content-item.doc.md +0 -11
- package/docs/generated-docs/maz-tabs-content.doc.md +0 -5
- package/docs/generated-docs/maz-tabs.doc.md +0 -20
- package/docs/generated-docs/maz-textarea.doc.md +0 -46
- package/docs/generated-docs/maz-ticker.doc.md +0 -25
- package/docs/generated-docs/maz-timeline.doc.md +0 -32
- package/docs/generated-docs/maz-ui-provider.doc.md +0 -12
- package/docs/generated-docs/maz-window-mockup.doc.md +0 -23
- package/docs/src/blog/v4.md +0 -276
- package/docs/src/blog/v5.md +0 -184
- package/docs/src/changelog.md +0 -7
- package/docs/src/components/index.md +0 -8
- package/docs/src/components/maz-accordion.md +0 -80
- package/docs/src/components/maz-animated-counter.md +0 -124
- package/docs/src/components/maz-animated-element.md +0 -36
- package/docs/src/components/maz-animated-text.md +0 -36
- package/docs/src/components/maz-avatar.md +0 -227
- package/docs/src/components/maz-backdrop.md +0 -250
- package/docs/src/components/maz-bottom-sheet.md +0 -533
- package/docs/src/components/maz-card-spotlight.md +0 -163
- package/docs/src/components/maz-carousel.md +0 -231
- package/docs/src/components/maz-checkbox.md +0 -168
- package/docs/src/components/maz-checklist.md +0 -414
- package/docs/src/components/maz-circular-progress-bar.md +0 -145
- package/docs/src/components/maz-container.md +0 -363
- package/docs/src/components/maz-dialog-confirm.md +0 -240
- package/docs/src/components/maz-dialog.md +0 -164
- package/docs/src/components/maz-drawer.md +0 -181
- package/docs/src/components/maz-dropdown.md +0 -691
- package/docs/src/components/maz-expand-animation.md +0 -99
- package/docs/src/components/maz-fullscreen-loader.md +0 -58
- package/docs/src/components/maz-gallery.md +0 -85
- package/docs/src/components/maz-input-code.md +0 -61
- package/docs/src/components/maz-input-number.md +0 -81
- package/docs/src/components/maz-input-phone-number.md +0 -942
- package/docs/src/components/maz-input-price.md +0 -67
- package/docs/src/components/maz-input-tags.md +0 -114
- package/docs/src/components/maz-lazy-img.md +0 -88
- package/docs/src/components/maz-link.md +0 -178
- package/docs/src/components/maz-loading-bar.md +0 -26
- package/docs/src/components/maz-pagination.md +0 -79
- package/docs/src/components/maz-popover.md +0 -1416
- package/docs/src/components/maz-radio-buttons.md +0 -462
- package/docs/src/components/maz-radio.md +0 -142
- package/docs/src/components/maz-reading-progress-bar.md +0 -74
- package/docs/src/components/maz-spinner.md +0 -93
- package/docs/src/components/maz-switch.md +0 -92
- package/docs/src/components/maz-table.md +0 -732
- package/docs/src/components/maz-textarea.md +0 -400
- package/docs/src/components/maz-ticker.md +0 -692
- package/docs/src/components/maz-timeline.md +0 -478
- package/docs/src/composables/use-aos.md +0 -34
- package/docs/src/composables/use-breakpoints.md +0 -35
- package/docs/src/composables/use-dialog.md +0 -88
- package/docs/src/composables/use-string-matching.md +0 -63
- package/docs/src/composables/use-toast.md +0 -71
- package/docs/src/composables/use-wait.md +0 -62
- package/docs/src/composables/use-window-size.md +0 -18
- package/docs/src/ecosystem/icons/icon-set.md +0 -123
- package/docs/src/ecosystem/mcp.md +0 -210
- package/docs/src/ecosystem/node/index.md +0 -53
- package/docs/src/ecosystem/utils/camel-case.md +0 -31
- package/docs/src/ecosystem/utils/capitalize.md +0 -50
- package/docs/src/ecosystem/utils/country-code-to-unicode-flag.md +0 -213
- package/docs/src/ecosystem/utils/debounce-callback.md +0 -38
- package/docs/src/ecosystem/utils/fetch-locale-ip.md +0 -33
- package/docs/src/ecosystem/utils/get-browser-locale.md +0 -29
- package/docs/src/ecosystem/utils/get-country-flag-url.md +0 -156
- package/docs/src/ecosystem/utils/is-server.md +0 -31
- package/docs/src/ecosystem/utils/is-standalone-mode.md +0 -43
- package/docs/src/ecosystem/utils/truthy-filter.md +0 -31
- package/docs/src/ecosystem/utils/types/deep-required.md +0 -39
- package/docs/src/ecosystem/utils/types/flatten-object-keys.md +0 -44
- package/docs/src/ecosystem/utils/upper-first.md +0 -32
- package/docs/src/guide/cli.md +0 -144
- package/docs/src/guide/migration-v4.md +0 -925
- package/docs/src/guide/tailwind.md +0 -158
- package/docs/src/index.md +0 -603
- package/docs/src/made-with-maz-ui.md +0 -58
- package/docs/src/plugins/toast.md +0 -349
- package/docs/src/plugins/wait.md +0 -109
- package/docs/src/theme-editor.md +0 -21
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "MCP server"
|
|
3
|
+
description: "The maz-ui MCP server gives AI coding agents the version-matched knowledge of maz-ui and its ecosystem - search by need, exact component APIs, icons, Tailwind theme tokens, setup guides and code review."
|
|
4
|
+
package: "@maz-ui/mcp"
|
|
5
|
+
url: "https://maz-ui.com/ecosystem/mcp"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# MCP server
|
|
9
|
+
|
|
10
|
+
> The maz-ui MCP server gives AI coding agents the version-matched knowledge of maz-ui and its ecosystem - search by need, exact component APIs, icons, Tailwind theme tokens, setup guides and code review.
|
|
11
|
+
|
|
12
|
+
- Package: `@maz-ui/mcp`
|
|
13
|
+
- Web: https://maz-ui.com/ecosystem/mcp
|
|
14
|
+
|
|
15
|
+
**Tip: Start with `npx @maz-ui/mcp init`**
|
|
16
|
+
|
|
17
|
+
It registers the server and writes the maz-ui rules for the agents of your project. See [AI agents](../guide/ai-agents.md) for the complete picture (rules, version-matched docs, Claude Code plugin, code review in CI).
|
|
18
|
+
|
|
19
|
+
## Tools
|
|
20
|
+
|
|
21
|
+
| Tool | Purpose |
|
|
22
|
+
| --- | --- |
|
|
23
|
+
| `search_docs` | Find what maz-ui provides for a need, described in plain words ("user avatar with initials", "confirm before delete", "debounce search") or by name. Understands the vocabulary of other libraries ("modal", "snackbar", "combobox") |
|
|
24
|
+
| `get_component_api` | Exact API of up to 10 components: props with types, defaults and accepted values, `v-model`, events with payload, slots with bindings, exposed methods |
|
|
25
|
+
| `find_icons` | Icons of `@maz-ui/icons` by meaning ("delete", "settings", "france flag") with their imports |
|
|
26
|
+
| `get_theme_tokens` | The theme of your project (preset values, `@theme` tokens, variants, utilities, read from your files) and every Tailwind class and CSS variable of the maz-ui theme: colors, radius, shadows, spacing, breakpoints, fonts, z-index, utilities |
|
|
27
|
+
| `get_doc` | Any documentation page by id or name (`components/maz-btn`, `useToast`, `guide/tailwind`), whole or by sections |
|
|
28
|
+
| `list_docs` | Catalog of the components, composables, directives, plugins, helpers, packages and guides |
|
|
29
|
+
| `get_setup_guide` | Installation steps for Vue or Nuxt, with or without Tailwind |
|
|
30
|
+
| `review_code` | Review files or code against the installed maz-ui: unknown props or values, unknown icons, native elements and libraries maz-ui already covers, default Tailwind palette, `maz:` prefix... |
|
|
31
|
+
|
|
32
|
+
Every tool is read-only. The server also gives agents instructions on when to use them, so they look maz-ui up before writing code.
|
|
33
|
+
|
|
34
|
+
### Prompts
|
|
35
|
+
|
|
36
|
+
| Prompt | Purpose |
|
|
37
|
+
| --- | --- |
|
|
38
|
+
| `build` | Implement a feature with the maz-ui ecosystem (search, APIs, icons, tokens, review) |
|
|
39
|
+
| `audit` | Find and fix what re-implements maz-ui in existing files |
|
|
40
|
+
| `setup` | Install and configure maz-ui in the project |
|
|
41
|
+
|
|
42
|
+
In Claude Code, they are available as `/maz-ui:build`, `/maz-ui:audit` and `/maz-ui:setup`.
|
|
43
|
+
|
|
44
|
+
## Version-matched docs
|
|
45
|
+
|
|
46
|
+
The server serves the documentation of the **maz-ui version installed in your project** (`node_modules/maz-ui/docs`), found from the directory it is started in (monorepos: the root, then `apps/*` and `packages/*`). Without maz-ui installed, it serves the docs bundled with `@maz-ui/mcp` (latest release).
|
|
47
|
+
|
|
48
|
+
To force a folder, pass `--docs <dir>` or set `MAZ_UI_DOCS_DIR`.
|
|
49
|
+
|
|
50
|
+
## Configuration
|
|
51
|
+
|
|
52
|
+
`npx @maz-ui/mcp init` writes the configuration of Claude Code, Cursor and VS Code for you. To configure an agent by hand, start the server with `npx -y @maz-ui/mcp@latest`.
|
|
53
|
+
|
|
54
|
+
### Claude Code
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# for every project, without any file in them
|
|
58
|
+
claude mcp add maz-ui --scope user -- npx -y @maz-ui/mcp@latest
|
|
59
|
+
# or for this project only (written in .mcp.json, shared with your team)
|
|
60
|
+
claude mcp add maz-ui --scope project -- npx -y @maz-ui/mcp@latest
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Or in `.mcp.json`:
|
|
64
|
+
|
|
65
|
+
```json
|
|
66
|
+
{
|
|
67
|
+
"mcpServers": {
|
|
68
|
+
"maz-ui": {
|
|
69
|
+
"type": "stdio",
|
|
70
|
+
"command": "npx",
|
|
71
|
+
"args": ["-y", "@maz-ui/mcp@latest"]
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The [Claude Code plugin](../guide/ai-agents.md#claude-code-plugin) includes the server.
|
|
78
|
+
|
|
79
|
+
### Cursor
|
|
80
|
+
|
|
81
|
+
`.cursor/mcp.json`:
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"mcpServers": {
|
|
86
|
+
"maz-ui": {
|
|
87
|
+
"command": "npx",
|
|
88
|
+
"args": ["-y", "@maz-ui/mcp@latest"]
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### VS Code (GitHub Copilot)
|
|
95
|
+
|
|
96
|
+
`.vscode/mcp.json`:
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
{
|
|
100
|
+
"servers": {
|
|
101
|
+
"maz-ui": {
|
|
102
|
+
"type": "stdio",
|
|
103
|
+
"command": "npx",
|
|
104
|
+
"args": ["-y", "@maz-ui/mcp@latest"]
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Codex
|
|
111
|
+
|
|
112
|
+
`~/.codex/config.toml`:
|
|
113
|
+
|
|
114
|
+
```toml
|
|
115
|
+
[mcp_servers.maz-ui]
|
|
116
|
+
command = "npx"
|
|
117
|
+
args = ["-y", "@maz-ui/mcp@latest"]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Windsurf, Claude Desktop, Cline, Zed...
|
|
121
|
+
|
|
122
|
+
Add the same `command` and `args` to the MCP configuration of the client (`mcpServers` key):
|
|
123
|
+
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"mcpServers": {
|
|
127
|
+
"maz-ui": {
|
|
128
|
+
"command": "npx",
|
|
129
|
+
"args": ["-y", "@maz-ui/mcp@latest"]
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Command line
|
|
136
|
+
|
|
137
|
+
The package is also a CLI:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
npx @maz-ui/mcp # start the MCP server (stdio)
|
|
141
|
+
npx @maz-ui/mcp init # configure the AI agents of the project
|
|
142
|
+
npx @maz-ui/mcp review <paths...> # review files against maz-ui (CI)
|
|
143
|
+
npx @maz-ui/mcp search <query> # search the docs from the terminal
|
|
144
|
+
npx @maz-ui/mcp --help
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
See [Code review in CI](../guide/ai-agents.md#code-review-in-ci) for the review options and rules.
|
|
148
|
+
|
|
149
|
+
## Programmatic API
|
|
150
|
+
|
|
151
|
+
```ts
|
|
152
|
+
import { createMazUiMcpServer, loadKnowledge, reviewCode } from '@maz-ui/mcp'
|
|
153
|
+
|
|
154
|
+
const knowledge = loadKnowledge({ cwd: process.cwd() })
|
|
155
|
+
const findings = reviewCode('<template><MazBtn color="red" /></template>', {
|
|
156
|
+
knowledge,
|
|
157
|
+
filename: 'Example.vue',
|
|
158
|
+
})
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Debugging
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
npx @modelcontextprotocol/inspector npx -y @maz-ui/mcp@latest
|
|
165
|
+
```
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: execPromise
|
|
3
|
-
description: Promise-based wrapper around `child_process.exec` with structured stdout/stderr/error logging, package-scoped prefixes, and per-call log silencing.
|
|
2
|
+
title: "execPromise"
|
|
3
|
+
description: "Promise-based wrapper around `child_process.exec` with structured stdout/stderr/error logging, package-scoped prefixes, and per-call log silencing."
|
|
4
|
+
package: "@maz-ui/node"
|
|
5
|
+
url: "https://maz-ui.com/ecosystem/node/exec-promise"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
#
|
|
8
|
+
# execPromise
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
> Promise-based wrapper around `child_process.exec` with structured stdout/stderr/error logging, package-scoped prefixes, and per-call log silencing.
|
|
11
|
+
|
|
12
|
+
- Package: `@maz-ui/node`
|
|
13
|
+
- Import: `import { execPromise } from '@maz-ui/node'`
|
|
14
|
+
- Web: https://maz-ui.com/ecosystem/node/exec-promise
|
|
9
15
|
|
|
10
16
|
## Usage
|
|
11
17
|
|
|
@@ -46,7 +52,7 @@ interface ExecPromiseOptions {
|
|
|
46
52
|
| Option | Type | Default | Description |
|
|
47
53
|
| ------------- | ------------- | ----------- | --------------------------------------------------------------------------------- |
|
|
48
54
|
| `logger` | `CustomLogger` | built-in | Custom logger (must expose `log`, `error`, `info`, `warn`, `debug` methods). |
|
|
49
|
-
| `packageName` | `string` |
|
|
55
|
+
| `packageName` | `string` | - | Prepended to logs as `[name]: ` - useful when many commands share a logger. |
|
|
50
56
|
| `noSuccess` | `boolean` | `false` | Skip the `info` line printed when the command finishes successfully. |
|
|
51
57
|
| `noStdout` | `boolean` | `false` | Don't pipe stdout to the logger (still returned in the promise result). |
|
|
52
58
|
| `noStderr` | `boolean` | `false` | Don't pipe stderr to the logger (still returned in the promise result). |
|
|
@@ -84,4 +90,4 @@ await execPromise('npm test', {
|
|
|
84
90
|
## Notes
|
|
85
91
|
|
|
86
92
|
- `execPromise` uses Node's `child_process.exec`, which buffers all output in memory. For commands that produce very large streams, prefer `child_process.spawn` directly.
|
|
87
|
-
- `stdout`/`stderr` are still returned in the promise result even when `noStdout`/`noStderr` are set
|
|
93
|
+
- `stdout`/`stderr` are still returned in the promise result even when `noStdout`/`noStderr` are set - the flags only affect logging.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "@maz-ui/node"
|
|
3
|
+
description: "Lightweight Node.js utilities - promise-based shell execution, an opinionated consola-backed logger, and a banner printer for CLIs."
|
|
4
|
+
package: "@maz-ui/node"
|
|
5
|
+
url: "https://maz-ui.com/ecosystem/node/"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# @maz-ui/node
|
|
9
|
+
|
|
10
|
+
> Lightweight Node.js utilities - promise-based shell execution, an opinionated consola-backed logger, and a banner printer for CLIs.
|
|
11
|
+
|
|
12
|
+
- Package: `@maz-ui/node`
|
|
13
|
+
- Web: https://maz-ui.com/ecosystem/node/
|
|
14
|
+
|
|
15
|
+
`@maz-ui/node` powers the CLIs and build scripts inside the maz-ui ecosystem. It's intentionally tiny: an `exec` wrapper that returns a real `Promise`, a colourful logger built on [consola](https://github.com/unjs/consola), and a banner helper using [figlet](https://github.com/patorjk/figlet.js).
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
```bash [pnpm]
|
|
20
|
+
pnpm add @maz-ui/node
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```bash [npm]
|
|
24
|
+
npm install @maz-ui/node
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```bash [yarn]
|
|
28
|
+
yarn add @maz-ui/node
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Basic usage
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
import { execPromise, logger, printBanner } from '@maz-ui/node'
|
|
35
|
+
|
|
36
|
+
printBanner({ name: 'my-cli', version: '1.0.0' })
|
|
37
|
+
|
|
38
|
+
logger.info('Running tests…')
|
|
39
|
+
await execPromise('npm test', { packageName: 'tests' })
|
|
40
|
+
logger.success('Done')
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## What's inside
|
|
44
|
+
|
|
45
|
+
- [`execPromise`](./exec-promise.md) - Promise-based `child_process.exec` with structured logging.
|
|
46
|
+
- [`logger` / `createLogger`](./logger.md) - consola-backed logger with semantic log levels and helpers (`box`, `divider`, `brand`, …).
|
|
47
|
+
- [`printBanner`](./print-banner.md) - ASCII-art banner printer (figlet) with versioning, dividers and clearing.
|
|
48
|
+
- [`setupAgents`](./setup-agents.md) - Configure the AI coding agents of a project for maz-ui (rules and MCP server), as `npx @maz-ui/mcp init` does.
|
|
49
|
+
|
|
50
|
+
## Requirements
|
|
51
|
+
|
|
52
|
+
- Node.js >= 22.12.0
|
|
53
|
+
- ESM only - published as `"type": "module"`.
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: logger / createLogger
|
|
3
|
-
description: Opinionated [consola](https://github.com/unjs/consola)-backed logger with semantic levels, status helpers (`success`, `ready`, `fail`), and formatting helpers (`box`, `divider`, `brand`).
|
|
2
|
+
title: "logger / createLogger"
|
|
3
|
+
description: "Opinionated [consola](https://github.com/unjs/consola)-backed logger with semantic levels, status helpers (`success`, `ready`, `fail`), and formatting helpers (`box`, `divider`, `brand`)."
|
|
4
|
+
package: "@maz-ui/node"
|
|
5
|
+
url: "https://maz-ui.com/ecosystem/node/logger"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
#
|
|
8
|
+
# logger / createLogger
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
> Opinionated [consola](https://github.com/unjs/consola)-backed logger with semantic levels, status helpers (`success`, `ready`, `fail`), and formatting helpers (`box`, `divider`, `brand`).
|
|
11
|
+
|
|
12
|
+
- Package: `@maz-ui/node`
|
|
13
|
+
- Import: `import { logger } from '@maz-ui/node'`
|
|
14
|
+
- Web: https://maz-ui.com/ecosystem/node/logger
|
|
9
15
|
|
|
10
16
|
The default `logger` is a singleton ready to use; `createLogger` builds a fresh instance with its own level and reporters.
|
|
11
17
|
|
|
@@ -44,7 +50,7 @@ function createLogger(options?: LoggerOptions): Logger
|
|
|
44
50
|
type LoggerOptions = Partial<ConsolaOptions>
|
|
45
51
|
```
|
|
46
52
|
|
|
47
|
-
`LoggerOptions` is forwarded directly to [consola's `createConsola()`](https://github.com/unjs/consola#instance-options)
|
|
53
|
+
`LoggerOptions` is forwarded directly to [consola's `createConsola()`](https://github.com/unjs/consola#instance-options) - see consola docs for every accepted field (tag, reporters, formatOptions, …).
|
|
48
54
|
|
|
49
55
|
## API
|
|
50
56
|
|
|
@@ -113,7 +119,7 @@ logger.error('No longer printed')
|
|
|
113
119
|
| Method | Output |
|
|
114
120
|
| ------------ | ------------------------------------------------------------------- |
|
|
115
121
|
| `box(msg)` | Renders the message inside a bordered box. |
|
|
116
|
-
| `brand(msg)` | Prints in bright blue
|
|
122
|
+
| `brand(msg)` | Prints in bright blue - used by `printBanner`. |
|
|
117
123
|
| `divider(c)` | Prints a separator line that adapts to the terminal width. |
|
|
118
124
|
| `eot()` | Prints a blank line (end-of-transmission marker). |
|
|
119
125
|
| `break(n)` | Prints `n` blank lines (default: 1). |
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: printBanner
|
|
3
|
-
description: Print an ASCII-art banner via figlet with optional version, dividers and clearing
|
|
2
|
+
title: "printBanner"
|
|
3
|
+
description: "Print an ASCII-art banner via figlet with optional version, dividers and clearing - handy for CLI entry points."
|
|
4
|
+
package: "@maz-ui/node"
|
|
5
|
+
url: "https://maz-ui.com/ecosystem/node/print-banner"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
#
|
|
8
|
+
# printBanner
|
|
7
9
|
|
|
8
|
-
Print an ASCII-art banner
|
|
10
|
+
> Print an ASCII-art banner via figlet with optional version, dividers and clearing - handy for CLI entry points.
|
|
11
|
+
|
|
12
|
+
- Package: `@maz-ui/node`
|
|
13
|
+
- Import: `import { printBanner } from '@maz-ui/node'`
|
|
14
|
+
- Web: https://maz-ui.com/ecosystem/node/print-banner
|
|
15
|
+
|
|
16
|
+
Print an ASCII-art banner (via [figlet](https://github.com/patorjk/figlet.js)) with optional version, dividers and clearing - handy for CLI entry points.
|
|
9
17
|
|
|
10
18
|
## Usage
|
|
11
19
|
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "setupAgents"
|
|
3
|
+
description: "Configure the AI coding agents of a project for maz-ui - version-matched rules for Claude Code and AGENTS.md, and the maz-ui MCP server in the agent configs - without touching the files you own."
|
|
4
|
+
package: "@maz-ui/node"
|
|
5
|
+
url: "https://maz-ui.com/ecosystem/node/setup-agents"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# setupAgents
|
|
9
|
+
|
|
10
|
+
> Configure the AI coding agents of a project for maz-ui - version-matched rules for Claude Code and AGENTS.md, and the maz-ui MCP server in the agent configs - without touching the files you own.
|
|
11
|
+
|
|
12
|
+
- Package: `@maz-ui/node`
|
|
13
|
+
- Import: `import { setupAgents } from '@maz-ui/node'`
|
|
14
|
+
- Web: https://maz-ui.com/ecosystem/node/setup-agents
|
|
15
|
+
|
|
16
|
+
`setupAgents` is the engine of [`npx @maz-ui/mcp init`](../mcp.md) and of the `agents` option of the [Nuxt module](../nuxt.md#ai-agents). Use it directly to integrate the setup in your own tooling (a project generator, a postinstall script...). See the [AI agents guide](../../guide/ai-agents.md) for what it brings to your agents.
|
|
17
|
+
|
|
18
|
+
## Quick start
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
import { setupAgents } from '@maz-ui/node'
|
|
22
|
+
|
|
23
|
+
const { changes } = setupAgents({ rootDir: process.cwd() })
|
|
24
|
+
|
|
25
|
+
for (const change of changes) {
|
|
26
|
+
console.log(change.action, change.file)
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## What it writes
|
|
31
|
+
|
|
32
|
+
The content comes from the `docs/agents` folder of the `maz-ui` package installed in `rootDir`, so the rules always match the installed version.
|
|
33
|
+
|
|
34
|
+
| Target | Files |
|
|
35
|
+
| --- | --- |
|
|
36
|
+
| `claude` | `.claude/rules/maz-ui.md` (a Claude Code rule, loaded on top of your `CLAUDE.md`) and the `maz-ui` server in `.mcp.json` |
|
|
37
|
+
| `agents-md` | A section between `<!-- BEGIN:maz-ui -->` and `<!-- END:maz-ui -->` in `AGENTS.md` (Codex, Cursor, Copilot, Windsurf, Zed...) |
|
|
38
|
+
| `cursor` | The `maz-ui` server in `.cursor/mcp.json` |
|
|
39
|
+
| `vscode` | The `maz-ui` server in `.vscode/mcp.json` (GitHub Copilot) |
|
|
40
|
+
|
|
41
|
+
Guarantees:
|
|
42
|
+
|
|
43
|
+
- A file it did not generate is never overwritten (it is reported as `skip`).
|
|
44
|
+
- In `AGENTS.md`, only the delimited section is managed: your content stays as is.
|
|
45
|
+
- MCP config files are edited in place, keeping their formatting and comments. When a server already runs `@maz-ui/mcp` under another name, nothing is added.
|
|
46
|
+
- Without `CLAUDE.md` in the project, Claude Code reads `AGENTS.md`: the Claude rule is then skipped to avoid loading the rules twice.
|
|
47
|
+
- Running it again is idempotent: unchanged files are reported as `unchanged`.
|
|
48
|
+
|
|
49
|
+
## Options
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
import { setupAgents } from '@maz-ui/node'
|
|
53
|
+
|
|
54
|
+
setupAgents({
|
|
55
|
+
rootDir: process.cwd(),
|
|
56
|
+
// Agents to configure, default: the agents detected in the project
|
|
57
|
+
targets: ['claude', 'agents-md', 'cursor', 'vscode'],
|
|
58
|
+
// Write the rules (Claude Code rule, AGENTS.md section), default: true
|
|
59
|
+
rules: true,
|
|
60
|
+
// Register the maz-ui MCP server, default: true
|
|
61
|
+
mcp: true,
|
|
62
|
+
// Compute the changes without writing anything
|
|
63
|
+
dryRun: false,
|
|
64
|
+
// Remove everything setupAgents added
|
|
65
|
+
remove: false,
|
|
66
|
+
// Folder of the maz-ui agent docs, default: node_modules/maz-ui/docs
|
|
67
|
+
docsDir: undefined,
|
|
68
|
+
// Command of the MCP server, default: npx -y @maz-ui/mcp@latest
|
|
69
|
+
mcpServer: { command: 'npx', args: ['-y', '@maz-ui/mcp@latest'] },
|
|
70
|
+
})
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Result
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
import { setupAgents } from '@maz-ui/node'
|
|
77
|
+
|
|
78
|
+
const result = setupAgents({ rootDir: process.cwd(), dryRun: true })
|
|
79
|
+
|
|
80
|
+
result.version // version of the installed maz-ui
|
|
81
|
+
result.targets // configured agents
|
|
82
|
+
result.changes // [{ file: '.mcp.json', action: 'create' | 'update' | 'remove' | 'unchanged' | 'skip', reason?: string }]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Detecting the agents
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
import { detectAgentTargets } from '@maz-ui/node'
|
|
89
|
+
|
|
90
|
+
detectAgentTargets(process.cwd()) // ['claude', 'agents-md']
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
| Target | Detected from |
|
|
94
|
+
| --- | --- |
|
|
95
|
+
| `claude` | `.claude/`, `CLAUDE.md`, `CLAUDE.local.md`, `.mcp.json` |
|
|
96
|
+
| `cursor` | `.cursor/`, `.cursorrules` |
|
|
97
|
+
| `vscode` | `.vscode/mcp.json`, `.github/copilot-instructions.md`, `.github/instructions/` |
|
|
98
|
+
| `agents-md` | `AGENTS.md`, `GEMINI.md`, `.codex/`, `.windsurf/`, `.devin/`, `.windsurfrules`, or any of `cursor` and `vscode` |
|
|
99
|
+
|
|
100
|
+
## Errors
|
|
101
|
+
|
|
102
|
+
`setupAgents` throws when the rules are requested and `maz-ui` is not installed in `rootDir` (or its parent folders), or when the installed version does not ship the agent docs: upgrade maz-ui to the latest version. With `rules: false`, only the MCP server is registered and the docs are not needed.
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Install maz-ui with Nuxt
|
|
3
|
-
description: The ultimate Nuxt module for Maz-UI - zero-config setup with auto-imports, theming, internationalization and powerful features out of the box
|
|
2
|
+
title: "Install maz-ui with Nuxt"
|
|
3
|
+
description: "The ultimate Nuxt module for Maz-UI - zero-config setup with auto-imports, theming, internationalization and powerful features out of the box"
|
|
4
|
+
package: "@maz-ui/nuxt"
|
|
5
|
+
url: "https://maz-ui.com/ecosystem/nuxt"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
#
|
|
8
|
+
# Install maz-ui with Nuxt
|
|
9
|
+
|
|
10
|
+
> The ultimate Nuxt module for Maz-UI - zero-config setup with auto-imports, theming, internationalization and powerful features out of the box
|
|
11
|
+
|
|
12
|
+
- Package: `@maz-ui/nuxt`
|
|
13
|
+
- Web: https://maz-ui.com/ecosystem/nuxt
|
|
7
14
|
|
|
8
15
|
**Maz-UI Nuxt Module** provides zero-configuration setup, intelligent auto-imports, powerful theming capabilities and internationalization.
|
|
9
16
|
|
|
10
|
-
|
|
17
|
+
**Tip: Model Context Protocol (MCP)**
|
|
11
18
|
|
|
12
|
-
|
|
19
|
+
In development, the module connects the AI coding agents detected in the project (Claude Code, Cursor, Copilot...) to the maz-ui [MCP server](./mcp.md), which gives them the docs and rules of the installed maz-ui. See AI Agents.
|
|
13
20
|
|
|
14
21
|
Check out the documentation of [@maz-ui/mcp](./mcp.md)
|
|
15
22
|
|
|
16
|
-
:::
|
|
17
|
-
|
|
18
23
|
## Why Choose Maz-UI for Nuxt?
|
|
19
24
|
|
|
20
25
|
- **Zero Configuration** - Works out of the box with sensible defaults
|
|
@@ -26,10 +31,6 @@ Check out the documentation of [@maz-ui/mcp](./mcp.md)
|
|
|
26
31
|
|
|
27
32
|
## Installation
|
|
28
33
|
|
|
29
|
-
<NpmBadge package="@maz-ui/nuxt" />
|
|
30
|
-
|
|
31
|
-
::: code-group
|
|
32
|
-
|
|
33
34
|
```bash [pnpm]
|
|
34
35
|
pnpm add @maz-ui/nuxt
|
|
35
36
|
```
|
|
@@ -46,8 +47,6 @@ yarn add @maz-ui/nuxt
|
|
|
46
47
|
pnpx nuxt@latest module add @maz-ui/nuxt
|
|
47
48
|
```
|
|
48
49
|
|
|
49
|
-
:::
|
|
50
|
-
|
|
51
50
|
Add the module to your `nuxt.config.ts`:
|
|
52
51
|
|
|
53
52
|
```ts
|
|
@@ -75,7 +74,7 @@ const { toggleDarkMode, isDark } = useTheme()
|
|
|
75
74
|
</script>
|
|
76
75
|
|
|
77
76
|
<template>
|
|
78
|
-
<div class="
|
|
77
|
+
<div class="bg-surface p-8 text-foreground">
|
|
79
78
|
<!-- Components are auto-imported -->
|
|
80
79
|
<MazBtn color="primary" @click="start">
|
|
81
80
|
Start timer ({{ remainingTime }}ms)
|
|
@@ -190,6 +189,9 @@ export default defineNuxtConfig({
|
|
|
190
189
|
vFullscreenImg: true,
|
|
191
190
|
vZoomImg: true,
|
|
192
191
|
},
|
|
192
|
+
|
|
193
|
+
// AI coding agents (default: { rules: false, mcp: true }, false to disable)
|
|
194
|
+
agents: { rules: true, mcp: true },
|
|
193
195
|
}
|
|
194
196
|
})
|
|
195
197
|
```
|
|
@@ -268,7 +270,7 @@ const theme = {
|
|
|
268
270
|
darkClass: 'dark',
|
|
269
271
|
|
|
270
272
|
// Class added to <html> when colorMode === 'light' (default: 'light')
|
|
271
|
-
// Mirror of darkClass
|
|
273
|
+
// Mirror of darkClass - used to force `color-scheme: only light`.
|
|
272
274
|
lightClass: 'light',
|
|
273
275
|
|
|
274
276
|
// Persist the active preset name in the `maz-preset` cookie so the
|
|
@@ -295,7 +297,7 @@ const defaults = {
|
|
|
295
297
|
}
|
|
296
298
|
```
|
|
297
299
|
|
|
298
|
-
See the [Global component defaults guide](
|
|
300
|
+
See the [Global component defaults guide](../guide/global-defaults.md) for the full list of globalizable props.
|
|
299
301
|
|
|
300
302
|
### Country Flags
|
|
301
303
|
|
|
@@ -312,7 +314,7 @@ export default defineNuxtConfig({
|
|
|
312
314
|
})
|
|
313
315
|
```
|
|
314
316
|
|
|
315
|
-
Nothing is added to your build unless `flags` is `'local'`. See [MazSelectCountry](
|
|
317
|
+
Nothing is added to your build unless `flags` is `'local'`. See [MazSelectCountry](../components/maz-select-country.md#flags-source) for the details (Content Security Policy, PWA precache).
|
|
316
318
|
|
|
317
319
|
## Theme Strategies Explained
|
|
318
320
|
|
|
@@ -432,6 +434,35 @@ const directives = {
|
|
|
432
434
|
}
|
|
433
435
|
```
|
|
434
436
|
|
|
437
|
+
### AI Agents
|
|
438
|
+
|
|
439
|
+
Connect your AI coding agents (Claude Code, Cursor, GitHub Copilot, Codex, Windsurf...) to maz-ui, version-matched with the installed maz-ui, so they use its components, composables, icons, helpers and theme tokens instead of re-implementing them:
|
|
440
|
+
|
|
441
|
+
```ts
|
|
442
|
+
const agents = {
|
|
443
|
+
// Register the maz-ui MCP server in .mcp.json, .cursor/mcp.json, .vscode/mcp.json (default: true)
|
|
444
|
+
// Its instructions give the maz-ui rules to the agents
|
|
445
|
+
mcp: true,
|
|
446
|
+
// Also write the rules in .claude/rules/maz-ui.md and in AGENTS.md, for agents without MCP (default: false)
|
|
447
|
+
rules: false,
|
|
448
|
+
// 'claude' | 'agents-md' | 'cursor' | 'vscode' (default: the detected agents)
|
|
449
|
+
targets: ['claude', 'agents-md'],
|
|
450
|
+
// Folder where the files are written, relative to the Nuxt app (default: the root of the workspace)
|
|
451
|
+
dir: '../..',
|
|
452
|
+
}
|
|
453
|
+
// agents: true enables mcp and rules, agents: false disables everything
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
In a monorepo, the files are written at the **root of the workspace** (`workspaceDir` of Nuxt), where your agents start, not in the Nuxt app: a single `.mcp.json` serves every app. Set `dir` to choose another folder.
|
|
457
|
+
|
|
458
|
+
The module runs in development only (never in CI nor in tests), only for the agents it detects in the project (`.claude/`, `CLAUDE.md`, `.mcp.json`, `.cursor/`, `.vscode/mcp.json`, `.github/copilot-instructions.md`, `AGENTS.md`, `.codex/`, `.windsurf/`...), and keeps the files up to date when you upgrade maz-ui:
|
|
459
|
+
|
|
460
|
+
- `.mcp.json`, `.cursor/mcp.json`, `.vscode/mcp.json`: a `maz-ui` server entry, added only when no maz-ui MCP server is already registered
|
|
461
|
+
- with `rules: true`, `.claude/rules/maz-ui.md`: a Claude Code rule (skipped when Claude reads `AGENTS.md`, i.e. without `CLAUDE.md`)
|
|
462
|
+
- with `rules: true`, `AGENTS.md`: a section delimited by `<!-- BEGIN:maz-ui -->` and `<!-- END:maz-ui -->`, read by Codex, Cursor, Copilot, Windsurf...
|
|
463
|
+
|
|
464
|
+
It never overwrites a file it does not own: your `CLAUDE.md`, your own rules and the other MCP servers are left untouched, and an existing `maz-ui` server entry (for example pinned to a version) is kept as is. Commit the generated files to share them with your team (check that `.claude/` is not in your `.gitignore`). See the [AI agents guide](../guide/ai-agents.md) for details.
|
|
465
|
+
|
|
435
466
|
## Advanced Theming
|
|
436
467
|
|
|
437
468
|
### Custom Theme Creation
|
|
@@ -488,9 +519,9 @@ export default defineNuxtConfig({
|
|
|
488
519
|
})
|
|
489
520
|
```
|
|
490
521
|
|
|
491
|
-
|
|
522
|
+
**Tip: Subtree Overrides with MazUiProvider**
|
|
523
|
+
|
|
492
524
|
You can use [`MazUiProvider`](../guide/maz-ui-provider.md) within a Nuxt app to override theme or translations in a specific subtree, while the module handles global defaults.
|
|
493
|
-
:::
|
|
494
525
|
|
|
495
526
|
## Troubleshooting
|
|
496
527
|
|