@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/README.zh-CN.md
CHANGED
|
@@ -1,545 +1,605 @@
|
|
|
1
|
-
<div align="center">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
[](https://github.com/bovinphang/frontend-craft/stargazers)
|
|
13
|
+
[](https://github.com/bovinphang/frontend-craft/actions/workflows/ci.yml)
|
|
14
|
+
[](https://www.npmjs.com/package/@bovinphang/frontend-craft)
|
|
15
|
+
[](LICENSE)
|
|
16
|
+

|
|
17
|
+

|
|
18
|
+

|
|
19
|
+

|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
**🌐 Language / 语言 / 語言 / 言語 / 언어**
|
|
23
|
+
|
|
24
|
+
[English](README.md) · [**简体中文**](README.zh-CN.md) · [繁體中文](docs/zh-TW/README.md) · [日本語](docs/ja-JP/README.md) · [한국어](docs/ko-KR/README.md)
|
|
25
|
+
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
[运行时兼容性与升级说明](docs/runtimes/compatibility.md)
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
`frontend-craft` 是一个**通用前端插件**,为以下 **15 款 AI 编程助手**注入统一的前端工程规范:
|
|
34
|
+
|
|
35
|
+
`claude` `codex` `cursor` `windsurf` `opencode`
|
|
36
|
+
`kilo` `gemini` `copilot` `antigravity` `augment`
|
|
37
|
+
`trae` `codebuddy` `cline` `openclaw` `qoder`
|
|
38
|
+
|
|
39
|
+
各运行时的路径与注意事项详见 [`docs/runtimes/`](docs/runtimes/)。
|
|
40
|
+
|
|
41
|
+
它将 **14 个专业 agent**、**74 个自动激活 skill**、**11 个斜杠命令**、**5 个事件驱动 hook**、面向 6 个设计工具端点的 **MCP 集成**以及一整套**规则库**打包为一个可安装单元。运行一条命令,团队里的每一次 AI 会话都将以相同的方式编写 React、Vue、Next.js 或 Nuxt——类型安全、可访问、安全、一致。
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 为什么选择 frontend-craft?
|
|
46
|
+
|
|
47
|
+
| 痛点 | frontend-craft 的解法 |
|
|
48
|
+
| --------------------------------------------- | --------------------------------------------------------------------- |
|
|
49
|
+
| AI 助手写出的前端代码风格不一、缺类型、不安全 | **74 个 skill** 将团队规范编码为可自动激活的工作流 |
|
|
50
|
+
| 每款 AI 工具都有自己的插件格式 | **一条 CLI 命令** 把相同的规则、agent 和 hook 安装到 15 个运行时 |
|
|
51
|
+
| 设计稿到代码的交接总有信息损失 | **MCP 集成** 从 Figma、Figma Desktop、Sketch、MasterGo、Pixso、墨刀引入更完整设计上下文 |
|
|
52
|
+
| 代码评审随意、浅层 | **14 个 agent** 输出分级报告:代码、安全、无障碍、性能、TS、UI 还原度 |
|
|
53
|
+
| 没人记得跑 lint 和测试 | **事件驱动 hook** 在保存和会话结束时自动校验 |
|
|
54
|
+
| 新项目每次都从零开始 | **`/fec-init`** 几秒内脚手架化 CLAUDE.md、规则和 settings |
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 安装
|
|
59
|
+
|
|
60
|
+
需要 **Node.js 22+**。完整支持 **Windows、macOS 和 Linux**(所有钩子和脚本均使用 Node.js 实现)。
|
|
61
|
+
|
|
62
|
+
### 方式一:全局安装 fec CLI(推荐)
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# 1. 全局安装 fec 命令
|
|
66
|
+
npm install -g @bovinphang/frontend-craft@latest
|
|
67
|
+
|
|
68
|
+
# 2. 进入你的前端项目
|
|
69
|
+
cd your-project
|
|
70
|
+
|
|
71
|
+
# 3. 交互选择要接入的 AI 运行时
|
|
72
|
+
fec setup
|
|
73
|
+
|
|
74
|
+
# 4. 接入当前项目
|
|
75
|
+
fec setup codex
|
|
76
|
+
fec setup claude
|
|
77
|
+
fec setup all
|
|
78
|
+
|
|
79
|
+
# 5. 全局接入,适用于所有项目
|
|
80
|
+
fec setup codex --global
|
|
81
|
+
fec setup claude --global
|
|
82
|
+
fec setup all --global
|
|
83
|
+
|
|
84
|
+
# 6. 预览 / 查询
|
|
85
|
+
fec runtime install --all --dry-run --global
|
|
86
|
+
fec list
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
`npm install -g` 只是安装 `fec` 终端命令。`fec setup` 是终端里的 CLI 项目接入命令,不是 AI 助手内的 `/fec-init` 斜杠命令。在交互式终端中,不带参数的 `fec setup` 会先让你选择 runtime;`fec setup <runtime>` 和 `fec setup all` 会默认接入当前项目。只有传入 `--global` 时,才会接入对应 AI 工具的全局配置目录,适用于所有项目。
|
|
90
|
+
|
|
91
|
+
### 方式二:用 npx 临时运行(免全局安装 fec)
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# 1. 交互向导
|
|
95
|
+
npx @bovinphang/frontend-craft@latest
|
|
96
|
+
|
|
97
|
+
# 2. 接入当前项目
|
|
98
|
+
npx @bovinphang/frontend-craft@latest runtime install --local codex
|
|
99
|
+
npx @bovinphang/frontend-craft@latest runtime install --local claude
|
|
100
|
+
npx @bovinphang/frontend-craft@latest runtime install --all --local
|
|
101
|
+
|
|
102
|
+
# 3. 全局接入,适用于所有项目
|
|
103
|
+
npx @bovinphang/frontend-craft@latest runtime install --global codex
|
|
104
|
+
npx @bovinphang/frontend-craft@latest runtime install --global claude
|
|
105
|
+
npx @bovinphang/frontend-craft@latest runtime install --all --global
|
|
106
|
+
|
|
107
|
+
# 4. 预览 / 查询
|
|
108
|
+
npx @bovinphang/frontend-craft@latest runtime install --all --dry-run --global
|
|
109
|
+
npx @bovinphang/frontend-craft@latest list
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
不想全局安装 `fec` 命令时使用 `npx`。不带参数会进入交互向导:先选择一个或多个运行时,再决定接入全局还是当前项目。脚本化安装全部 runtime 时使用 `install --all --local` 或 `install --all --global`,不要写成 `install all`。CI / 脚本场景请始终带上 `--global` / `-g` 或 `--local` / `-l`;非 TTY 且未指定时,CLI 默认安装到 `claude --global`。
|
|
113
|
+
|
|
114
|
+
### 方式三:Claude Code Marketplace
|
|
115
|
+
|
|
116
|
+
对 Claude Code 用户,**Claude Code Marketplace** 是推荐的单一来源安装方式。只有在需要跨运行时安装、脚本化/离线复制文件,或非 Marketplace 环境时,才建议对 Claude 使用 CLI。
|
|
117
|
+
|
|
118
|
+
如果已经通过 Marketplace 安装,CLI 不会再安装或更新第二份 Claude 副本,即使传入 `--force` 也不会覆盖;请通过 Claude Code Marketplace 更新。如果已存在另一个作用域的 CLI 管理安装,交互式终端会询问是保持已安装来源并更新,还是卸载后切换到当前来源;非交互终端会停止并打印明确的 `runtime update`、`runtime uninstall`、`runtime install` 命令。
|
|
119
|
+
|
|
120
|
+
完整步骤见 [docs/runtimes/claude.zh-CN.md](docs/runtimes/claude.zh-CN.md) · [English](docs/runtimes/claude.md)。
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 快速开始
|
|
125
|
+
|
|
126
|
+
安装完成后,你在每一次 AI 会话中都拥有一套完整的前端工程工具箱:
|
|
127
|
+
|
|
128
|
+
```text
|
|
129
|
+
你:"Review my recent changes"
|
|
130
|
+
→ fec-code-reviewer agent 被调度,输出 reports/code-review-*.md
|
|
131
|
+
|
|
132
|
+
你:"/fec-review"
|
|
133
|
+
→ 按架构、类型、渲染、样式、可访问性等维度执行结构化评审
|
|
134
|
+
|
|
135
|
+
你:"根据这个 Figma 链接实现结算页"
|
|
136
|
+
→ fec-figma-implementer agent 通过 MCP 读取设计稿,输出组件和报告
|
|
137
|
+
|
|
138
|
+
你:"/fec-scaffold dashboard feature"
|
|
139
|
+
→ 按项目约定创建 page / feature / component 标准目录结构
|
|
140
|
+
|
|
141
|
+
你:"/fec-refactor-clean"
|
|
142
|
+
→ 分类并安全清理死代码、未使用导出、样式和依赖
|
|
143
|
+
|
|
144
|
+
你:"/fec-refactor src/features/compose"
|
|
145
|
+
→ 诊断结构坏味道、生成小步计划,并以保持行为的方式一次执行一个重构且逐步验证
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
下文斜杠命令以 **Claude Code** 为例;其他运行时通过各自的命令系统提供同等能力(详见 [`docs/runtimes/`](docs/runtimes/))。
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 示例提示词
|
|
153
|
+
|
|
154
|
+
完整的按场景组织的提示词库见 [docs/zh-CN/example-prompts.md](docs/zh-CN/example-prompts.md)。
|
|
155
|
+
|
|
156
|
+
```text
|
|
157
|
+
你:「合并前请评审我最近的改动。重点看架构、类型安全、渲染行为、样式、无障碍和缺失测试。」
|
|
158
|
+
你:「先不要写代码,请规划账号账单功能:路由结构、组件边界、数据流、状态归属、校验流程和上线风险。」
|
|
159
|
+
你:「请构建多步注册表单:根据项目框架选择表单与 schema 校验方案,包含文件上传、条件字段、异步校验和可访问错误提示。」
|
|
160
|
+
你:「请按 Figma 节点 123:456 实现 UI。复用现有 design token 和组件,匹配间距与响应式状态,并说明假设。」
|
|
161
|
+
你:「`/fec-refactor-clean` 请清理这个模块里的死代码。」
|
|
162
|
+
你:「`/fec-smell` 请诊断这个模块的结构坏味道,先不要改代码。」
|
|
163
|
+
你:「`/fec-refactor-plan` 请生成保持行为的小步重构计划。」
|
|
164
|
+
你:「`/fec-refactor` 请保持可观察行为不变地重构这个模块。」
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 里面有什么
|
|
170
|
+
|
|
171
|
+
### 命令(Commands)
|
|
172
|
+
|
|
173
|
+
斜杠命令是结构化工作流的主入口,多数会输出带时间戳的 Markdown 报告到 `reports/`。
|
|
174
|
+
|
|
175
|
+
| 命令 | 用途 | 报告 |
|
|
176
|
+
| --------------------- | ----------------------------------------------------------- | ------------------------------------------------ |
|
|
177
|
+
| `/fec-init` | 初始化项目模板(CLAUDE.md、规则、settings) | — |
|
|
178
|
+
| `/fec-review` | 默认审核全项目;支持指定文件、目录或明确改动范围 | `code-review-*.md` |
|
|
179
|
+
| `/fec-scaffold` | 按规范创建 page / feature / component 样板 | — |
|
|
180
|
+
| `/fec-plan` | 统一规划入口:实现架构或测试策略 | `architecture-proposal-*.md` 或 `test-plan-*.md` |
|
|
181
|
+
| `/fec-tdd` | 红 → 绿 → 重构的前端 TDD 循环 | — |
|
|
182
|
+
| `/fec-debug` | 前端问题诊断与修复:构建失败、运行时错误、UI 异常、接口问题 | `debug-*.md` |
|
|
183
|
+
| `/fec-refactor-clean` | 分类并安全清理死代码、未使用导出、样式和依赖 | `refactor-clean-*.md` |
|
|
184
|
+
| `/fec-smell` | 基于证据诊断代码坏味道,不修改业务代码 | `refactoring/smell-*.md` |
|
|
185
|
+
| `/fec-refactor-plan` | 生成有序、保持行为的小步重构计划 | `refactoring/plan-*.md` |
|
|
186
|
+
| `/fec-refactor` | 一次执行一个经过验证的保持行为重构步骤 | `refactoring/refactoring-*.md` |
|
|
187
|
+
| `/fec-doc-sync` | 同步 README、docs、环境变量、脚本、API/路由说明和部署文档 | — |
|
|
188
|
+
|
|
189
|
+
### 审核范围
|
|
190
|
+
|
|
191
|
+
`/fec-review`、代码 / TypeScript / 安全审核 agent 及其审核 skill 采用三种模式:
|
|
192
|
+
|
|
193
|
+
- **改动审核**:明确要求最近改动、本次修改、暂存区、PR 或提交,或当前任务已明确这些改动上下文。无改动时说明没有可审核的改动,不自动审核最近提交。
|
|
194
|
+
- **指定范围审核**:指定文件或目录,审核其中现有代码,包括未改动代码,不要求 Git 差异。
|
|
195
|
+
- **全项目审核(默认)**:未指定范围或改动上下文,或明确要求审核整个项目时,先建立项目自有前端代码、相关测试、配置和依赖声明清单,再按模块审核。
|
|
196
|
+
|
|
197
|
+
指定文件或目录默认审核其全部代码;加上“本次改动”才仅审核差异。裸调用 `/fec-review` 即使有改动也默认全项目;开始时说明模式和范围,修改后自动委托审核须显式传入本次改动范围。
|
|
198
|
+
|
|
199
|
+
示例:`/fec-review`、`/fec-review 审核最近改动`、`/fec-review 审核 src/components/Button.tsx`、`/fec-review 审核 src/features/`、`/fec-review 审核整个项目`。这些是自然语言指令,不是 CLI 参数;明确指定的范围优先于默认模式。
|
|
200
|
+
|
|
201
|
+
默认排除依赖目录、构建产物、缓存、生成文件和第三方代码。报告记录模式、目标范围、已审核及未覆盖文件或模块、排除项、完成状态和验证结果;覆盖不足时标记部分完成。读取调用方或执行全项目 lint/类型检查不等于完成人工审核。改动审核保留合并建议,指定范围和全项目审核评估已审核范围的风险。前端审核不替代后端专项审核;未要求修复时不修改业务代码。
|
|
202
|
+
|
|
203
|
+
### 技能(Skills,自动激活)
|
|
204
|
+
|
|
205
|
+
技能是根据文件模式、框架或任务上下文**自动激活**的工作流定义,编码了评审维度、输出约定和报告格式。
|
|
206
|
+
|
|
207
|
+
下方按使用场景分组列出全部自动激活的技能,便于快速找到项目规范、实现、测试、评审、设计、迁移、项目演进和文档维护能力。
|
|
208
|
+
|
|
209
|
+
**项目规范** — 检测到对应框架时自动生效:
|
|
210
|
+
|
|
211
|
+
| 技能 | 范围 |
|
|
212
|
+
| ------------------------------- | ----------------------------------------------------- |
|
|
213
|
+
| `fec-react-project-standard` | React + TypeScript(结构、组件、路由、状态、API 层) |
|
|
214
|
+
| `fec-vue3-project-standard` | Vue 3 + TypeScript(结构、组件、路由、Pinia、API 层) |
|
|
215
|
+
| `fec-nextjs-project-standard` | Next.js 14+ App Router、SSR/SSG、流式渲染、元数据 |
|
|
216
|
+
| `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG、组合式 API、数据获取、中间件 |
|
|
217
|
+
| `fec-vite-project-standard` | Vite 配置、环境变量安全、HMR、开发代理、构建优化 |
|
|
218
|
+
| `fec-monorepo-project-standard` | pnpm workspace、Turborepo、Nx 结构与任务编排 |
|
|
219
|
+
| `cc-typescript-project-standard` | TypeScript 配置、公开类型、声明文件、DTO 和泛型 |
|
|
220
|
+
|
|
221
|
+
**实现能力** — 构建特定前端能力时激活:
|
|
222
|
+
|
|
223
|
+
| 技能 | 范围 |
|
|
224
|
+
| ------------------------- | ---------------------------------------------------------- |
|
|
225
|
+
| `fec-data-fetching` | 服务端状态获取、缓存、失效、SSR、无限加载 |
|
|
226
|
+
| `fec-api-integration` | 类型化 API client、鉴权刷新、上传、实时集成 |
|
|
227
|
+
| `fec-state-management` | 状态归属、store 选型、URL 状态、服务端/表单/本地状态边界 |
|
|
228
|
+
| `fec-form-handling` | 跨框架表单选型、schema 校验、动态字段、上传 |
|
|
229
|
+
| `fec-browser-storage` | localStorage / sessionStorage / IndexedDB / Cookies 选型 |
|
|
230
|
+
| `fec-route-protection` | React Router、Next.js、Vue Router、Nuxt 的登录态与权限路由 |
|
|
231
|
+
| `fec-pwa-implementation` | manifest、Service Worker、离线缓存、安装提示 |
|
|
232
|
+
| `fec-web-workers` | Web Worker、Transferable、Comlink、Worker 池 |
|
|
233
|
+
| `fec-canvas-threejs` | Canvas 2D、Three.js、React Three Fiber、WebGL |
|
|
234
|
+
| `fec-svg-animation` | CSS / Framer Motion / GSAP SVG 动画与 reduced-motion |
|
|
235
|
+
| `fec-list-virtualization` | 按框架选型的大列表虚拟滚动、测量、网格和无限滚动 |
|
|
236
|
+
|
|
237
|
+
**测试** — 规划或编写前端测试覆盖时激活:
|
|
238
|
+
|
|
239
|
+
| 技能 | 范围 |
|
|
240
|
+
| ----------------------- | --------------------------------------------------------- |
|
|
241
|
+
| `fec-testing-strategy` | 静态检查、单元、组件、集成、E2E、视觉测试分层 |
|
|
242
|
+
| `fec-component-testing` | React Testing Library / Vue Test Utils 组件测试与回归用例 |
|
|
243
|
+
| `fec-e2e-testing` | Playwright / Cypress E2E 与 Page Object 和 CI 集成 |
|
|
244
|
+
| `fec-tdd-workflow` | 测试先行的前端实现,红绿重构循环 |
|
|
245
|
+
|
|
246
|
+
**评审与质量** — 代码评审、验证或清理时激活:
|
|
247
|
+
|
|
248
|
+
| 技能 | 范围 |
|
|
249
|
+
| ------------------------------ | ----------------------------------------------------- |
|
|
250
|
+
| `fec-code-review` | 架构、类型、渲染、样式、可访问性评审 |
|
|
251
|
+
| `fec-debug-framework` | 系统化诊断构建、运行时、UI 和 API/数据问题 |
|
|
252
|
+
| `fec-security-review` | XSS、CSRF、敏感数据泄露、输入校验 |
|
|
253
|
+
| `fec-accessibility-check` | WCAG 2.2、键盘、焦点、触控和屏幕阅读器行为 |
|
|
254
|
+
| `fec-dependency-upgrade` | 依赖升级、lockfile 评审、CVE 修复和迁移验证 |
|
|
255
|
+
| `fec-validation-fix` | 一次性运行并修复 lint、type-check、test、build |
|
|
256
|
+
| `fec-performance-optimization` | Core Web Vitals、包体、渲染、内存、网络与性能预算审查 |
|
|
257
|
+
| `fec-refactor-clean` | 安全清理死代码、未使用导出、样式、路由和依赖 |
|
|
258
|
+
|
|
259
|
+
**重构** — 在基于证据、保持既有行为的结构改进任务中激活:
|
|
260
|
+
|
|
261
|
+
| Skill | 用途 |
|
|
262
|
+
| --- | --- |
|
|
263
|
+
| `fec-refactoring` | 编排请求分类、基线、安全网、小步执行、回滚和最终证明 |
|
|
264
|
+
| `fec-code-smells` | 基于证据诊断 24 种标准代码坏味道并检查误判 |
|
|
265
|
+
| `fec-refactoring-catalog` | 从完整 61 项目录中选择并组合合适手法 |
|
|
266
|
+
| `fec-refactoring-functions` | 函数拆分、命名、变量、参数对象和阶段拆分 |
|
|
267
|
+
| `fec-refactoring-encapsulation` | 记录、集合、基本类型、类、委托和算法封装 |
|
|
268
|
+
| `fec-refactoring-move-features` | 搬移函数/字段/语句、拆分循环、管道与死代码路由 |
|
|
269
|
+
| `fec-refactoring-data` | 变量/字段以及引用对象/值对象数据重构 |
|
|
270
|
+
| `fec-refactoring-control` | 条件拆分、卫语句、多态分派、特例和断言 |
|
|
271
|
+
| `fec-refactoring-api` | 查询/修改、参数、标记参数、工厂、命令和 API 形态重构 |
|
|
272
|
+
| `fec-refactoring-inheritance` | 继承/委托重构及组合优先的前端适配 |
|
|
273
|
+
| `fec-refactoring-validation` | 行为契约、覆盖等级、验证阶梯与证明结论 |
|
|
274
|
+
|
|
275
|
+
**设计 UI** — 设计实现、设计系统或视觉打磨时激活:
|
|
276
|
+
|
|
277
|
+
| 技能 | 范围 |
|
|
278
|
+
| ----------------------------- | -------------------------------------------------------- |
|
|
279
|
+
| `fec-ui-design` | 产品语境 UI 方向、反模板设计拨盘、媒体策略、状态、视觉 QA |
|
|
280
|
+
| `fec-image-generation` | UI、产品和品牌视觉生成与编辑,复用公共 PNG 质检 |
|
|
281
|
+
| `cc-drawio-studio` | 可编辑 draw.io / diagrams.net 技术图、XML/Mermaid/CSV URL 交付、形状检索、自动布局和代码结构图 |
|
|
282
|
+
| `fec-web-video-presentation` | 将文章、口播稿、课程和 demo 转成可录屏的 16:9 步进网页演示 |
|
|
283
|
+
| `fec-tailwind-design-system` | Tailwind token、主题扩展、组件变体、class 治理和暗色模式 |
|
|
284
|
+
| `fec-responsive-layout` | 移动优先布局、容器查询、数据密集型响应式界面 |
|
|
285
|
+
| `fec-motion-interaction` | 场景化动效强度、页面转场、滚动动画、reduced-motion |
|
|
286
|
+
| `fec-implement-from-design` | 基于设计工具、截图或分区级视觉参考实现 UI |
|
|
287
|
+
| `fec-storybook-component-doc` | Storybook 组件文档、设计系统呈现、隔离状态预览 |
|
|
288
|
+
|
|
289
|
+
技术图质量工作流:`cc-technical-diagrams` 的标准时序/流程图优先本地 Mermaid,架构图复用 draw.io 工作流,工具缺失时使用 JSON/HTML。导出 PNG 时生成实际测量且与缩放一致的 manifest,再运行 QA 并检查最终 PNG;保留完整文字、显式布局与关系,最多自动修复两轮,未解决问题需明确报告。可复现样例位于 `skills/cc-technical-diagrams/assets/quality-examples/`。
|
|
290
|
+
|
|
291
|
+
[审核范围与技术图交付指南](docs/zh-CN/review-and-diagram-workflows.md).
|
|
292
|
+
|
|
293
|
+
**遗留迁移** — 现代化迁移时激活:
|
|
294
|
+
|
|
295
|
+
| 技能 | 范围 |
|
|
296
|
+
| -------------------------------- | ---------------------------------------------- |
|
|
297
|
+
| `fec-legacy-web-standard` | JS + jQuery + HTML 遗留项目的开发与维护规范 |
|
|
298
|
+
| `fec-legacy-to-modern-migration` | 遗留前端现代化、目标栈识别与分阶段迁移流程 |
|
|
299
|
+
|
|
300
|
+
**项目演进** — 吸收参考系统并原创化落到当前项目时激活:
|
|
301
|
+
|
|
302
|
+
| 技能 | 范围 |
|
|
303
|
+
| ------------- | ------------------------------------------ |
|
|
304
|
+
| `fec-alchemy` | 将参考系统能力原创化吸收到当前项目原生体系 |
|
|
305
|
+
|
|
306
|
+
**文档维护** — 文档维护时激活:
|
|
307
|
+
|
|
308
|
+
| 技能 | 范围 |
|
|
309
|
+
| ------------------------------- | ------------------------------------------ |
|
|
310
|
+
| `fec-backend-requirements-handoff` | 前端向后端交接 UI 数据需求、用户动作、状态、业务规则与待确认问题 |
|
|
311
|
+
| `fec-doc-sync` | 让前端文档与代码、配置、脚本、路由、API、环境变量和部署事实保持同步 |
|
|
312
|
+
| `cc-source-driven-development` | 以项目事实和官方来源验证版本敏感的前端决策 |
|
|
313
|
+
|
|
314
|
+
### 代理(Agents)
|
|
315
|
+
|
|
316
|
+
代理是由主助手调度的专业子代理,专注处理单一任务并返回结构化报告。
|
|
317
|
+
|
|
318
|
+
| 代理 | 聚焦领域 | 报告 |
|
|
319
|
+
| --------------------------- | --------------------------------------------------------- | ---------------------------- |
|
|
320
|
+
| `fec-code-reviewer` | React/Vue/Next/Nuxt、TS、样式、客户端安全(按置信度降噪) | `code-review-*.md` |
|
|
321
|
+
| `fec-typescript-reviewer` | 类型安全、异步正确性、惯用模式(只报告不修改) | `typescript-review-*.md` |
|
|
322
|
+
| `fec-security-reviewer` | XSS、客户端密钥、危险 DOM/API、CSP、依赖审计 | `security-review-*.md` |
|
|
323
|
+
| `fec-performance-optimizer` | 打包体积、渲染性能、网络瓶颈 | `performance-review-*.md` |
|
|
324
|
+
| `fec-architect` | 页面拆分、组件架构、状态流、目录规划 | `architecture-proposal-*.md` |
|
|
325
|
+
| `fec-test-planner` | 风险-层级映射:静态、单元、组件、E2E、视觉、无障碍、安全 | `test-plan-*.md` |
|
|
326
|
+
| `fec-debugger` | 复杂前端诊断:构建、运行时、UI 和接口问题 | `debug-*.md` |
|
|
327
|
+
| `fec-refactor-cleaner` | 分类并安全清理未使用代码、导出、样式、路由和依赖 | `refactor-clean-*.md` |
|
|
328
|
+
| `fec-refactoring-expert` | 基于证据编排保持行为的结构重构 | `refactoring/refactoring-*.md` |
|
|
329
|
+
| `fec-e2e-runner` | E2E 编写与运行(Playwright/Cypress)、flaky 隔离、Trace | `e2e-summary-*.md` |
|
|
330
|
+
| `fec-doc-updater` | 同步 README、runtime 文档、结构、能力表和 metadata | — |
|
|
331
|
+
| `fec-ui-checker` | 视觉问题排查与设计还原度评估 | `ui-fidelity-review-*.md` |
|
|
332
|
+
| `fec-figma-implementer` | 按 Figma/Sketch/MasterGo/Pixso/墨刀设计稿精确实现 UI | `design-implementation-*.md` |
|
|
333
|
+
| `fec-design-token-mapper` | 将设计变量映射到项目 Design Token | `token-mapping-*.md` |
|
|
334
|
+
|
|
335
|
+
### 钩子(Hooks,事件驱动)
|
|
336
|
+
|
|
337
|
+
钩子在 AI 助手事件触发时**自动执行**,无需手动调用。
|
|
338
|
+
|
|
339
|
+
| 事件 | 行为 |
|
|
340
|
+
| ------------------------- | -------------------------------------------- |
|
|
341
|
+
| `SessionStart` | 清理 Claude 缓存,然后自动检测项目框架和包管理器 |
|
|
342
|
+
| `PreToolUse(Bash)` | 拦截危险命令(`rm -rf`、force push 等) |
|
|
343
|
+
| `PostToolUse(Write/Edit)` | 对修改的文件自动执行 Prettier |
|
|
344
|
+
| `Stop` | 会话结束时去重运行可用的校验脚本并报告失败;仅在配置阻断模式时阻断 |
|
|
345
|
+
| `Notification` | 跨平台桌面通知(macOS / Linux / Windows) |
|
|
346
|
+
|
|
347
|
+
Stop 校验默认只报告失败,不阻断会话。设置 `FRONTEND_CRAFT_VALIDATION_MODE=blocking` 后,失败将返回非零状态。包管理器优先采用 `package.json` 的 `packageManager`;若未声明,则采用唯一的锁文件;多个锁文件冲突时默认使用 npm。
|
|
348
|
+
|
|
349
|
+
### MCP 集成
|
|
350
|
+
|
|
351
|
+
将 AI 助手接入设计工具,构建带有更完整设计上下文的设计转代码工作流。
|
|
352
|
+
|
|
353
|
+
| 服务 | 能力 |
|
|
354
|
+
| ----------------- | ------------------------------------ |
|
|
355
|
+
| **Figma** | 读取设计上下文与变量定义 |
|
|
356
|
+
| **Figma Desktop** | Figma 桌面端集成 |
|
|
357
|
+
| **Sketch** | 读取设计选区截图 |
|
|
358
|
+
| **MasterGo** | 读取 DSL 结构、组件层级和样式 |
|
|
359
|
+
| **Pixso** | 本地 MCP:帧数据、代码片段、图片资源 |
|
|
360
|
+
| **墨刀** | 原型数据、设计描述、HTML 导入 |
|
|
361
|
+
| **摹客** | 截图/标注/导出 CSS 工作流(无 MCP) |
|
|
362
|
+
|
|
363
|
+
### 项目模板(`/fec-init`)
|
|
364
|
+
|
|
365
|
+
运行 `/fec-init` 即可将一套开箱即用的规则库和项目配置脚手架化到 `.claude/`:
|
|
366
|
+
|
|
367
|
+
<details>
|
|
368
|
+
<summary>查看全部 20 个模板文件</summary>
|
|
369
|
+
|
|
370
|
+
| 文件 | 用途 |
|
|
371
|
+
| ---------------------------------------- | --------------------------------------------------------------------- |
|
|
372
|
+
| `CLAUDE.md` | 项目说明、常用命令、工作原则、安全要求 |
|
|
373
|
+
| `settings.json` | 权限白名单/黑名单、环境变量 |
|
|
374
|
+
| `rules/fec-vue.md` | Vue 3 组件规范与反模式 |
|
|
375
|
+
| `rules/fec-react.md` | React 组件规范与反模式 |
|
|
376
|
+
| `rules/fec-design-system.md` | 设计系统、Token、可访问性规则 |
|
|
377
|
+
| `rules/fec-testing.md` | 测试与校验规则 |
|
|
378
|
+
| `rules/fec-git-conventions.md` | Conventional Commits 提交规范 |
|
|
379
|
+
| `rules/fec-i18n.md` | 国际化文案规范 |
|
|
380
|
+
| `rules/fec-performance.md` | 前端性能优化规则 |
|
|
381
|
+
| `rules/fec-rendering-patterns.md` | 渲染生命周期、hydration、SSR/CSR 与更新模式 |
|
|
382
|
+
| `rules/fec-responsive-design.md` | 响应式布局、断点、触摸目标与视口行为 |
|
|
383
|
+
| `rules/fec-source-driven-development.md` | Source-driven decisions, official docs, version-sensitive assumptions |
|
|
384
|
+
| `rules/fec-api-layer.md` | API 层类型化与错误处理规范 |
|
|
385
|
+
| `rules/fec-state-management.md` | 状态分类、管理策略与反模式 |
|
|
386
|
+
| `rules/fec-error-handling.md` | 错误分层、Error Boundary、降级 UI、上报规范 |
|
|
387
|
+
| `rules/fec-naming-conventions.md` | 文件、组件、变量、路由、API、CSS 统一命名 |
|
|
388
|
+
| `rules/fec-code-comments.md` | 何时以及如何写前端注释 |
|
|
389
|
+
| `rules/fec-ci-cd.md` | CI/CD 流水线阶段、GitHub Actions / GitLab CI、密钥管理 |
|
|
390
|
+
| `rules/fec-refactoring.md` | 重构约束与功能等价要求 |
|
|
391
|
+
| `rules/fec-agent-workflow.md` | 子代理协作边界与委托规则 |
|
|
392
|
+
| `rules/fec-working-modes.md` | 调研、计划、开发、评审、收尾模式指导 |
|
|
393
|
+
|
|
394
|
+
</details>
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## 配置
|
|
399
|
+
|
|
400
|
+
### 前置条件
|
|
401
|
+
|
|
402
|
+
- **Node.js 22+**
|
|
403
|
+
- **npm、pnpm 或 yarn**
|
|
404
|
+
- **Git Bash 或兼容 shell**(仅 Windows,当 AI 运行时需要调用 shell 命令时)
|
|
405
|
+
|
|
406
|
+
### MCP 设计工具令牌
|
|
407
|
+
|
|
408
|
+
根据团队使用的设计工具设置对应环境变量:
|
|
409
|
+
|
|
410
|
+
| 环境变量 | 工具 | 获取方式 |
|
|
411
|
+
| ---------------- | --------------------- | ----------------------------------------- |
|
|
412
|
+
| `FIGMA_API_KEY` | Figma / Figma Desktop | Figma 账户设置 → Personal Access Tokens |
|
|
413
|
+
| `SKETCH_API_KEY` | Sketch | Sketch 开发者设置 |
|
|
414
|
+
| `MG_MCP_TOKEN` | MasterGo | MasterGo 账户设置 → 安全设置 → 生成 Token |
|
|
415
|
+
| `MODAO_TOKEN` | 墨刀 | 墨刀 AI 功能页面 → 访问令牌 |
|
|
416
|
+
|
|
417
|
+
> **Pixso** 使用本地 MCP 服务 — 在 Pixso 客户端启用即可,无需额外环境变量。
|
|
418
|
+
> **摹客** 暂无 MCP 集成 — 通过截图和导出 CSS 方式工作。
|
|
419
|
+
|
|
420
|
+
添加到 shell 配置文件以持久化:
|
|
421
|
+
|
|
422
|
+
```bash
|
|
423
|
+
# macOS / Linux — 追加到 ~/.bashrc 或 ~/.zshrc
|
|
424
|
+
export FIGMA_API_KEY="your-figma-api-key"
|
|
425
|
+
export SKETCH_API_KEY="your-sketch-api-key"
|
|
426
|
+
export MG_MCP_TOKEN="your-mastergo-token"
|
|
427
|
+
export MODAO_TOKEN="your-modao-token"
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
```powershell
|
|
431
|
+
# Windows — 设为系统环境变量,或在 PowerShell 中临时设置:
|
|
432
|
+
$env:FIGMA_API_KEY = "your-figma-api-key"
|
|
433
|
+
$env:SKETCH_API_KEY = "your-sketch-api-key"
|
|
434
|
+
$env:MG_MCP_TOKEN = "your-mastergo-token"
|
|
435
|
+
$env:MODAO_TOKEN = "your-modao-token"
|
|
436
|
+
```
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
## 报告输出
|
|
441
|
+
|
|
442
|
+
每一次评审、分析和评估都会输出带时间戳的 Markdown 报告到 `reports/`,可作为审计记录和 PR 交付物。
|
|
443
|
+
|
|
444
|
+
<details>
|
|
445
|
+
<summary>查看全部 16 种报告类型</summary>
|
|
446
|
+
|
|
447
|
+
| 报告类型 | 文件名模式 | 来源 |
|
|
448
|
+
| -------------- | -------------------------------------------- | ------------------------------------------------------------------- |
|
|
449
|
+
| 代码审查 | `code-review-YYYY-MM-DD-HHmmss.md` | `/fec-review`、`fec-code-review`、`fec-code-reviewer` |
|
|
450
|
+
| 调试诊断 | `debug-YYYY-MM-DD-HHmmss.md` | `/fec-debug`、`fec-debug-framework`、`fec-debugger` |
|
|
451
|
+
| TS/JS 专项评审 | `typescript-review-YYYY-MM-DD-HHmmss.md` | `fec-typescript-reviewer` |
|
|
452
|
+
| 安全审查 | `security-review-YYYY-MM-DD-HHmmss.md` | `fec-security-review`、`fec-security-reviewer` |
|
|
453
|
+
| 无障碍检查 | `accessibility-review-YYYY-MM-DD-HHmmss.md` | `fec-accessibility-check` |
|
|
454
|
+
| 性能分析 | `performance-review-YYYY-MM-DD-HHmmss.md` | `fec-performance-optimizer` |
|
|
455
|
+
| 架构方案 | `architecture-proposal-YYYY-MM-DD-HHmmss.md` | `fec-architect` |
|
|
456
|
+
| 设计还原度 | `ui-fidelity-review-YYYY-MM-DD-HHmmss.md` | `fec-ui-checker` |
|
|
457
|
+
| 设计实现 | `design-implementation-YYYY-MM-DD-HHmmss.md` | `fec-figma-implementer` |
|
|
458
|
+
| Token 映射 | `token-mapping-YYYY-MM-DD-HHmmss.md` | `fec-design-token-mapper` |
|
|
459
|
+
| 设计计划 | `design-plan-YYYY-MM-DD-HHmmss.md` | `fec-implement-from-design` |
|
|
460
|
+
| 测试计划 | `test-plan-YYYY-MM-DD-HHmmss.md` | `/fec-plan`、`fec-testing-strategy`、`fec-test-planner` |
|
|
461
|
+
| 验证修复 | `validation-fix-YYYY-MM-DD-HHmmss.md` | `fec-validation-fix` |
|
|
462
|
+
| 重构清理 | `refactor-clean-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-clean`、`fec-refactor-clean`、`fec-refactor-cleaner` |
|
|
463
|
+
| 坏味道诊断 | `refactoring/smell-YYYY-MM-DD-HHmmss.md` | `/fec-smell`、`fec-code-smells` |
|
|
464
|
+
| 重构计划 | `refactoring/plan-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-plan`、`fec-refactoring` |
|
|
465
|
+
| 重构执行 | `refactoring/refactoring-YYYY-MM-DD-HHmmss.md` | `/fec-refactor`、`fec-refactoring`、`fec-refactoring-expert` |
|
|
466
|
+
| E2E 运行摘要 | `e2e-summary-YYYY-MM-DD-HHmmss.md` | `fec-e2e-runner`(可选) |
|
|
467
|
+
| 迁移计划 | `migration-plan-YYYY-MM-DD-HHmmss.md` | `fec-legacy-to-modern-migration` |
|
|
468
|
+
|
|
469
|
+
</details>
|
|
470
|
+
|
|
471
|
+
> **建议:** 在 `.gitignore` 中添加 `reports/` 以避免将自动生成的报告提交到代码仓库,或保留提交以便团队查看历史审查记录。
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
## 更新与移除
|
|
476
|
+
|
|
477
|
+
### CLI 自身管理(3.0)
|
|
478
|
+
|
|
479
|
+
`fec update`(别名 `upgrade`)通过原 npm/pnpm 升级全局 CLI 到原 registry 的 `latest`,再启动新版 CLI 刷新当前项目及用户全局的托管资源;已是最新版也会刷新。不扫描其他项目,不管理 Marketplace 安装。CLI 升级失败即停止;独立资源安装的失败会分阶段报告且不回滚 CLI,可用 `fec runtime update` 重试资源刷新。
|
|
480
|
+
|
|
481
|
+
`fec uninstall`(别名 `remove`)默认只卸载全局 CLI。`--purge` 先清理发现的托管资源并保留用户修改;清理实际失败时保留 CLI。交互终端要求确认,非交互终端必须加 `--yes`。自身管理仅支持经过归属验证的 npm/pnpm 注册表全局安装;源码链接、项目依赖、未知来源及含其他包的 pnpm 共享安装组均在修改前拒绝,请通过原包管理器手动管理共享组。`--dry-run` 只读预览,不安装、不删除、不启动刷新续跑。
|
|
482
|
+
|
|
483
|
+
```bash
|
|
484
|
+
fec update
|
|
485
|
+
fec uninstall --dry-run
|
|
486
|
+
fec uninstall --purge --yes
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
临时 npx 运行不会创建全局 CLI,且不支持自身卸载。npx 顶层 `update` 仅在当前包版本等于 registry `latest` 时刷新资源,否则提示使用 `npx @bovinphang/frontend-craft@latest runtime update`。
|
|
490
|
+
|
|
491
|
+
| 2.x 资源命令 | 3.0 替代命令 |
|
|
492
|
+
| --- | --- |
|
|
493
|
+
| `fec update [runtime] [options]` | `fec runtime update [runtime] [options]` |
|
|
494
|
+
| `fec uninstall [runtime] [options]` | `fec runtime uninstall [runtime] [options]` |
|
|
495
|
+
| `fec install [runtime] [options]` | `fec runtime install [runtime] [options]` |
|
|
496
|
+
|
|
497
|
+
顶层 update/uninstall 会在修改前拒绝旧 runtime 位置参数及 `--global` 等资源选项。`setup` 保留,顶层 `install` 为弃用兼容入口;`runtime upgrade/remove` 分别为 `runtime update/uninstall` 的别名。资源选项保留。`runtime update` 只使用当前运行的 CLI 包内容,不联网获取新包。
|
|
498
|
+
|
|
499
|
+
`fec` 是 `frontend-craft` 的短命令。未全局安装 CLI 时,资源操作使用 `npx @bovinphang/frontend-craft@latest runtime update`(或 `runtime install/uninstall`)。
|
|
500
|
+
|
|
501
|
+
### 资源更新
|
|
502
|
+
|
|
503
|
+
```bash
|
|
504
|
+
fec runtime update # 更新自动发现到的所有 CLI 管理安装
|
|
505
|
+
fec runtime update <runtime> --local # 更新一个本地 CLI 管理安装
|
|
506
|
+
fec runtime update <runtime> --global # 更新一个全局 CLI 管理安装
|
|
507
|
+
fec runtime upgrade <runtime> --global # `upgrade` 是 `update` 的别名
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
### 资源移除
|
|
511
|
+
|
|
512
|
+
```bash
|
|
513
|
+
fec runtime uninstall # 移除自动发现到的所有 CLI 管理安装
|
|
514
|
+
fec runtime remove # `remove` 是 `uninstall` 的别名
|
|
515
|
+
fec runtime uninstall <runtime> # 移除指定 runtime 安装
|
|
516
|
+
fec runtime remove <runtime> # 使用别名移除指定 runtime
|
|
517
|
+
fec runtime uninstall --global # 只移除发现到的全局安装
|
|
518
|
+
fec runtime remove --local # 只移除发现到的本地安装
|
|
519
|
+
fec runtime uninstall <runtime> --dry-run # 预览将移除的文件
|
|
520
|
+
fec runtime uninstall <runtime> --force # 连同已修改的托管文件一起移除
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
CLI 会在 runtime 目录写入 `frontend-craft.manifest.json`。不传 runtime 时,`runtime update` 会自动发现这些 manifest,并**跳过你本地修改过的文件**——自定义内容在更新后依然保留。
|
|
524
|
+
|
|
525
|
+
`runtime uninstall`/`runtime remove` 只删除 manifest 记录的文件,默认跳过已修改文件;只有确认要移除修改过的托管文件时才加 `--force`。`--force` 不会覆盖 Claude Code Marketplace 安装。
|
|
526
|
+
|
|
527
|
+
**Claude Code Marketplace** 或 **submodule** 安装的更新方式见 [docs/runtimes/claude.zh-CN.md](docs/runtimes/claude.zh-CN.md) · [English](docs/runtimes/claude.md)。`/fec-init` 只初始化项目配置,不是第二次安装插件本体。
|
|
528
|
+
|
|
529
|
+
---
|
|
530
|
+
|
|
531
|
+
## 旧版 Skills CLI
|
|
532
|
+
|
|
533
|
+
如果团队已在使用独立的 [Skills CLI](https://skills.sh/docs/cli),它仍然可以只安装 [`skills/`](skills/) 下的工作流技能包:
|
|
534
|
+
|
|
535
|
+
```bash
|
|
536
|
+
npx skills add bovinphang/frontend-craft # 按提示操作,加 -g 可全局安装
|
|
537
|
+
npx skills update # 更新到最新版本
|
|
538
|
+
npx skills check # 预览可用更新
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
| CLI | 安装内容 |
|
|
542
|
+
| -------------------- | --------------------------------------------- |
|
|
543
|
+
| `npx @bovinphang/frontend-craft` | 技能 + 运行时专属代理、命令、钩子、规则、模板 |
|
|
544
|
+
| `npx skills` | 仅技能(适用于已有 Skills CLI 工作流) |
|
|
545
|
+
|
|
546
|
+
关闭遥测:`DISABLE_TELEMETRY=1`。详见 [skills.sh CLI 文档](https://skills.sh/docs/cli)。
|
|
547
|
+
|
|
548
|
+
---
|
|
549
|
+
|
|
550
|
+
## 社区
|
|
551
|
+
|
|
552
|
+
- [贡献指南](CONTRIBUTING.zh-CN.md) — 开发环境、PR 自检清单与多语言同步规则([English](CONTRIBUTING.md))
|
|
553
|
+
- [安全策略](SECURITY.zh-CN.md) — 私密漏洞报告方式与支持范围([English](SECURITY.md))
|
|
554
|
+
- [行为准则](CODE_OF_CONDUCT.zh-CN.md) — 社区参与规范([English](CODE_OF_CONDUCT.md))
|
|
555
|
+
- [变更日志](CHANGELOG.zh-CN.md) — 版本说明([English](CHANGELOG.md))
|
|
556
|
+
- [项目结构](docs/zh-CN/project-structure.md) — 完整目录布局与文件职责([English](docs/project-structure.md))
|
|
557
|
+
|
|
558
|
+
---
|
|
559
|
+
|
|
560
|
+
## 许可证
|
|
561
|
+
|
|
562
|
+
[MIT](LICENSE) — 自由使用,按需修改,如果可以请回馈社区。
|
|
563
|
+
|
|
564
|
+
---
|
|
565
|
+
|
|
566
|
+
<div align="center">
|
|
567
|
+
|
|
568
|
+
**如果 frontend-craft 帮助了你的团队,[请给它一个 Star](https://github.com/bovinphang/frontend-craft)。**
|
|
569
|
+
|
|
570
|
+
</div>
|
|
571
|
+
|
|
572
|
+
## 3.0 公共能力
|
|
573
|
+
|
|
574
|
+
3.0 尚未正式发布,包含 53 个前端专属入口和 21 个公共入口,共 74 个 Skill。公共能力由精确版本的 craft-common 自动交付,无需额外安装插件;公共源码仅在 craft-common 维护。
|
|
575
|
+
|
|
576
|
+
- `cc-drawio-studio`
|
|
577
|
+
- `cc-technical-diagrams`
|
|
578
|
+
- `cc-source-driven-development`
|
|
579
|
+
- `cc-doc-sync-core`
|
|
580
|
+
- `cc-debug-methodology`
|
|
581
|
+
- `cc-refactoring-core`
|
|
582
|
+
- `cc-tdd-methodology`
|
|
583
|
+
|
|
584
|
+
迁移前运行 `fec runtime check-migration codex --local --json`,再参阅 [migration guide](docs/zh-CN/common-migration.md).
|
|
585
|
+
CLI 管理共享安装及卸载引用;原生插件渠道本期保证单产品资源完整,不承诺双产品原生去重。
|
|
586
|
+
|
|
587
|
+
公共源精确固定为 `@bovinphang/craft-common@2.0.0`。参见[项目结构与维护边界](docs/zh-CN/project-structure.md)及[贡献校验指引](CONTRIBUTING.zh-CN.md)。
|
|
588
|
+
|
|
589
|
+
## 混合工程识别
|
|
590
|
+
|
|
591
|
+
`fec project inspect . --task-path apps/desktop/src-tauri/src/lib.rs --task-kind ipc --json` 只读清单证据并推荐已交付能力。角色(UI、桌面核心、原生库、服务、CLI)、语言和框架分别匹配,不执行构建脚本或安装工具。C、C++ 有独立公共入口,Tauri/Electron 为公共专项,React/Vue/Next/Nuxt/Vite 仍由前端产品维护;未指定任务时只给工程级候选。
|
|
592
|
+
|
|
593
|
+
common使用正式版本号2.0.0,当前待发布;frontend3.0.0与backend1.0.0仍未发布。先用各旧产品 CLI 退出旧公共引用,再安装匹配的新产品。使用 `fec runtime check-migration [runtime] --local --json` 检查;未知或用户修改的旧目录会阻断整批安装。见[迁移指南](docs/zh-CN/common-migration.md)。
|
|
594
|
+
|
|
595
|
+
<!-- engineering-practices-20261108 -->
|
|
596
|
+
|
|
597
|
+
## 按条件适用的工程实践
|
|
598
|
+
|
|
599
|
+
八个既有前端入口将公共原则落到React/Vue生命期、API安全重放、查询所有权、评审证据、测试、安全和依赖兼容。按入口本地工程参考读取条件及例外。两产品仍交付全部21个公共入口;UI、桌面、库或服务职责不限制语言能力,企业指南不授权升级工具链。
|
|
600
|
+
|
|
601
|
+
[React样例](skills/fec-react-project-standard/examples/engineering/README.md)用真实React/Testing Library/JSDOM验证旧结果拒绝和自有资源清理,精确依赖独立锁定。源码仓维护者显式运行`pnpm run verify:engineering -- --prepare`,后续不带--prepare复用匹配准备;这不是新增的已安装CLI命令。DOM模拟不证明浏览器E2E、远端回滚或桌面GUI。
|
|
602
|
+
|
|
603
|
+
付款不能仅凭429/5xx/网络错误重试;须有服务端重放契约、同意图/同键和有界预算,否则核对待确认结果。公开源干净安装仍待common发布,[升级所有权保护](docs/common-migration.md)保持有效。
|
|
604
|
+
|
|
605
|
+
common2.0.0发布准备见[当前未发布变更](CHANGELOG.zh-CN.md);须先发布并核验common,本轮不发布frontend3.0.0。
|