@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.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
|
+
[Runtime compatibility and upgrade notes](docs/runtimes/compatibility.md)
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
`frontend-craft` is a **universal frontend plugin** that brings the same opinionated engineering standards to all **15 AI coding assistants** listed below:
|
|
34
|
+
|
|
35
|
+
`claude` `codex` `cursor` `windsurf` `opencode`
|
|
36
|
+
`kilo` `gemini` `copilot` `antigravity` `augment`
|
|
37
|
+
`trae` `codebuddy` `cline` `openclaw` `qoder`
|
|
38
|
+
|
|
39
|
+
Per-runtime paths and caveats live in [`docs/runtimes/`](docs/runtimes/).
|
|
40
|
+
|
|
41
|
+
It bundles **14 specialized agents**, **74 auto-activated skills**, **11 slash commands**, **5 event-driven hooks**, **MCP integrations** for 6 design-tool endpoints, and a complete **rules library** into a single installable package. Run one command, and every AI session on your team writes React, Vue, Next.js, or Nuxt the same way — typed, accessible, secure, and consistent.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Why frontend-craft?
|
|
46
|
+
|
|
47
|
+
| Problem | What frontend-craft does |
|
|
48
|
+
| -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
|
|
49
|
+
| AI assistants write inconsistent, untyped, or insecure frontend code | **74 skills** encode team standards — auto-activated when the assistant touches matching files |
|
|
50
|
+
| Each AI tool has its own plugin format | **One CLI** installs the same rules, agents, and hooks into 15 runtimes |
|
|
51
|
+
| Design-to-code handoff is lossy | **MCP integrations** bring in richer context from Figma, Figma Desktop, Sketch, MasterGo, Pixso, and 墨刀 |
|
|
52
|
+
| Reviews are ad-hoc and shallow | **14 agents** produce graded reports: code, security, a11y, performance, TS, UI fidelity |
|
|
53
|
+
| No one remembers to run lint/tests | **Event-driven hooks** validate on save and session end — automatically |
|
|
54
|
+
| New projects start from scratch every time | **`/fec-init`** scaffolds CLAUDE.md, rules, and settings in seconds |
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Install
|
|
59
|
+
|
|
60
|
+
Requires **Node.js 22+**. Works on **Windows, macOS, and Linux**.
|
|
61
|
+
|
|
62
|
+
### Option 1 - Install the fec CLI globally (recommended)
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# 1. Install the fec command globally
|
|
66
|
+
npm install -g @bovinphang/frontend-craft@latest
|
|
67
|
+
|
|
68
|
+
# 2. Go to your frontend project
|
|
69
|
+
cd your-project
|
|
70
|
+
|
|
71
|
+
# 3. Choose the AI runtime(s) interactively
|
|
72
|
+
fec setup
|
|
73
|
+
|
|
74
|
+
# 4. Connect the current project
|
|
75
|
+
fec setup codex
|
|
76
|
+
fec setup claude
|
|
77
|
+
fec setup all
|
|
78
|
+
|
|
79
|
+
# 5. Connect globally, available across all projects
|
|
80
|
+
fec setup codex --global
|
|
81
|
+
fec setup claude --global
|
|
82
|
+
fec setup all --global
|
|
83
|
+
|
|
84
|
+
# 6. Preview / query
|
|
85
|
+
fec runtime install --all --dry-run --global
|
|
86
|
+
fec list
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
`npm install -g` only installs the `fec` terminal command. `fec setup` is the terminal CLI command for connecting frontend-craft to a project; it is not the in-assistant `/fec-init` slash command. In an interactive terminal, running only `fec setup` asks you to choose runtimes. `fec setup <runtime>` and `fec setup all` connect frontend-craft to the current project by default. Only pass `--global` when you want to connect frontend-craft to the selected AI tool's global config directory so it is available across projects.
|
|
90
|
+
|
|
91
|
+
### Option 2 — Temporary npx run (no global fec command)
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# 1. Interactive wizard
|
|
95
|
+
npx @bovinphang/frontend-craft@latest
|
|
96
|
+
|
|
97
|
+
# 2. Connect the current project
|
|
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. Connect globally, available across all projects
|
|
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. Preview / query
|
|
108
|
+
npx @bovinphang/frontend-craft@latest runtime install --all --dry-run --global
|
|
109
|
+
npx @bovinphang/frontend-craft@latest list
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Use `npx` when you do not want to install a global `fec` command. Without arguments, it opens the interactive wizard: choose one or more runtimes, then choose whether to connect globally or into the current project. For scripted all-runtime installs, use `install --all --local` or `install --all --global`; do not write `install all`. For CI / scripts, always pass `--global` / `-g` or `--local` / `-l`; in non-TTY environments without an explicit location, the CLI defaults to `claude --global`.
|
|
113
|
+
|
|
114
|
+
### Option 3 — Claude Code Marketplace
|
|
115
|
+
|
|
116
|
+
For Claude Code users, **Claude Code Marketplace** is the preferred single-source install. Use the CLI for Claude only when you need cross-runtime installs, scripted/offline file copies, or non-Marketplace environments.
|
|
117
|
+
|
|
118
|
+
If Marketplace is already installed, the CLI will not install or update a second Claude copy, even with `--force`; update through Claude Code Marketplace instead. If a CLI-managed Claude install already exists in the other scope, interactive terminals ask whether to keep that source updated or uninstall it before switching. Non-interactive terminals stop and print the exact `runtime update`, `runtime uninstall`, and `runtime install` commands to run.
|
|
119
|
+
|
|
120
|
+
Full Claude-specific steps are in [docs/runtimes/claude.md](docs/runtimes/claude.md) · [简体中文](docs/runtimes/claude.zh-CN.md).
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Quick start
|
|
125
|
+
|
|
126
|
+
Once installed, you have a full frontend engineering toolkit available in every AI session:
|
|
127
|
+
|
|
128
|
+
```text
|
|
129
|
+
You: "Review my recent changes"
|
|
130
|
+
→ The fec-code-reviewer agent is dispatched, produces reports/code-review-*.md
|
|
131
|
+
|
|
132
|
+
You: "/fec-review"
|
|
133
|
+
→ Runs a structured review across architecture, types, rendering, styles, a11y
|
|
134
|
+
|
|
135
|
+
You: "Implement the checkout page from this Figma link"
|
|
136
|
+
→ The fec-figma-implementer agent reads the design via MCP, emits components and a report
|
|
137
|
+
|
|
138
|
+
You: "/fec-scaffold dashboard feature"
|
|
139
|
+
→ Creates a page / feature / component directory tree following project conventions
|
|
140
|
+
|
|
141
|
+
You: "/fec-refactor-clean"
|
|
142
|
+
→ Classifies and safely removes dead code, unused exports, styles, and deps
|
|
143
|
+
|
|
144
|
+
You: "/fec-refactor src/features/compose"
|
|
145
|
+
→ Diagnoses structural smells, builds a small-step plan, refactors one behavior-preserving step at a time, and validates every step
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
All slash commands below are shown for **Claude Code**; other runtimes expose the same capabilities through their own command systems (see [`docs/runtimes/`](docs/runtimes/)).
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Example prompts
|
|
153
|
+
|
|
154
|
+
For a complete scenario-based prompt library, see [docs/example-prompts.md](docs/example-prompts.md).
|
|
155
|
+
|
|
156
|
+
```text
|
|
157
|
+
You: "Review my recent changes before merge. Focus on architecture, type safety, rendering behavior, styles, accessibility, and missing tests."
|
|
158
|
+
You: "Before coding, plan the account billing feature: route structure, component boundaries, data flow, state ownership, validation flow, and rollout risks."
|
|
159
|
+
You: "Build a multi-step registration form; choose the right form and schema validation approach for this project, with file upload, conditional fields, async validation, and accessible errors."
|
|
160
|
+
You: "Implement the UI from Figma node 123:456. Use existing design tokens and components, match spacing and responsive states, and document assumptions."
|
|
161
|
+
You: "`/fec-refactor-clean` Clean up dead code in this module."
|
|
162
|
+
You: "`/fec-smell` Diagnose structural smells in this module without editing."
|
|
163
|
+
You: "`/fec-refactor-plan` Build a behavior-preserving small-step refactoring plan."
|
|
164
|
+
You: "`/fec-refactor` Refactor this module without changing observable behavior."
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## What’s inside
|
|
170
|
+
|
|
171
|
+
### Commands
|
|
172
|
+
|
|
173
|
+
Slash commands are the primary entry points for structured workflows. Most produce a timestamped Markdown report under `reports/`.
|
|
174
|
+
|
|
175
|
+
| Command | Purpose | Report |
|
|
176
|
+
| --------------------- | ---------------------------------------------------------------------- | ------------------------------------------------ |
|
|
177
|
+
| `/fec-init` | Initialize project templates (CLAUDE.md, rules, settings) | — |
|
|
178
|
+
| `/fec-review` | Review the full project by default; explicit file/directory or change scope | `code-review-*.md` |
|
|
179
|
+
| `/fec-scaffold` | Create page / feature / component boilerplate by convention | — |
|
|
180
|
+
| `/fec-plan` | Unified planning: implementation architecture or test strategy | `architecture-proposal-*.md` or `test-plan-*.md` |
|
|
181
|
+
| `/fec-tdd` | Red → green → refactor loop for frontend TDD | — |
|
|
182
|
+
| `/fec-debug` | Diagnose and fix frontend issues: build, runtime, UI, and API failures | `debug-*.md` |
|
|
183
|
+
| `/fec-refactor-clean` | Classify and safely remove dead code, unused exports, styles, and deps | `refactor-clean-*.md` |
|
|
184
|
+
| `/fec-smell` | Diagnose code smells with evidence; do not edit business code | `refactoring/smell-*.md` |
|
|
185
|
+
| `/fec-refactor-plan` | Build an ordered behavior-preserving refactoring plan | `refactoring/plan-*.md` |
|
|
186
|
+
| `/fec-refactor` | Execute one validated behavior-preserving refactoring step at a time | `refactoring/refactoring-*.md` |
|
|
187
|
+
| `/fec-doc-sync` | Sync READMEs, docs, env notes, scripts, API/route notes, and deploy docs | — |
|
|
188
|
+
|
|
189
|
+
### Review scope
|
|
190
|
+
|
|
191
|
+
`/fec-review`, the code/TypeScript/security review agents, and their review skills use three modes:
|
|
192
|
+
|
|
193
|
+
- **Change review:** explicitly request recent/current/staged changes, a PR or a commit, or use an established change context. With no changes, report that there is nothing to review; do not automatically review recent commits.
|
|
194
|
+
- **Targeted review:** specify a file or directory to review existing code, including unchanged code, without requiring a Git diff.
|
|
195
|
+
- **Project review (default):** with no scope or change context, or when the entire project is requested, inventory project-owned frontend code, related tests, configuration and dependency declarations, then review by module.
|
|
196
|
+
|
|
197
|
+
A file/directory request reviews its full contents; add "recent changes" to review only its diff. Bare `/fec-review` reviews the project even when changes exist. State mode and scope before review. Automatic review after edits must pass the current change scope explicitly.
|
|
198
|
+
|
|
199
|
+
Examples: `/fec-review`,`/fec-review review recent changes`, `/fec-review review src/components/Button.tsx`, `/fec-review review src/features/`, and `/fec-review review the entire project`. These are natural-language instructions, not CLI flags. Explicit scope takes precedence over the default.
|
|
200
|
+
|
|
201
|
+
Dependency directories, build outputs, caches, generated files and third-party code are excluded by default. Reports record the mode, target scope, reviewed and unreviewed files/modules, exclusions, completion status and verification results. Limited coverage is marked partial; reading callers or running project-wide lint/typecheck does not establish manual review coverage. Change reviews retain merge recommendations; targeted/project reviews assess risk within reviewed scope. The frontend review does not replace a backend audit, and reviewers do not edit business code unless repairs are requested.
|
|
202
|
+
|
|
203
|
+
### Skills (auto-activated)
|
|
204
|
+
|
|
205
|
+
Skills are workflow definitions that activate automatically based on file patterns, frameworks, or task context. They encode review dimensions, output conventions, and report formats.
|
|
206
|
+
|
|
207
|
+
The skills below are grouped by use case so you can quickly find project standards, implementation, testing, review, design, migration, project evolution, and documentation workflows.
|
|
208
|
+
|
|
209
|
+
**Project standards** — conventions enforced whenever matching frameworks are detected:
|
|
210
|
+
|
|
211
|
+
| Skill | Scope |
|
|
212
|
+
| ------------------------------- | --------------------------------------------------------------------- |
|
|
213
|
+
| `fec-react-project-standard` | React + TypeScript (structure, components, routing, state, API layer) |
|
|
214
|
+
| `fec-vue3-project-standard` | Vue 3 + TypeScript (structure, components, routing, Pinia, API layer) |
|
|
215
|
+
| `fec-nextjs-project-standard` | Next.js 14+ App Router, SSR/SSG, streaming, metadata |
|
|
216
|
+
| `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG, composables, data fetching, middleware |
|
|
217
|
+
| `fec-vite-project-standard` | Vite config, env safety, HMR, dev proxy, build optimization |
|
|
218
|
+
| `fec-monorepo-project-standard` | pnpm workspace, Turborepo, Nx structure and task orchestration |
|
|
219
|
+
| `cc-typescript-project-standard` | TypeScript config, public API types, declarations, DTOs, generics |
|
|
220
|
+
|
|
221
|
+
**Implementation capabilities** — activated when building specific frontend behavior:
|
|
222
|
+
|
|
223
|
+
| Skill | Scope |
|
|
224
|
+
| ------------------------- | ------------------------------------------------------------------------- |
|
|
225
|
+
| `fec-data-fetching` | Server-state fetching, caching, invalidation, SSR, infinite loading |
|
|
226
|
+
| `fec-api-integration` | Typed API clients, auth refresh, uploads, realtime integration |
|
|
227
|
+
| `fec-state-management` | State ownership, store selection, URL state, server/form/local boundaries |
|
|
228
|
+
| `fec-form-handling` | Framework-aware forms, schema validation, dynamic fields, uploads |
|
|
229
|
+
| `fec-browser-storage` | localStorage / sessionStorage / IndexedDB / Cookies selection |
|
|
230
|
+
| `fec-route-protection` | Auth and permission routes for React Router, Next.js, Vue Router, Nuxt |
|
|
231
|
+
| `fec-pwa-implementation` | Manifest, service worker, offline cache, install prompts |
|
|
232
|
+
| `fec-web-workers` | Web Worker integration, transferables, Comlink, worker pools |
|
|
233
|
+
| `fec-canvas-threejs` | Canvas 2D, Three.js, React Three Fiber, WebGL |
|
|
234
|
+
| `fec-svg-animation` | CSS / Framer Motion / GSAP SVG animation with reduced-motion |
|
|
235
|
+
| `fec-list-virtualization` | Framework-aware list virtualization, measurement, grids, infinite scroll |
|
|
236
|
+
|
|
237
|
+
**Testing** — activated when planning or authoring frontend test coverage:
|
|
238
|
+
|
|
239
|
+
| Skill | Scope |
|
|
240
|
+
| ----------------------- | ------------------------------------------------------------------------ |
|
|
241
|
+
| `fec-testing-strategy` | Layer selection across static, unit, component, integration, E2E, visual |
|
|
242
|
+
| `fec-component-testing` | React Testing Library / Vue Test Utils with regression scenarios |
|
|
243
|
+
| `fec-e2e-testing` | Playwright / Cypress E2E with Page Object and CI integration |
|
|
244
|
+
| `fec-tdd-workflow` | Test-first frontend implementation with red-green-refactor |
|
|
245
|
+
|
|
246
|
+
**Review & quality** — activated during review, validation, or cleanup workflows:
|
|
247
|
+
|
|
248
|
+
| Skill | Scope |
|
|
249
|
+
| ------------------------------ | ----------------------------------------------------------------------------- |
|
|
250
|
+
| `fec-code-review` | Correctness, maintainability, types, rendering, and verification review |
|
|
251
|
+
| `fec-debug-framework` | Systematic diagnostics for build, runtime, UI, and API/data failures |
|
|
252
|
+
| `fec-security-review` | Browser-side XSS, CSRF, token exposure, unsafe DOM, and third-party risks |
|
|
253
|
+
| `fec-accessibility-check` | WCAG 2.2, keyboard, focus, touch, and screen-reader behavior |
|
|
254
|
+
| `fec-dependency-upgrade` | Dependency upgrades, lockfile review, CVE remediation, migration verification |
|
|
255
|
+
| `fec-validation-fix` | Run and repair lint, type-check, test, build in one pass |
|
|
256
|
+
| `fec-performance-optimization` | Core Web Vitals, bundle, rendering, memory, network, and budget reviews |
|
|
257
|
+
| `fec-refactor-clean` | Safe dead-code, unused export, style, route, dependency cleanup |
|
|
258
|
+
|
|
259
|
+
**Refactoring** — activated for evidence-based, behavior-preserving structural improvement:
|
|
260
|
+
|
|
261
|
+
| Skill | Purpose |
|
|
262
|
+
| --- | --- |
|
|
263
|
+
| `fec-refactoring` | Orchestrate classification, baseline, safety, small-step execution, rollback, and proof |
|
|
264
|
+
| `fec-code-smells` | Diagnose the 24 canonical code smells with evidence and false-positive checks |
|
|
265
|
+
| `fec-refactoring-catalog` | Select and compose techniques from the complete 61-item catalog |
|
|
266
|
+
| `fec-refactoring-functions` | Function decomposition, naming, variable, parameter-object, and phase refactorings |
|
|
267
|
+
| `fec-refactoring-encapsulation` | Record, collection, primitive, class, delegate, and algorithm encapsulation refactorings |
|
|
268
|
+
| `fec-refactoring-move-features` | Move functions/fields/statements, split loops, pipelines, and dead-code routing |
|
|
269
|
+
| `fec-refactoring-data` | Variable/field and reference/value data refactorings |
|
|
270
|
+
| `fec-refactoring-control` | Conditional decomposition, guards, polymorphic dispatch, special cases, assertions |
|
|
271
|
+
| `fec-refactoring-api` | Query/modifier, parameter, flag, factory, command, and API-shape refactorings |
|
|
272
|
+
| `fec-refactoring-inheritance` | Inheritance/delegation refactorings with composition-first frontend adaptations |
|
|
273
|
+
| `fec-refactoring-validation` | Behavior-preservation contracts, coverage levels, verification ladder, proof verdicts |
|
|
274
|
+
|
|
275
|
+
**Design UI** — activated for design-to-code, design systems, and visual polish:
|
|
276
|
+
|
|
277
|
+
| Skill | Scope |
|
|
278
|
+
| ----------------------------- | ----------------------------------------------------------------------------- |
|
|
279
|
+
| `fec-ui-design` | Product-context UI direction, anti-generic design dials, media strategy, states, visual QA |
|
|
280
|
+
| `fec-image-generation` | UI, product and brand image generation/editing with shared PNG QA |
|
|
281
|
+
| `cc-drawio-studio` | Editable draw.io / diagrams.net technical diagrams, XML/Mermaid/CSV URL handoff, shape lookup, auto-layout, code maps |
|
|
282
|
+
| `fec-web-video-presentation` | Recordable 16:9 step-driven web presentations from articles, scripts, lessons, and demos |
|
|
283
|
+
| `fec-tailwind-design-system` | Tailwind tokens, theme extension, variants, class governance, dark mode |
|
|
284
|
+
| `fec-responsive-layout` | Mobile-first layouts, container queries, data-dense responsive UI |
|
|
285
|
+
| `fec-motion-interaction` | Context-aware motion intensity, page transitions, scroll animation, reduced motion |
|
|
286
|
+
| `fec-implement-from-design` | Build UI from design tools, screenshots, or section-level visual references |
|
|
287
|
+
| `fec-storybook-component-doc` | Storybook component docs, design-system presentation, isolated state previews |
|
|
288
|
+
|
|
289
|
+
Technical diagram quality: `cc-technical-diagrams` prefers local Mermaid for standard sequence/workflow diagrams and the draw.io workflow for editable architecture, with JSON/HTML fallback when tools are unavailable. Export a browser-measured manifest scaled to the PNG, run QA and inspect the final image. Preserve complete text, explicit layout and relationships; repair the source for at most two automatic rounds and report unresolved issues. Reproducible fixtures are in `skills/cc-technical-diagrams/assets/quality-examples/`.
|
|
290
|
+
|
|
291
|
+
[Review and technical diagram guide](docs/review-and-diagram-workflows.md).
|
|
292
|
+
|
|
293
|
+
**Legacy migration** — activated during modernization work:
|
|
294
|
+
|
|
295
|
+
| Skill | Scope |
|
|
296
|
+
| -------------------------------- | ---------------------------------------------------------- |
|
|
297
|
+
| `fec-legacy-web-standard` | Standards for JS + jQuery + HTML maintenance |
|
|
298
|
+
| `fec-legacy-to-modern-migration` | Legacy frontend modernization, target-stack selection, phased workflow |
|
|
299
|
+
|
|
300
|
+
**Project evolution** — activated when absorbing reference systems into project-native improvements:
|
|
301
|
+
|
|
302
|
+
| Skill | Scope |
|
|
303
|
+
| ------------- | ---------------------------------------------------------------------- |
|
|
304
|
+
| `fec-alchemy` | Absorb reference system ideas through original, project-native redesign |
|
|
305
|
+
|
|
306
|
+
**Maintenance docs** — activated during documentation upkeep:
|
|
307
|
+
|
|
308
|
+
| Skill | Scope |
|
|
309
|
+
| ------------------------------- | -------------------------------------------------------------------------------------- |
|
|
310
|
+
| `fec-backend-requirements-handoff` | Frontend-to-backend handoff for UI data needs, actions, states, rules, and questions |
|
|
311
|
+
| `fec-doc-sync` | Keep frontend docs in sync with code, config, scripts, routes, APIs, env, and deploy facts |
|
|
312
|
+
| `cc-source-driven-development` | Verify version-sensitive frontend decisions against project facts and official sources |
|
|
313
|
+
|
|
314
|
+
### Agents
|
|
315
|
+
|
|
316
|
+
Agents are specialized sub-agents dispatched by the main assistant to handle a focused task. Each returns a structured report.
|
|
317
|
+
|
|
318
|
+
| Agent | Focus | Report |
|
|
319
|
+
| --------------------------- | -------------------------------------------------------------------------- | ---------------------------- |
|
|
320
|
+
| `fec-code-reviewer` | React/Vue/Next/Nuxt, TS, styles, client-side security (confidence-based) | `code-review-*.md` |
|
|
321
|
+
| `fec-typescript-reviewer` | Type safety, async correctness, idiomatic patterns (report-only) | `typescript-review-*.md` |
|
|
322
|
+
| `fec-security-reviewer` | XSS, client secrets, dangerous DOM/APIs, CSP, dependency audit | `security-review-*.md` |
|
|
323
|
+
| `fec-performance-optimizer` | Bundle size, render performance, network bottlenecks | `performance-review-*.md` |
|
|
324
|
+
| `fec-architect` | Page splitting, component architecture, state flow, directory planning | `architecture-proposal-*.md` |
|
|
325
|
+
| `fec-test-planner` | Risk-to-layer matrix: static, unit, component, E2E, visual, a11y, security | `test-plan-*.md` |
|
|
326
|
+
| `fec-debugger` | Complex frontend diagnostics for build, runtime, UI, and API failures | `debug-*.md` |
|
|
327
|
+
| `fec-refactor-cleaner` | Classify and safely remove unused code, exports, styles, routes, deps | `refactor-clean-*.md` |
|
|
328
|
+
| `fec-refactoring-expert` | Evidence-based behavior-preserving refactoring orchestration | `refactoring/refactoring-*.md` |
|
|
329
|
+
| `fec-e2e-runner` | E2E authoring and runs (Playwright/Cypress), flaky quarantine, traces | `e2e-summary-*.md` |
|
|
330
|
+
| `fec-doc-updater` | Sync README, runtime docs, structure, capability tables, metadata | — |
|
|
331
|
+
| `fec-ui-checker` | Visual issue debugging and design fidelity evaluation | `ui-fidelity-review-*.md` |
|
|
332
|
+
| `fec-figma-implementer` | Precise UI implementation from Figma/Sketch/MasterGo/Pixso/墨刀 designs | `design-implementation-*.md` |
|
|
333
|
+
| `fec-design-token-mapper` | Map design variables to project Design Tokens | `token-mapping-*.md` |
|
|
334
|
+
|
|
335
|
+
### Hooks (event-driven)
|
|
336
|
+
|
|
337
|
+
Hooks run automatically on AI assistant events — no invocation needed.
|
|
338
|
+
|
|
339
|
+
| Event | Behavior |
|
|
340
|
+
| ------------------------- | -------------------------------------------------------------- |
|
|
341
|
+
| `SessionStart` | Clean Claude cache, then detect project framework and package manager |
|
|
342
|
+
| `PreToolUse(Bash)` | Block dangerous commands (`rm -rf`, force push, etc.) |
|
|
343
|
+
| `PostToolUse(Write/Edit)` | Auto-format modified files with Prettier |
|
|
344
|
+
| `Stop` | Run available validation scripts once, report failures, and block only when configured |
|
|
345
|
+
| `Notification` | Cross-platform desktop notifications (macOS / Linux / Windows) |
|
|
346
|
+
|
|
347
|
+
Stop validation is advisory by default: failures are reported without blocking the session. Set `FRONTEND_CRAFT_VALIDATION_MODE=blocking` to return a failure status. The hook uses `packageManager` from `package.json` when present, otherwise a single lockfile; conflicting lockfiles default to npm.
|
|
348
|
+
|
|
349
|
+
### MCP integration
|
|
350
|
+
|
|
351
|
+
Plug your AI assistant into design tools for design-to-code workflows with richer design context.
|
|
352
|
+
|
|
353
|
+
| Service | Capabilities |
|
|
354
|
+
| ----------------- | ---------------------------------------------------- |
|
|
355
|
+
| **Figma** | Read design context and variable definitions |
|
|
356
|
+
| **Figma Desktop** | Figma desktop client integration |
|
|
357
|
+
| **Sketch** | Read design selection screenshots |
|
|
358
|
+
| **MasterGo** | Read DSL structure, component hierarchy, styles |
|
|
359
|
+
| **Pixso** | Local MCP: frame data, code snippets, image assets |
|
|
360
|
+
| **墨刀** | Prototype data, design descriptions, HTML import |
|
|
361
|
+
| **摹客** | Screenshot/annotation/exported-CSS workflow (no MCP) |
|
|
362
|
+
|
|
363
|
+
### Project templates (`/fec-init`)
|
|
364
|
+
|
|
365
|
+
Run `/fec-init` to scaffold a ready-to-use rules library and project config into `.claude/`:
|
|
366
|
+
|
|
367
|
+
<details>
|
|
368
|
+
<summary>Click to see all 20 template files</summary>
|
|
369
|
+
|
|
370
|
+
| File | Purpose |
|
|
371
|
+
| ---------------------------------------- | --------------------------------------------------------------------- |
|
|
372
|
+
| `CLAUDE.md` | Project description, commands, working principles, security |
|
|
373
|
+
| `settings.json` | Permission whitelist/blacklist, environment variables |
|
|
374
|
+
| `rules/fec-vue.md` | Vue 3 component standards and anti-patterns |
|
|
375
|
+
| `rules/fec-react.md` | React component standards and anti-patterns |
|
|
376
|
+
| `rules/fec-design-system.md` | Design system, tokens, accessibility |
|
|
377
|
+
| `rules/fec-testing.md` | Testing and validation rules |
|
|
378
|
+
| `rules/fec-git-conventions.md` | Conventional Commits |
|
|
379
|
+
| `rules/fec-i18n.md` | Internationalization copy standards |
|
|
380
|
+
| `rules/fec-performance.md` | Frontend performance rules |
|
|
381
|
+
| `rules/fec-rendering-patterns.md` | Rendering lifecycle, hydration, SSR/CSR, and update patterns |
|
|
382
|
+
| `rules/fec-responsive-design.md` | Responsive layout, breakpoints, touch targets, and viewport behavior |
|
|
383
|
+
| `rules/fec-source-driven-development.md` | Source-driven decisions, official docs, version-sensitive assumptions |
|
|
384
|
+
| `rules/fec-api-layer.md` | API layer typing and error handling |
|
|
385
|
+
| `rules/fec-state-management.md` | State classification, strategy, anti-patterns |
|
|
386
|
+
| `rules/fec-error-handling.md` | Error layering, Error Boundary, fallback UI, reporting |
|
|
387
|
+
| `rules/fec-naming-conventions.md` | Unified naming for files, components, variables, routes, API, CSS |
|
|
388
|
+
| `rules/fec-code-comments.md` | When and how to write frontend comments |
|
|
389
|
+
| `rules/fec-ci-cd.md` | CI/CD pipeline stages, GitHub Actions / GitLab CI, secrets |
|
|
390
|
+
| `rules/fec-refactoring.md` | Refactoring constraints and feature-parity requirements |
|
|
391
|
+
| `rules/fec-agent-workflow.md` | Agent collaboration boundaries and delegation |
|
|
392
|
+
| `rules/fec-working-modes.md` | Research, planning, development, review, finishing modes |
|
|
393
|
+
|
|
394
|
+
</details>
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## Configuration
|
|
399
|
+
|
|
400
|
+
### Prerequisites
|
|
401
|
+
|
|
402
|
+
- **Node.js 22+**
|
|
403
|
+
- **npm, pnpm, or yarn**
|
|
404
|
+
- **Git Bash or a compatible shell** (Windows only, when your AI runtime invokes shell-based commands)
|
|
405
|
+
|
|
406
|
+
### MCP design-tool tokens
|
|
407
|
+
|
|
408
|
+
Set the environment variable for whichever design tool your team uses:
|
|
409
|
+
|
|
410
|
+
| Variable | Tool | How to get |
|
|
411
|
+
| ---------------- | --------------------- | ----------------------------------------------------- |
|
|
412
|
+
| `FIGMA_API_KEY` | Figma / Figma Desktop | Figma account settings → Personal Access Tokens |
|
|
413
|
+
| `SKETCH_API_KEY` | Sketch | Sketch developer settings |
|
|
414
|
+
| `MG_MCP_TOKEN` | MasterGo | MasterGo account settings → Security → Generate Token |
|
|
415
|
+
| `MODAO_TOKEN` | 墨刀 | 墨刀 AI feature page → access token |
|
|
416
|
+
|
|
417
|
+
> **Pixso** uses a local MCP server — enable MCP in the Pixso client, no env var needed.
|
|
418
|
+
> **摹客** has no MCP integration; works via screenshots and exported CSS.
|
|
419
|
+
|
|
420
|
+
Add to your shell config for persistence:
|
|
421
|
+
|
|
422
|
+
```bash
|
|
423
|
+
# macOS / Linux — append to ~/.bashrc or ~/.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 — set as system environment variables, or in 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
|
+
## Reports
|
|
441
|
+
|
|
442
|
+
Every review, analysis, and evaluation writes a timestamped Markdown report to `reports/`. These serve as an audit trail and a handoff artifact for PRs.
|
|
443
|
+
|
|
444
|
+
<details>
|
|
445
|
+
<summary>Click to see all 19 report types</summary>
|
|
446
|
+
|
|
447
|
+
| Report type | Filename pattern | Produced by |
|
|
448
|
+
| ---------------------- | -------------------------------------------- | ------------------------------------------------------------------- |
|
|
449
|
+
| Code review | `code-review-YYYY-MM-DD-HHmmss.md` | `/fec-review`, `fec-code-review`, `fec-code-reviewer` |
|
|
450
|
+
| Debug diagnostics | `debug-YYYY-MM-DD-HHmmss.md` | `/fec-debug`, `fec-debug-framework`, `fec-debugger` |
|
|
451
|
+
| TypeScript / JS review | `typescript-review-YYYY-MM-DD-HHmmss.md` | `fec-typescript-reviewer` |
|
|
452
|
+
| Security review | `security-review-YYYY-MM-DD-HHmmss.md` | `fec-security-review`, `fec-security-reviewer` |
|
|
453
|
+
| Accessibility | `accessibility-review-YYYY-MM-DD-HHmmss.md` | `fec-accessibility-check` |
|
|
454
|
+
| Performance | `performance-review-YYYY-MM-DD-HHmmss.md` | `fec-performance-optimizer` |
|
|
455
|
+
| Architecture | `architecture-proposal-YYYY-MM-DD-HHmmss.md` | `fec-architect` |
|
|
456
|
+
| Design fidelity | `ui-fidelity-review-YYYY-MM-DD-HHmmss.md` | `fec-ui-checker` |
|
|
457
|
+
| Design implementation | `design-implementation-YYYY-MM-DD-HHmmss.md` | `fec-figma-implementer` |
|
|
458
|
+
| Token mapping | `token-mapping-YYYY-MM-DD-HHmmss.md` | `fec-design-token-mapper` |
|
|
459
|
+
| Design plan | `design-plan-YYYY-MM-DD-HHmmss.md` | `fec-implement-from-design` |
|
|
460
|
+
| Test plan | `test-plan-YYYY-MM-DD-HHmmss.md` | `/fec-plan`, `fec-testing-strategy`, `fec-test-planner` |
|
|
461
|
+
| Validation fix | `validation-fix-YYYY-MM-DD-HHmmss.md` | `fec-validation-fix` |
|
|
462
|
+
| Refactor clean | `refactor-clean-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-clean`, `fec-refactor-clean`, `fec-refactor-cleaner` |
|
|
463
|
+
| Smell diagnosis | `refactoring/smell-YYYY-MM-DD-HHmmss.md` | `/fec-smell`, `fec-code-smells` |
|
|
464
|
+
| Refactoring plan | `refactoring/plan-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-plan`, `fec-refactoring` |
|
|
465
|
+
| Refactoring execution | `refactoring/refactoring-YYYY-MM-DD-HHmmss.md` | `/fec-refactor`, `fec-refactoring`, `fec-refactoring-expert` |
|
|
466
|
+
| E2E run summary | `e2e-summary-YYYY-MM-DD-HHmmss.md` | `fec-e2e-runner` (optional) |
|
|
467
|
+
| Migration plan | `migration-plan-YYYY-MM-DD-HHmmss.md` | `fec-legacy-to-modern-migration` |
|
|
468
|
+
|
|
469
|
+
</details>
|
|
470
|
+
|
|
471
|
+
> **Tip:** add `reports/` to `.gitignore` to keep the auto-generated reports out of version control — or commit them to preserve a team review history.
|
|
472
|
+
|
|
473
|
+
---
|
|
474
|
+
|
|
475
|
+
## Update and Remove
|
|
476
|
+
|
|
477
|
+
### CLI lifecycle (3.0)
|
|
478
|
+
|
|
479
|
+
`fec update` (`upgrade`) upgrades an npm/pnpm global CLI to the original registry's `latest`, then starts the new CLI to refresh managed resources in the current project and user-global scope, even when already latest. Other projects and Marketplace installs are not scanned or managed. CLI upgrade failure stops refresh; independent resource failures are reported by phase without rolling back the CLI. Retry those resources with `fec runtime update`.
|
|
480
|
+
|
|
481
|
+
`fec uninstall` (`remove`) removes only the global CLI by default. `--purge` first removes discovered managed resources while preserving user modifications; cleanup errors keep the CLI installed. A terminal prompts for confirmation; non-interactive runs require `--yes`. Self-management supports verified npm/pnpm global registry installs only; source links, project dependencies, unknown sources and pnpm groups shared with other packages are refused before changes. Use the original package manager manually for shared groups. `--dry-run` only previews; it never installs, deletes or starts the refresh process.
|
|
482
|
+
|
|
483
|
+
```bash
|
|
484
|
+
fec update
|
|
485
|
+
fec uninstall --dry-run
|
|
486
|
+
fec uninstall --purge --yes
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
Temporary npx runs never create a global CLI install and cannot uninstall the CLI. Top-level npx `update` refreshes resources only if its package version equals registry `latest`; otherwise use `npx @bovinphang/frontend-craft@latest runtime update`.
|
|
490
|
+
|
|
491
|
+
| 2.x resource command | 3.0 replacement |
|
|
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
|
+
Top-level update/uninstall reject old runtime arguments and resource options such as `--global` before making changes. `setup` remains available; top-level `install` is a deprecated compatibility alias. `runtime upgrade/remove` alias `runtime update/uninstall`. Resource options remain available. `runtime update` uses only the currently running CLI package, without fetching a new package from the network.
|
|
498
|
+
|
|
499
|
+
`fec` is the short command for `frontend-craft`. For resource operations without a global CLI, use `npx @bovinphang/frontend-craft@latest runtime update` (or `runtime install/uninstall`).
|
|
500
|
+
|
|
501
|
+
### Resource update
|
|
502
|
+
|
|
503
|
+
```bash
|
|
504
|
+
fec runtime update # Update all discovered CLI-managed installs
|
|
505
|
+
fec runtime update <runtime> --local # Update one local CLI-managed install
|
|
506
|
+
fec runtime update <runtime> --global # Update one global CLI-managed install
|
|
507
|
+
fec runtime upgrade <runtime> --global # `upgrade` is an alias for `update`
|
|
508
|
+
```
|
|
509
|
+
|
|
510
|
+
### Resource removal
|
|
511
|
+
|
|
512
|
+
```bash
|
|
513
|
+
fec runtime uninstall # Remove all discovered CLI-managed installs
|
|
514
|
+
fec runtime remove # `remove` is an alias for `uninstall`
|
|
515
|
+
fec runtime uninstall <runtime> # Remove a specific runtime install
|
|
516
|
+
fec runtime remove <runtime> # Same removal through the alias
|
|
517
|
+
fec runtime uninstall --global # Remove discovered global installs only
|
|
518
|
+
fec runtime remove --local # Remove discovered local installs only
|
|
519
|
+
fec runtime uninstall <runtime> --dry-run # Preview removals
|
|
520
|
+
fec runtime uninstall <runtime> --force # Remove modified managed files too
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
The CLI writes `frontend-craft.manifest.json` into the runtime directory. `runtime update` discovers those manifests automatically when no runtime is provided and **skips files you’ve modified locally**, so customizations survive updates.
|
|
524
|
+
|
|
525
|
+
`runtime uninstall`/`runtime remove` only deletes files recorded in the manifest. It skips modified files by default; add `--force` only when you want to remove modified managed files too. `--force` does not override a Claude Code Marketplace install.
|
|
526
|
+
|
|
527
|
+
For **Claude Code Marketplace** or **submodule** installs, see [docs/runtimes/claude.md](docs/runtimes/claude.md) · [简体中文](docs/runtimes/claude.zh-CN.md). `/fec-init` only initializes project config; it is not a second plugin install.
|
|
528
|
+
|
|
529
|
+
---
|
|
530
|
+
|
|
531
|
+
## Legacy Skills CLI
|
|
532
|
+
|
|
533
|
+
If your team already uses the standalone [Skills CLI](https://skills.sh/docs/cli), it can still install just the workflow skill packages from [`skills/`](skills/):
|
|
534
|
+
|
|
535
|
+
```bash
|
|
536
|
+
npx skills add bovinphang/frontend-craft # follow prompts, or add -g for global
|
|
537
|
+
npx skills update # update to latest
|
|
538
|
+
npx skills check # preview available updates
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
| CLI | Installs |
|
|
542
|
+
| -------------------- | ------------------------------------------------------------------- |
|
|
543
|
+
| `npx @bovinphang/frontend-craft` | Skills + runtime-specific agents, commands, hooks, rules, templates |
|
|
544
|
+
| `npx skills` | Skills only (for existing Skills CLI workflows) |
|
|
545
|
+
|
|
546
|
+
To disable telemetry: `DISABLE_TELEMETRY=1`. Details: [skills.sh CLI docs](https://skills.sh/docs/cli).
|
|
547
|
+
|
|
548
|
+
---
|
|
549
|
+
|
|
550
|
+
## Community
|
|
551
|
+
|
|
552
|
+
- [Contributing Guide](CONTRIBUTING.md) — development setup, PR checklist, localization policy ([简体中文](CONTRIBUTING.zh-CN.md))
|
|
553
|
+
- [Security Policy](SECURITY.md) — private vulnerability reporting ([简体中文](SECURITY.zh-CN.md))
|
|
554
|
+
- [Code of Conduct](CODE_OF_CONDUCT.md) — community standards ([简体中文](CODE_OF_CONDUCT.zh-CN.md))
|
|
555
|
+
- [Changelog](CHANGELOG.md) — release notes ([简体中文](CHANGELOG.zh-CN.md))
|
|
556
|
+
- [Project structure](docs/project-structure.md) — full directory layout and file responsibilities ([简体中文](docs/zh-CN/project-structure.md))
|
|
557
|
+
|
|
558
|
+
---
|
|
559
|
+
|
|
560
|
+
## License
|
|
561
|
+
|
|
562
|
+
[MIT](LICENSE) — use freely, modify as needed, contribute back if you can.
|
|
563
|
+
|
|
564
|
+
---
|
|
565
|
+
|
|
566
|
+
<div align="center">
|
|
567
|
+
|
|
568
|
+
**If frontend-craft helps your team ship better code, [give it a Star](https://github.com/bovinphang/frontend-craft).**
|
|
569
|
+
|
|
570
|
+
</div>
|
|
571
|
+
|
|
572
|
+
## Craft Common in 3.0
|
|
573
|
+
|
|
574
|
+
Version 3.0 is unreleased. It delivers 53 frontend entries and 21 shared entries (74 skills total) from the pinned craft-common dependency, without a third manual plugin install. Common source is maintained only in 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
|
+
Run `fec runtime check-migration codex --local --json` and read [migration guide](docs/common-migration.md).
|
|
585
|
+
CLI installation manages shared ownership and uninstall references. Native channels guarantee complete single-product payloads; native dual-product deduplication is not promised.
|
|
586
|
+
|
|
587
|
+
Pinned common source: `@bovinphang/craft-common@2.0.0`. See [project structure and maintenance boundaries](docs/project-structure.md) and [contributor checks](CONTRIBUTING.md).
|
|
588
|
+
|
|
589
|
+
## Mixed-project inspection
|
|
590
|
+
|
|
591
|
+
`fec project inspect . --task-path apps/desktop/src-tauri/src/lib.rs --task-kind ipc --json` reads bounded manifest evidence and recommends only delivered capabilities. Roles (UI, desktop core, native library, service, CLI), languages and frameworks are separate dimensions. It never runs build scripts or installs tools. Shared language entries include independent C and C++ standards; Tauri/Electron are common specialties. Next/React/Vue/Nuxt/Vite stay frontend specialties. No task argument means project-level candidates only.
|
|
592
|
+
|
|
593
|
+
Common uses the final version number 2.0.0 and is prepared for publication; frontend 3.0.0 and backend 1.0.0 remain unreleased. Exit old common consumers with each old product CLI before installing matching product builds. Run `fec runtime check-migration [runtime] --local --json` first. Unknown or edited retired entries block installation. See [migration](docs/common-migration.md).
|
|
594
|
+
|
|
595
|
+
<!-- engineering-practices-20261108 -->
|
|
596
|
+
|
|
597
|
+
## Conditional engineering practices
|
|
598
|
+
|
|
599
|
+
Eight existing frontend entries now connect shared principles to React/Vue lifecycle, API replay safety, query ownership, review evidence, testing, security and dependency compatibility. Read the entry's local engineering reference for conditions and exceptions. Both products still deliver all21 common entries; language capability is independent of UI, desktop, library or service role. Company guidance does not authorize a toolchain migration.
|
|
600
|
+
|
|
601
|
+
The [React sample](skills/fec-react-project-standard/examples/engineering/README.md) uses real React/Testing Library/JSDOM to verify stale-result rejection and owned cleanup. Its locked dependencies are isolated. Repository maintenance: explicitly run `pnpm run verify:engineering -- --prepare`, then omit --prepare to reuse only matching preparation. This is a source-repository maintenance task, not a new installed CLI command. DOM simulation does not prove browser E2E, remote rollback or desktop GUI.
|
|
602
|
+
|
|
603
|
+
Payment writes are not retried solely because of429/5xx/network errors: require a server replay contract, same intent/key and bounded budget, otherwise reconcile the uncertain result. Public clean installation still awaits common publication; [upgrade ownership rules](docs/common-migration.md) remain in force.
|
|
604
|
+
|
|
605
|
+
Common 2.0.0 release preparation: [current unreleased changes](CHANGELOG.md#300---unreleased). Publish and verify common first; this step does not publish frontend 3.0.0.
|