@bovinphang/frontend-craft 2.9.0 → 3.0.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 +403 -378
- package/CHANGELOG.zh-CN.md +402 -377
- package/CONTRIBUTING.md +381 -371
- package/CONTRIBUTING.zh-CN.md +383 -371
- package/README.md +605 -545
- package/README.openclaw.md +395 -359
- package/README.openclaw.zh-CN.md +395 -359
- package/README.zh-CN.md +605 -545
- package/agents/fec-typescript-reviewer.md +1 -1
- package/common-content.lock.json +3795 -0
- package/dist/bin/frontend-craft.js +353 -174
- package/docs/common-migration.md +61 -0
- package/docs/example-prompts.md +157 -157
- package/docs/ja-JP/README.md +588 -534
- package/docs/ko-KR/README.md +588 -534
- package/docs/project-structure.md +166 -151
- package/docs/review-and-diagram-workflows.md +5 -5
- package/docs/runtimes/antigravity.md +18 -18
- package/docs/runtimes/augment.md +18 -18
- package/docs/runtimes/claude.md +193 -191
- package/docs/runtimes/claude.zh-CN.md +191 -189
- package/docs/runtimes/cline.md +18 -18
- package/docs/runtimes/codebuddy.md +18 -18
- package/docs/runtimes/codex.md +18 -18
- package/docs/runtimes/compatibility.md +42 -27
- package/docs/runtimes/copilot.md +18 -18
- package/docs/runtimes/cursor.md +18 -18
- package/docs/runtimes/gemini.md +18 -18
- package/docs/runtimes/kilo.md +18 -18
- package/docs/runtimes/openclaw.md +18 -18
- package/docs/runtimes/opencode.md +18 -18
- package/docs/runtimes/qoder.md +18 -18
- package/docs/runtimes/trae.md +18 -18
- package/docs/runtimes/windsurf.md +18 -18
- package/docs/zh-CN/common-migration.md +57 -0
- package/docs/zh-CN/example-prompts.md +157 -157
- package/docs/zh-CN/project-structure.md +166 -148
- package/docs/zh-CN/review-and-diagram-workflows.md +5 -5
- package/docs/zh-TW/README.md +588 -534
- package/localized/zh-CN/agents/fec-typescript-reviewer.md +1 -1
- package/localized/zh-CN/skills/cc-c-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-debug-methodology/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-debug-methodology/references/method.md +13 -0
- package/localized/zh-CN/skills/cc-doc-sync-core/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-doc-sync-core/references/method.md +12 -0
- package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
- package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
- package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
- package/localized/zh-CN/skills/cc-electron-project-standard/SKILL.md +21 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/practice.md +19 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/verification.md +17 -0
- package/localized/zh-CN/skills/cc-go-concurrency/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-go-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-java-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/README.md +5 -0
- package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
- package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-java-runtime/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-python-async/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-python-async/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-python-async/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-python-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
- package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-refactoring-core/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-refactoring-core/references/method.md +16 -0
- package/localized/zh-CN/skills/cc-rust-async/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-rust-async/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-rust-async/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-source-driven-development/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-source-driven-development/references/method.md +19 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/SKILL.md +21 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/practice.md +20 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/verification.md +18 -0
- package/localized/zh-CN/skills/cc-tdd-methodology/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-tdd-methodology/references/method.md +13 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/SKILL.md +34 -0
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/README.md +14 -0
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.mmd +21 -21
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.mmd +7 -7
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +3 -3
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +7 -7
- package/localized/zh-CN/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
- package/{skills/fec-image-generation → localized/zh-CN/skills/cc-technical-diagrams}/scripts/diagram-browser.mjs +77 -14
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
- package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +5 -34
- package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +6 -0
- package/localized/zh-CN/skills/eval_queries.json +741 -319
- package/localized/zh-CN/skills/fec-api-integration/SKILL.md +5 -1
- package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-api-integration/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-code-review/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-code-review/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-data-fetching/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-debug-framework/SKILL.md +1 -50
- package/localized/zh-CN/skills/fec-debug-framework/references/common/debug.md +13 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-doc-sync/SKILL.md +7 -28
- package/localized/zh-CN/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
- package/localized/zh-CN/skills/fec-image-generation/SKILL.md +7 -101
- package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +1 -1
- package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +1 -1
- package/localized/zh-CN/skills/fec-react-project-standard/SKILL.md +6 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
- package/localized/zh-CN/skills/fec-refactoring/SKILL.md +12 -70
- package/localized/zh-CN/skills/fec-refactoring/references/common/refactoring.md +16 -0
- package/localized/zh-CN/skills/fec-refactoring/references/principles.md +9 -39
- package/localized/zh-CN/skills/fec-refactoring/references/workflow.md +4 -56
- package/localized/zh-CN/skills/fec-security-review/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-security-review/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +12 -43
- package/localized/zh-CN/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
- package/localized/zh-CN/skills/fec-testing-strategy/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
- package/localized/zh-CN/skills/metadata.json +2246 -1008
- package/localized/zh-CN/skills/relations.json +501 -372
- package/localized/zh-CN/templates/shared/rules/fec-source-driven-development.md +3 -29
- package/localized/zh-CN/templates/shared/rules/fec-typescript.md +4 -4
- package/localized/zh-CN/templates/shared/rules/references/common/source-driven-development.md +19 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +11 -4
- package/skills/cc-c-project-standard/SKILL.md +25 -0
- package/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
- package/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
- package/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
- package/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-c-project-standard/references/practice.md +37 -0
- package/skills/cc-cpp-project-standard/SKILL.md +25 -0
- package/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
- package/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
- package/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
- package/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-cpp-project-standard/references/practice.md +37 -0
- package/skills/cc-debug-methodology/SKILL.md +8 -0
- package/skills/cc-debug-methodology/references/method.md +13 -0
- package/skills/cc-doc-sync-core/SKILL.md +8 -0
- package/skills/cc-doc-sync-core/references/method.md +12 -0
- package/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
- package/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
- package/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
- package/skills/cc-electron-project-standard/SKILL.md +21 -0
- package/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
- package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
- package/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
- package/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
- package/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
- package/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
- package/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
- package/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
- package/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
- package/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
- package/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
- package/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
- package/skills/cc-electron-project-standard/references/practice.md +19 -0
- package/skills/cc-electron-project-standard/references/verification.md +17 -0
- package/skills/cc-go-concurrency/SKILL.md +25 -0
- package/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
- package/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
- package/skills/cc-go-concurrency/references/practice.md +37 -0
- package/skills/cc-go-project-standard/SKILL.md +25 -0
- package/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
- package/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
- package/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
- package/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-go-project-standard/references/practice.md +37 -0
- package/skills/cc-java-project-standard/SKILL.md +25 -0
- package/skills/cc-java-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
- package/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
- package/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-java-project-standard/references/practice.md +35 -0
- package/skills/cc-java-runtime/SKILL.md +25 -0
- package/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
- package/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-java-runtime/references/engineering-practices.md +73 -0
- package/skills/cc-java-runtime/references/practice.md +37 -0
- package/skills/cc-native-memory-safety/SKILL.md +25 -0
- package/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
- package/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
- package/skills/cc-native-memory-safety/references/practice.md +37 -0
- package/skills/cc-python-async/SKILL.md +25 -0
- package/skills/cc-python-async/references/common/engineering-practices.md +237 -0
- package/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-python-async/references/engineering-practices.md +73 -0
- package/skills/cc-python-async/references/practice.md +37 -0
- package/skills/cc-python-project-standard/SKILL.md +25 -0
- package/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
- package/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
- package/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-python-project-standard/references/practice.md +37 -0
- package/skills/cc-refactoring-core/SKILL.md +8 -0
- package/skills/cc-refactoring-core/references/method.md +16 -0
- package/skills/cc-rust-async/SKILL.md +25 -0
- package/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
- package/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-rust-async/references/engineering-practices.md +73 -0
- package/skills/cc-rust-async/references/practice.md +37 -0
- package/skills/cc-rust-project-standard/SKILL.md +25 -0
- package/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
- package/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
- package/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
- package/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
- package/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-rust-project-standard/references/practice.md +37 -0
- package/skills/cc-source-driven-development/SKILL.md +8 -0
- package/skills/cc-source-driven-development/references/method.md +19 -0
- package/skills/cc-tauri-project-standard/SKILL.md +21 -0
- package/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
- package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
- package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
- package/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
- package/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
- package/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
- package/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
- package/skills/cc-tauri-project-standard/references/practice.md +20 -0
- package/skills/cc-tauri-project-standard/references/verification.md +18 -0
- package/skills/cc-tdd-methodology/SKILL.md +8 -0
- package/skills/cc-tdd-methodology/references/method.md +13 -0
- package/skills/cc-technical-diagrams/SKILL.md +34 -0
- package/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
- package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/README.md +5 -5
- package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.mmd +21 -21
- package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.mmd +7 -7
- package/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +3 -3
- package/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +7 -7
- package/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
- package/{localized/zh-CN/skills/fec-image-generation → skills/cc-technical-diagrams}/scripts/diagram-browser.mjs +77 -14
- package/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
- package/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
- package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
- package/skills/cc-typescript-project-standard/examples/engineering/README.md +9 -0
- package/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
- package/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
- package/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
- package/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
- package/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
- package/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
- package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +6 -35
- package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +7 -1
- package/skills/eval_queries.json +741 -319
- package/skills/fec-api-integration/SKILL.md +5 -1
- package/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
- package/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-api-integration/references/engineering-practices.md +73 -0
- package/skills/fec-code-review/SKILL.md +4 -0
- package/skills/fec-code-review/references/common/engineering-practices.md +237 -0
- package/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-code-review/references/engineering-practices.md +73 -0
- package/skills/fec-data-fetching/SKILL.md +4 -0
- package/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
- package/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-data-fetching/references/engineering-practices.md +73 -0
- package/skills/fec-debug-framework/SKILL.md +2 -51
- package/skills/fec-debug-framework/references/common/debug.md +13 -0
- package/skills/fec-dependency-upgrade/SKILL.md +4 -0
- package/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
- package/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
- package/skills/fec-doc-sync/SKILL.md +7 -28
- package/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
- package/skills/fec-image-generation/SKILL.md +7 -102
- package/skills/fec-image-generation/references/png-qa-autofix.md +1 -1
- package/skills/fec-image-generation/scripts/png-qa.mjs +1 -1
- package/skills/fec-react-project-standard/SKILL.md +6 -0
- package/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
- package/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
- package/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
- package/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
- package/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
- package/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
- package/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
- package/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
- package/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
- package/skills/fec-refactoring/SKILL.md +12 -70
- package/skills/fec-refactoring/references/common/refactoring.md +16 -0
- package/skills/fec-refactoring/references/principles.md +9 -56
- package/skills/fec-refactoring/references/workflow.md +4 -87
- package/skills/fec-security-review/SKILL.md +4 -0
- package/skills/fec-security-review/references/common/engineering-practices.md +237 -0
- package/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-security-review/references/engineering-practices.md +73 -0
- package/skills/fec-tdd-workflow/SKILL.md +13 -45
- package/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
- package/skills/fec-testing-strategy/SKILL.md +4 -0
- package/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
- package/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
- package/skills/fec-vue3-project-standard/SKILL.md +4 -0
- package/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
- package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
- package/skills/metadata.json +2246 -1008
- package/skills/relations.json +501 -372
- package/templates/shared/rules/fec-source-driven-development.md +3 -29
- package/templates/shared/rules/fec-typescript.md +4 -4
- package/templates/shared/rules/references/common/source-driven-development.md +19 -0
- package/localized/zh-CN/skills/fec-image-generation/assets/quality-examples/README.md +0 -14
- package/localized/zh-CN/skills/fec-source-driven-development/SKILL.md +0 -87
- package/skills/fec-source-driven-development/SKILL.md +0 -87
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/architecture.json +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/invalid-explicit.json +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.json +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.json +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/export-diagram.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/mermaid-render.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/architecture.json +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/invalid-explicit.json +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.json +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.json +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/export-diagram.mjs +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/mermaid-render.mjs +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +0 -0
package/docs/zh-TW/README.md
CHANGED
|
@@ -1,534 +1,588 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
|
|
3
|
-
<img src="../../assets/brand/frontend-craft.png" alt="frontend-craft logo" width="200" />
|
|
4
|
-
|
|
5
|
-
# frontend-craft
|
|
6
|
-
|
|
7
|
-
### 一套工具,適配所有 AI 程式設計助手,落地生產級前端規範。
|
|
8
|
-
|
|
9
|
-
[](https://github.com/bovinphang/frontend-craft/stargazers)
|
|
10
|
-
[](https://github.com/bovinphang/frontend-craft/actions/workflows/ci.yml)
|
|
11
|
-
[](https://www.npmjs.com/package/@bovinphang/frontend-craft)
|
|
12
|
-
[](../../LICENSE)
|
|
13
|
-

|
|
14
|
-

|
|
15
|
-

|
|
16
|
-

|
|
17
|
-

|
|
18
|
-
|
|
19
|
-
**🌐 Language / 语言 / 語言 / 言語 / 언어**
|
|
20
|
-
|
|
21
|
-
[English](../../README.md) · [简体中文](../../README.zh-CN.md) · [**繁體中文**](README.md) · [日本語](../ja-JP/README.md) · [한국어](../ko-KR/README.md)
|
|
22
|
-
|
|
23
|
-
</div>
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
[執行環境相容性與升級說明](../runtimes/compatibility.md)
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
`frontend-craft` 是一個**通用前端插件**,為以下 **15 款 AI 程式設計助手**注入統一的前端工程規範:
|
|
31
|
-
|
|
32
|
-
`claude` `codex` `cursor` `windsurf` `opencode`
|
|
33
|
-
`kilo` `gemini` `copilot` `antigravity` `augment`
|
|
34
|
-
`trae` `codebuddy` `cline` `openclaw` `qoder`
|
|
35
|
-
|
|
36
|
-
各執行時的路徑與注意事項詳見 [`docs/runtimes/`](../runtimes/)。
|
|
37
|
-
|
|
38
|
-
它將 **14 個專業 agent**、**
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## 為什麼選擇 frontend-craft?
|
|
43
|
-
|
|
44
|
-
| 痛點 | frontend-craft 的解法 |
|
|
45
|
-
| ----------------------------------------------- | --------------------------------------------------------------------------------------- |
|
|
46
|
-
| AI 助手寫出的前端程式碼風格不一、缺型別、不安全 | **
|
|
47
|
-
| 每款 AI 工具都有自己的插件格式 | **一條 CLI 指令** 把相同的規則、agent 和 hook 安裝到 15 個執行時 |
|
|
48
|
-
| 設計稿到程式碼的交接總有資訊損失 | **MCP 整合** 從 Figma、Figma Desktop、Sketch、MasterGo、Pixso、墨刀引入更完整設計上下文 |
|
|
49
|
-
| 程式碼審查隨意、淺層 | **14 個 agent** 輸出分級報告:程式碼、安全、無障礙、效能、TS、UI 還原度 |
|
|
50
|
-
| 沒人記得跑 lint 和測試 | **事件驅動 hook** 在儲存和會話結束時自動校驗 |
|
|
51
|
-
| 新專案每次都從零開始 | **`/fec-init`** 幾秒內腳手架化 CLAUDE.md、規則和 settings |
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## 安裝
|
|
56
|
-
|
|
57
|
-
需要 **Node.js 22+**。完整支援 **Windows、macOS 和 Linux**(所有鉤子和腳本均使用 Node.js 實作)。
|
|
58
|
-
|
|
59
|
-
### 方式一:全域安裝 fec CLI(推薦)
|
|
60
|
-
|
|
61
|
-
```bash
|
|
62
|
-
# 1. 全域安裝 fec 指令
|
|
63
|
-
npm install -g @bovinphang/frontend-craft@latest
|
|
64
|
-
|
|
65
|
-
# 2. 進入你的前端專案
|
|
66
|
-
cd your-project
|
|
67
|
-
|
|
68
|
-
# 3. 互動選擇要接入的 AI 執行時
|
|
69
|
-
fec setup
|
|
70
|
-
|
|
71
|
-
# 4. 接入目前專案
|
|
72
|
-
fec setup codex
|
|
73
|
-
fec setup claude
|
|
74
|
-
fec setup all
|
|
75
|
-
|
|
76
|
-
# 5. 全域接入,適用於所有專案
|
|
77
|
-
fec setup codex --global
|
|
78
|
-
fec setup claude --global
|
|
79
|
-
fec setup all --global
|
|
80
|
-
|
|
81
|
-
# 6. 預覽 / 查詢
|
|
82
|
-
fec install --all --dry-run --global
|
|
83
|
-
fec list
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
`npm install -g` 只是安裝 `fec` 終端機指令。`fec setup` 是終端機中的 CLI 專案接入指令,不是 AI 助手內的 `/fec-init` 斜線指令。在互動式終端機中,不帶參數的 `fec setup` 會先讓你選擇 runtime;`fec setup <runtime>` 和 `fec setup all` 會預設接入目前專案。只有傳入 `--global` 時,才會接入對應 AI 工具的全域設定目錄,適用於所有專案。
|
|
87
|
-
|
|
88
|
-
### 方式二:用 npx 臨時執行(免全域安裝 fec)
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
# 1. 互動精靈
|
|
92
|
-
npx @bovinphang/frontend-craft@latest
|
|
93
|
-
|
|
94
|
-
# 2. 接入目前專案
|
|
95
|
-
npx @bovinphang/frontend-craft@latest install --local codex
|
|
96
|
-
npx @bovinphang/frontend-craft@latest install --local claude
|
|
97
|
-
npx @bovinphang/frontend-craft@latest install --all --local
|
|
98
|
-
|
|
99
|
-
# 3. 全域接入,適用於所有專案
|
|
100
|
-
npx @bovinphang/frontend-craft@latest install --global codex
|
|
101
|
-
npx @bovinphang/frontend-craft@latest install --global claude
|
|
102
|
-
npx @bovinphang/frontend-craft@latest install --all --global
|
|
103
|
-
|
|
104
|
-
# 4. 預覽 / 查詢
|
|
105
|
-
npx @bovinphang/frontend-craft@latest install --all --dry-run --global
|
|
106
|
-
npx @bovinphang/frontend-craft@latest list
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
不想全域安裝 `fec` 指令時使用 `npx`。不帶參數會進入互動精靈:先選擇一個或多個執行時,再決定接入全域還是目前專案。腳本化安裝全部 runtime 時使用 `install --all --local` 或 `install --all --global`,不要寫成 `install all`。CI / 腳本場景請務必帶上 `--global` / `-g` 或 `--local` / `-l`;非 TTY 且未指定時,CLI 預設安裝到 `claude --global`。
|
|
110
|
-
|
|
111
|
-
### 方式三:Claude Code Marketplace
|
|
112
|
-
|
|
113
|
-
對 Claude Code 用戶,**Claude Code Marketplace** 是推薦的單一來源安裝方式。只有在需要跨執行時安裝、腳本化/離線複製檔案,或非 Marketplace 環境時,才建議對 Claude 使用 CLI。
|
|
114
|
-
|
|
115
|
-
如果已經透過 Marketplace 安裝,CLI 不會再安裝或更新第二份 Claude 副本,即使傳入 `--force` 也不會覆蓋;請透過 Claude Code Marketplace 更新。如果已存在另一個作用域的 CLI 管理安裝,互動式終端會詢問是保持已安裝來源並更新,還是解除安裝後切換至當前來源;非互動式終端會停止並列印明確的 `update`、`uninstall`、`install` 命令。
|
|
116
|
-
|
|
117
|
-
完整步驟見 [docs/runtimes/claude.zh-CN.md](../runtimes/claude.zh-CN.md) · [English](../runtimes/claude.md)。
|
|
118
|
-
|
|
119
|
-
---
|
|
120
|
-
|
|
121
|
-
## 快速開始
|
|
122
|
-
|
|
123
|
-
安裝完成後,你在每一次 AI 會話中都擁有一套完整的前端工程工具箱:
|
|
124
|
-
|
|
125
|
-
```text
|
|
126
|
-
你:"Review my recent changes"
|
|
127
|
-
→ fec-code-reviewer agent 被調度,輸出 reports/code-review-*.md
|
|
128
|
-
|
|
129
|
-
你:"/fec-review"
|
|
130
|
-
→ 按架構、型別、渲染、樣式、可存取性等維度執行結構化審查
|
|
131
|
-
|
|
132
|
-
你:"根據這個 Figma 連結實現結算頁"
|
|
133
|
-
→ fec-figma-implementer agent 透過 MCP 讀取設計稿,輸出元件和報告
|
|
134
|
-
|
|
135
|
-
你:"/fec-scaffold dashboard feature"
|
|
136
|
-
→ 依專案約定建立 page / feature / component 標準目錄結構
|
|
137
|
-
|
|
138
|
-
你:"/fec-refactor-clean"
|
|
139
|
-
→ 分類並安全清理死程式碼、未使用匯出、樣式和依賴
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
下文斜線指令以 **Claude Code** 為例;其他執行時透過各自的指令系統提供同等能力(詳見 [`docs/runtimes/`](../runtimes/))。
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
## 範例提示詞
|
|
147
|
-
|
|
148
|
-
完整的按場景組織提示詞庫請參考 [docs/example-prompts.md](../example-prompts.md)。
|
|
149
|
-
|
|
150
|
-
```text
|
|
151
|
-
你:「合併前請審查我最近的改動。重點看架構、型別安全、渲染行為、樣式、可存取性和缺失測試。」
|
|
152
|
-
你:「先不要寫程式碼,請規劃帳號帳單功能:路由結構、元件邊界、資料流、狀態歸屬、驗證流程和上線風險。」
|
|
153
|
-
你:「請建構多步註冊表單:依專案框架選擇表單與 schema 驗證方案,包含檔案上傳、條件欄位、非同步驗證和可存取錯誤提示。」
|
|
154
|
-
你:「請按 Figma 節點 123:456 實作 UI。複用現有 design token 和元件,匹配間距與響應式狀態,並說明假設。」
|
|
155
|
-
你:「`/fec-refactor-clean` 請清理這個模組裡的死程式碼。」
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## 裡面有什麼
|
|
161
|
-
|
|
162
|
-
### 指令(Commands)
|
|
163
|
-
|
|
164
|
-
斜線指令是結構化工作流的主入口,多數會輸出帶時間戳記的 Markdown 報告到 `reports/`。
|
|
165
|
-
|
|
166
|
-
| 指令 | 用途 | 報告 |
|
|
167
|
-
| --------------------- | ----------------------------------------------------------- | ------------------------------------------------ |
|
|
168
|
-
| `/fec-init` | 初始化專案範本(CLAUDE.md、規則、settings) | — |
|
|
169
|
-
| `/fec-review` | 預設審查全專案;支援指定檔案、目錄或明確變更範圍 | `code-review-*.md` |
|
|
170
|
-
| `/fec-scaffold` | 依規範建立 page / feature / component 樣板 | — |
|
|
171
|
-
| `/fec-plan` | 統一規劃入口:實現架構或測試策略 | `architecture-proposal-*.md` 或 `test-plan-*.md` |
|
|
172
|
-
| `/fec-tdd` | 紅 → 綠 → 重構的前端 TDD 循環 | — |
|
|
173
|
-
| `/fec-debug` | 前端問題診斷與修復:建置失敗、執行時錯誤、UI 異常、介面問題 | `debug-*.md` |
|
|
174
|
-
| `/fec-refactor-clean` | 分類並安全清理死程式碼、未使用匯出、樣式和依賴 | `refactor-clean-*.md` |
|
|
175
|
-
| `/fec-smell` | Diagnose code smells without editing | `refactoring/smell-*.md` |
|
|
176
|
-
| `/fec-refactor-plan` | Plan behavior-preserving refactoring | `refactoring/plan-*.md` |
|
|
177
|
-
| `/fec-refactor` | Execute validated behavior-preserving refactoring | `refactoring/refactoring-*.md` |
|
|
178
|
-
| `/fec-doc-sync` | 同步 README、docs、環境變數、腳本、API/路由說明和部署文件 | — |
|
|
179
|
-
|
|
180
|
-
### 審查範圍
|
|
181
|
-
|
|
182
|
-
`/fec-review`、程式碼 / TypeScript / 安全審查 agent 及其 skill 採用三種模式:
|
|
183
|
-
|
|
184
|
-
- **變更審查**:明確要求最近變更、本次修改、暫存區、PR 或提交,或目前任務已明確這些變更範圍。沒有變更時說明情況,不自動審查最近提交。
|
|
185
|
-
- **指定範圍審查**:指定檔案或目錄,審查其中現有程式碼,包括未變更程式碼,不要求 Git 差異。
|
|
186
|
-
- **全專案審查(預設)**:未指定範圍或變更脈絡,或明確要求審查整個專案時,先建立專案自有前端程式碼、相關測試、設定與相依宣告清單,再按模組審查。
|
|
187
|
-
|
|
188
|
-
指定檔案或目錄預設審查全部程式碼;明確要求本次變更才僅審查差異。即使有變更,單獨呼叫 `/fec-review` 仍預設全專案。開始時說明模式與範圍,修改後自動委託須明確傳入本次變更範圍。
|
|
189
|
-
|
|
190
|
-
範例:`/fec-review`、`/fec-review 審查最近變更`、`/fec-review 審查 src/components/Button.tsx`、`/fec-review 審查 src/features/`、`/fec-review 審查整個專案`。這些是自然語言指令,不是 CLI 參數;明確指定的範圍優先於預設模式。
|
|
191
|
-
|
|
192
|
-
預設排除相依目錄、建置產物、快取、生成檔案與第三方程式碼。報告記錄模式、目標範圍、已審查及未涵蓋檔案或模組、排除項目、完成狀態與驗證結果;涵蓋不足時標記部分完成。讀取呼叫端或執行全專案 lint/型別檢查不等於完成人工審查。變更審查保留合併建議,指定範圍與全專案審查評估已審查範圍的風險。前端審查不取代後端專項審查;未要求修復時不修改業務程式碼。
|
|
193
|
-
|
|
194
|
-
### 技能(Skills,自動啟用)
|
|
195
|
-
|
|
196
|
-
技能是根據檔案模式、框架或任務上下文**自動啟用**的工作流定義,編碼了審查維度、輸出約定和報告格式。
|
|
197
|
-
|
|
198
|
-
下方按使用場景分組列出全部自動啟用的技能,便於快速找到專案規範、實作、測試、審查、設計、遷移、專案演進和文件維護能力。
|
|
199
|
-
|
|
200
|
-
**專案規範** — 偵測到對應框架時自動生效:
|
|
201
|
-
|
|
202
|
-
| 技能 | 範圍 |
|
|
203
|
-
| --------------------------------- | ----------------------------------------------------- |
|
|
204
|
-
| `fec-react-project-standard` | React + TypeScript(結構、元件、路由、狀態、API 層) |
|
|
205
|
-
| `fec-vue3-project-standard` | Vue 3 + TypeScript(結構、元件、路由、Pinia、API 層) |
|
|
206
|
-
| `fec-nextjs-project-standard` | Next.js 14+ App Router、SSR/SSG、流式渲染、元資料 |
|
|
207
|
-
| `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG、組合式 API、資料獲取、中介軟體 |
|
|
208
|
-
| `fec-vite-project-standard` | Vite 設定、環境變數安全、HMR、開發代理、建置最佳化 |
|
|
209
|
-
| `fec-monorepo-project-standard` | pnpm workspace、Turborepo、Nx 結構與任務編排 |
|
|
210
|
-
| `
|
|
211
|
-
|
|
212
|
-
**實作能力** — 建構特定前端能力時啟用:
|
|
213
|
-
|
|
214
|
-
| 技能 | 範圍 |
|
|
215
|
-
| ------------------------- | ---------------------------------------------------------- |
|
|
216
|
-
| `fec-data-fetching` | 服務端狀態獲取、快取、失效、SSR、無限載入 |
|
|
217
|
-
| `fec-api-integration` | 型別化 API client、鑑權刷新、上傳、即時整合 |
|
|
218
|
-
| `fec-state-management` | 狀態歸屬、store 選型、URL 狀態、伺服器/表單/本地狀態邊界 |
|
|
219
|
-
| `fec-form-handling` | 跨框架表單選型、schema 驗證、動態欄位、上傳 |
|
|
220
|
-
| `fec-browser-storage` | localStorage / sessionStorage / IndexedDB / Cookies 選型 |
|
|
221
|
-
| `fec-route-protection` | React Router、Next.js、Vue Router、Nuxt 的登入態與權限路由 |
|
|
222
|
-
| `fec-pwa-implementation` | manifest、Service Worker、離線快取、安裝提示 |
|
|
223
|
-
| `fec-web-workers` | Web Worker、Transferable、Comlink、Worker 池 |
|
|
224
|
-
| `fec-canvas-threejs` | Canvas 2D、Three.js、React Three Fiber、WebGL |
|
|
225
|
-
| `fec-svg-animation` | CSS / Framer Motion / GSAP SVG 動畫與 reduced-motion |
|
|
226
|
-
| `fec-list-virtualization` | 依框架選型的大清單虛擬滾動、測量、網格和無限滾動 |
|
|
227
|
-
|
|
228
|
-
**測試** — 規劃或撰寫前端測試覆蓋時啟用:
|
|
229
|
-
|
|
230
|
-
| 技能 | 範圍 |
|
|
231
|
-
| ----------------------- | --------------------------------------------------------- |
|
|
232
|
-
| `fec-testing-strategy` | 靜態檢查、單元、元件、整合、E2E、視覺測試分層 |
|
|
233
|
-
| `fec-component-testing` | React Testing Library / Vue Test Utils 元件測試與回歸用例 |
|
|
234
|
-
| `fec-e2e-testing` | Playwright / Cypress E2E 與 Page Object 和 CI 整合 |
|
|
235
|
-
| `fec-tdd-workflow` | 測試先行的前端實作,紅綠重構循環 |
|
|
236
|
-
|
|
237
|
-
**審查與品質** — 程式碼審查、驗證或清理時啟用:
|
|
238
|
-
|
|
239
|
-
| 技能 | 範圍 |
|
|
240
|
-
| ------------------------------ | ------------------------------------------------------- |
|
|
241
|
-
| `fec-code-review` | 架構、型別、渲染、樣式、可存取性審查 |
|
|
242
|
-
| `fec-debug-framework` | 系統化診斷建置、執行時、UI 和 API/資料問題 |
|
|
243
|
-
| `fec-security-review` | XSS、CSRF、敏感資料外洩、輸入驗證 |
|
|
244
|
-
| `fec-accessibility-check` | WCAG 2.2、鍵盤、焦點、觸控和螢幕閱讀器行為 |
|
|
245
|
-
| `fec-dependency-upgrade` | 依賴升級、lockfile 審查、CVE 修復和遷移驗證 |
|
|
246
|
-
| `fec-validation-fix` | 一次性執行並修復 lint、type-check、test、build |
|
|
247
|
-
| `fec-performance-optimization` | Core Web Vitals、包體、渲染、記憶體、網路與效能預算審查 |
|
|
248
|
-
| `fec-refactor-clean` | 安全清理死程式碼、未使用匯出、樣式、路由和依賴 |
|
|
249
|
-
|
|
250
|
-
**Refactoring**
|
|
251
|
-
|
|
252
|
-
| Skill | Scope |
|
|
253
|
-
| --- | --- |
|
|
254
|
-
| `fec-refactoring` | Behavior-preserving refactoring capability |
|
|
255
|
-
| `fec-code-smells` | Behavior-preserving refactoring capability |
|
|
256
|
-
| `fec-refactoring-catalog` | Behavior-preserving refactoring capability |
|
|
257
|
-
| `fec-refactoring-functions` | Behavior-preserving refactoring capability |
|
|
258
|
-
| `fec-refactoring-encapsulation` | Behavior-preserving refactoring capability |
|
|
259
|
-
| `fec-refactoring-move-features` | Behavior-preserving refactoring capability |
|
|
260
|
-
| `fec-refactoring-data` | Behavior-preserving refactoring capability |
|
|
261
|
-
| `fec-refactoring-control` | Behavior-preserving refactoring capability |
|
|
262
|
-
| `fec-refactoring-api` | Behavior-preserving refactoring capability |
|
|
263
|
-
| `fec-refactoring-inheritance` | Behavior-preserving refactoring capability |
|
|
264
|
-
| `fec-refactoring-validation` | Behavior-preserving refactoring capability |
|
|
265
|
-
|
|
266
|
-
**設計 UI** — 設計實作、設計系統或視覺打磨時啟用:
|
|
267
|
-
|
|
268
|
-
| 技能 | 範圍 |
|
|
269
|
-
| ----------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
270
|
-
| `fec-ui-design` | 產品語境 UI 方向、反模板設計撥盤、媒體策略、狀態、視覺 QA |
|
|
271
|
-
| `fec-image-generation` |
|
|
272
|
-
| `
|
|
273
|
-
| `fec-web-video-presentation` | 將文章、口播稿、課程和 demo 轉成可錄屏的 16:9 步進網頁演示 |
|
|
274
|
-
| `fec-tailwind-design-system` | Tailwind token、主題擴展、元件變體、class 治理和暗色模式 |
|
|
275
|
-
| `fec-responsive-layout` | 移動優先布局、容器查詢、資料密集型響應式界面 |
|
|
276
|
-
| `fec-motion-interaction` | 場景化動效強度、頁面轉場、滾動動畫、reduced-motion |
|
|
277
|
-
| `fec-implement-from-design` | 基於設計工具、截圖或分區級視覺參考實現 UI |
|
|
278
|
-
| `fec-storybook-component-doc` | Storybook 元件文件、設計系統呈現、隔離狀態預覽 |
|
|
279
|
-
|
|
280
|
-
技術圖品質:標準時序圖、流程圖優先本機 Mermaid,可編輯架構圖優先 draw.io;工具缺少時使用 JSON/HTML。以符合 PNG 比例的實測 manifest 執行 QA,並檢視最終圖片。預設最多修復兩輪,未解決問題必須明確回報。
|
|
281
|
-
|
|
282
|
-
[審查範圍與技術圖交付指南](../zh-CN/review-and-diagram-workflows.md).
|
|
283
|
-
|
|
284
|
-
**遺留遷移** — 現代化遷移時啟用:
|
|
285
|
-
|
|
286
|
-
| 技能 | 範圍 |
|
|
287
|
-
| -------------------------------- | ---------------------------------------------- |
|
|
288
|
-
| `fec-legacy-web-standard` | JS + jQuery + HTML 傳統專案的開發與維護規範 |
|
|
289
|
-
| `fec-legacy-to-modern-migration` | 遺留前端現代化、目標技術棧識別與分階段遷移流程 |
|
|
290
|
-
|
|
291
|
-
**專案演進** — 吸收參考系統並原創化落到目前專案時啟用:
|
|
292
|
-
|
|
293
|
-
| 技能 | 範圍 |
|
|
294
|
-
| ------------- | ------------------------------------------ |
|
|
295
|
-
| `fec-alchemy` | 將參考系統能力原創化吸收到目前專案原生體系 |
|
|
296
|
-
|
|
297
|
-
**文件維護** — 文件維護時啟用:
|
|
298
|
-
|
|
299
|
-
| 技能 | 範圍 |
|
|
300
|
-
| ---------------------------------- | --------------------------------------------------------------------- |
|
|
301
|
-
| `fec-backend-requirements-handoff` | 前端向後端交接 UI 資料需求、使用者動作、狀態、業務規則與待確認問題 |
|
|
302
|
-
| `fec-doc-sync` | 讓前端文件與程式碼、設定、腳本、路由、API、環境變數和部署事實保持同步 |
|
|
303
|
-
| `
|
|
304
|
-
|
|
305
|
-
### 代理(Agents)
|
|
306
|
-
|
|
307
|
-
代理是由主助手調度的專業子代理,專注處理單一任務並返回結構化報告。
|
|
308
|
-
|
|
309
|
-
| 代理 | 聚焦領域 | 報告 |
|
|
310
|
-
| --------------------------- | --------------------------------------------------------- | ---------------------------- |
|
|
311
|
-
| `fec-code-reviewer` | React/Vue/Next/Nuxt、TS、樣式、用戶端安全(按置信度降噪) | `code-review-*.md` |
|
|
312
|
-
| `fec-typescript-reviewer` | 型別安全、非同步正確性、慣用模式(只報告不修改) | `typescript-review-*.md` |
|
|
313
|
-
| `fec-security-reviewer` | XSS、用戶端金鑰、危險 DOM/API、CSP、依賴稽核 | `security-review-*.md` |
|
|
314
|
-
| `fec-performance-optimizer` | 打包體積、渲染效能、網路瓶頸 | `performance-review-*.md` |
|
|
315
|
-
| `fec-architect` | 頁面拆分、元件架構、狀態流、目錄規劃 | `architecture-proposal-*.md` |
|
|
316
|
-
| `fec-test-planner` | 風險-層級映射:靜態、單元、元件、E2E、視覺、無障礙、安全 | `test-plan-*.md` |
|
|
317
|
-
| `fec-debugger` | 複雜前端診斷:建置、執行時、UI 和介面問題 | `debug-*.md` |
|
|
318
|
-
| `fec-refactor-cleaner` | 分類並安全清理未使用程式碼、匯出、樣式、路由和依賴 | `refactor-clean-*.md` |
|
|
319
|
-
| `fec-refactoring-expert` | Behavior-preserving refactoring orchestration | `refactoring/refactoring-*.md` |
|
|
320
|
-
| `fec-e2e-runner` | E2E 撰寫與執行(Playwright/Cypress)、flaky 隔離、Trace | `e2e-summary-*.md` |
|
|
321
|
-
| `fec-doc-updater` | 同步 README、runtime 文件、結構、能力表和 metadata | — |
|
|
322
|
-
| `fec-ui-checker` | 視覺問題排查與設計還原度評估 | `ui-fidelity-review-*.md` |
|
|
323
|
-
| `fec-figma-implementer` | 依 Figma/Sketch/MasterGo/Pixso/墨刀設計稿精確實作 UI | `design-implementation-*.md` |
|
|
324
|
-
| `fec-design-token-mapper` | 將設計變數對應至專案 Design Token | `token-mapping-*.md` |
|
|
325
|
-
|
|
326
|
-
### 鉤子(Hooks,事件驅動)
|
|
327
|
-
|
|
328
|
-
鉤子在 AI 助手事件觸發時**自動執行**,無需手動呼叫。
|
|
329
|
-
|
|
330
|
-
| 事件 | 行為 |
|
|
331
|
-
| ------------------------- | ---------------------------------------------------- |
|
|
332
|
-
| `SessionStart` | 清理 Claude 快取,然後自動偵測專案框架與套件管理工具 |
|
|
333
|
-
| `PreToolUse(Bash)` | 攔截危險指令(`rm -rf`、force push 等) |
|
|
334
|
-
| `PostToolUse(Write/Edit)` | 對修改的檔案自動執行 Prettier |
|
|
335
|
-
| `Stop` | 會話結束時執行 lint、type-check、test、build |
|
|
336
|
-
| `Notification` | 跨平台桌面通知(macOS / Linux / Windows) |
|
|
337
|
-
|
|
338
|
-
### MCP 整合
|
|
339
|
-
|
|
340
|
-
將 AI 助手接入設計工具,建構帶有更完整設計上下文的設計轉程式碼工作流。
|
|
341
|
-
|
|
342
|
-
| 服務 | 能力 |
|
|
343
|
-
| ----------------- | -------------------------------------- |
|
|
344
|
-
| **Figma** | 讀取設計上下文與變數定義 |
|
|
345
|
-
| **Figma Desktop** | Figma 桌面端整合 |
|
|
346
|
-
| **Sketch** | 讀取設計選區截圖 |
|
|
347
|
-
| **MasterGo** | 讀取 DSL 結構、元件層級與樣式 |
|
|
348
|
-
| **Pixso** | 本地 MCP:幀資料、程式碼片段、圖片資源 |
|
|
349
|
-
| **墨刀** | 原型資料、設計描述、HTML 匯入 |
|
|
350
|
-
| **摹客** | 截圖/標註/匯出 CSS 工作流(無 MCP) |
|
|
351
|
-
|
|
352
|
-
### 專案範本(`/fec-init`)
|
|
353
|
-
|
|
354
|
-
執行 `/fec-init` 即可將一套開箱即用的規則庫和專案設定腳手架化到 `.claude/`:
|
|
355
|
-
|
|
356
|
-
<details>
|
|
357
|
-
<summary>查看全部 20 個範本檔案</summary>
|
|
358
|
-
|
|
359
|
-
| 檔案 | 用途 |
|
|
360
|
-
| ---------------------------------------- | --------------------------------------------------------------------- |
|
|
361
|
-
| `CLAUDE.md` | 專案說明、常用指令、工作原則、安全要求 |
|
|
362
|
-
| `settings.json` | 權限白名單/黑名單、環境變數 |
|
|
363
|
-
| `rules/fec-vue.md` | Vue 3 元件規範與反模式 |
|
|
364
|
-
| `rules/fec-react.md` | React 元件規範與反模式 |
|
|
365
|
-
| `rules/fec-design-system.md` | 設計系統、Token、可存取性規則 |
|
|
366
|
-
| `rules/fec-testing.md` | 測試與校驗規則 |
|
|
367
|
-
| `rules/fec-git-conventions.md` | Conventional Commits 提交規範 |
|
|
368
|
-
| `rules/fec-i18n.md` | 國際化文案規範 |
|
|
369
|
-
| `rules/fec-performance.md` | 前端效能最佳化規則 |
|
|
370
|
-
| `rules/fec-rendering-patterns.md` | 渲染生命週期、hydration、SSR/CSR 與更新模式 |
|
|
371
|
-
| `rules/fec-responsive-design.md` | 響應式佈局、斷點、觸控目標與視口行為 |
|
|
372
|
-
| `rules/fec-source-driven-development.md` | Source-driven decisions, official docs, version-sensitive assumptions |
|
|
373
|
-
| `rules/fec-api-layer.md` | API 層型別化與錯誤處理規範 |
|
|
374
|
-
| `rules/fec-state-management.md` | 狀態分類、管理策略與反模式 |
|
|
375
|
-
| `rules/fec-error-handling.md` | 錯誤分層、Error Boundary、降級 UI、上報規範 |
|
|
376
|
-
| `rules/fec-naming-conventions.md` | 檔案、元件、變數、路由、API、CSS 統一命名 |
|
|
377
|
-
| `rules/fec-code-comments.md` | 何時以及如何寫前端註釋 |
|
|
378
|
-
| `rules/fec-ci-cd.md` | CI/CD 流水線階段、GitHub Actions / GitLab CI、金鑰管理 |
|
|
379
|
-
| `rules/fec-refactoring.md` | 重構約束與功能等價要求 |
|
|
380
|
-
| `rules/fec-agent-workflow.md` | 子代理協作邊界與委託規則 |
|
|
381
|
-
| `rules/fec-working-modes.md` | 調研、計畫、開發、評審、收尾模式指引 |
|
|
382
|
-
|
|
383
|
-
</details>
|
|
384
|
-
|
|
385
|
-
---
|
|
386
|
-
|
|
387
|
-
## 設定
|
|
388
|
-
|
|
389
|
-
### 前置條件
|
|
390
|
-
|
|
391
|
-
- **Node.js 22+**
|
|
392
|
-
- **npm、pnpm 或 yarn**
|
|
393
|
-
- **Git Bash 或相容 shell**(僅 Windows,當 AI 執行時需要呼叫 shell 指令時)
|
|
394
|
-
|
|
395
|
-
### MCP 設計工具令牌
|
|
396
|
-
|
|
397
|
-
根據團隊使用的設計工具設定對應環境變數:
|
|
398
|
-
|
|
399
|
-
| 環境變數 | 工具 | 取得方式 |
|
|
400
|
-
| ---------------- | --------------------- | ----------------------------------------- |
|
|
401
|
-
| `FIGMA_API_KEY` | Figma / Figma Desktop | Figma 帳戶設定 → Personal Access Tokens |
|
|
402
|
-
| `SKETCH_API_KEY` | Sketch | Sketch 開發者設定 |
|
|
403
|
-
| `MG_MCP_TOKEN` | MasterGo | MasterGo 帳戶設定 → 安全設定 → 產生 Token |
|
|
404
|
-
| `MODAO_TOKEN` | 墨刀 | 墨刀 AI 功能頁面 → 存取權杖 |
|
|
405
|
-
|
|
406
|
-
> **Pixso** 使用本地 MCP 服務 — 在 Pixso 用戶端中啟用即可,無需額外環境變數。
|
|
407
|
-
> **摹客** 暫無 MCP 整合 — 透過截圖和匯出 CSS 方式工作。
|
|
408
|
-
|
|
409
|
-
加入 shell 設定檔以持久化:
|
|
410
|
-
|
|
411
|
-
```bash
|
|
412
|
-
# macOS / Linux — 追加到 ~/.bashrc 或 ~/.zshrc
|
|
413
|
-
export FIGMA_API_KEY="your-figma-api-key"
|
|
414
|
-
export SKETCH_API_KEY="your-sketch-api-key"
|
|
415
|
-
export MG_MCP_TOKEN="your-mastergo-token"
|
|
416
|
-
export MODAO_TOKEN="your-modao-token"
|
|
417
|
-
```
|
|
418
|
-
|
|
419
|
-
```powershell
|
|
420
|
-
# Windows — 設為系統環境變數,或在 PowerShell 中臨時設定:
|
|
421
|
-
$env:FIGMA_API_KEY = "your-figma-api-key"
|
|
422
|
-
$env:SKETCH_API_KEY = "your-sketch-api-key"
|
|
423
|
-
$env:MG_MCP_TOKEN = "your-mastergo-token"
|
|
424
|
-
$env:MODAO_TOKEN = "your-modao-token"
|
|
425
|
-
```
|
|
426
|
-
|
|
427
|
-
---
|
|
428
|
-
|
|
429
|
-
## 報告輸出
|
|
430
|
-
|
|
431
|
-
每一次審查、分析和評估都會輸出帶時間戳記的 Markdown 報告到 `reports/`,可作為稽核記錄和 PR 交付物。
|
|
432
|
-
|
|
433
|
-
<details>
|
|
434
|
-
<summary>查看全部 16 種報告類型</summary>
|
|
435
|
-
|
|
436
|
-
| 報告類型 | 檔名模式 | 來源 |
|
|
437
|
-
| -------------- | -------------------------------------------- | ------------------------------------------------------------------- |
|
|
438
|
-
| 程式碼審查 | `code-review-YYYY-MM-DD-HHmmss.md` | `/fec-review`、`fec-code-review`、`fec-code-reviewer` |
|
|
439
|
-
| 除錯診斷 | `debug-YYYY-MM-DD-HHmmss.md` | `/fec-debug`、`fec-debug-framework`、`fec-debugger` |
|
|
440
|
-
| TS/JS 專項審查 | `typescript-review-YYYY-MM-DD-HHmmss.md` | `fec-typescript-reviewer` |
|
|
441
|
-
| 安全審查 | `security-review-YYYY-MM-DD-HHmmss.md` | `fec-security-review`、`fec-security-reviewer` |
|
|
442
|
-
| 無障礙檢查 | `accessibility-review-YYYY-MM-DD-HHmmss.md` | `fec-accessibility-check` |
|
|
443
|
-
| 效能分析 | `performance-review-YYYY-MM-DD-HHmmss.md` | `fec-performance-optimizer` |
|
|
444
|
-
| 架構方案 | `architecture-proposal-YYYY-MM-DD-HHmmss.md` | `fec-architect` |
|
|
445
|
-
| 設計還原度 | `ui-fidelity-review-YYYY-MM-DD-HHmmss.md` | `fec-ui-checker` |
|
|
446
|
-
| 設計實現 | `design-implementation-YYYY-MM-DD-HHmmss.md` | `fec-figma-implementer` |
|
|
447
|
-
| Token 對應 | `token-mapping-YYYY-MM-DD-HHmmss.md` | `fec-design-token-mapper` |
|
|
448
|
-
| 設計計畫 | `design-plan-YYYY-MM-DD-HHmmss.md` | `fec-implement-from-design` |
|
|
449
|
-
| 測試計畫 | `test-plan-YYYY-MM-DD-HHmmss.md` | `/fec-plan`、`fec-testing-strategy`、`fec-test-planner` |
|
|
450
|
-
| 驗證修復 | `validation-fix-YYYY-MM-DD-HHmmss.md` | `fec-validation-fix` |
|
|
451
|
-
| 重構清理 | `refactor-clean-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-clean`、`fec-refactor-clean`、`fec-refactor-cleaner` |
|
|
452
|
-
| E2E 執行摘要 | `e2e-summary-YYYY-MM-DD-HHmmss.md` | `fec-e2e-runner`(可選) |
|
|
453
|
-
| 遷移計畫 | `migration-plan-YYYY-MM-DD-HHmmss.md` | `fec-legacy-to-modern-migration` |
|
|
454
|
-
|
|
455
|
-
</details>
|
|
456
|
-
|
|
457
|
-
> **建議:** 在 `.gitignore` 中加入 `reports/` 以避免將自動產生的報告提交至程式碼倉庫,或保留提交以便團隊檢視歷史審查記錄。
|
|
458
|
-
|
|
459
|
-
---
|
|
460
|
-
|
|
461
|
-
## 更新與移除
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
fec update
|
|
471
|
-
fec
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
fec
|
|
480
|
-
fec
|
|
481
|
-
fec
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<img src="../../assets/brand/frontend-craft.png" alt="frontend-craft logo" width="200" />
|
|
4
|
+
|
|
5
|
+
# frontend-craft
|
|
6
|
+
|
|
7
|
+
### 一套工具,適配所有 AI 程式設計助手,落地生產級前端規範。
|
|
8
|
+
|
|
9
|
+
[](https://github.com/bovinphang/frontend-craft/stargazers)
|
|
10
|
+
[](https://github.com/bovinphang/frontend-craft/actions/workflows/ci.yml)
|
|
11
|
+
[](https://www.npmjs.com/package/@bovinphang/frontend-craft)
|
|
12
|
+
[](../../LICENSE)
|
|
13
|
+

|
|
14
|
+

|
|
15
|
+

|
|
16
|
+

|
|
17
|
+

|
|
18
|
+
|
|
19
|
+
**🌐 Language / 语言 / 語言 / 言語 / 언어**
|
|
20
|
+
|
|
21
|
+
[English](../../README.md) · [简体中文](../../README.zh-CN.md) · [**繁體中文**](README.md) · [日本語](../ja-JP/README.md) · [한국어](../ko-KR/README.md)
|
|
22
|
+
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
[執行環境相容性與升級說明](../runtimes/compatibility.md)
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
`frontend-craft` 是一個**通用前端插件**,為以下 **15 款 AI 程式設計助手**注入統一的前端工程規範:
|
|
31
|
+
|
|
32
|
+
`claude` `codex` `cursor` `windsurf` `opencode`
|
|
33
|
+
`kilo` `gemini` `copilot` `antigravity` `augment`
|
|
34
|
+
`trae` `codebuddy` `cline` `openclaw` `qoder`
|
|
35
|
+
|
|
36
|
+
各執行時的路徑與注意事項詳見 [`docs/runtimes/`](../runtimes/)。
|
|
37
|
+
|
|
38
|
+
它將 **14 個專業 agent**、**61 個自動啟用 skill**、**11 個斜線指令**、**5 個事件驅動 hook**、面向 6 個設計工具端點的 **MCP 整合**以及一整套**規則庫**打包為一個可安裝單元。執行一條指令,團隊裡的每一次 AI 會話都將以相同的方式編寫 React、Vue、Next.js 或 Nuxt——型別安全、可存取、安全、一致。
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 為什麼選擇 frontend-craft?
|
|
43
|
+
|
|
44
|
+
| 痛點 | frontend-craft 的解法 |
|
|
45
|
+
| ----------------------------------------------- | --------------------------------------------------------------------------------------- |
|
|
46
|
+
| AI 助手寫出的前端程式碼風格不一、缺型別、不安全 | **61 個 skill** 將團隊規範編碼為可自動啟用的工作流 |
|
|
47
|
+
| 每款 AI 工具都有自己的插件格式 | **一條 CLI 指令** 把相同的規則、agent 和 hook 安裝到 15 個執行時 |
|
|
48
|
+
| 設計稿到程式碼的交接總有資訊損失 | **MCP 整合** 從 Figma、Figma Desktop、Sketch、MasterGo、Pixso、墨刀引入更完整設計上下文 |
|
|
49
|
+
| 程式碼審查隨意、淺層 | **14 個 agent** 輸出分級報告:程式碼、安全、無障礙、效能、TS、UI 還原度 |
|
|
50
|
+
| 沒人記得跑 lint 和測試 | **事件驅動 hook** 在儲存和會話結束時自動校驗 |
|
|
51
|
+
| 新專案每次都從零開始 | **`/fec-init`** 幾秒內腳手架化 CLAUDE.md、規則和 settings |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## 安裝
|
|
56
|
+
|
|
57
|
+
需要 **Node.js 22+**。完整支援 **Windows、macOS 和 Linux**(所有鉤子和腳本均使用 Node.js 實作)。
|
|
58
|
+
|
|
59
|
+
### 方式一:全域安裝 fec CLI(推薦)
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# 1. 全域安裝 fec 指令
|
|
63
|
+
npm install -g @bovinphang/frontend-craft@latest
|
|
64
|
+
|
|
65
|
+
# 2. 進入你的前端專案
|
|
66
|
+
cd your-project
|
|
67
|
+
|
|
68
|
+
# 3. 互動選擇要接入的 AI 執行時
|
|
69
|
+
fec setup
|
|
70
|
+
|
|
71
|
+
# 4. 接入目前專案
|
|
72
|
+
fec setup codex
|
|
73
|
+
fec setup claude
|
|
74
|
+
fec setup all
|
|
75
|
+
|
|
76
|
+
# 5. 全域接入,適用於所有專案
|
|
77
|
+
fec setup codex --global
|
|
78
|
+
fec setup claude --global
|
|
79
|
+
fec setup all --global
|
|
80
|
+
|
|
81
|
+
# 6. 預覽 / 查詢
|
|
82
|
+
fec runtime install --all --dry-run --global
|
|
83
|
+
fec list
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
`npm install -g` 只是安裝 `fec` 終端機指令。`fec setup` 是終端機中的 CLI 專案接入指令,不是 AI 助手內的 `/fec-init` 斜線指令。在互動式終端機中,不帶參數的 `fec setup` 會先讓你選擇 runtime;`fec setup <runtime>` 和 `fec setup all` 會預設接入目前專案。只有傳入 `--global` 時,才會接入對應 AI 工具的全域設定目錄,適用於所有專案。
|
|
87
|
+
|
|
88
|
+
### 方式二:用 npx 臨時執行(免全域安裝 fec)
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# 1. 互動精靈
|
|
92
|
+
npx @bovinphang/frontend-craft@latest
|
|
93
|
+
|
|
94
|
+
# 2. 接入目前專案
|
|
95
|
+
npx @bovinphang/frontend-craft@latest runtime install --local codex
|
|
96
|
+
npx @bovinphang/frontend-craft@latest runtime install --local claude
|
|
97
|
+
npx @bovinphang/frontend-craft@latest runtime install --all --local
|
|
98
|
+
|
|
99
|
+
# 3. 全域接入,適用於所有專案
|
|
100
|
+
npx @bovinphang/frontend-craft@latest runtime install --global codex
|
|
101
|
+
npx @bovinphang/frontend-craft@latest runtime install --global claude
|
|
102
|
+
npx @bovinphang/frontend-craft@latest runtime install --all --global
|
|
103
|
+
|
|
104
|
+
# 4. 預覽 / 查詢
|
|
105
|
+
npx @bovinphang/frontend-craft@latest runtime install --all --dry-run --global
|
|
106
|
+
npx @bovinphang/frontend-craft@latest list
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
不想全域安裝 `fec` 指令時使用 `npx`。不帶參數會進入互動精靈:先選擇一個或多個執行時,再決定接入全域還是目前專案。腳本化安裝全部 runtime 時使用 `install --all --local` 或 `install --all --global`,不要寫成 `install all`。CI / 腳本場景請務必帶上 `--global` / `-g` 或 `--local` / `-l`;非 TTY 且未指定時,CLI 預設安裝到 `claude --global`。
|
|
110
|
+
|
|
111
|
+
### 方式三:Claude Code Marketplace
|
|
112
|
+
|
|
113
|
+
對 Claude Code 用戶,**Claude Code Marketplace** 是推薦的單一來源安裝方式。只有在需要跨執行時安裝、腳本化/離線複製檔案,或非 Marketplace 環境時,才建議對 Claude 使用 CLI。
|
|
114
|
+
|
|
115
|
+
如果已經透過 Marketplace 安裝,CLI 不會再安裝或更新第二份 Claude 副本,即使傳入 `--force` 也不會覆蓋;請透過 Claude Code Marketplace 更新。如果已存在另一個作用域的 CLI 管理安裝,互動式終端會詢問是保持已安裝來源並更新,還是解除安裝後切換至當前來源;非互動式終端會停止並列印明確的 `runtime update`、`runtime uninstall`、`runtime install` 命令。
|
|
116
|
+
|
|
117
|
+
完整步驟見 [docs/runtimes/claude.zh-CN.md](../runtimes/claude.zh-CN.md) · [English](../runtimes/claude.md)。
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## 快速開始
|
|
122
|
+
|
|
123
|
+
安裝完成後,你在每一次 AI 會話中都擁有一套完整的前端工程工具箱:
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
你:"Review my recent changes"
|
|
127
|
+
→ fec-code-reviewer agent 被調度,輸出 reports/code-review-*.md
|
|
128
|
+
|
|
129
|
+
你:"/fec-review"
|
|
130
|
+
→ 按架構、型別、渲染、樣式、可存取性等維度執行結構化審查
|
|
131
|
+
|
|
132
|
+
你:"根據這個 Figma 連結實現結算頁"
|
|
133
|
+
→ fec-figma-implementer agent 透過 MCP 讀取設計稿,輸出元件和報告
|
|
134
|
+
|
|
135
|
+
你:"/fec-scaffold dashboard feature"
|
|
136
|
+
→ 依專案約定建立 page / feature / component 標準目錄結構
|
|
137
|
+
|
|
138
|
+
你:"/fec-refactor-clean"
|
|
139
|
+
→ 分類並安全清理死程式碼、未使用匯出、樣式和依賴
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
下文斜線指令以 **Claude Code** 為例;其他執行時透過各自的指令系統提供同等能力(詳見 [`docs/runtimes/`](../runtimes/))。
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 範例提示詞
|
|
147
|
+
|
|
148
|
+
完整的按場景組織提示詞庫請參考 [docs/example-prompts.md](../example-prompts.md)。
|
|
149
|
+
|
|
150
|
+
```text
|
|
151
|
+
你:「合併前請審查我最近的改動。重點看架構、型別安全、渲染行為、樣式、可存取性和缺失測試。」
|
|
152
|
+
你:「先不要寫程式碼,請規劃帳號帳單功能:路由結構、元件邊界、資料流、狀態歸屬、驗證流程和上線風險。」
|
|
153
|
+
你:「請建構多步註冊表單:依專案框架選擇表單與 schema 驗證方案,包含檔案上傳、條件欄位、非同步驗證和可存取錯誤提示。」
|
|
154
|
+
你:「請按 Figma 節點 123:456 實作 UI。複用現有 design token 和元件,匹配間距與響應式狀態,並說明假設。」
|
|
155
|
+
你:「`/fec-refactor-clean` 請清理這個模組裡的死程式碼。」
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## 裡面有什麼
|
|
161
|
+
|
|
162
|
+
### 指令(Commands)
|
|
163
|
+
|
|
164
|
+
斜線指令是結構化工作流的主入口,多數會輸出帶時間戳記的 Markdown 報告到 `reports/`。
|
|
165
|
+
|
|
166
|
+
| 指令 | 用途 | 報告 |
|
|
167
|
+
| --------------------- | ----------------------------------------------------------- | ------------------------------------------------ |
|
|
168
|
+
| `/fec-init` | 初始化專案範本(CLAUDE.md、規則、settings) | — |
|
|
169
|
+
| `/fec-review` | 預設審查全專案;支援指定檔案、目錄或明確變更範圍 | `code-review-*.md` |
|
|
170
|
+
| `/fec-scaffold` | 依規範建立 page / feature / component 樣板 | — |
|
|
171
|
+
| `/fec-plan` | 統一規劃入口:實現架構或測試策略 | `architecture-proposal-*.md` 或 `test-plan-*.md` |
|
|
172
|
+
| `/fec-tdd` | 紅 → 綠 → 重構的前端 TDD 循環 | — |
|
|
173
|
+
| `/fec-debug` | 前端問題診斷與修復:建置失敗、執行時錯誤、UI 異常、介面問題 | `debug-*.md` |
|
|
174
|
+
| `/fec-refactor-clean` | 分類並安全清理死程式碼、未使用匯出、樣式和依賴 | `refactor-clean-*.md` |
|
|
175
|
+
| `/fec-smell` | Diagnose code smells without editing | `refactoring/smell-*.md` |
|
|
176
|
+
| `/fec-refactor-plan` | Plan behavior-preserving refactoring | `refactoring/plan-*.md` |
|
|
177
|
+
| `/fec-refactor` | Execute validated behavior-preserving refactoring | `refactoring/refactoring-*.md` |
|
|
178
|
+
| `/fec-doc-sync` | 同步 README、docs、環境變數、腳本、API/路由說明和部署文件 | — |
|
|
179
|
+
|
|
180
|
+
### 審查範圍
|
|
181
|
+
|
|
182
|
+
`/fec-review`、程式碼 / TypeScript / 安全審查 agent 及其 skill 採用三種模式:
|
|
183
|
+
|
|
184
|
+
- **變更審查**:明確要求最近變更、本次修改、暫存區、PR 或提交,或目前任務已明確這些變更範圍。沒有變更時說明情況,不自動審查最近提交。
|
|
185
|
+
- **指定範圍審查**:指定檔案或目錄,審查其中現有程式碼,包括未變更程式碼,不要求 Git 差異。
|
|
186
|
+
- **全專案審查(預設)**:未指定範圍或變更脈絡,或明確要求審查整個專案時,先建立專案自有前端程式碼、相關測試、設定與相依宣告清單,再按模組審查。
|
|
187
|
+
|
|
188
|
+
指定檔案或目錄預設審查全部程式碼;明確要求本次變更才僅審查差異。即使有變更,單獨呼叫 `/fec-review` 仍預設全專案。開始時說明模式與範圍,修改後自動委託須明確傳入本次變更範圍。
|
|
189
|
+
|
|
190
|
+
範例:`/fec-review`、`/fec-review 審查最近變更`、`/fec-review 審查 src/components/Button.tsx`、`/fec-review 審查 src/features/`、`/fec-review 審查整個專案`。這些是自然語言指令,不是 CLI 參數;明確指定的範圍優先於預設模式。
|
|
191
|
+
|
|
192
|
+
預設排除相依目錄、建置產物、快取、生成檔案與第三方程式碼。報告記錄模式、目標範圍、已審查及未涵蓋檔案或模組、排除項目、完成狀態與驗證結果;涵蓋不足時標記部分完成。讀取呼叫端或執行全專案 lint/型別檢查不等於完成人工審查。變更審查保留合併建議,指定範圍與全專案審查評估已審查範圍的風險。前端審查不取代後端專項審查;未要求修復時不修改業務程式碼。
|
|
193
|
+
|
|
194
|
+
### 技能(Skills,自動啟用)
|
|
195
|
+
|
|
196
|
+
技能是根據檔案模式、框架或任務上下文**自動啟用**的工作流定義,編碼了審查維度、輸出約定和報告格式。
|
|
197
|
+
|
|
198
|
+
下方按使用場景分組列出全部自動啟用的技能,便於快速找到專案規範、實作、測試、審查、設計、遷移、專案演進和文件維護能力。
|
|
199
|
+
|
|
200
|
+
**專案規範** — 偵測到對應框架時自動生效:
|
|
201
|
+
|
|
202
|
+
| 技能 | 範圍 |
|
|
203
|
+
| --------------------------------- | ----------------------------------------------------- |
|
|
204
|
+
| `fec-react-project-standard` | React + TypeScript(結構、元件、路由、狀態、API 層) |
|
|
205
|
+
| `fec-vue3-project-standard` | Vue 3 + TypeScript(結構、元件、路由、Pinia、API 層) |
|
|
206
|
+
| `fec-nextjs-project-standard` | Next.js 14+ App Router、SSR/SSG、流式渲染、元資料 |
|
|
207
|
+
| `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG、組合式 API、資料獲取、中介軟體 |
|
|
208
|
+
| `fec-vite-project-standard` | Vite 設定、環境變數安全、HMR、開發代理、建置最佳化 |
|
|
209
|
+
| `fec-monorepo-project-standard` | pnpm workspace、Turborepo、Nx 結構與任務編排 |
|
|
210
|
+
| `cc-typescript-project-standard` | TypeScript 設定、公開型別、宣告檔、DTO 和泛型 |
|
|
211
|
+
|
|
212
|
+
**實作能力** — 建構特定前端能力時啟用:
|
|
213
|
+
|
|
214
|
+
| 技能 | 範圍 |
|
|
215
|
+
| ------------------------- | ---------------------------------------------------------- |
|
|
216
|
+
| `fec-data-fetching` | 服務端狀態獲取、快取、失效、SSR、無限載入 |
|
|
217
|
+
| `fec-api-integration` | 型別化 API client、鑑權刷新、上傳、即時整合 |
|
|
218
|
+
| `fec-state-management` | 狀態歸屬、store 選型、URL 狀態、伺服器/表單/本地狀態邊界 |
|
|
219
|
+
| `fec-form-handling` | 跨框架表單選型、schema 驗證、動態欄位、上傳 |
|
|
220
|
+
| `fec-browser-storage` | localStorage / sessionStorage / IndexedDB / Cookies 選型 |
|
|
221
|
+
| `fec-route-protection` | React Router、Next.js、Vue Router、Nuxt 的登入態與權限路由 |
|
|
222
|
+
| `fec-pwa-implementation` | manifest、Service Worker、離線快取、安裝提示 |
|
|
223
|
+
| `fec-web-workers` | Web Worker、Transferable、Comlink、Worker 池 |
|
|
224
|
+
| `fec-canvas-threejs` | Canvas 2D、Three.js、React Three Fiber、WebGL |
|
|
225
|
+
| `fec-svg-animation` | CSS / Framer Motion / GSAP SVG 動畫與 reduced-motion |
|
|
226
|
+
| `fec-list-virtualization` | 依框架選型的大清單虛擬滾動、測量、網格和無限滾動 |
|
|
227
|
+
|
|
228
|
+
**測試** — 規劃或撰寫前端測試覆蓋時啟用:
|
|
229
|
+
|
|
230
|
+
| 技能 | 範圍 |
|
|
231
|
+
| ----------------------- | --------------------------------------------------------- |
|
|
232
|
+
| `fec-testing-strategy` | 靜態檢查、單元、元件、整合、E2E、視覺測試分層 |
|
|
233
|
+
| `fec-component-testing` | React Testing Library / Vue Test Utils 元件測試與回歸用例 |
|
|
234
|
+
| `fec-e2e-testing` | Playwright / Cypress E2E 與 Page Object 和 CI 整合 |
|
|
235
|
+
| `fec-tdd-workflow` | 測試先行的前端實作,紅綠重構循環 |
|
|
236
|
+
|
|
237
|
+
**審查與品質** — 程式碼審查、驗證或清理時啟用:
|
|
238
|
+
|
|
239
|
+
| 技能 | 範圍 |
|
|
240
|
+
| ------------------------------ | ------------------------------------------------------- |
|
|
241
|
+
| `fec-code-review` | 架構、型別、渲染、樣式、可存取性審查 |
|
|
242
|
+
| `fec-debug-framework` | 系統化診斷建置、執行時、UI 和 API/資料問題 |
|
|
243
|
+
| `fec-security-review` | XSS、CSRF、敏感資料外洩、輸入驗證 |
|
|
244
|
+
| `fec-accessibility-check` | WCAG 2.2、鍵盤、焦點、觸控和螢幕閱讀器行為 |
|
|
245
|
+
| `fec-dependency-upgrade` | 依賴升級、lockfile 審查、CVE 修復和遷移驗證 |
|
|
246
|
+
| `fec-validation-fix` | 一次性執行並修復 lint、type-check、test、build |
|
|
247
|
+
| `fec-performance-optimization` | Core Web Vitals、包體、渲染、記憶體、網路與效能預算審查 |
|
|
248
|
+
| `fec-refactor-clean` | 安全清理死程式碼、未使用匯出、樣式、路由和依賴 |
|
|
249
|
+
|
|
250
|
+
**Refactoring**
|
|
251
|
+
|
|
252
|
+
| Skill | Scope |
|
|
253
|
+
| --- | --- |
|
|
254
|
+
| `fec-refactoring` | Behavior-preserving refactoring capability |
|
|
255
|
+
| `fec-code-smells` | Behavior-preserving refactoring capability |
|
|
256
|
+
| `fec-refactoring-catalog` | Behavior-preserving refactoring capability |
|
|
257
|
+
| `fec-refactoring-functions` | Behavior-preserving refactoring capability |
|
|
258
|
+
| `fec-refactoring-encapsulation` | Behavior-preserving refactoring capability |
|
|
259
|
+
| `fec-refactoring-move-features` | Behavior-preserving refactoring capability |
|
|
260
|
+
| `fec-refactoring-data` | Behavior-preserving refactoring capability |
|
|
261
|
+
| `fec-refactoring-control` | Behavior-preserving refactoring capability |
|
|
262
|
+
| `fec-refactoring-api` | Behavior-preserving refactoring capability |
|
|
263
|
+
| `fec-refactoring-inheritance` | Behavior-preserving refactoring capability |
|
|
264
|
+
| `fec-refactoring-validation` | Behavior-preserving refactoring capability |
|
|
265
|
+
|
|
266
|
+
**設計 UI** — 設計實作、設計系統或視覺打磨時啟用:
|
|
267
|
+
|
|
268
|
+
| 技能 | 範圍 |
|
|
269
|
+
| ----------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
270
|
+
| `fec-ui-design` | 產品語境 UI 方向、反模板設計撥盤、媒體策略、狀態、視覺 QA |
|
|
271
|
+
| `fec-image-generation` | UI、產品和品牌視覺生成與編輯,重用共用 PNG 檢查 |
|
|
272
|
+
| `cc-drawio-studio` | 可編輯 draw.io / diagrams.net 技術圖、XML/Mermaid/CSV URL 交付、形狀檢索、自動布局和程式碼結構圖 |
|
|
273
|
+
| `fec-web-video-presentation` | 將文章、口播稿、課程和 demo 轉成可錄屏的 16:9 步進網頁演示 |
|
|
274
|
+
| `fec-tailwind-design-system` | Tailwind token、主題擴展、元件變體、class 治理和暗色模式 |
|
|
275
|
+
| `fec-responsive-layout` | 移動優先布局、容器查詢、資料密集型響應式界面 |
|
|
276
|
+
| `fec-motion-interaction` | 場景化動效強度、頁面轉場、滾動動畫、reduced-motion |
|
|
277
|
+
| `fec-implement-from-design` | 基於設計工具、截圖或分區級視覺參考實現 UI |
|
|
278
|
+
| `fec-storybook-component-doc` | Storybook 元件文件、設計系統呈現、隔離狀態預覽 |
|
|
279
|
+
|
|
280
|
+
技術圖品質:標準時序圖、流程圖優先本機 Mermaid,可編輯架構圖優先 draw.io;工具缺少時使用 JSON/HTML。以符合 PNG 比例的實測 manifest 執行 QA,並檢視最終圖片。預設最多修復兩輪,未解決問題必須明確回報。
|
|
281
|
+
|
|
282
|
+
[審查範圍與技術圖交付指南](../zh-CN/review-and-diagram-workflows.md).
|
|
283
|
+
|
|
284
|
+
**遺留遷移** — 現代化遷移時啟用:
|
|
285
|
+
|
|
286
|
+
| 技能 | 範圍 |
|
|
287
|
+
| -------------------------------- | ---------------------------------------------- |
|
|
288
|
+
| `fec-legacy-web-standard` | JS + jQuery + HTML 傳統專案的開發與維護規範 |
|
|
289
|
+
| `fec-legacy-to-modern-migration` | 遺留前端現代化、目標技術棧識別與分階段遷移流程 |
|
|
290
|
+
|
|
291
|
+
**專案演進** — 吸收參考系統並原創化落到目前專案時啟用:
|
|
292
|
+
|
|
293
|
+
| 技能 | 範圍 |
|
|
294
|
+
| ------------- | ------------------------------------------ |
|
|
295
|
+
| `fec-alchemy` | 將參考系統能力原創化吸收到目前專案原生體系 |
|
|
296
|
+
|
|
297
|
+
**文件維護** — 文件維護時啟用:
|
|
298
|
+
|
|
299
|
+
| 技能 | 範圍 |
|
|
300
|
+
| ---------------------------------- | --------------------------------------------------------------------- |
|
|
301
|
+
| `fec-backend-requirements-handoff` | 前端向後端交接 UI 資料需求、使用者動作、狀態、業務規則與待確認問題 |
|
|
302
|
+
| `fec-doc-sync` | 讓前端文件與程式碼、設定、腳本、路由、API、環境變數和部署事實保持同步 |
|
|
303
|
+
| `cc-source-driven-development` | 以專案事實和官方來源驗證版本敏感的前端決策 |
|
|
304
|
+
|
|
305
|
+
### 代理(Agents)
|
|
306
|
+
|
|
307
|
+
代理是由主助手調度的專業子代理,專注處理單一任務並返回結構化報告。
|
|
308
|
+
|
|
309
|
+
| 代理 | 聚焦領域 | 報告 |
|
|
310
|
+
| --------------------------- | --------------------------------------------------------- | ---------------------------- |
|
|
311
|
+
| `fec-code-reviewer` | React/Vue/Next/Nuxt、TS、樣式、用戶端安全(按置信度降噪) | `code-review-*.md` |
|
|
312
|
+
| `fec-typescript-reviewer` | 型別安全、非同步正確性、慣用模式(只報告不修改) | `typescript-review-*.md` |
|
|
313
|
+
| `fec-security-reviewer` | XSS、用戶端金鑰、危險 DOM/API、CSP、依賴稽核 | `security-review-*.md` |
|
|
314
|
+
| `fec-performance-optimizer` | 打包體積、渲染效能、網路瓶頸 | `performance-review-*.md` |
|
|
315
|
+
| `fec-architect` | 頁面拆分、元件架構、狀態流、目錄規劃 | `architecture-proposal-*.md` |
|
|
316
|
+
| `fec-test-planner` | 風險-層級映射:靜態、單元、元件、E2E、視覺、無障礙、安全 | `test-plan-*.md` |
|
|
317
|
+
| `fec-debugger` | 複雜前端診斷:建置、執行時、UI 和介面問題 | `debug-*.md` |
|
|
318
|
+
| `fec-refactor-cleaner` | 分類並安全清理未使用程式碼、匯出、樣式、路由和依賴 | `refactor-clean-*.md` |
|
|
319
|
+
| `fec-refactoring-expert` | Behavior-preserving refactoring orchestration | `refactoring/refactoring-*.md` |
|
|
320
|
+
| `fec-e2e-runner` | E2E 撰寫與執行(Playwright/Cypress)、flaky 隔離、Trace | `e2e-summary-*.md` |
|
|
321
|
+
| `fec-doc-updater` | 同步 README、runtime 文件、結構、能力表和 metadata | — |
|
|
322
|
+
| `fec-ui-checker` | 視覺問題排查與設計還原度評估 | `ui-fidelity-review-*.md` |
|
|
323
|
+
| `fec-figma-implementer` | 依 Figma/Sketch/MasterGo/Pixso/墨刀設計稿精確實作 UI | `design-implementation-*.md` |
|
|
324
|
+
| `fec-design-token-mapper` | 將設計變數對應至專案 Design Token | `token-mapping-*.md` |
|
|
325
|
+
|
|
326
|
+
### 鉤子(Hooks,事件驅動)
|
|
327
|
+
|
|
328
|
+
鉤子在 AI 助手事件觸發時**自動執行**,無需手動呼叫。
|
|
329
|
+
|
|
330
|
+
| 事件 | 行為 |
|
|
331
|
+
| ------------------------- | ---------------------------------------------------- |
|
|
332
|
+
| `SessionStart` | 清理 Claude 快取,然後自動偵測專案框架與套件管理工具 |
|
|
333
|
+
| `PreToolUse(Bash)` | 攔截危險指令(`rm -rf`、force push 等) |
|
|
334
|
+
| `PostToolUse(Write/Edit)` | 對修改的檔案自動執行 Prettier |
|
|
335
|
+
| `Stop` | 會話結束時執行 lint、type-check、test、build |
|
|
336
|
+
| `Notification` | 跨平台桌面通知(macOS / Linux / Windows) |
|
|
337
|
+
|
|
338
|
+
### MCP 整合
|
|
339
|
+
|
|
340
|
+
將 AI 助手接入設計工具,建構帶有更完整設計上下文的設計轉程式碼工作流。
|
|
341
|
+
|
|
342
|
+
| 服務 | 能力 |
|
|
343
|
+
| ----------------- | -------------------------------------- |
|
|
344
|
+
| **Figma** | 讀取設計上下文與變數定義 |
|
|
345
|
+
| **Figma Desktop** | Figma 桌面端整合 |
|
|
346
|
+
| **Sketch** | 讀取設計選區截圖 |
|
|
347
|
+
| **MasterGo** | 讀取 DSL 結構、元件層級與樣式 |
|
|
348
|
+
| **Pixso** | 本地 MCP:幀資料、程式碼片段、圖片資源 |
|
|
349
|
+
| **墨刀** | 原型資料、設計描述、HTML 匯入 |
|
|
350
|
+
| **摹客** | 截圖/標註/匯出 CSS 工作流(無 MCP) |
|
|
351
|
+
|
|
352
|
+
### 專案範本(`/fec-init`)
|
|
353
|
+
|
|
354
|
+
執行 `/fec-init` 即可將一套開箱即用的規則庫和專案設定腳手架化到 `.claude/`:
|
|
355
|
+
|
|
356
|
+
<details>
|
|
357
|
+
<summary>查看全部 20 個範本檔案</summary>
|
|
358
|
+
|
|
359
|
+
| 檔案 | 用途 |
|
|
360
|
+
| ---------------------------------------- | --------------------------------------------------------------------- |
|
|
361
|
+
| `CLAUDE.md` | 專案說明、常用指令、工作原則、安全要求 |
|
|
362
|
+
| `settings.json` | 權限白名單/黑名單、環境變數 |
|
|
363
|
+
| `rules/fec-vue.md` | Vue 3 元件規範與反模式 |
|
|
364
|
+
| `rules/fec-react.md` | React 元件規範與反模式 |
|
|
365
|
+
| `rules/fec-design-system.md` | 設計系統、Token、可存取性規則 |
|
|
366
|
+
| `rules/fec-testing.md` | 測試與校驗規則 |
|
|
367
|
+
| `rules/fec-git-conventions.md` | Conventional Commits 提交規範 |
|
|
368
|
+
| `rules/fec-i18n.md` | 國際化文案規範 |
|
|
369
|
+
| `rules/fec-performance.md` | 前端效能最佳化規則 |
|
|
370
|
+
| `rules/fec-rendering-patterns.md` | 渲染生命週期、hydration、SSR/CSR 與更新模式 |
|
|
371
|
+
| `rules/fec-responsive-design.md` | 響應式佈局、斷點、觸控目標與視口行為 |
|
|
372
|
+
| `rules/fec-source-driven-development.md` | Source-driven decisions, official docs, version-sensitive assumptions |
|
|
373
|
+
| `rules/fec-api-layer.md` | API 層型別化與錯誤處理規範 |
|
|
374
|
+
| `rules/fec-state-management.md` | 狀態分類、管理策略與反模式 |
|
|
375
|
+
| `rules/fec-error-handling.md` | 錯誤分層、Error Boundary、降級 UI、上報規範 |
|
|
376
|
+
| `rules/fec-naming-conventions.md` | 檔案、元件、變數、路由、API、CSS 統一命名 |
|
|
377
|
+
| `rules/fec-code-comments.md` | 何時以及如何寫前端註釋 |
|
|
378
|
+
| `rules/fec-ci-cd.md` | CI/CD 流水線階段、GitHub Actions / GitLab CI、金鑰管理 |
|
|
379
|
+
| `rules/fec-refactoring.md` | 重構約束與功能等價要求 |
|
|
380
|
+
| `rules/fec-agent-workflow.md` | 子代理協作邊界與委託規則 |
|
|
381
|
+
| `rules/fec-working-modes.md` | 調研、計畫、開發、評審、收尾模式指引 |
|
|
382
|
+
|
|
383
|
+
</details>
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
## 設定
|
|
388
|
+
|
|
389
|
+
### 前置條件
|
|
390
|
+
|
|
391
|
+
- **Node.js 22+**
|
|
392
|
+
- **npm、pnpm 或 yarn**
|
|
393
|
+
- **Git Bash 或相容 shell**(僅 Windows,當 AI 執行時需要呼叫 shell 指令時)
|
|
394
|
+
|
|
395
|
+
### MCP 設計工具令牌
|
|
396
|
+
|
|
397
|
+
根據團隊使用的設計工具設定對應環境變數:
|
|
398
|
+
|
|
399
|
+
| 環境變數 | 工具 | 取得方式 |
|
|
400
|
+
| ---------------- | --------------------- | ----------------------------------------- |
|
|
401
|
+
| `FIGMA_API_KEY` | Figma / Figma Desktop | Figma 帳戶設定 → Personal Access Tokens |
|
|
402
|
+
| `SKETCH_API_KEY` | Sketch | Sketch 開發者設定 |
|
|
403
|
+
| `MG_MCP_TOKEN` | MasterGo | MasterGo 帳戶設定 → 安全設定 → 產生 Token |
|
|
404
|
+
| `MODAO_TOKEN` | 墨刀 | 墨刀 AI 功能頁面 → 存取權杖 |
|
|
405
|
+
|
|
406
|
+
> **Pixso** 使用本地 MCP 服務 — 在 Pixso 用戶端中啟用即可,無需額外環境變數。
|
|
407
|
+
> **摹客** 暫無 MCP 整合 — 透過截圖和匯出 CSS 方式工作。
|
|
408
|
+
|
|
409
|
+
加入 shell 設定檔以持久化:
|
|
410
|
+
|
|
411
|
+
```bash
|
|
412
|
+
# macOS / Linux — 追加到 ~/.bashrc 或 ~/.zshrc
|
|
413
|
+
export FIGMA_API_KEY="your-figma-api-key"
|
|
414
|
+
export SKETCH_API_KEY="your-sketch-api-key"
|
|
415
|
+
export MG_MCP_TOKEN="your-mastergo-token"
|
|
416
|
+
export MODAO_TOKEN="your-modao-token"
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
```powershell
|
|
420
|
+
# Windows — 設為系統環境變數,或在 PowerShell 中臨時設定:
|
|
421
|
+
$env:FIGMA_API_KEY = "your-figma-api-key"
|
|
422
|
+
$env:SKETCH_API_KEY = "your-sketch-api-key"
|
|
423
|
+
$env:MG_MCP_TOKEN = "your-mastergo-token"
|
|
424
|
+
$env:MODAO_TOKEN = "your-modao-token"
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
---
|
|
428
|
+
|
|
429
|
+
## 報告輸出
|
|
430
|
+
|
|
431
|
+
每一次審查、分析和評估都會輸出帶時間戳記的 Markdown 報告到 `reports/`,可作為稽核記錄和 PR 交付物。
|
|
432
|
+
|
|
433
|
+
<details>
|
|
434
|
+
<summary>查看全部 16 種報告類型</summary>
|
|
435
|
+
|
|
436
|
+
| 報告類型 | 檔名模式 | 來源 |
|
|
437
|
+
| -------------- | -------------------------------------------- | ------------------------------------------------------------------- |
|
|
438
|
+
| 程式碼審查 | `code-review-YYYY-MM-DD-HHmmss.md` | `/fec-review`、`fec-code-review`、`fec-code-reviewer` |
|
|
439
|
+
| 除錯診斷 | `debug-YYYY-MM-DD-HHmmss.md` | `/fec-debug`、`fec-debug-framework`、`fec-debugger` |
|
|
440
|
+
| TS/JS 專項審查 | `typescript-review-YYYY-MM-DD-HHmmss.md` | `fec-typescript-reviewer` |
|
|
441
|
+
| 安全審查 | `security-review-YYYY-MM-DD-HHmmss.md` | `fec-security-review`、`fec-security-reviewer` |
|
|
442
|
+
| 無障礙檢查 | `accessibility-review-YYYY-MM-DD-HHmmss.md` | `fec-accessibility-check` |
|
|
443
|
+
| 效能分析 | `performance-review-YYYY-MM-DD-HHmmss.md` | `fec-performance-optimizer` |
|
|
444
|
+
| 架構方案 | `architecture-proposal-YYYY-MM-DD-HHmmss.md` | `fec-architect` |
|
|
445
|
+
| 設計還原度 | `ui-fidelity-review-YYYY-MM-DD-HHmmss.md` | `fec-ui-checker` |
|
|
446
|
+
| 設計實現 | `design-implementation-YYYY-MM-DD-HHmmss.md` | `fec-figma-implementer` |
|
|
447
|
+
| Token 對應 | `token-mapping-YYYY-MM-DD-HHmmss.md` | `fec-design-token-mapper` |
|
|
448
|
+
| 設計計畫 | `design-plan-YYYY-MM-DD-HHmmss.md` | `fec-implement-from-design` |
|
|
449
|
+
| 測試計畫 | `test-plan-YYYY-MM-DD-HHmmss.md` | `/fec-plan`、`fec-testing-strategy`、`fec-test-planner` |
|
|
450
|
+
| 驗證修復 | `validation-fix-YYYY-MM-DD-HHmmss.md` | `fec-validation-fix` |
|
|
451
|
+
| 重構清理 | `refactor-clean-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-clean`、`fec-refactor-clean`、`fec-refactor-cleaner` |
|
|
452
|
+
| E2E 執行摘要 | `e2e-summary-YYYY-MM-DD-HHmmss.md` | `fec-e2e-runner`(可選) |
|
|
453
|
+
| 遷移計畫 | `migration-plan-YYYY-MM-DD-HHmmss.md` | `fec-legacy-to-modern-migration` |
|
|
454
|
+
|
|
455
|
+
</details>
|
|
456
|
+
|
|
457
|
+
> **建議:** 在 `.gitignore` 中加入 `reports/` 以避免將自動產生的報告提交至程式碼倉庫,或保留提交以便團隊檢視歷史審查記錄。
|
|
458
|
+
|
|
459
|
+
---
|
|
460
|
+
|
|
461
|
+
## 更新與移除
|
|
462
|
+
|
|
463
|
+
### CLI 自身管理(3.0)
|
|
464
|
+
|
|
465
|
+
`fec update`(別名 `upgrade`)透過原 npm/pnpm 將全域 CLI 升級至原 registry 的 `latest`,再啟動新版 CLI 更新目前專案及使用者全域的託管資源;已是最新版也會更新。不掃描其他專案,不管理 Marketplace。CLI 升級失敗即停止;資源部分失敗會分階段回報,不回復 CLI,可執行 `fec runtime update` 重試。
|
|
466
|
+
|
|
467
|
+
`fec uninstall`(別名 `remove`)預設僅解除安裝 CLI;`--purge` 先清理託管資源並保留使用者修改,清理失敗則保留 CLI。互動終端需要確認,非互動終端必須加 `--yes`。僅支援已驗證歸屬的 npm/pnpm registry 全域安裝;原始碼連結、專案依賴、未知來源及含其他套件的 pnpm 共用安裝群組均在修改前拒絕,請透過原套件管理器手動管理。`--dry-run` 僅唯讀預覽,不安裝、刪除或啟動後續更新。
|
|
468
|
+
|
|
469
|
+
```bash
|
|
470
|
+
fec update
|
|
471
|
+
fec uninstall --dry-run
|
|
472
|
+
fec uninstall --purge --yes
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
暫時 npx 執行不建立全域 CLI,也不支援自身解除安裝。npx 頂層 `update` 僅在目前版本等於 registry `latest` 時更新資源,否則使用 `npx @bovinphang/frontend-craft@latest runtime update`。
|
|
476
|
+
|
|
477
|
+
| 2.x 資源命令 | 3.0 替代命令 |
|
|
478
|
+
| --- | --- |
|
|
479
|
+
| `fec update [runtime] [options]` | `fec runtime update [runtime] [options]` |
|
|
480
|
+
| `fec uninstall [runtime] [options]` | `fec runtime uninstall [runtime] [options]` |
|
|
481
|
+
| `fec install [runtime] [options]` | `fec runtime install [runtime] [options]` |
|
|
482
|
+
|
|
483
|
+
頂層 update/uninstall 在修改前拒絕舊 runtime 參數及 `--global` 等資源選項。`setup` 保留;頂層 `install` 為已棄用的相容入口。資源選項及 `runtime upgrade/remove` 別名保留。`runtime update` 僅使用目前 CLI 套件內容,不連網取得新套件。
|
|
484
|
+
|
|
485
|
+
`fec` 是 `frontend-craft` 的短命令。未全域安裝 CLI 時,資源操作使用 `npx @bovinphang/frontend-craft@latest runtime update`(或 `runtime install/uninstall`)。
|
|
486
|
+
|
|
487
|
+
### 資源更新
|
|
488
|
+
|
|
489
|
+
```bash
|
|
490
|
+
fec runtime update # 更新自動發現到的所有 CLI 管理安裝
|
|
491
|
+
fec runtime update <runtime> --local # 更新一個本地 CLI 管理安裝
|
|
492
|
+
fec runtime update <runtime> --global # 更新一個全域 CLI 管理安裝
|
|
493
|
+
fec runtime upgrade <runtime> --global # `upgrade` 是 `update` 的別名
|
|
494
|
+
```
|
|
495
|
+
|
|
496
|
+
### 資源移除
|
|
497
|
+
|
|
498
|
+
```bash
|
|
499
|
+
fec runtime uninstall # 移除自動發現到的所有 CLI 管理安裝
|
|
500
|
+
fec runtime remove # `remove` 是 `uninstall` 的別名
|
|
501
|
+
fec runtime uninstall <runtime> # 移除指定 runtime 安裝
|
|
502
|
+
fec runtime remove <runtime> # 使用別名移除指定 runtime
|
|
503
|
+
fec runtime uninstall --global # 只移除發現到的全域安裝
|
|
504
|
+
fec runtime remove --local # 只移除發現到的本地安裝
|
|
505
|
+
fec runtime uninstall <runtime> --dry-run # 預覽將移除的檔案
|
|
506
|
+
fec runtime uninstall <runtime> --force # 連同已修改的託管檔案一起移除
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
CLI 會在 runtime 目錄寫入 `frontend-craft.manifest.json`。不傳 runtime 時,`runtime update` 會自動發現這些 manifest,並**跳過你本地修改過的檔案**——自訂內容在更新後依然保留。
|
|
510
|
+
|
|
511
|
+
`runtime uninstall`/`runtime remove` 只刪除 manifest 記錄的檔案,預設跳過已修改檔案;只有確認要移除修改過的託管檔案時才加 `--force`。`--force` 不會覆蓋 Claude Code Marketplace 安裝。
|
|
512
|
+
|
|
513
|
+
**Claude Code Marketplace** 或 **submodule** 安裝的更新方式見 [docs/runtimes/claude.zh-CN.md](../runtimes/claude.zh-CN.md) · [English](../runtimes/claude.md)。`/fec-init` 只初始化專案設定,不是第二次安裝插件本體。
|
|
514
|
+
|
|
515
|
+
---
|
|
516
|
+
|
|
517
|
+
## 舊版 Skills CLI
|
|
518
|
+
|
|
519
|
+
如果團隊已在使用獨立的 [Skills CLI](https://skills.sh/docs/cli),它仍然可以只安裝 [`skills/`](../../skills/) 下的工作流技能包:
|
|
520
|
+
|
|
521
|
+
```bash
|
|
522
|
+
npx skills add bovinphang/frontend-craft # 按提示操作,加 -g 可全域安裝
|
|
523
|
+
npx skills update # 更新至最新版本
|
|
524
|
+
npx skills check # 預覽可用更新
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
| CLI | 安裝內容 |
|
|
528
|
+
| -------------------------------- | --------------------------------------------- |
|
|
529
|
+
| `npx @bovinphang/frontend-craft` | 技能 + 執行時專屬代理、指令、鉤子、規則、範本 |
|
|
530
|
+
| `npx skills` | 僅技能(適用於已有 Skills CLI 工作流) |
|
|
531
|
+
|
|
532
|
+
關閉遙測:`DISABLE_TELEMETRY=1`。詳見 [skills.sh CLI 文件](https://skills.sh/docs/cli)。
|
|
533
|
+
|
|
534
|
+
---
|
|
535
|
+
|
|
536
|
+
## 社群
|
|
537
|
+
|
|
538
|
+
- [貢獻指南](../../CONTRIBUTING.md) — 開發環境、PR 檢查清單與多語言同步規則([简体中文](../../CONTRIBUTING.zh-CN.md))
|
|
539
|
+
- [安全政策](../../SECURITY.md) — 私密漏洞回報方式與支援範圍([简体中文](../../SECURITY.zh-CN.md))
|
|
540
|
+
- [行為準則](../../CODE_OF_CONDUCT.md) — 社群參與規範([简体中文](../../CODE_OF_CONDUCT.zh-CN.md))
|
|
541
|
+
- [變更日誌](../../CHANGELOG.md) — 版本說明([简体中文](../../CHANGELOG.zh-CN.md))
|
|
542
|
+
- [專案結構](../project-structure.md) — 完整目錄佈局與檔案職責
|
|
543
|
+
|
|
544
|
+
---
|
|
545
|
+
|
|
546
|
+
## 授權條款
|
|
547
|
+
|
|
548
|
+
[MIT](../../LICENSE) — 自由使用、依需求修改,歡迎回饋。
|
|
549
|
+
|
|
550
|
+
---
|
|
551
|
+
|
|
552
|
+
<div align="center">
|
|
553
|
+
|
|
554
|
+
**如果 frontend-craft 幫助了你的團隊,[請給它一個 Star](https://github.com/bovinphang/frontend-craft)。**
|
|
555
|
+
|
|
556
|
+
</div>
|
|
557
|
+
|
|
558
|
+
## 3.0 共用能力
|
|
559
|
+
|
|
560
|
+
3.0.0仍未發布,包含53個前端專屬入口與21個共用入口,共74個Skill。公共來源精確固定為`@bovinphang/craft-common@2.0.0`;2.0.0為待發布的正式版本號,backend1.0.0也仍未發布。公共包先行發布並核驗,產品版本不變,不自動發布。
|
|
561
|
+
|
|
562
|
+
語言、角色與框架分開選擇;C/C++有獨立入口,Tauri/Electron為共用桌面專項,不以產品前後端名稱限制語言。
|
|
563
|
+
|
|
564
|
+
- `cc-c-project-standard`
|
|
565
|
+
- `cc-cpp-project-standard`
|
|
566
|
+
- `cc-debug-methodology`
|
|
567
|
+
- `cc-doc-sync-core`
|
|
568
|
+
- `cc-drawio-studio`
|
|
569
|
+
- `cc-electron-project-standard`
|
|
570
|
+
- `cc-go-concurrency`
|
|
571
|
+
- `cc-go-project-standard`
|
|
572
|
+
- `cc-java-project-standard`
|
|
573
|
+
- `cc-java-runtime`
|
|
574
|
+
- `cc-native-memory-safety`
|
|
575
|
+
- `cc-python-async`
|
|
576
|
+
- `cc-python-project-standard`
|
|
577
|
+
- `cc-refactoring-core`
|
|
578
|
+
- `cc-rust-async`
|
|
579
|
+
- `cc-rust-project-standard`
|
|
580
|
+
- `cc-source-driven-development`
|
|
581
|
+
- `cc-tauri-project-standard`
|
|
582
|
+
- `cc-tdd-methodology`
|
|
583
|
+
- `cc-technical-diagrams`
|
|
584
|
+
- `cc-typescript-project-standard`
|
|
585
|
+
|
|
586
|
+
執行`fec runtime check-migration codex --local --json`,先以舊CLI退出舊公共引用並處理保留編輯,再安裝匹配產品;不強制覆蓋另一消費者或未知檔案。CLI與原生渠道互斥,雙原生產品去重仍不在保證範圍。
|
|
587
|
+
|
|
588
|
+
[遷移指南](../zh-CN/common-migration.md) · [變更日誌](../../CHANGELOG.zh-CN.md) · [專案結構](../zh-CN/project-structure.md)
|