@skyroc/scripts 2.5.0 → 2.5.2
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 +6 -3
- package/dist/cli.mjs +2 -2
- package/dist/{config-BKkdncJS.mjs → config-Cj9IzlRz.mjs} +105 -5
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/templates/admin/package.json +5 -3
- package/templates/admin/src/assets/svg-icon/logo.svg +2 -14
- package/templates/admin/src/features/router/routeTree.gen.ts +71 -1
- package/templates/admin/src/pages/(auth)/login/code-login.tsx +79 -0
- package/templates/admin/src/pages/(auth)/login/index.tsx +22 -1
- package/templates/admin/src/pages/(auth)/login/layout.tsx +25 -23
- package/templates/admin/src/pages/(auth)/login/modules/Header.tsx +25 -0
- package/templates/admin/src/pages/(auth)/login/register.tsx +86 -0
- package/templates/admin/src/pages/(auth)/login/reset-pwd.tsx +73 -0
- package/templates/admin/uno.config.ts +1 -1
- package/templates/admin-root/.agents/skills/component-doc/SKILL.md +304 -0
- package/templates/admin-root/.agents/skills/component-refactoring/SKILL.md +483 -0
- package/templates/admin-root/.agents/skills/component-refactoring/references/complexity-patterns.md +493 -0
- package/templates/admin-root/.agents/skills/component-refactoring/references/component-splitting.md +477 -0
- package/templates/admin-root/.agents/skills/component-refactoring/references/hook-extraction.md +317 -0
- package/templates/admin-root/.agents/skills/doc-coauthoring/SKILL.md +375 -0
- package/templates/admin-root/.agents/skills/feature-dev/SKILL.md +78 -0
- package/templates/admin-root/.agents/skills/frontend-code-review/SKILL.md +73 -0
- package/templates/admin-root/.agents/skills/frontend-code-review/references/business-logic.md +15 -0
- package/templates/admin-root/.agents/skills/frontend-code-review/references/code-quality.md +44 -0
- package/templates/admin-root/.agents/skills/frontend-code-review/references/performance.md +45 -0
- package/templates/admin-root/.agents/skills/frontend-design/LICENSE.txt +177 -0
- package/templates/admin-root/.agents/skills/frontend-design/SKILL.md +42 -0
- package/templates/admin-root/.agents/skills/frontend-testing/SKILL.md +325 -0
- package/templates/admin-root/.agents/skills/frontend-testing/assets/component-test.template.tsx +293 -0
- package/templates/admin-root/.agents/skills/frontend-testing/assets/hook-test.template.ts +207 -0
- package/templates/admin-root/.agents/skills/frontend-testing/assets/utility-test.template.ts +154 -0
- package/templates/admin-root/.agents/skills/frontend-testing/references/async-testing.md +345 -0
- package/templates/admin-root/.agents/skills/frontend-testing/references/checklist.md +205 -0
- package/templates/admin-root/.agents/skills/frontend-testing/references/common-patterns.md +449 -0
- package/templates/admin-root/.agents/skills/frontend-testing/references/domain-components.md +523 -0
- package/templates/admin-root/.agents/skills/frontend-testing/references/mocking.md +512 -0
- package/templates/admin-root/.agents/skills/frontend-testing/references/workflow.md +269 -0
- package/templates/admin-root/.agents/skills/migrate-nativewind-to-uniwind/SKILL.md +734 -0
- package/templates/admin-root/.agents/skills/migrate-oxfmt/SKILL.md +202 -0
- package/templates/admin-root/.agents/skills/migrate-oxlint/SKILL.md +196 -0
- package/templates/admin-root/.agents/skills/native-component-doc/SKILL.md +245 -0
- package/templates/admin-root/.agents/skills/senior-frontend/SKILL.md +209 -0
- package/templates/admin-root/.agents/skills/senior-frontend/references/frontend_best_practices.md +103 -0
- package/templates/admin-root/.agents/skills/senior-frontend/references/nextjs_optimization_guide.md +103 -0
- package/templates/admin-root/.agents/skills/senior-frontend/references/react_patterns.md +103 -0
- package/templates/admin-root/.agents/skills/senior-frontend/scripts/bundle_analyzer.py +114 -0
- package/templates/admin-root/.agents/skills/senior-frontend/scripts/component_generator.py +114 -0
- package/templates/admin-root/.agents/skills/senior-frontend/scripts/frontend_scaffolder.py +114 -0
- package/templates/admin-root/.agents/skills/skill-creator/SKILL.md +355 -0
- package/templates/admin-root/.agents/skills/skill-creator/references/output-patterns.md +86 -0
- package/templates/admin-root/.agents/skills/skill-creator/references/workflows.md +28 -0
- package/templates/admin-root/.agents/skills/skill-creator/scripts/init_skill.py +300 -0
- package/templates/admin-root/.agents/skills/skill-creator/scripts/package_skill.py +110 -0
- package/templates/admin-root/.agents/skills/skill-creator/scripts/quick_validate.py +97 -0
- package/templates/admin-root/.agents/skills/skyroc-admin-prd-prototype/SKILL.md +163 -0
- package/templates/admin-root/.agents/skills/skyroc-admin-prd-prototype/references/acceptance-checklist.md +75 -0
- package/templates/admin-root/.agents/skills/skyroc-admin-prd-prototype/references/evidence-order.md +109 -0
- package/templates/admin-root/.agents/skills/skyroc-admin-prd-prototype/references/prd-rules.md +103 -0
- package/templates/admin-root/.agents/skills/skyroc-admin-prd-prototype/references/prototype-rules.md +85 -0
- package/templates/admin-root/.agents/skills/skyroc-admin-prd-prototype/scripts/verify-prototypes.mjs +144 -0
- package/templates/admin-root/.agents/skills/skyroc-admin-prd-prototype/templates/admin-page.html +771 -0
- package/templates/admin-root/.agents/skills/skyroc-admin-prd-prototype/templates/prd.md +182 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/SKILL.md +292 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/templates/admin-root/.agents/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/templates/admin-root/.agents/skills/uniwind/SKILL.md +64 -0
- package/templates/admin-root/.agents/skills/uniwind/references/component-bindings.md +338 -0
- package/templates/admin-root/.agents/skills/uniwind/references/css-and-utilities.md +325 -0
- package/templates/admin-root/.agents/skills/uniwind/references/integrations.md +75 -0
- package/templates/admin-root/.agents/skills/uniwind/references/pro.md +354 -0
- package/templates/admin-root/.agents/skills/uniwind/references/setup.md +144 -0
- package/templates/admin-root/.agents/skills/uniwind/references/styling-patterns.md +237 -0
- package/templates/admin-root/.agents/skills/uniwind/references/theming.md +309 -0
- package/templates/admin-root/.agents/skills/uniwind/references/troubleshooting.md +179 -0
- package/templates/admin-root/.agents/skills/uniwind/references/variants-and-selectors.md +224 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/AGENTS.md +2934 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/SKILL.md +136 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/templates/admin-root/.agents/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/templates/admin-root/.claude/settings.json +5 -0
- package/templates/admin-root/.claude/skills/component-doc/SKILL.md +304 -0
- package/templates/admin-root/.claude/skills/component-refactoring/SKILL.md +483 -0
- package/templates/admin-root/.claude/skills/component-refactoring/references/complexity-patterns.md +493 -0
- package/templates/admin-root/.claude/skills/component-refactoring/references/component-splitting.md +477 -0
- package/templates/admin-root/.claude/skills/component-refactoring/references/hook-extraction.md +317 -0
- package/templates/admin-root/.claude/skills/doc-coauthoring/SKILL.md +375 -0
- package/templates/admin-root/.claude/skills/feature-dev/SKILL.md +78 -0
- package/templates/admin-root/.claude/skills/frontend-code-review/SKILL.md +73 -0
- package/templates/admin-root/.claude/skills/frontend-code-review/references/business-logic.md +15 -0
- package/templates/admin-root/.claude/skills/frontend-code-review/references/code-quality.md +44 -0
- package/templates/admin-root/.claude/skills/frontend-code-review/references/performance.md +45 -0
- package/templates/admin-root/.claude/skills/frontend-design/LICENSE.txt +177 -0
- package/templates/admin-root/.claude/skills/frontend-design/SKILL.md +42 -0
- package/templates/admin-root/.claude/skills/frontend-testing/SKILL.md +325 -0
- package/templates/admin-root/.claude/skills/frontend-testing/assets/component-test.template.tsx +293 -0
- package/templates/admin-root/.claude/skills/frontend-testing/assets/hook-test.template.ts +207 -0
- package/templates/admin-root/.claude/skills/frontend-testing/assets/utility-test.template.ts +154 -0
- package/templates/admin-root/.claude/skills/frontend-testing/references/async-testing.md +345 -0
- package/templates/admin-root/.claude/skills/frontend-testing/references/checklist.md +205 -0
- package/templates/admin-root/.claude/skills/frontend-testing/references/common-patterns.md +449 -0
- package/templates/admin-root/.claude/skills/frontend-testing/references/domain-components.md +523 -0
- package/templates/admin-root/.claude/skills/frontend-testing/references/mocking.md +512 -0
- package/templates/admin-root/.claude/skills/frontend-testing/references/workflow.md +269 -0
- package/templates/admin-root/.claude/skills/migrate-nativewind-to-uniwind +1 -0
- package/templates/admin-root/.claude/skills/native-component-doc/SKILL.md +245 -0
- package/templates/admin-root/.claude/skills/senior-frontend/SKILL.md +209 -0
- package/templates/admin-root/.claude/skills/senior-frontend/references/frontend_best_practices.md +103 -0
- package/templates/admin-root/.claude/skills/senior-frontend/references/nextjs_optimization_guide.md +103 -0
- package/templates/admin-root/.claude/skills/senior-frontend/references/react_patterns.md +103 -0
- package/templates/admin-root/.claude/skills/senior-frontend/scripts/bundle_analyzer.py +114 -0
- package/templates/admin-root/.claude/skills/senior-frontend/scripts/component_generator.py +114 -0
- package/templates/admin-root/.claude/skills/senior-frontend/scripts/frontend_scaffolder.py +114 -0
- package/templates/admin-root/.claude/skills/skill-creator/SKILL.md +355 -0
- package/templates/admin-root/.claude/skills/skill-creator/references/output-patterns.md +86 -0
- package/templates/admin-root/.claude/skills/skill-creator/references/workflows.md +28 -0
- package/templates/admin-root/.claude/skills/skill-creator/scripts/init_skill.py +300 -0
- package/templates/admin-root/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
- package/templates/admin-root/.claude/skills/skill-creator/scripts/quick_validate.py +97 -0
- package/templates/admin-root/.claude/skills/ui-ux-pro-max/SKILL.md +386 -0
- package/templates/admin-root/.claude/skills/ui-ux-pro-max/data +1 -0
- package/templates/admin-root/.claude/skills/ui-ux-pro-max/scripts +1 -0
- package/templates/admin-root/.claude/skills/uniwind +1 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/AGENTS.md +2934 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/SKILL.md +136 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/templates/admin-root/.claude/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/templates/admin-root/.cursor/settings.json +10 -0
- package/templates/admin-root/.editorconfig +19 -0
- package/templates/admin-root/.gitattributes +16 -0
- package/templates/admin-root/.oxfmtrc.json +35 -0
- package/templates/admin-root/AGENTS.md +297 -0
- package/templates/admin-root/CLAUDE.md +1 -0
- package/templates/admin-root/skills-lock.json +27 -0
- package/templates/admin-root.manifest.json +1317 -0
- package/templates/admin-shell/theme/antd/AntdProvider.tsx +1 -0
- package/templates/admin-shell/theme/antd/shared.ts +3 -3
- package/templates/admin-shell/theme/antd-algorithm/algorithm/dark/colors.ts +3 -3
- package/templates/admin-shell/theme/antd-algorithm/algorithm/default/colors.ts +1 -1
- package/templates/admin-shell/theme/presets/default.json +1 -1
- package/templates/admin.meta.json +10 -6
- package/LICENSE +0 -21
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: component-doc
|
|
3
|
+
description: 为 @skyroc/web-ui 组件编写文档。当用户说出组件名(如 Button、Accordion、AlertDialog)时触发。自动定位组件源码、playground demo、已有文档,按照项目文档规范生成或更新 MDX 文档。
|
|
4
|
+
argument-hint: 组件名,如 Button、Accordion、AlertDialog
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Component Documentation Workflow
|
|
8
|
+
|
|
9
|
+
为 `@skyroc/web-ui` 组件库编写文档的专用工作流。
|
|
10
|
+
|
|
11
|
+
## 文件定位规则
|
|
12
|
+
|
|
13
|
+
给定组件名 `$COMPONENT`(用户输入,如 `Button`),将其转为 kebab-case `$slug`(如 `button`),然后按以下路径查找:
|
|
14
|
+
|
|
15
|
+
| 用途 | 路径 |
|
|
16
|
+
|---|---|
|
|
17
|
+
| 组件源码 | `packages/web/ui/shadcn/src/components/$slug/` |
|
|
18
|
+
| Playground Demo | `apps/web-ui-playground/src/app/[locale]/(demo)/$slug/modules/` |
|
|
19
|
+
| 文档 MDX | `apps/web-ui-docs/content/docs/components/$slug.mdx` |
|
|
20
|
+
|
|
21
|
+
**文档基础设施文件**(不需要每次都读,但需要了解):
|
|
22
|
+
|
|
23
|
+
| 文件 | 作用 |
|
|
24
|
+
|---|---|
|
|
25
|
+
| `apps/web-ui-docs/components/props-table.tsx` | `<PropsTable>` — API 属性表格 |
|
|
26
|
+
| `apps/web-ui-docs/components/type-table.tsx` | `<TypeTable>` + `<UnionType>` — 类型定义区 |
|
|
27
|
+
| `apps/web-ui-docs/components/type-anchor.tsx` | 类型链接解析(PascalCase 自定义类型 → 蓝色可点击锚点) |
|
|
28
|
+
| `apps/web-ui-docs/components/type-registry.ts` | 跨页面类型链接注册表 |
|
|
29
|
+
| `apps/web-ui-docs/components/demo/index.tsx` | `<Demo>` — 从 playground 加载 live demo |
|
|
30
|
+
| `apps/web-ui-docs/components/mdx.tsx` | MDX 组件注册(Demo / PropsTable / TypeTable / UnionType) |
|
|
31
|
+
|
|
32
|
+
## 执行流程
|
|
33
|
+
|
|
34
|
+
### Phase 1: 源码阅读与行为校验
|
|
35
|
+
|
|
36
|
+
1. 读取 `packages/web/ui/shadcn/src/components/$slug/` 下所有文件
|
|
37
|
+
- 重点关注:`index.ts`(导出)、`types.ts`(Props 定义)、`*-variants.ts`(样式变体)、主组件文件
|
|
38
|
+
2. 读取 `apps/web-ui-playground/src/app/[locale]/(demo)/$slug/modules/` 下所有 demo
|
|
39
|
+
- 如果目录不存在或 demo 数量不足以覆盖文档需要的功能章节,标记为"需创建 demo"
|
|
40
|
+
3. 如果 preset 包装器存在,读取 `packages/web/ui/shadcn/src/preset/$slug/` 了解预设封装和 `useComponentConfig` 集成
|
|
41
|
+
4. 如果已有文档 MDX,读取 `apps/web-ui-docs/content/docs/components/$slug.mdx`
|
|
42
|
+
5. 读取一个已完成的文档作为参考模板(优先 `alert.mdx`,其次 `button.mdx`)
|
|
43
|
+
|
|
44
|
+
#### 实现一致性校验(必须执行)
|
|
45
|
+
|
|
46
|
+
文档不是 API 想象稿,必须从 **源码、类型、demo、实际行为** 四者交叉验证。
|
|
47
|
+
|
|
48
|
+
写文档前必须同时检查:
|
|
49
|
+
|
|
50
|
+
- `types.ts` 声明了哪些 public props / types
|
|
51
|
+
- 主组件实际解构了哪些 props
|
|
52
|
+
- props 是否真的传递给对应子组件或底层库
|
|
53
|
+
- 默认值实际在哪里设置
|
|
54
|
+
- `classNames` / slot props / `size` / `variant` / `color` 等样式控制是否真的生效
|
|
55
|
+
- `index.ts` 实际导出了哪些组件和类型
|
|
56
|
+
|
|
57
|
+
如果发现 **类型/API 承诺** 与 **实现行为** 不一致:
|
|
58
|
+
|
|
59
|
+
1. 先明确指出这是实现问题或 API 语义不一致
|
|
60
|
+
2. 如果任务允许修改代码,应优先修实现或类型,而不是在文档里规避
|
|
61
|
+
3. 如果不能修改实现,必须在最终说明中列为风险/阻塞,并在文档中避免承诺未实现能力
|
|
62
|
+
4. 不允许只降低文档表述来掩盖实现 bug
|
|
63
|
+
|
|
64
|
+
典型例子:
|
|
65
|
+
|
|
66
|
+
- `BottomSheetProps.size` 声明为主组件尺寸,但主组件没有传给 `BottomSheetContent`:这是实现 bug,应提出或修复
|
|
67
|
+
- props 被解构但没有使用:不要在文档中承诺该能力已生效
|
|
68
|
+
- 类型继承了底层库 props,但封装组件覆盖或丢弃了其中一部分:以实际封装行为为准
|
|
69
|
+
|
|
70
|
+
### Phase 2: 文档编写
|
|
71
|
+
|
|
72
|
+
#### MDX 结构(必须遵循)
|
|
73
|
+
|
|
74
|
+
```mdx
|
|
75
|
+
---
|
|
76
|
+
title: $COMPONENT
|
|
77
|
+
description: 一句话描述组件用途
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
组件概述段落。
|
|
81
|
+
|
|
82
|
+
\`\`\`tsx
|
|
83
|
+
import { ... } from '@skyroc/web-ui';
|
|
84
|
+
\`\`\`
|
|
85
|
+
|
|
86
|
+
## 何时使用
|
|
87
|
+
|
|
88
|
+
- 使用场景 1
|
|
89
|
+
- 使用场景 2
|
|
90
|
+
- 与相似组件的区分
|
|
91
|
+
|
|
92
|
+
## 功能章节 1(如"颜色"、"变体"、"尺寸"等)
|
|
93
|
+
|
|
94
|
+
说明文字 + 表格(可选)
|
|
95
|
+
|
|
96
|
+
<Demo src="@playground/$slug/modules/DemoName" />
|
|
97
|
+
|
|
98
|
+
\`\`\`tsx
|
|
99
|
+
// 内联代码作为 API 快速参考
|
|
100
|
+
<Component prop="value" />
|
|
101
|
+
\`\`\`
|
|
102
|
+
|
|
103
|
+
## 功能章节 N
|
|
104
|
+
|
|
105
|
+
...
|
|
106
|
+
|
|
107
|
+
## API
|
|
108
|
+
|
|
109
|
+
### $COMPONENT
|
|
110
|
+
|
|
111
|
+
通用属性参考说明。
|
|
112
|
+
|
|
113
|
+
<PropsTable data={[...]} />
|
|
114
|
+
|
|
115
|
+
### 子组件(如有)
|
|
116
|
+
|
|
117
|
+
<PropsTable data={[...]} />
|
|
118
|
+
|
|
119
|
+
## 类型
|
|
120
|
+
|
|
121
|
+
<TypeTable data={[...]} />
|
|
122
|
+
<UnionType name="..." description="..." type="..." />
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### Demo + 内联代码的组合模式(必须遵循)
|
|
126
|
+
|
|
127
|
+
每个功能章节的示例由两部分组成,缺一不可:
|
|
128
|
+
|
|
129
|
+
1. **`<Demo>` 标签**(必须):引用 playground 源码,用户可在文档中看到交互式 live demo 和完整源码。
|
|
130
|
+
2. **内联代码块**(推荐):紧跟在 `<Demo>` 后面,提供简洁的 API 用法速查。
|
|
131
|
+
|
|
132
|
+
内联代码块的编写原则:
|
|
133
|
+
- 不需要完整组件结构,只展示关键 API 用法(最核心的 props 组合)
|
|
134
|
+
- Hooks 类的章节用 1-3 行代码展示调用签名即可
|
|
135
|
+
- 如果 Demo 本身已经足够简单直观,可以省略内联代码
|
|
136
|
+
- 纯展示类章节(如尺寸枚举、变体枚举)可以用表格代替内联代码
|
|
137
|
+
|
|
138
|
+
示例:
|
|
139
|
+
|
|
140
|
+
```mdx
|
|
141
|
+
## 受控模式
|
|
142
|
+
|
|
143
|
+
通过 `page` + `onPageChange` 实现受控分页。
|
|
144
|
+
|
|
145
|
+
<Demo src="@playground/pagination/modules/Controlled" />
|
|
146
|
+
|
|
147
|
+
\`\`\`tsx
|
|
148
|
+
const [page, setPage] = useState(1);
|
|
149
|
+
|
|
150
|
+
<Pagination
|
|
151
|
+
total={200}
|
|
152
|
+
itemsPerPage={10}
|
|
153
|
+
page={page}
|
|
154
|
+
onPageChange={setPage}
|
|
155
|
+
/>
|
|
156
|
+
\`\`\`
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
#### PropsTable 书写规则
|
|
160
|
+
|
|
161
|
+
- `type` 字段:短字面量联合类型必须直接内联,不要另起 PascalCase 类型名,也不要在 `## 类型` 区域写 `<UnionType>`。
|
|
162
|
+
- 典型需要内联的类型:
|
|
163
|
+
- 主题色:`"'primary' | 'destructive' | 'success' | 'warning' | 'info' | 'carbon' | 'secondary' | 'accent'"`
|
|
164
|
+
- 尺寸:`"'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'"`
|
|
165
|
+
- 状态 / 方向 / 位置 / 形状等短联合:`"boolean | 'indeterminate'"`、`"'horizontal' | 'vertical'"`、`"'left' | 'right'"`、`"'square' | 'rounded'"`
|
|
166
|
+
- 对象类型、复杂派生类型、外部库大型类型、子组件 Props、classNames/slots 配置,使用 PascalCase 类型名引用。
|
|
167
|
+
- PascalCase 类型名由 `typeToReactNode` 自动渲染为蓝色可点击链接,跳转到当前页类型定义或 `type-registry.ts` 注册的跨页锚点。
|
|
168
|
+
- `default` 用字符串表示,如 `"'md'"`、`'false'`
|
|
169
|
+
- `required: true` 仅在属性必填时添加
|
|
170
|
+
|
|
171
|
+
#### 类型完整性规则(严格遵循)
|
|
172
|
+
|
|
173
|
+
**核心原则:PropsTable / TypeTable 中出现的每一个非内置 PascalCase 类型名,都必须在当前页 `## 类型` 区域有对应定义,或在 `type-registry.ts` 中注册了跨页面链接。不允许出现"引用了但未定义"的类型。**
|
|
174
|
+
|
|
175
|
+
检查清单(写完文档后逐项核对):
|
|
176
|
+
|
|
177
|
+
1. 遍历所有 `<PropsTable>` 的 `type` 字段,收集全部 PascalCase 类型名
|
|
178
|
+
2. 遍历所有 `<TypeTable>` 的 `fields[].type`,收集全部 PascalCase 类型名
|
|
179
|
+
3. 排除内置类型(`ReactNode`、`HTMLElement`、`Record`、`Partial` 等,见 `type-anchor.tsx` 的 `BUILTIN_TYPE_NAMES`)
|
|
180
|
+
4. 对剩余的每一个类型名,确认以下之一成立:
|
|
181
|
+
- 在当前页的 `<TypeTable>` 中作为 `name` 定义
|
|
182
|
+
- 在当前页的 `<UnionType>` 中作为 `name` 定义
|
|
183
|
+
- 在 `type-registry.ts` 中注册了跨页面链接
|
|
184
|
+
5. 如有遗漏,补充定义后再输出
|
|
185
|
+
6. 如果遗漏类型只是短字面量联合类型(如 ThemeSize、ThemeColor、方向、位置、形状、简单状态),不要补 `<UnionType>`,应改为在 `type` 字段直接内联。
|
|
186
|
+
|
|
187
|
+
特别注意:
|
|
188
|
+
|
|
189
|
+
- **子组件 Props 类型**:如果组件有 `titleProps: AlertTitleProps`、`descriptionProps: AlertDescriptionProps` 等 props,这些类型也必须在 TypeTable 中定义,包含各自的字段列表
|
|
190
|
+
- **组件本目录导出的 public 类型**:`index.ts` / `types.ts` 导出的 Props、ClassNames/Ui、Slots、ItemData、Option、Variant 等类型,都必须在当前页类型区定义或跨页注册
|
|
191
|
+
- **封装依赖类型**:如果组件类型继承 `StyledComponentProps<T>`、`HTMLComponentProps<T>`、Radix Props、Vaul Props 等,需要在类型区说明这些包装类型和关键字段
|
|
192
|
+
- **不要展开无关大类型**:如果引用外部组件的大型 Props(如 `ButtonProps`、`DropdownMenuProps`),且该类型不属于当前组件,可以只引用并通过 `type-registry.ts` 跨页链接;不要在当前页复制展开全部字段
|
|
193
|
+
- **共享主题类型**:`ThemeColor`、`ThemeSize` 这类短联合直接内联;`ClassValue` 这类复杂类型可以在类型区保留定义。
|
|
194
|
+
- **BUILTIN_TYPE_NAMES 维护**:如果文档中用到了 PascalCase 类型名但它并非当前组件定义的自定义类型(如 `DeepPartial`、`ElementType`、`StandardSchema`、`Values` 等泛型/外部类型),需要确认它已在 `type-anchor.tsx` 的 `BUILTIN_TYPE_NAMES` 中注册。如果没有注册,会生成错误的本地锚点链接。遇到这种情况需要将其添加到 `BUILTIN_TYPE_NAMES` 中。
|
|
195
|
+
|
|
196
|
+
#### 常用内联类型(直接复制使用)
|
|
197
|
+
|
|
198
|
+
以下类型在多数组件文档中都需要,按需取用:
|
|
199
|
+
|
|
200
|
+
```mdx
|
|
201
|
+
type: "'primary' | 'destructive' | 'success' | 'warning' | 'info' | 'carbon' | 'secondary' | 'accent'"
|
|
202
|
+
|
|
203
|
+
type: "'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'"
|
|
204
|
+
|
|
205
|
+
<UnionType name="ClassValue" description="CSS 类名类型" type="string | null | undefined | Record<string, boolean> | ClassValue[]" />
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
#### 类型定义规则
|
|
209
|
+
|
|
210
|
+
- 页面底部 `## 类型` 区域定义本页引用的所有非内置类型
|
|
211
|
+
- `<TypeTable>` — 对象类型(有字段列表的类型,如 ClassNames、子组件 Props)
|
|
212
|
+
- `<UnionType>` — 复杂联合、外部库派生类型、确实需要解释的类型定义;短字面量联合不要使用 `<UnionType>`,直接内联到表格
|
|
213
|
+
- 类型名与 PropsTable 中的 `type` 字段一致,系统自动生成锚点 ID
|
|
214
|
+
- 排列顺序建议:先 `<TypeTable>`(对象类型),再 `<UnionType>`(联合类型)
|
|
215
|
+
|
|
216
|
+
#### 跨页面类型引用
|
|
217
|
+
|
|
218
|
+
当 PropsTable 中引用了定义在**其他页面**的类型(如 AlertDialog 引用 ButtonProps):
|
|
219
|
+
|
|
220
|
+
1. 在 `apps/web-ui-docs/components/type-registry.ts` 中注册映射
|
|
221
|
+
2. 格式:`TypeName: '/docs/components/target-page#anchor'`
|
|
222
|
+
3. 无需在当前页重复定义该类型
|
|
223
|
+
|
|
224
|
+
#### Demo 引用规则
|
|
225
|
+
|
|
226
|
+
- 格式:`<Demo src="@playground/$slug/modules/DemoModuleName" />`
|
|
227
|
+
- **每个功能章节必须有 Demo**,Demo 是文档的核心展示方式,不可省略
|
|
228
|
+
- 优先复用 playground 中已经存在、能代表功能点的 demo
|
|
229
|
+
- 引用 demo 前检查 demo 文件是否依赖本地 `./shared`、同目录模块、图片、路由组件或其他非 scope 内容
|
|
230
|
+
- 如果 demo 不是自包含的,必须确认当前 Demo transformer / react-live 环境能处理这些 import
|
|
231
|
+
- 如果不能处理,选择以下方式之一:
|
|
232
|
+
- 调整 playground demo 使其可在文档中运行
|
|
233
|
+
- 新增 docs 专用 demo
|
|
234
|
+
- 在最终说明中明确该 demo 存在运行时风险
|
|
235
|
+
- 不允许假设所有 playground demo 都能被 react-live 直接执行
|
|
236
|
+
|
|
237
|
+
#### 创建缺失的 Playground Demo(必须执行)
|
|
238
|
+
|
|
239
|
+
当 playground `modules/` 目录不存在或缺少所需 demo 时,**必须创建**,不能因为缺 demo 而只写内联代码。
|
|
240
|
+
|
|
241
|
+
**创建 demo 文件的规范:**
|
|
242
|
+
|
|
243
|
+
1. 文件路径:`apps/web-ui-playground/src/app/[locale]/(demo)/$slug/modules/$DemoName.tsx`
|
|
244
|
+
2. 文件结构模板:
|
|
245
|
+
|
|
246
|
+
```tsx
|
|
247
|
+
'use client';
|
|
248
|
+
|
|
249
|
+
import { ... } from '@skyroc/web-ui';
|
|
250
|
+
|
|
251
|
+
const $DemoName = () => {
|
|
252
|
+
// demo 实现
|
|
253
|
+
return (
|
|
254
|
+
<div className="...">
|
|
255
|
+
...
|
|
256
|
+
</div>
|
|
257
|
+
);
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
export default $DemoName;
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
3. 创建规则:
|
|
264
|
+
- 必须添加 `'use client'` 指令
|
|
265
|
+
- 组件使用箭头函数 + PascalCase 命名
|
|
266
|
+
- 必须使用 `export default` 导出
|
|
267
|
+
- 从 `@skyroc/web-ui` 导入 UI 组件,不要从内部路径导入
|
|
268
|
+
- 图标从 `lucide-react` 导入
|
|
269
|
+
- 避免依赖外部 `shared.tsx`,demo 应自包含(如需共享常量直接内联到各 demo 中)
|
|
270
|
+
- 使用 tailwind 类名进行布局样式
|
|
271
|
+
- 每个 demo 聚焦展示一个功能点,保持简洁
|
|
272
|
+
|
|
273
|
+
4. 同步 `page.tsx`:如果 `page.tsx` 不存在或未引用新 demo,需要一并创建/更新
|
|
274
|
+
|
|
275
|
+
**判断流程:**
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
读取 playground/$slug/modules/ 目录
|
|
279
|
+
├── 已有 demo 覆盖文档需要的功能点 → 直接引用
|
|
280
|
+
├── 有 page.tsx 但缺少部分 demo → 补充缺失的 demo 模块
|
|
281
|
+
└── 目录不存在 → 创建全部 demo 模块 + page.tsx
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
#### react-live scope 注意事项
|
|
285
|
+
|
|
286
|
+
Demo 在 `react-live` 沙箱中执行,scope 定义在 `apps/web-ui-docs/components/demo/scope.ts`。需注意:
|
|
287
|
+
|
|
288
|
+
- scope 中同时导入了 `@skyroc/web-ui` 和 `lucide-react`,后者也导出部分同名组件(如 `Badge`)
|
|
289
|
+
- 当前 scope 的赋值顺序保证 `@skyroc/web-ui` 优先(最后赋值覆盖同名导出)
|
|
290
|
+
- 如果新增的组件名与 `lucide-react` 图标同名,需确认 scope 中不存在冲突,或调整赋值顺序
|
|
291
|
+
|
|
292
|
+
#### 工作区边界
|
|
293
|
+
|
|
294
|
+
- 默认只新增或修改目标文档 `apps/web-ui-docs/content/docs/components/$slug.mdx`
|
|
295
|
+
- 不要回滚、格式化或整理与当前组件文档无关的用户改动
|
|
296
|
+
- 如果组件源码已有未提交改动,必须基于当前工作区实现写文档
|
|
297
|
+
- 只有当实现问题会导致文档无法正确描述组件时,才修改组件源码或类型;修改前先说明发现的问题
|
|
298
|
+
- 最终回复中要明确区分:本次修改的文件、已有但未处理的工作区改动、验证结果或未验证原因
|
|
299
|
+
|
|
300
|
+
## 参考范例
|
|
301
|
+
|
|
302
|
+
以 `apps/web-ui-docs/content/docs/components/alert.mdx` 为首选参考,`button.mdx` 为辅助参考。
|
|
303
|
+
|
|
304
|
+
`alert.mdx` 展示了完整的类型引用模式:PropsTable 使用类型名引用 → 类型区包含全部 TypeTable 和 UnionType 定义 → 无遗漏。
|