@bovinphang/frontend-craft 2.6.0 → 2.8.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/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +72 -1
- package/CHANGELOG.zh-CN.md +71 -1
- package/README.md +10 -6
- package/README.openclaw.md +100 -42
- package/README.openclaw.zh-CN.md +100 -42
- package/README.zh-CN.md +10 -6
- package/agents/fec-architect.md +70 -70
- package/agents/fec-code-reviewer.md +82 -82
- package/agents/fec-debugger.md +20 -20
- package/agents/fec-design-token-mapper.md +36 -36
- package/agents/fec-doc-updater.md +13 -13
- package/agents/fec-e2e-runner.md +45 -45
- package/agents/fec-figma-implementer.md +59 -59
- package/agents/fec-performance-optimizer.md +128 -128
- package/agents/fec-refactor-cleaner.md +14 -14
- package/agents/fec-security-reviewer.md +66 -67
- package/agents/fec-test-planner.md +27 -27
- package/agents/fec-typescript-reviewer.md +88 -88
- package/agents/fec-ui-checker.md +74 -74
- package/commands/fec-debug.md +19 -19
- package/commands/fec-doc-sync.md +11 -11
- package/commands/fec-init.md +37 -38
- package/commands/fec-plan.md +58 -58
- package/commands/fec-refactor-clean.md +11 -11
- package/commands/fec-review.md +41 -41
- package/commands/fec-scaffold.md +41 -41
- package/commands/fec-tdd.md +13 -13
- package/dist/bin/frontend-craft.js +29 -27
- package/docs/example-prompts.md +84 -69
- package/docs/ja-JP/README.md +56 -52
- package/docs/ko-KR/README.md +45 -41
- package/docs/project-structure.md +19 -7
- package/docs/superpowers/plans/2026-05-29-fec-debug.md +491 -0
- package/docs/superpowers/specs/2026-05-29-fec-debug-design.md +340 -0
- package/docs/zh-CN/example-prompts.md +84 -69
- package/docs/zh-CN/project-structure.md +14 -5
- package/docs/zh-TW/README.md +33 -29
- package/localized/zh-CN/agents/fec-architect.md +125 -0
- package/localized/zh-CN/agents/fec-code-reviewer.md +152 -0
- package/localized/zh-CN/agents/fec-debugger.md +44 -0
- package/localized/zh-CN/agents/fec-design-token-mapper.md +75 -0
- package/localized/zh-CN/agents/fec-doc-updater.md +30 -0
- package/localized/zh-CN/agents/fec-e2e-runner.md +107 -0
- package/localized/zh-CN/agents/fec-figma-implementer.md +104 -0
- package/localized/zh-CN/agents/fec-performance-optimizer.md +293 -0
- package/localized/zh-CN/agents/fec-refactor-cleaner.md +32 -0
- package/localized/zh-CN/agents/fec-security-reviewer.md +116 -0
- package/localized/zh-CN/agents/fec-test-planner.md +50 -0
- package/localized/zh-CN/agents/fec-typescript-reviewer.md +142 -0
- package/localized/zh-CN/agents/fec-ui-checker.md +120 -0
- package/localized/zh-CN/commands/fec-debug.md +30 -0
- package/localized/zh-CN/commands/fec-doc-sync.md +19 -0
- package/localized/zh-CN/commands/fec-init.md +70 -0
- package/localized/zh-CN/commands/fec-plan.md +94 -0
- package/localized/zh-CN/commands/fec-refactor-clean.md +19 -0
- package/localized/zh-CN/commands/fec-review.md +66 -0
- package/localized/zh-CN/commands/fec-scaffold.md +205 -0
- package/localized/zh-CN/commands/fec-tdd.md +21 -0
- package/localized/zh-CN/skills/TEMPLATE.md +155 -0
- package/localized/zh-CN/skills/eval_queries.json +1013 -0
- package/localized/zh-CN/skills/fec-accessibility-check/SKILL.md +39 -0
- package/localized/zh-CN/skills/fec-accessibility-check/references/report-template.md +23 -0
- package/localized/zh-CN/skills/fec-accessibility-check/references/screen-reader-testing.md +33 -0
- package/localized/zh-CN/skills/fec-alchemy/SKILL.md +74 -0
- package/localized/zh-CN/skills/fec-alchemy/assets/absorption-plan-template.md +47 -0
- package/localized/zh-CN/skills/fec-alchemy/assets/intake-template.md +55 -0
- package/localized/zh-CN/skills/fec-alchemy/assets/review-checklist.md +31 -0
- package/localized/zh-CN/skills/fec-alchemy/references/methodology.md +94 -0
- package/localized/zh-CN/skills/fec-alchemy/references/originality-and-licensing.md +57 -0
- package/localized/zh-CN/skills/fec-api-integration/SKILL.md +78 -0
- package/localized/zh-CN/skills/fec-api-integration/references/integration-patterns.md +80 -0
- package/localized/zh-CN/skills/fec-backend-requirements-handoff/SKILL.md +45 -0
- package/localized/zh-CN/skills/fec-browser-storage/SKILL.md +34 -0
- package/localized/zh-CN/skills/fec-browser-storage/references/storage-patterns.md +65 -0
- package/localized/zh-CN/skills/fec-canvas-threejs/SKILL.md +66 -0
- package/localized/zh-CN/skills/fec-canvas-threejs/references/rendering-patterns.md +67 -0
- package/localized/zh-CN/skills/fec-canvas-threejs/references/shader-webgl-patterns.md +67 -0
- package/localized/zh-CN/skills/fec-code-review/SKILL.md +143 -0
- package/localized/zh-CN/skills/fec-code-review/references/report-template.md +29 -0
- package/localized/zh-CN/skills/fec-component-testing/SKILL.md +119 -0
- package/localized/zh-CN/skills/fec-data-fetching/SKILL.md +62 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/query-patterns.md +103 -0
- package/localized/zh-CN/skills/fec-debug-framework/SKILL.md +157 -0
- package/localized/zh-CN/skills/fec-debug-framework/references/report-template.md +58 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/SKILL.md +34 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/dependency-upgrade-workflow.md +56 -0
- package/localized/zh-CN/skills/fec-doc-sync/SKILL.md +39 -0
- package/localized/zh-CN/skills/fec-drawio-studio/SKILL.md +73 -0
- package/localized/zh-CN/skills/fec-drawio-studio/data/THIRD_PARTY_NOTICES.md +10 -0
- package/localized/zh-CN/skills/fec-drawio-studio/data/brand-icons.json +878 -0
- package/localized/zh-CN/skills/fec-drawio-studio/data/shape-index.json +83570 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/data-residency.md +27 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/diagram-patterns.md +60 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/flowchart-quality.md +49 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/layout-and-export.md +72 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/troubleshooting.md +29 -0
- package/localized/zh-CN/skills/fec-drawio-studio/references/xml-and-mermaid.md +58 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/brand-symbols.mjs +99 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/diagram-lint.mjs +205 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/diagram-url.mjs +102 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/drawio-export.mjs +134 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/layout-graph.mjs +107 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/png-embed-fix.mjs +26 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-go-packages.mjs +36 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-js-modules.mjs +52 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-python-classes.mjs +30 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-python-modules.mjs +55 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-rust-modules.mjs +35 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/scan-ts-modules.mjs +7 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/shape-query.mjs +121 -0
- package/localized/zh-CN/skills/fec-drawio-studio/scripts/studio-core.mjs +139 -0
- package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/corporate.json +49 -0
- package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/default.json +49 -0
- package/localized/zh-CN/skills/fec-drawio-studio/styles/built-in/handdrawn.json +49 -0
- package/localized/zh-CN/skills/fec-drawio-studio/styles/schema.json +112 -0
- package/localized/zh-CN/skills/fec-e2e-testing/SKILL.md +42 -0
- package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-ci-reporting.md +62 -0
- package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-special-scenarios.md +52 -0
- package/localized/zh-CN/skills/fec-e2e-testing/references/e2e-visual-regression.md +60 -0
- package/localized/zh-CN/skills/fec-e2e-testing/references/playwright-patterns.md +95 -0
- package/localized/zh-CN/skills/fec-form-handling/SKILL.md +76 -0
- package/localized/zh-CN/skills/fec-form-handling/references/advanced-form-patterns.md +101 -0
- package/localized/zh-CN/skills/fec-image-generation/SKILL.md +80 -0
- package/localized/zh-CN/skills/fec-image-generation/assets/interactive-diagram.html +371 -0
- package/localized/zh-CN/skills/fec-image-generation/references/artifact-routing.md +80 -0
- package/localized/zh-CN/skills/fec-image-generation/references/diagram-workflows.md +74 -0
- package/localized/zh-CN/skills/fec-image-generation/references/html-technical-diagrams.md +236 -0
- package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +30 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/export-diagram.mjs +364 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/interactive-diagram-server.mjs +654 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +431 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/tech-diagram-render.mjs +1397 -0
- package/localized/zh-CN/skills/fec-implement-from-design/SKILL.md +129 -0
- package/localized/zh-CN/skills/fec-implement-from-design/references/design-plan-template.md +36 -0
- package/localized/zh-CN/skills/fec-legacy-to-modern-migration/SKILL.md +46 -0
- package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-execution-checklist.md +110 -0
- package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-report-template.md +41 -0
- package/localized/zh-CN/skills/fec-legacy-to-modern-migration/references/migration-strategy-and-mapping.md +48 -0
- package/localized/zh-CN/skills/fec-legacy-web-standard/SKILL.md +35 -0
- package/localized/zh-CN/skills/fec-legacy-web-standard/references/legacy-patterns.md +85 -0
- package/localized/zh-CN/skills/fec-list-virtualization/SKILL.md +34 -0
- package/localized/zh-CN/skills/fec-list-virtualization/references/virtualization-patterns.md +80 -0
- package/localized/zh-CN/skills/fec-monorepo-project-standard/SKILL.md +142 -0
- package/localized/zh-CN/skills/fec-motion-interaction/SKILL.md +73 -0
- package/localized/zh-CN/skills/fec-motion-interaction/references/motion-patterns.md +112 -0
- package/localized/zh-CN/skills/fec-nextjs-project-standard/SKILL.md +123 -0
- package/localized/zh-CN/skills/fec-nuxt-project-standard/SKILL.md +122 -0
- package/localized/zh-CN/skills/fec-performance-optimization/SKILL.md +80 -0
- package/localized/zh-CN/skills/fec-performance-optimization/references/framework-performance-patterns.md +38 -0
- package/localized/zh-CN/skills/fec-performance-optimization/references/report-template.md +59 -0
- package/localized/zh-CN/skills/fec-pwa-implementation/SKILL.md +35 -0
- package/localized/zh-CN/skills/fec-pwa-implementation/references/manifest-and-icons.md +53 -0
- package/localized/zh-CN/skills/fec-pwa-implementation/references/service-worker-workbox.md +68 -0
- package/localized/zh-CN/skills/fec-react-project-standard/SKILL.md +91 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-performance-patterns.md +35 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-project-structure.md +197 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-quality-patterns.md +131 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-runtime-patterns.md +293 -0
- package/localized/zh-CN/skills/fec-refactor-clean/SKILL.md +51 -0
- package/localized/zh-CN/skills/fec-refactor-clean/references/report-template.md +42 -0
- package/localized/zh-CN/skills/fec-responsive-layout/SKILL.md +34 -0
- package/localized/zh-CN/skills/fec-responsive-layout/references/responsive-layout-patterns.md +70 -0
- package/localized/zh-CN/skills/fec-route-protection/SKILL.md +135 -0
- package/localized/zh-CN/skills/fec-security-review/SKILL.md +38 -0
- package/localized/zh-CN/skills/fec-security-review/references/report-template.md +27 -0
- package/localized/zh-CN/skills/fec-security-review/references/security-checklist.md +64 -0
- package/localized/zh-CN/skills/fec-source-driven-development/SKILL.md +87 -0
- package/localized/zh-CN/skills/fec-state-management/SKILL.md +140 -0
- package/localized/zh-CN/skills/fec-state-management/references/state-patterns.md +109 -0
- package/localized/zh-CN/skills/fec-storybook-component-doc/SKILL.md +37 -0
- package/localized/zh-CN/skills/fec-storybook-component-doc/references/story-patterns.md +118 -0
- package/localized/zh-CN/skills/fec-svg-animation/SKILL.md +148 -0
- package/localized/zh-CN/skills/fec-tailwind-design-system/SKILL.md +34 -0
- package/localized/zh-CN/skills/fec-tailwind-design-system/references/tailwind-system-patterns.md +59 -0
- package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +52 -0
- package/localized/zh-CN/skills/fec-testing-strategy/SKILL.md +45 -0
- package/localized/zh-CN/skills/fec-typescript-project-standard/SKILL.md +54 -0
- package/{skills/fec-typescript-type-safety → localized/zh-CN/skills/fec-typescript-project-standard}/references/type-safety-patterns.md +1 -1
- package/{skills/fec-typescript-type-safety/SKILL.md → localized/zh-CN/skills/fec-typescript-project-standard/references/type-safety.md} +5 -14
- package/localized/zh-CN/skills/fec-ui-design/SKILL.md +108 -0
- package/localized/zh-CN/skills/fec-ui-design/data/product-rules.json +231 -0
- package/localized/zh-CN/skills/fec-ui-design/data/stack-ui-rules.json +146 -0
- package/localized/zh-CN/skills/fec-ui-design/data/style-archetypes.json +373 -0
- package/localized/zh-CN/skills/fec-ui-design/data/ux-quality-rules.json +203 -0
- package/localized/zh-CN/skills/fec-ui-design/references/design-intelligence.md +97 -0
- package/localized/zh-CN/skills/fec-ui-design/references/master-page-overrides.md +30 -0
- package/localized/zh-CN/skills/fec-ui-design/references/pre-delivery-checklist.md +39 -0
- package/localized/zh-CN/skills/fec-ui-design/scripts/design-system.mjs +648 -0
- package/localized/zh-CN/skills/fec-validation-fix/SKILL.md +51 -0
- package/localized/zh-CN/skills/fec-validation-fix/references/report-template.md +43 -0
- package/localized/zh-CN/skills/fec-vite-project-standard/SKILL.md +83 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/SKILL.md +58 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-composables-routing.md +162 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-performance-patterns.md +13 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-project-structure.md +176 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-state-api-quality.md +216 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/SKILL.md +61 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/data/starter-themes.json +59 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/references/chapter-craft.md +37 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/references/content-plan.md +38 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/references/recording-and-audio.md +33 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/references/theme-system.md +36 -0
- package/localized/zh-CN/skills/fec-web-video-presentation/scripts/create-video-presentation.mjs +430 -0
- package/localized/zh-CN/skills/fec-web-workers/SKILL.md +35 -0
- package/localized/zh-CN/skills/fec-web-workers/references/advanced-workers.md +54 -0
- package/localized/zh-CN/skills/fec-web-workers/references/basic-worker.md +67 -0
- package/localized/zh-CN/skills/metadata.json +1646 -0
- package/localized/zh-CN/skills/relations.json +755 -0
- package/localized/zh-CN/templates/claude/CLAUDE.md +106 -0
- package/localized/zh-CN/templates/claude/settings.json +62 -0
- package/localized/zh-CN/templates/codex/AGENTS.md +105 -0
- package/localized/zh-CN/templates/codex/config.toml +32 -0
- package/localized/zh-CN/templates/openclaw/AGENTS.md +101 -0
- package/localized/zh-CN/templates/openclaw/OPENCLAW-CONFIG.md +12 -0
- package/localized/zh-CN/templates/shared/rules/fec-agent-workflow.md +54 -0
- package/localized/zh-CN/templates/shared/rules/fec-api-layer.md +99 -0
- package/localized/zh-CN/templates/shared/rules/fec-ci-cd.md +40 -0
- package/localized/zh-CN/templates/shared/rules/fec-code-comments.md +33 -0
- package/localized/zh-CN/templates/shared/rules/fec-design-system.md +72 -0
- package/localized/zh-CN/templates/shared/rules/fec-error-handling.md +56 -0
- package/localized/zh-CN/templates/shared/rules/fec-git-conventions.md +73 -0
- package/localized/zh-CN/templates/shared/rules/fec-i18n.md +64 -0
- package/localized/zh-CN/templates/shared/rules/fec-naming-conventions.md +120 -0
- package/localized/zh-CN/templates/shared/rules/fec-performance.md +101 -0
- package/localized/zh-CN/templates/shared/rules/fec-react.md +82 -0
- package/localized/zh-CN/templates/shared/rules/fec-refactoring.md +47 -0
- package/localized/zh-CN/templates/shared/rules/fec-rendering-patterns.md +40 -0
- package/localized/zh-CN/templates/shared/rules/fec-responsive-design.md +50 -0
- package/localized/zh-CN/templates/shared/rules/fec-source-driven-development.md +31 -0
- package/localized/zh-CN/templates/shared/rules/fec-state-management.md +60 -0
- package/localized/zh-CN/templates/shared/rules/fec-testing.md +98 -0
- package/localized/zh-CN/templates/shared/rules/fec-typescript.md +112 -0
- package/localized/zh-CN/templates/shared/rules/fec-vue.md +64 -0
- package/localized/zh-CN/templates/shared/rules/fec-working-modes.md +50 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +4 -3
- package/skills/TEMPLATE.md +74 -74
- package/skills/eval_queries.json +717 -619
- package/skills/fec-accessibility-check/SKILL.md +21 -21
- package/skills/fec-accessibility-check/references/report-template.md +12 -12
- package/skills/fec-accessibility-check/references/screen-reader-testing.md +24 -24
- package/skills/fec-alchemy/SKILL.md +50 -50
- package/skills/fec-alchemy/assets/absorption-plan-template.md +32 -32
- package/skills/fec-alchemy/assets/intake-template.md +55 -55
- package/skills/fec-alchemy/assets/review-checklist.md +23 -23
- package/skills/fec-alchemy/references/methodology.md +66 -66
- package/skills/fec-alchemy/references/originality-and-licensing.md +42 -42
- package/skills/fec-api-integration/SKILL.md +61 -61
- package/skills/fec-api-integration/references/integration-patterns.md +30 -30
- package/skills/fec-backend-requirements-handoff/SKILL.md +45 -0
- package/skills/fec-browser-storage/SKILL.md +16 -16
- package/skills/fec-browser-storage/references/storage-patterns.md +16 -16
- package/skills/fec-canvas-threejs/SKILL.md +21 -21
- package/skills/fec-canvas-threejs/references/rendering-patterns.md +10 -10
- package/skills/fec-canvas-threejs/references/shader-webgl-patterns.md +37 -37
- package/skills/fec-code-review/SKILL.md +94 -94
- package/skills/fec-code-review/references/report-template.md +13 -13
- package/skills/fec-component-testing/SKILL.md +39 -39
- package/skills/fec-data-fetching/SKILL.md +16 -16
- package/skills/fec-data-fetching/references/query-patterns.md +27 -27
- package/skills/fec-debug-framework/SKILL.md +95 -95
- package/skills/fec-debug-framework/references/report-template.md +34 -34
- package/skills/fec-dependency-upgrade/SKILL.md +17 -17
- package/skills/fec-dependency-upgrade/references/dependency-upgrade-workflow.md +31 -31
- package/skills/fec-doc-sync/SKILL.md +23 -23
- package/skills/fec-drawio-studio/SKILL.md +73 -0
- package/skills/fec-drawio-studio/data/THIRD_PARTY_NOTICES.md +10 -0
- package/skills/fec-drawio-studio/data/brand-icons.json +878 -0
- package/skills/fec-drawio-studio/data/shape-index.json +83570 -0
- package/skills/fec-drawio-studio/references/data-residency.md +27 -0
- package/skills/fec-drawio-studio/references/diagram-patterns.md +60 -0
- package/skills/fec-drawio-studio/references/flowchart-quality.md +49 -0
- package/skills/fec-drawio-studio/references/layout-and-export.md +72 -0
- package/skills/fec-drawio-studio/references/troubleshooting.md +29 -0
- package/skills/fec-drawio-studio/references/xml-and-mermaid.md +58 -0
- package/skills/fec-drawio-studio/scripts/brand-symbols.mjs +99 -0
- package/skills/fec-drawio-studio/scripts/diagram-lint.mjs +205 -0
- package/skills/fec-drawio-studio/scripts/diagram-url.mjs +102 -0
- package/skills/fec-drawio-studio/scripts/drawio-export.mjs +134 -0
- package/skills/fec-drawio-studio/scripts/layout-graph.mjs +107 -0
- package/skills/fec-drawio-studio/scripts/png-embed-fix.mjs +26 -0
- package/skills/fec-drawio-studio/scripts/scan-go-packages.mjs +36 -0
- package/skills/fec-drawio-studio/scripts/scan-js-modules.mjs +52 -0
- package/skills/fec-drawio-studio/scripts/scan-python-classes.mjs +30 -0
- package/skills/fec-drawio-studio/scripts/scan-python-modules.mjs +55 -0
- package/skills/fec-drawio-studio/scripts/scan-rust-modules.mjs +35 -0
- package/skills/fec-drawio-studio/scripts/scan-ts-modules.mjs +7 -0
- package/skills/fec-drawio-studio/scripts/shape-query.mjs +121 -0
- package/skills/fec-drawio-studio/scripts/studio-core.mjs +139 -0
- package/skills/fec-drawio-studio/styles/built-in/corporate.json +49 -0
- package/skills/fec-drawio-studio/styles/built-in/default.json +49 -0
- package/skills/fec-drawio-studio/styles/built-in/handdrawn.json +49 -0
- package/skills/fec-drawio-studio/styles/schema.json +112 -0
- package/skills/fec-e2e-testing/SKILL.md +24 -22
- package/skills/fec-e2e-testing/references/e2e-ci-reporting.md +62 -0
- package/skills/fec-e2e-testing/references/e2e-special-scenarios.md +52 -0
- package/skills/fec-e2e-testing/references/e2e-visual-regression.md +60 -0
- package/skills/fec-e2e-testing/references/playwright-patterns.md +6 -6
- package/skills/fec-form-handling/SKILL.md +21 -21
- package/skills/fec-form-handling/references/advanced-form-patterns.md +41 -41
- package/skills/fec-image-generation/SKILL.md +81 -0
- package/skills/fec-image-generation/assets/interactive-diagram.html +371 -0
- package/skills/fec-image-generation/references/artifact-routing.md +80 -0
- package/skills/fec-image-generation/references/diagram-workflows.md +74 -0
- package/skills/fec-image-generation/references/html-technical-diagrams.md +236 -0
- package/skills/fec-image-generation/references/png-qa-autofix.md +30 -0
- package/skills/fec-image-generation/scripts/export-diagram.mjs +364 -0
- package/skills/fec-image-generation/scripts/interactive-diagram-server.mjs +654 -0
- package/skills/fec-image-generation/scripts/png-qa.mjs +431 -0
- package/skills/fec-image-generation/scripts/tech-diagram-render.mjs +1397 -0
- package/skills/fec-implement-from-design/SKILL.md +81 -74
- package/skills/fec-implement-from-design/references/design-plan-template.md +16 -16
- package/skills/fec-legacy-to-modern-migration/SKILL.md +29 -173
- package/skills/fec-legacy-to-modern-migration/references/migration-execution-checklist.md +110 -0
- package/skills/fec-legacy-to-modern-migration/references/migration-report-template.md +37 -37
- package/skills/fec-legacy-to-modern-migration/references/migration-strategy-and-mapping.md +48 -0
- package/skills/fec-legacy-web-standard/SKILL.md +17 -17
- package/skills/fec-legacy-web-standard/references/legacy-patterns.md +16 -16
- package/skills/fec-list-virtualization/SKILL.md +16 -16
- package/skills/fec-list-virtualization/references/virtualization-patterns.md +31 -31
- package/skills/fec-monorepo-project-standard/SKILL.md +52 -52
- package/skills/fec-motion-interaction/SKILL.md +51 -44
- package/skills/fec-motion-interaction/references/motion-patterns.md +11 -11
- package/skills/fec-nextjs-project-standard/SKILL.md +64 -58
- package/skills/fec-nuxt-project-standard/SKILL.md +57 -57
- package/skills/fec-performance-optimization/SKILL.md +54 -50
- package/skills/fec-performance-optimization/references/framework-performance-patterns.md +38 -0
- package/skills/fec-performance-optimization/references/report-template.md +34 -28
- package/skills/fec-pwa-implementation/SKILL.md +17 -17
- package/skills/fec-pwa-implementation/references/manifest-and-icons.md +12 -12
- package/skills/fec-pwa-implementation/references/service-worker-workbox.md +13 -13
- package/skills/fec-react-project-standard/SKILL.md +72 -64
- package/skills/fec-react-project-standard/references/react-performance-patterns.md +35 -0
- package/skills/fec-react-project-standard/references/react-project-structure.md +197 -0
- package/skills/fec-react-project-standard/references/react-quality-patterns.md +131 -0
- package/skills/fec-react-project-standard/references/react-runtime-patterns.md +293 -0
- package/skills/fec-refactor-clean/SKILL.md +30 -30
- package/skills/fec-refactor-clean/references/report-template.md +23 -23
- package/skills/fec-responsive-layout/SKILL.md +17 -17
- package/skills/fec-responsive-layout/references/responsive-layout-patterns.md +39 -28
- package/skills/fec-route-protection/SKILL.md +26 -26
- package/skills/fec-security-review/SKILL.md +20 -20
- package/skills/fec-security-review/references/report-template.md +12 -12
- package/skills/fec-security-review/references/security-checklist.md +27 -27
- package/skills/fec-source-driven-development/SKILL.md +66 -40
- package/skills/fec-state-management/SKILL.md +34 -34
- package/skills/fec-state-management/references/state-patterns.md +19 -19
- package/skills/fec-storybook-component-doc/SKILL.md +19 -19
- package/skills/fec-storybook-component-doc/references/story-patterns.md +12 -12
- package/skills/fec-svg-animation/SKILL.md +32 -32
- package/skills/fec-tailwind-design-system/SKILL.md +17 -17
- package/skills/fec-tailwind-design-system/references/tailwind-system-patterns.md +36 -32
- package/skills/fec-tdd-workflow/SKILL.md +28 -28
- package/skills/fec-testing-strategy/SKILL.md +29 -29
- package/skills/fec-typescript-project-standard/SKILL.md +54 -0
- package/skills/fec-typescript-project-standard/references/type-safety-patterns.md +102 -0
- package/skills/fec-typescript-project-standard/references/type-safety.md +148 -0
- package/skills/fec-ui-design/SKILL.md +90 -72
- package/skills/fec-ui-design/data/style-archetypes.json +40 -0
- package/skills/fec-ui-design/data/ux-quality-rules.json +35 -0
- package/skills/fec-ui-design/references/design-intelligence.md +81 -21
- package/skills/fec-ui-design/references/master-page-overrides.md +15 -15
- package/skills/fec-ui-design/references/pre-delivery-checklist.md +38 -32
- package/skills/fec-ui-design/scripts/design-system.mjs +119 -1
- package/skills/fec-validation-fix/SKILL.md +26 -26
- package/skills/fec-validation-fix/references/report-template.md +25 -25
- package/skills/fec-vite-project-standard/SKILL.md +39 -39
- package/skills/fec-vue3-project-standard/SKILL.md +39 -30
- package/skills/fec-vue3-project-standard/references/vue3-composables-routing.md +163 -0
- package/skills/fec-vue3-project-standard/references/vue3-performance-patterns.md +13 -0
- package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +177 -0
- package/skills/fec-vue3-project-standard/references/vue3-state-api-quality.md +216 -0
- package/skills/fec-web-video-presentation/SKILL.md +61 -0
- package/skills/fec-web-video-presentation/data/starter-themes.json +59 -0
- package/skills/fec-web-video-presentation/references/chapter-craft.md +37 -0
- package/skills/fec-web-video-presentation/references/content-plan.md +38 -0
- package/skills/fec-web-video-presentation/references/recording-and-audio.md +33 -0
- package/skills/fec-web-video-presentation/references/theme-system.md +36 -0
- package/skills/fec-web-video-presentation/scripts/create-video-presentation.mjs +430 -0
- package/skills/fec-web-workers/SKILL.md +16 -16
- package/skills/fec-web-workers/references/advanced-workers.md +13 -13
- package/skills/fec-web-workers/references/basic-worker.md +8 -8
- package/skills/metadata.json +402 -220
- package/skills/relations.json +120 -25
- package/templates/claude/CLAUDE.md +60 -60
- package/templates/codex/AGENTS.md +76 -76
- package/templates/codex/config.toml +4 -4
- package/templates/openclaw/AGENTS.md +68 -68
- package/templates/openclaw/OPENCLAW-CONFIG.md +8 -8
- package/templates/shared/rules/fec-agent-workflow.md +40 -40
- package/templates/shared/rules/fec-api-layer.md +52 -52
- package/templates/shared/rules/fec-ci-cd.md +29 -117
- package/templates/shared/rules/fec-code-comments.md +22 -22
- package/templates/shared/rules/fec-design-system.md +65 -241
- package/templates/shared/rules/fec-error-handling.md +41 -185
- package/templates/shared/rules/fec-git-conventions.md +42 -42
- package/templates/shared/rules/fec-i18n.md +48 -96
- package/templates/shared/rules/fec-naming-conventions.md +91 -91
- package/templates/shared/rules/fec-performance.md +78 -78
- package/templates/shared/rules/fec-react.md +58 -58
- package/templates/shared/rules/fec-refactoring.md +34 -30
- package/templates/shared/rules/fec-rendering-patterns.md +40 -183
- package/templates/shared/rules/fec-responsive-design.md +37 -214
- package/templates/shared/rules/fec-source-driven-development.md +22 -22
- package/templates/shared/rules/fec-state-management.md +45 -148
- package/templates/shared/rules/fec-testing.md +64 -64
- package/templates/shared/rules/fec-typescript.md +98 -341
- package/templates/shared/rules/fec-vue.md +42 -42
- package/templates/shared/rules/fec-working-modes.md +34 -34
- package/skills/fec-e2e-testing/references/e2e-advanced.md +0 -176
- package/skills/fec-react-project-standard/references/react-project-details.md +0 -642
- package/skills/fec-vue3-project-standard/references/vue3-project-details.md +0 -547
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Server State 数据获取模式
|
|
2
|
+
|
|
3
|
+
## 先判断是否需要查询库
|
|
4
|
+
|
|
5
|
+
- 简单静态请求、一次性提交或已有框架 loader 足够表达的页面,不必默认引入查询库。
|
|
6
|
+
- 需要跨组件缓存、去重、后台刷新、分页、乐观更新、预取或 SSR hydration 时,再使用 TanStack Query、SWR、Nuxt 数据获取或项目既有请求缓存方案。
|
|
7
|
+
- 查询库只管理 server state,不替代本地 UI 状态、表单状态、权限判断或 Service Worker 缓存。
|
|
8
|
+
|
|
9
|
+
## 选型参考
|
|
10
|
+
|
|
11
|
+
先沿用仓库已有请求层和缓存方案;新增依赖时再按框架与复杂度选择。
|
|
12
|
+
|
|
13
|
+
| 场景 | 候选方案 | 注意点 |
|
|
14
|
+
| --- | --- | --- |
|
|
15
|
+
| React server state | TanStack Query / SWR / 项目既有封装 | TanStack Query 适合 mutation、invalidation 和无限查询;SWR 适合轻量读取缓存。 |
|
|
16
|
+
| Vue server state | TanStack Query Vue adapter / VueUse / Nuxt `useFetch` / 项目既有封装 | 不要让 Vue 项目照搬 React-only hook 示例。 |
|
|
17
|
+
| Solid / Svelte / 跨框架 | TanStack Query 对应 adapter 或项目既有资源层 | cache key、staleTime、mutation 回滚原则保持一致。 |
|
|
18
|
+
| 简单页面请求 | 框架 loader、组件内轻量请求或 API composable | 仍要处理 loading/error/empty 和取消或过期响应。 |
|
|
19
|
+
| SSR / SSG | 框架预取、水合或服务端数据边界 | 确保服务端 key 与客户端 key 一致,避免重复请求和水合错配。 |
|
|
20
|
+
|
|
21
|
+
## 通用边界
|
|
22
|
+
|
|
23
|
+
- API 函数只负责请求、解析和错误归一化,不包含 UI toast、loading 或缓存逻辑。
|
|
24
|
+
- cache key/query key 必须包含所有影响响应的参数。
|
|
25
|
+
- mutation 成功后按实体或列表失效;乐观更新必须先保存快照,失败时回滚。
|
|
26
|
+
- 无限查询只处理数据分页;DOM 虚拟化由列表虚拟化流程处理。
|
|
27
|
+
- 预取要有明确用户路径或首屏收益,不为所有可能数据提前请求。
|
|
28
|
+
|
|
29
|
+
## QueryClient 默认配置
|
|
30
|
+
|
|
31
|
+
```tsx
|
|
32
|
+
const queryClient = new QueryClient({
|
|
33
|
+
defaultOptions: {
|
|
34
|
+
queries: {
|
|
35
|
+
staleTime: 5 * 60 * 1000,
|
|
36
|
+
gcTime: 30 * 60 * 1000,
|
|
37
|
+
retry: 2,
|
|
38
|
+
refetchOnWindowFocus: true,
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Query Key 设计
|
|
45
|
+
|
|
46
|
+
- 推荐:`["users", "list", { page, status }]`
|
|
47
|
+
- 详情:`["users", "detail", userId]`
|
|
48
|
+
- 所有影响请求结果的参数都必须进入 key。
|
|
49
|
+
|
|
50
|
+
## 乐观更新
|
|
51
|
+
|
|
52
|
+
```tsx
|
|
53
|
+
const mutation = useMutation({
|
|
54
|
+
mutationFn: () => api.likePost(postId),
|
|
55
|
+
onMutate: async () => {
|
|
56
|
+
await queryClient.cancelQueries({ queryKey: ["post", postId] });
|
|
57
|
+
const previousPost = queryClient.getQueryData(["post", postId]);
|
|
58
|
+
queryClient.setQueryData(["post", postId], (old: Post) => ({
|
|
59
|
+
...old,
|
|
60
|
+
likes: old.likes + 1,
|
|
61
|
+
liked: true,
|
|
62
|
+
}));
|
|
63
|
+
return { previousPost };
|
|
64
|
+
},
|
|
65
|
+
onError: (_error, _variables, context) => {
|
|
66
|
+
queryClient.setQueryData(["post", postId], context?.previousPost);
|
|
67
|
+
},
|
|
68
|
+
onSettled: () => {
|
|
69
|
+
queryClient.invalidateQueries({ queryKey: ["post", postId] });
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## 无限查询
|
|
75
|
+
|
|
76
|
+
```tsx
|
|
77
|
+
const feed = useInfiniteQuery({
|
|
78
|
+
queryKey: ["feed"],
|
|
79
|
+
queryFn: ({ pageParam = 1 }) => api.fetchFeed({ page: pageParam, limit: 20 }),
|
|
80
|
+
getNextPageParam: (lastPage, pages) => (lastPage.hasMore ? pages.length + 1 : undefined),
|
|
81
|
+
initialPageParam: 1,
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
虚拟列表场景将数据分页与 DOM 虚拟化分开设计。
|
|
86
|
+
|
|
87
|
+
## API 层整合
|
|
88
|
+
|
|
89
|
+
```ts
|
|
90
|
+
export async function getUserList(params: GetUserListParams): Promise<GetUserListResponse> {
|
|
91
|
+
return request.get("/api/users", { params });
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export function useUsers(params: GetUserListParams) {
|
|
95
|
+
return useQuery({
|
|
96
|
+
queryKey: ["users", "list", params],
|
|
97
|
+
queryFn: () => getUserList(params),
|
|
98
|
+
select: (response) => response.list,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
API 函数不包含 UI toast、loading 或缓存逻辑。
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fec-debug-framework
|
|
3
|
+
description: 用于诊断前端构建失败、运行时错误、UI 异常、API/数据问题、白屏、请求失败或难以解释的线上异常;中文触发词包括 调试、debug、排查、定位、报错、异常、白屏、请求失败。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 前端诊断框架
|
|
7
|
+
|
|
8
|
+
## 用途
|
|
9
|
+
|
|
10
|
+
用证据驱动的分类、收集、假设、验证和修复流程定位前端故障,避免凭直觉扩大改动范围。
|
|
11
|
+
|
|
12
|
+
## 流程
|
|
13
|
+
|
|
14
|
+
所有前端问题诊断遵循统一流程:
|
|
15
|
+
|
|
16
|
+
### Step 1: 分类(Classify)
|
|
17
|
+
|
|
18
|
+
识别问题类型和影响范围:
|
|
19
|
+
|
|
20
|
+
| 类型 | 判断依据 | 诊断入口 |
|
|
21
|
+
| ------- | ---------------------------- | -------------- |
|
|
22
|
+
| build | 命令退出非零、stderr 有错误 | → Build 模块 |
|
|
23
|
+
| runtime | 控制台异常、白屏、功能不可用 | → Runtime 模块 |
|
|
24
|
+
| ui | 视觉偏差、交互不符预期 | → UI 模块 |
|
|
25
|
+
| api | 请求状态码异常、数据不一致 | → API 模块 |
|
|
26
|
+
|
|
27
|
+
跨类型问题(如 API 失败导致 UI 异常)从最表层症状入手,逐层深入。
|
|
28
|
+
|
|
29
|
+
### Step 2: 收集(Collect)
|
|
30
|
+
|
|
31
|
+
按类型收集证据(各模块有具体策略,见下方)。
|
|
32
|
+
|
|
33
|
+
### Step 3: 假设(Hypothesize)
|
|
34
|
+
|
|
35
|
+
基于证据提出可能根因,按可能性排序:
|
|
36
|
+
|
|
37
|
+
- 每个假设必须可测试(有明确的验证方法)
|
|
38
|
+
- 最多保留 3 个假设,避免发散
|
|
39
|
+
- 格式:「因为 X,导致 Y,可通过 Z 验证」
|
|
40
|
+
|
|
41
|
+
### Step 4: 验证(Verify)
|
|
42
|
+
|
|
43
|
+
逐一测试假设:
|
|
44
|
+
|
|
45
|
+
- 从最可能的假设开始
|
|
46
|
+
- 每次只改一个变量
|
|
47
|
+
- 验证结果记录:证实 / 证伪 / 待定
|
|
48
|
+
- 假设全部证伪时回到 Step 2 重新收集
|
|
49
|
+
|
|
50
|
+
### Step 5: 修复与确认(Fix & Validate)
|
|
51
|
+
|
|
52
|
+
- 应用最小修复
|
|
53
|
+
- 运行受影响验证命令
|
|
54
|
+
- 确认无回归
|
|
55
|
+
- 输出修复报告
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 诊断模块
|
|
60
|
+
|
|
61
|
+
### Build 模块
|
|
62
|
+
|
|
63
|
+
**收集**:运行最小失败命令,捕获完整 stderr/stdout
|
|
64
|
+
**假设**:按错误类型分组(类型错误、导入失败、配置解析、依赖缺失),匹配已知模式
|
|
65
|
+
**验证**:修一类根因 → 重跑命令 → 确认错误减少
|
|
66
|
+
**特殊处理**:
|
|
67
|
+
|
|
68
|
+
- 依赖版本、peer dependency、ESM/CJS、lockfile 相关失败先作为 build 兼容性问题收集证据
|
|
69
|
+
- 记录 package manager、Node 版本、lockfile diff、相关包版本和完整错误日志
|
|
70
|
+
- 不在缺少证据时升级依赖、手工编辑 lockfile,或把依赖迁移与普通调试修复混在同一批改动
|
|
71
|
+
- 若任务目标本身是版本升级、CVE 修复或 lockfile 风险评审,应转入依赖升级工作流
|
|
72
|
+
- CI 专属失败检查 Node 版本、包管理器、环境变量差异
|
|
73
|
+
|
|
74
|
+
### Runtime 模块
|
|
75
|
+
|
|
76
|
+
**收集**:
|
|
77
|
+
|
|
78
|
+
- 复现路径(用户操作序列)
|
|
79
|
+
- 控制台错误和堆栈
|
|
80
|
+
- 组件渲染树状态(检查关键组件是否正确挂载)
|
|
81
|
+
- 相关 store/state 快照
|
|
82
|
+
|
|
83
|
+
**假设**:
|
|
84
|
+
|
|
85
|
+
- 堆栈反向追踪:从异常位置回溯到触发源
|
|
86
|
+
- 状态流分析:检查 state 变化是否符合预期
|
|
87
|
+
- 生命周期分析:是否在错误的时机访问了未初始化的数据
|
|
88
|
+
|
|
89
|
+
**验证**:
|
|
90
|
+
|
|
91
|
+
- 添加临时日志确认状态值
|
|
92
|
+
- 在可疑路径添加断言
|
|
93
|
+
- 复现路径验证修复
|
|
94
|
+
|
|
95
|
+
### UI 模块
|
|
96
|
+
|
|
97
|
+
**收集**:
|
|
98
|
+
|
|
99
|
+
- 当前截图 vs 期望效果
|
|
100
|
+
- DOM 结构检查(元素是否存在、层级是否正确)
|
|
101
|
+
- 计算样式检查(实际应用的 CSS 值)
|
|
102
|
+
- 响应式断点测试
|
|
103
|
+
|
|
104
|
+
**假设**:
|
|
105
|
+
|
|
106
|
+
- CSS 特异性冲突(选择器权重不够被覆盖)
|
|
107
|
+
- 组件状态不匹配(props/state 未正确传递)
|
|
108
|
+
- 布局模型问题(flex/grid 配置错误)
|
|
109
|
+
- 响应式断点遗漏
|
|
110
|
+
|
|
111
|
+
**验证**:
|
|
112
|
+
|
|
113
|
+
- 浏览器 DevTools 实时调整验证
|
|
114
|
+
- 隔离组件测试(排除外部样式干扰)
|
|
115
|
+
- 多断点逐一验证
|
|
116
|
+
|
|
117
|
+
### API 模块
|
|
118
|
+
|
|
119
|
+
**收集**:
|
|
120
|
+
|
|
121
|
+
- 请求 URL、method、headers、body
|
|
122
|
+
- 响应 status、headers、body
|
|
123
|
+
- 网络瀑布时序
|
|
124
|
+
- 相关 store/state 中的缓存数据
|
|
125
|
+
|
|
126
|
+
**假设**:
|
|
127
|
+
|
|
128
|
+
- 请求链路逐跳检查(URL → 中间件 → 拦截器 → 服务端)
|
|
129
|
+
- 数据转换检查(响应解析、类型映射)
|
|
130
|
+
- 缓存策略检查(过期、失效、竞态)
|
|
131
|
+
- 并发请求竞态(race condition)
|
|
132
|
+
|
|
133
|
+
**验证**:
|
|
134
|
+
|
|
135
|
+
- curl 独立复现(排除前端干扰)
|
|
136
|
+
- 逐层 mock 定位问题层级
|
|
137
|
+
- 端到端请求验证修复
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 详细参考
|
|
142
|
+
|
|
143
|
+
撰写诊断报告时,加载 [references/report-template.md](references/report-template.md)。
|
|
144
|
+
|
|
145
|
+
## 约束
|
|
146
|
+
|
|
147
|
+
- 不在缺少证据时猜测根因
|
|
148
|
+
- 不通过关闭规则、删除测试或降低类型安全来「修复」
|
|
149
|
+
- 每次只改一个变量来验证假设
|
|
150
|
+
- 不在验证前扩大改动范围
|
|
151
|
+
- 同一假设连续 3 次验证失败,停止并报告阻塞
|
|
152
|
+
|
|
153
|
+
## 预期输出
|
|
154
|
+
|
|
155
|
+
- 诊断报告保存为 `reports/debug-YYYY-MM-DD-HHmmss.md`
|
|
156
|
+
- 报告包含问题类型、关键证据、假设验证记录、根因、修复内容、验证结果和剩余风险
|
|
157
|
+
- build/runtime/ui/api 问题均能说明复现路径、验证命令或下一步阻塞点
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# 诊断报告模板
|
|
2
|
+
|
|
3
|
+
```markdown
|
|
4
|
+
# 前端诊断报告
|
|
5
|
+
|
|
6
|
+
> 生成时间: YYYY-MM-DD HH:mm
|
|
7
|
+
> 问题类型: build / runtime / ui / api
|
|
8
|
+
> 影响范围: 页面、功能、用户群或环境
|
|
9
|
+
|
|
10
|
+
## 问题描述
|
|
11
|
+
|
|
12
|
+
- 用户报告或观察到的现象
|
|
13
|
+
- 首次出现时间、环境、分支或版本
|
|
14
|
+
|
|
15
|
+
## 复现路径
|
|
16
|
+
|
|
17
|
+
1. 操作步骤或触发命令
|
|
18
|
+
2. 期望结果
|
|
19
|
+
3. 实际结果
|
|
20
|
+
|
|
21
|
+
## 收集的证据
|
|
22
|
+
|
|
23
|
+
- 日志 / stderr / console stack
|
|
24
|
+
- 截图、DOM、样式、网络请求或 trace
|
|
25
|
+
- 相关配置、依赖版本、环境变量或状态快照
|
|
26
|
+
|
|
27
|
+
## 假设与验证
|
|
28
|
+
|
|
29
|
+
| 假设 | 验证方法 | 结果 |
|
|
30
|
+
| --- | --- | --- |
|
|
31
|
+
| 因为 X,导致 Y | 通过 Z 验证 | 证实 / 证伪 / 待定 |
|
|
32
|
+
|
|
33
|
+
## 根因
|
|
34
|
+
|
|
35
|
+
- 最终确认的根本原因
|
|
36
|
+
- 为什么已有证据能支持该结论
|
|
37
|
+
|
|
38
|
+
## 修复内容
|
|
39
|
+
|
|
40
|
+
- 修改的文件和行为
|
|
41
|
+
- 为什么这是最小有效修复
|
|
42
|
+
|
|
43
|
+
## 验证结果
|
|
44
|
+
|
|
45
|
+
- 执行的命令、手工路径或浏览器验证
|
|
46
|
+
- 修复后观察到的结果
|
|
47
|
+
|
|
48
|
+
## 剩余风险
|
|
49
|
+
|
|
50
|
+
- 未覆盖的边界
|
|
51
|
+
- 可能回归的区域
|
|
52
|
+
|
|
53
|
+
## 下一步
|
|
54
|
+
|
|
55
|
+
- 需要用户决策、后续任务或监控项
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
诊断完成后,将报告保存到 `reports/debug-YYYY-MM-DD-HHmmss.md`,并告知用户报告路径。
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fec-dependency-upgrade
|
|
3
|
+
description: 用于规划、实现或审查前端依赖升级、包迁移、lockfile 变更、框架大版本升级、CVE 修复、peer dependency 冲突、ESM/CJS 切换、构建工具兼容性或 CI 验证矩阵;中文触发词包括 依赖升级、版本升级、lockfile、peer dependency、CVE 修复、大版本迁移。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 依赖升级
|
|
7
|
+
|
|
8
|
+
适用于前端依赖升级、漏洞修复、大版本迁移和 lockfile 风险评审。需要具体流程和检查清单时加载 [references/dependency-upgrade-workflow.md](references/dependency-upgrade-workflow.md)。
|
|
9
|
+
|
|
10
|
+
## 用途
|
|
11
|
+
|
|
12
|
+
用来源驱动和小批验证的方式升级依赖,降低破坏性变更、供应链风险和 CI 回归。
|
|
13
|
+
|
|
14
|
+
## 流程
|
|
15
|
+
|
|
16
|
+
1. 建立事实基线:读取 package manager、lockfile、Node 版本、workspace 范围、CI 命令和当前验证状态。
|
|
17
|
+
2. 分类升级目标:安全修复、补丁升级、小版本升级、大版本迁移、框架迁移、构建工具迁移或依赖清理。
|
|
18
|
+
3. 查证来源:对版本敏感的库读取官方 release notes、migration guide、peer dependency、Node/browser 支持和弃用项。
|
|
19
|
+
4. 拆小批次:安全补丁可集中处理;大版本、构建工具、框架和测试工具必须单独批次验证。
|
|
20
|
+
5. 处理兼容边界:检查 ESM/CJS、TypeScript 类型、CSS 处理、SSR/RSC、插件 API、peer dependency 和 polyfill 变化。
|
|
21
|
+
6. 运行验证矩阵:至少覆盖 install、typecheck、unit/component tests、build;关键应用补 E2E、Storybook 或手工冒烟。
|
|
22
|
+
7. 同步文档:记录升级原因、版本、破坏性变更、迁移命令、回滚方式和仍需人工验证的路径。
|
|
23
|
+
|
|
24
|
+
## 约束
|
|
25
|
+
|
|
26
|
+
- 不在缺少来源和验证的情况下进行大版本连跳。
|
|
27
|
+
- 不为了消除 audit 警告盲目升级运行时关键包;先判断可利用路径和修复影响。
|
|
28
|
+
- 不手工编辑 lockfile 规避依赖冲突。
|
|
29
|
+
- 不把依赖升级和无关重构混在一个批次。
|
|
30
|
+
- 不移除 peer dependency 或构建插件,除非有证据证明没有被运行时、子包或 CI 使用。
|
|
31
|
+
|
|
32
|
+
## 预期输出
|
|
33
|
+
|
|
34
|
+
输出升级清单、风险分类、来源依据、批次策略、修改范围、验证命令、失败处理和回滚建议。完成后 lockfile 与 package 清单一致,关键验证通过,破坏性变更有记录。
|
package/localized/zh-CN/skills/fec-dependency-upgrade/references/dependency-upgrade-workflow.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# 依赖升级工作流
|
|
2
|
+
|
|
3
|
+
## 升级类型
|
|
4
|
+
|
|
5
|
+
| 类型 | 示例 | 验证 |
|
|
6
|
+
| ---- | ---- | ---- |
|
|
7
|
+
| 安全补丁 | 传递依赖 CVE、patch 版本 | 安装、audit、目标测试 |
|
|
8
|
+
| 小版本升级 | 兼容性功能版本 | typecheck、测试、构建 |
|
|
9
|
+
| 大版本迁移 | React/Vue/Next/Vite/Storybook 大版本 | 迁移指南、完整验证矩阵 |
|
|
10
|
+
| 工具链切换 | ESLint、TypeScript、bundler、test runner | 配置 diff、CI 对齐、样例失败 |
|
|
11
|
+
| 清理 | 移除未使用包 | 引用搜索、构建、测试 |
|
|
12
|
+
|
|
13
|
+
## 来源检查清单
|
|
14
|
+
|
|
15
|
+
- 官方 release notes 或 migration guide。
|
|
16
|
+
- 包管理器兼容性和 lockfile 格式。
|
|
17
|
+
- Node 版本和浏览器支持范围。
|
|
18
|
+
- Peer dependency 版本范围。
|
|
19
|
+
- ESM/CJS 导出变化。
|
|
20
|
+
- TypeScript 最低版本和类型变化。
|
|
21
|
+
- SSR、RSC、edge runtime 或 browser-only 约束。
|
|
22
|
+
|
|
23
|
+
## 分批策略
|
|
24
|
+
|
|
25
|
+
- 框架大版本升级与样式、测试、lint 升级分开处理。
|
|
26
|
+
- 当 peer 版本范围要求时,adapter 与宿主工具放在同一批升级。
|
|
27
|
+
- Monorepo 中要验证受影响包,并至少验证一个消费这些包的应用。
|
|
28
|
+
- 每个成功批次都记录通过的命令,必要时单独提交或单独报告。
|
|
29
|
+
|
|
30
|
+
## 失败分诊
|
|
31
|
+
|
|
32
|
+
1. 复现最小失败命令。
|
|
33
|
+
2. 判断失败属于配置、类型表面、运行时行为还是 peer dependency。
|
|
34
|
+
3. 优先采用官方迁移步骤,而不是本地临时 hack。
|
|
35
|
+
4. 如果某个包阻塞当前批次,先 pin 住并记录原因;只有剩余批次仍然自洽时才继续。
|
|
36
|
+
|
|
37
|
+
## 报告模板
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
## 依赖升级摘要
|
|
41
|
+
|
|
42
|
+
| 包 | 从 | 到 | 原因 | 风险 | 依据 |
|
|
43
|
+
| -- | -- | -- | ---- | ---- | ---- |
|
|
44
|
+
|
|
45
|
+
## 验证
|
|
46
|
+
|
|
47
|
+
- install:
|
|
48
|
+
- typecheck:
|
|
49
|
+
- test:
|
|
50
|
+
- build:
|
|
51
|
+
- e2e/storybook/manual:
|
|
52
|
+
|
|
53
|
+
## 剩余风险
|
|
54
|
+
|
|
55
|
+
- ...
|
|
56
|
+
```
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fec-doc-sync
|
|
3
|
+
description: 用于根据 package.json、lockfile、配置、env 示例、路由、API client 或 server routes、schema、组件、测试、CI、构建/部署配置、ADR、changelog 或迁移说明等事实源同步前端项目文档。不要用于单纯润色普通文案;中文触发词包括 文档同步、更新 README、docs sync、环境变量文档、命令清单、API 文档同步。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 文档同步
|
|
7
|
+
|
|
8
|
+
## 用途
|
|
9
|
+
|
|
10
|
+
从代码、配置、测试、类型、脚本和运行时模板同步前端项目文档,避免 README、docs、环境变量说明、API/路由说明、架构决策和迁移说明与实际项目行为漂移。
|
|
11
|
+
|
|
12
|
+
## 流程
|
|
13
|
+
|
|
14
|
+
1. 识别项目栈、文档入口和本次需要同步的范围;README 同步必须扫描根目录 `README*`、`docs/*/README*`、包、应用、部署或运行时相关 README,并排除 `node_modules`、构建产物和第三方依赖目录。
|
|
15
|
+
2. 收集事实来源:`package.json`、lockfile、框架和构建配置、`.env.example`、路由、API clients 或 server routes、types/schemas、组件、测试、CI、build/deploy config。
|
|
16
|
+
3. 比对 README、docs、ADR、changelog、example prompts、setup/deploy/env docs 中的命令、环境变量、路由、API 行为、部署步骤和支持矩阵。
|
|
17
|
+
4. 只更新稳定的公共约定;不要把临时调试结论、一次性报告或未落地设计写入长期文档。
|
|
18
|
+
5. 若仓库已有多语言文档或国际化 README,主 README 的公共事实更新后必须检查其它语言 README 是否需要同步;功能名称、命令名、脚本名、包名、组件/API 名称、报告文件名、路径、环境变量、路由/API 名称、版本约束和支持矩阵必须跨语言一致。
|
|
19
|
+
6. 产品文案可保持本地化表达,但不得保留旧事实、旧默认推荐或过期示例;无法高质量翻译时,至少同步关键事实,并在输出中标出人工翻译风险。
|
|
20
|
+
7. 当项目暴露插件、SDK、CLI、组件库、模板或集成能力时,同步对应的功能清单、集成说明、命令/脚本说明、公开 metadata、示例提示词或示例用法。
|
|
21
|
+
8. 运行相关文档一致性、旧口径搜索、报告格式一致性、类型检查、测试、构建或打包检查。
|
|
22
|
+
|
|
23
|
+
## 约束
|
|
24
|
+
|
|
25
|
+
- 不把 README 变成完整实现细节;公开文档保留高信号摘要。
|
|
26
|
+
- 不引入与事实来源不一致的命令、路径、环境变量、API 行为或能力名称。
|
|
27
|
+
- 不把未确认的 TODO、草案或实验能力写成已支持行为。
|
|
28
|
+
- 不修改用户项目私有文档,除非用户明确指定。
|
|
29
|
+
- 多语言文档若无法完整翻译,至少保持命令名、环境变量、路由/API 名称、版本约束和报告格式一致。
|
|
30
|
+
- 不把国际化 README 同步简化成只改主 README;公共事实、功能清单、报告清单、命令/脚本说明和示例用法必须检查所有语言入口。
|
|
31
|
+
- 不把 ADR 当作长篇复盘;只记录背景、决策、取舍、影响范围、验证和回滚线索。
|
|
32
|
+
|
|
33
|
+
## 预期输出
|
|
34
|
+
|
|
35
|
+
- 列出已同步的 README/docs/ADR/changelog/env/setup/deploy 文档。
|
|
36
|
+
- 列出已检查的 README/docs 入口,并说明哪些语言文件已同步、哪些无需同步、哪些需要人工确认。
|
|
37
|
+
- 总结使用的事实来源、更新范围、验证命令和未覆盖风险。
|
|
38
|
+
- 汇总旧口径搜索、报告文件名/路径/命令一致性和多语言关键事实一致性验证结果。
|
|
39
|
+
- 标出仍需人工确认的产品文案、翻译、外部服务配置或发布说明。
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fec-drawio-studio
|
|
3
|
+
description: 用于创建带 draw.io / diagrams.net 源文件的可编辑技术图,包括架构图、ERD、UML、序列图、流程图、ML 模型图、官方形状检索、品牌符号、Graphviz 自动布局、代码结构图、.drawio 校验或 draw.io CLI 导出兜底。不要用于普通位图生成、手绘草图、交互式 Canvas/Three.js 场景或装饰性 SVG 动画;中文触发词包括 draw.io、diagrams.net、可编辑架构图、.drawio、ER 图、UML、序列图、自动布局、形状检索、代码结构图。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 可编辑技术图表工作流
|
|
7
|
+
|
|
8
|
+
## 用途
|
|
9
|
+
|
|
10
|
+
生成、校验和导出可继续编辑的 draw.io / diagrams.net 技术图表。
|
|
11
|
+
|
|
12
|
+
## 流程
|
|
13
|
+
|
|
14
|
+
1. 判断图表路线
|
|
15
|
+
- 需要长期维护在 Markdown 中的简单图,优先 Mermaid。
|
|
16
|
+
- 需要官方图标、泳道、复杂布局、层/标签/元数据、可编辑 PNG/SVG/PDF 或 `.drawio` 源时,使用本工作流。
|
|
17
|
+
- 需要快速浏览器打开或分享时,用 [diagram-url.mjs](scripts/diagram-url.mjs) 生成 URL;需要本地可审计交付时,始终保存 `.drawio` 源。
|
|
18
|
+
- 用户已经有 Mermaid 或 CSV 内容时,可用 `diagram-url.mjs --create --type mermaid|csv` 交给 diagrams.net 导入;需要长期维护或精确形状时,再转成 XML。
|
|
19
|
+
- 如果当前宿主已经配置 draw.io MCP App/Tool,可把它作为预览或编辑入口;本 skill 不要求安装 MCP server。
|
|
20
|
+
- 需要照片、海报、视觉概念或位图编辑时,走图片生成路线。
|
|
21
|
+
|
|
22
|
+
2. 建立图表规格
|
|
23
|
+
- 明确图表类型、受众、输出格式、节点清单、关系、层级分组和保存位置。
|
|
24
|
+
- 用户指定 Flowchart、Architecture、Sequence、UML Class、ERD、Mindmap、Network Topology 或 ML/DL 图表时,读取 [diagram-patterns.md](references/diagram-patterns.md)。
|
|
25
|
+
- 对需要在 diagrams.net 中清晰打开的流程、工作流、审批、发布或事故响应流程图,还要读取 [flowchart-quality.md](references/flowchart-quality.md)。
|
|
26
|
+
- 需要选择 XML、Mermaid、CSV、容器、层、标签、metadata 或暗色模式策略时,读取 [xml-and-mermaid.md](references/xml-and-mermaid.md)。
|
|
27
|
+
- 需要特定厂商/云/网络/流程图形状时,运行 [shape-query.mjs](scripts/shape-query.mjs);需要 AI、数据库或基础设施品牌符号时,运行 [brand-symbols.mjs](scripts/brand-symbols.mjs)。
|
|
28
|
+
|
|
29
|
+
3. 生成 `.drawio` 源
|
|
30
|
+
- 小图可手工生成 draw.io XML;当直接推理节点坐标、尺寸和连线更清楚时,优先保持显式布局。
|
|
31
|
+
- 超过约 15 个节点、依赖图或代码结构图时,先生成 graph JSON,再用 [layout-graph.mjs](scripts/layout-graph.mjs) 自动布局。
|
|
32
|
+
- 手工摆放 XML 时,将坐标对齐到 10px 网格,保持同级节点之间有充足间距,使用 `whiteSpace=wrap;html=1`,默认优先 `fontSize=14`,强制换行写作 `
`,并让容器按内容收紧,避免单侧大面积空白。
|
|
33
|
+
- 手工流程图保持 `pageWidth` 在易读的 600-800 范围内,除非明确是横向跨职能表;真实阶段使用泳道容器,循环或回滚边通过边距和显式 waypoint 绕行。
|
|
34
|
+
- 代码结构图可先用 [scan-js-modules.mjs](scripts/scan-js-modules.mjs)、[scan-ts-modules.mjs](scripts/scan-ts-modules.mjs)、[scan-python-modules.mjs](scripts/scan-python-modules.mjs)、[scan-go-packages.mjs](scripts/scan-go-packages.mjs)、[scan-rust-modules.mjs](scripts/scan-rust-modules.mjs) 或 [scan-python-classes.mjs](scripts/scan-python-classes.mjs) 生成 graph JSON。
|
|
35
|
+
|
|
36
|
+
4. 校验和预览
|
|
37
|
+
- 每次生成 `.drawio` 后运行:
|
|
38
|
+
```bash
|
|
39
|
+
node skills/fec-drawio-studio/scripts/diagram-lint.mjs diagram.drawio --format markdown
|
|
40
|
+
```
|
|
41
|
+
- 若本机有 draw.io desktop CLI,导出预览 PNG 时不要嵌入 XML,并控制宽度:
|
|
42
|
+
```bash
|
|
43
|
+
node skills/fec-drawio-studio/scripts/drawio-export.mjs diagram.drawio --format png --output diagram.png --width 2000
|
|
44
|
+
```
|
|
45
|
+
- 若 CLI 不可用,用 [diagram-url.mjs](scripts/diagram-url.mjs) 生成 diagrams.net viewer/editor URL;严格离线或数据驻留敏感时先读取 [data-residency.md](references/data-residency.md)。
|
|
46
|
+
|
|
47
|
+
5. 交付最终产物
|
|
48
|
+
- 保存 `.drawio` 源文件和用户需要的 PNG/SVG/PDF/JPG。
|
|
49
|
+
- 最终 PNG 若使用 draw.io `-e` 嵌入 XML,导出后运行:
|
|
50
|
+
```bash
|
|
51
|
+
node skills/fec-drawio-studio/scripts/drawio-export.mjs diagram.drawio --format png --output diagram.drawio.png --scale 2 --embed
|
|
52
|
+
node skills/fec-drawio-studio/scripts/png-embed-fix.mjs diagram.drawio.png
|
|
53
|
+
```
|
|
54
|
+
- 报告源文件、导出文件、校验结果和无法自动验证的外部依赖。
|
|
55
|
+
|
|
56
|
+
## 工具资源
|
|
57
|
+
|
|
58
|
+
工具脚本共享 [studio-core.mjs](scripts/studio-core.mjs)。离线查询使用 [shape-index.json](data/shape-index.json) 与 [brand-icons.json](data/brand-icons.json),样式预设资源包括 [schema.json](styles/schema.json)、[default.json](styles/built-in/default.json)、[corporate.json](styles/built-in/corporate.json) 和 [handdrawn.json](styles/built-in/handdrawn.json)。
|
|
59
|
+
|
|
60
|
+
## 约束
|
|
61
|
+
|
|
62
|
+
- 不把 draw.io 用作普通图片模型;文本密集或结构化图必须保留可编辑源。
|
|
63
|
+
- 不猜测复杂 `shape=mxgraph.*` 样式;优先用形状查询工具获取官方样式。
|
|
64
|
+
- 不为 draw.io 工作流引入 MCP server 运行时依赖;MCP App/Tool 只作为用户环境已有时的可选互操作入口。
|
|
65
|
+
- Mermaid/CSV URL 是导入捷径,不替代 `.drawio` 源文件、lint 和可编辑交付。
|
|
66
|
+
- 不在预览 PNG 中嵌入 XML;嵌入只用于最终交付。
|
|
67
|
+
- Graphviz、draw.io desktop 和联网品牌图标都是可选外部能力;缺失时必须降级而不是反复重试。`drawio-export.mjs` 可以探测本地 draw.io 路径并输出安装建议,但不得自动安装 draw.io。
|
|
68
|
+
- 品牌图标和第三方形状索引遵循 [THIRD_PARTY_NOTICES.md](data/THIRD_PARTY_NOTICES.md) 中的来源与许可说明。
|
|
69
|
+
- 参考外部 draw.io MCP 生态时,只吸收路线、约束和互操作经验,不复制其服务实现或长篇提示词。
|
|
70
|
+
|
|
71
|
+
## 预期输出
|
|
72
|
+
|
|
73
|
+
交付可编辑 `.drawio` 源和所需导出格式,并给出结构校验结果。图表应节点完整、连线可追踪、标签不截断、布局不重叠,外部工具缺失时提供可打开的 diagrams.net fallback。
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# 第三方声明
|
|
2
|
+
|
|
3
|
+
此 skill 包含用于生成可编辑图表的精简索引和 manifest。
|
|
4
|
+
|
|
5
|
+
- `shape-index.json` 包含用于本地样式检索的 draw.io 图形元数据。图形名称、尺寸和 style 字符串来自 draw.io / diagrams.net 图形生态,并继续受其上游条款约束。
|
|
6
|
+
- `brand-icons.json` 是 lobe-icons CDN 资产的 manifest。lobe-icons 使用 MIT 许可;各个 logo 和名称可能是其各自所有者的商标。
|
|
7
|
+
- `brand-symbols.mjs` 可能为部分基础设施和数据库符号引用 simple-icons CDN slug。simple-icons 元数据和图标遵循其上游许可;品牌商标仍归各自权利人所有。
|
|
8
|
+
- 工作流文档提到可选地与外部 draw.io MCP App/Tool 部署互操作。这些服务未被本包打包、内置或设为必需。
|
|
9
|
+
|
|
10
|
+
这些资源仅用于识别和渲染图表符号。重新分发包时,请保留此声明。
|