@bovinphang/frontend-craft 2.8.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 +64 -0
- package/CHANGELOG.zh-CN.md +64 -0
- package/CONTRIBUTING.md +74 -54
- package/CONTRIBUTING.zh-CN.md +75 -53
- package/README.md +150 -38
- package/README.openclaw.md +86 -11
- package/README.openclaw.zh-CN.md +86 -11
- package/README.zh-CN.md +147 -35
- package/agents/fec-code-reviewer.md +24 -3
- package/agents/fec-debugger.md +1 -1
- package/agents/fec-doc-updater.md +1 -1
- package/agents/fec-e2e-runner.md +1 -1
- package/agents/fec-figma-implementer.md +1 -1
- package/agents/fec-performance-optimizer.md +1 -1
- package/agents/fec-refactor-cleaner.md +4 -1
- package/agents/fec-refactoring-expert.md +81 -0
- package/agents/fec-security-reviewer.md +17 -1
- package/agents/fec-test-planner.md +1 -1
- package/agents/fec-typescript-reviewer.md +25 -9
- package/agents/fec-ui-checker.md +11 -11
- package/commands/fec-debug.md +1 -1
- package/commands/fec-refactor-plan.md +17 -0
- package/commands/fec-refactor.md +18 -0
- package/commands/fec-review.md +40 -10
- package/commands/fec-scaffold.md +1 -1
- package/commands/fec-smell.md +17 -0
- package/commands/fec-tdd.md +6 -2
- package/common-content.lock.json +3795 -0
- package/dist/bin/frontend-craft.js +386 -55
- package/dist/hooks/fec-run-tests.js +5 -1
- package/dist/hooks/fec-session-start.js +1 -1
- package/docs/common-migration.md +61 -0
- package/docs/example-prompts.md +29 -12
- package/docs/ja-JP/README.md +129 -34
- package/docs/ko-KR/README.md +129 -34
- package/docs/project-structure.md +49 -14
- package/docs/refactoring/README.md +50 -0
- package/docs/refactoring/catalog.md +105 -0
- package/docs/refactoring/smell-refactoring-matrix.md +41 -0
- package/docs/review-and-diagram-workflows.md +39 -0
- package/docs/runtimes/antigravity.md +13 -5
- package/docs/runtimes/augment.md +13 -5
- package/docs/runtimes/claude.md +26 -10
- package/docs/runtimes/claude.zh-CN.md +26 -10
- package/docs/runtimes/cline.md +13 -5
- package/docs/runtimes/codebuddy.md +13 -5
- package/docs/runtimes/codex.md +13 -5
- package/docs/runtimes/compatibility.md +42 -0
- package/docs/runtimes/copilot.md +13 -5
- package/docs/runtimes/cursor.md +13 -5
- package/docs/runtimes/gemini.md +13 -5
- package/docs/runtimes/kilo.md +13 -5
- package/docs/runtimes/openclaw.md +13 -5
- package/docs/runtimes/opencode.md +13 -5
- package/docs/runtimes/qoder.md +11 -12
- package/docs/runtimes/trae.md +13 -5
- package/docs/runtimes/windsurf.md +13 -5
- package/docs/superpowers/plans/2026-09-26-content-integrity.md +145 -0
- package/docs/superpowers/plans/2026-09-26-diagram-quality.md +170 -0
- package/docs/superpowers/specs/2026-09-26-diagram-quality-design.md +77 -0
- package/docs/superpowers/specs/2026-09-26-project-optimization-design.md +95 -0
- package/docs/zh-CN/common-migration.md +57 -0
- package/docs/zh-CN/example-prompts.md +29 -12
- package/docs/zh-CN/project-structure.md +49 -11
- package/docs/zh-CN/review-and-diagram-workflows.md +39 -0
- package/docs/zh-TW/README.md +129 -34
- package/localized/zh-CN/agents/fec-code-reviewer.md +22 -3
- package/localized/zh-CN/agents/fec-refactor-cleaner.md +3 -0
- package/localized/zh-CN/agents/fec-refactoring-expert.md +53 -0
- package/localized/zh-CN/agents/fec-security-reviewer.md +16 -0
- package/localized/zh-CN/agents/fec-typescript-reviewer.md +24 -8
- package/localized/zh-CN/commands/fec-refactor-plan.md +15 -0
- package/localized/zh-CN/commands/fec-refactor.md +14 -0
- package/localized/zh-CN/commands/fec-review.md +40 -9
- package/localized/zh-CN/commands/fec-smell.md +13 -0
- package/localized/zh-CN/commands/fec-tdd.md +4 -0
- 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/cc-technical-diagrams/assets/quality-examples/architecture.json +121 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/invalid-explicit.json +41 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/sequence.json +53 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/sequence.mmd +21 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/workflow.json +98 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/workflow.mmd +7 -0
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +12 -5
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +14 -7
- package/localized/zh-CN/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-browser.mjs +153 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
- package/{skills/fec-image-generation → localized/zh-CN/skills/cc-technical-diagrams}/scripts/export-diagram.mjs +48 -80
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/mermaid-render.mjs +64 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +193 -53
- 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 +738 -72
- 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 +24 -1
- 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-code-review/references/report-template.md +11 -1
- package/localized/zh-CN/skills/fec-code-smells/SKILL.md +33 -0
- package/localized/zh-CN/skills/fec-code-smells/references/detection-guide.md +25 -0
- package/localized/zh-CN/skills/fec-code-smells/references/smell-catalog.md +817 -0
- package/localized/zh-CN/skills/fec-code-smells/references/smell-to-refactoring-map.md +265 -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 -71
- package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +9 -2
- package/localized/zh-CN/skills/fec-image-generation/scripts/diagram-layout.mjs +176 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +36 -5
- 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-refactor-clean/SKILL.md +3 -0
- package/localized/zh-CN/skills/fec-refactoring/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring/references/common/refactoring.md +16 -0
- package/localized/zh-CN/skills/fec-refactoring/references/principles.md +13 -0
- package/localized/zh-CN/skills/fec-refactoring/references/refactoring-vs-feature-change.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring/references/when-to-refactor.md +17 -0
- package/localized/zh-CN/skills/fec-refactoring/references/workflow.md +7 -0
- package/localized/zh-CN/skills/fec-refactoring-api/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md +496 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/SKILL.md +21 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/references/catalog-index.md +99 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/references/composition-guide.md +49 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/references/selection-guide.md +41 -0
- package/localized/zh-CN/skills/fec-refactoring-control/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md +299 -0
- package/localized/zh-CN/skills/fec-refactoring-data/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md +248 -0
- package/localized/zh-CN/skills/fec-refactoring-encapsulation/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md +452 -0
- package/localized/zh-CN/skills/fec-refactoring-functions/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md +567 -0
- package/localized/zh-CN/skills/fec-refactoring-inheritance/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md +550 -0
- package/localized/zh-CN/skills/fec-refactoring-move-features/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md +453 -0
- package/localized/zh-CN/skills/fec-refactoring-validation/SKILL.md +52 -0
- package/localized/zh-CN/skills/fec-refactoring-validation/references/behavior-preservation.md +15 -0
- package/localized/zh-CN/skills/fec-refactoring-validation/references/refactoring-test-checklist.md +25 -0
- package/localized/zh-CN/skills/fec-security-review/SKILL.md +20 -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-security-review/references/report-template.md +10 -0
- package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +12 -40
- 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 +2222 -626
- package/localized/zh-CN/skills/relations.json +472 -75
- package/localized/zh-CN/templates/shared/rules/fec-agent-workflow.md +1 -0
- 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 +2 -3
- package/package.json +34 -17
- 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/cc-technical-diagrams/assets/quality-examples/README.md +14 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/architecture.json +121 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/invalid-explicit.json +41 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/sequence.json +53 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/sequence.mmd +21 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/workflow.json +98 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/workflow.mmd +7 -0
- package/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +12 -5
- package/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +14 -7
- package/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
- package/skills/cc-technical-diagrams/scripts/diagram-browser.mjs +153 -0
- package/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
- package/{localized/zh-CN/skills/fec-image-generation → skills/cc-technical-diagrams}/scripts/export-diagram.mjs +48 -80
- package/skills/cc-technical-diagrams/scripts/mermaid-render.mjs +64 -0
- package/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
- package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +193 -53
- 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 +738 -72
- 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 +24 -1
- 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-code-review/references/report-template.md +11 -1
- package/skills/fec-code-smells/SKILL.md +33 -0
- package/skills/fec-code-smells/references/detection-guide.md +25 -0
- package/skills/fec-code-smells/references/smell-catalog.md +861 -0
- package/skills/fec-code-smells/references/smell-to-refactoring-map.md +265 -0
- package/skills/fec-data-fetching/SKILL.md +5 -1
- 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 -72
- package/skills/fec-image-generation/references/png-qa-autofix.md +9 -2
- package/skills/fec-image-generation/scripts/diagram-layout.mjs +176 -0
- package/skills/fec-image-generation/scripts/png-qa.mjs +36 -5
- package/skills/fec-legacy-web-standard/SKILL.md +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-refactor-clean/SKILL.md +3 -0
- package/skills/fec-refactoring/SKILL.md +25 -0
- package/skills/fec-refactoring/references/common/refactoring.md +16 -0
- package/skills/fec-refactoring/references/principles.md +13 -0
- package/skills/fec-refactoring/references/refactoring-vs-feature-change.md +27 -0
- package/skills/fec-refactoring/references/when-to-refactor.md +31 -0
- package/skills/fec-refactoring/references/workflow.md +7 -0
- package/skills/fec-refactoring-api/SKILL.md +25 -0
- package/skills/fec-refactoring-api/references/api-refactorings.md +496 -0
- package/skills/fec-refactoring-catalog/SKILL.md +28 -0
- package/skills/fec-refactoring-catalog/references/catalog-index.md +99 -0
- package/skills/fec-refactoring-catalog/references/composition-guide.md +49 -0
- package/skills/fec-refactoring-catalog/references/selection-guide.md +47 -0
- package/skills/fec-refactoring-control/SKILL.md +25 -0
- package/skills/fec-refactoring-control/references/conditional-refactorings.md +299 -0
- package/skills/fec-refactoring-data/SKILL.md +25 -0
- package/skills/fec-refactoring-data/references/data-refactorings.md +248 -0
- package/skills/fec-refactoring-encapsulation/SKILL.md +25 -0
- package/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md +452 -0
- package/skills/fec-refactoring-functions/SKILL.md +25 -0
- package/skills/fec-refactoring-functions/references/function-refactorings.md +567 -0
- package/skills/fec-refactoring-inheritance/SKILL.md +25 -0
- package/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md +550 -0
- package/skills/fec-refactoring-move-features/SKILL.md +25 -0
- package/skills/fec-refactoring-move-features/references/moving-refactorings.md +453 -0
- package/skills/fec-refactoring-validation/SKILL.md +59 -0
- package/skills/fec-refactoring-validation/references/behavior-preservation.md +53 -0
- package/skills/fec-refactoring-validation/references/refactoring-test-checklist.md +42 -0
- package/skills/fec-security-review/SKILL.md +20 -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-security-review/references/report-template.md +10 -0
- package/skills/fec-tdd-workflow/SKILL.md +14 -42
- 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 +2230 -629
- package/skills/relations.json +467 -74
- package/templates/shared/rules/fec-agent-workflow.md +1 -0
- 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/docs/superpowers/plans/2026-05-29-fec-debug.md +0 -491
- package/docs/superpowers/specs/2026-05-29-fec-debug-design.md +0 -340
- 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}/scripts/interactive-diagram-server.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}/scripts/interactive-diagram-server.mjs +0 -0
package/CONTRIBUTING.zh-CN.md
CHANGED
|
@@ -8,17 +8,23 @@
|
|
|
8
8
|
|
|
9
9
|
- Node.js >= 22,用于通用安装器与 OpenClaw 包构建。
|
|
10
10
|
- Git。
|
|
11
|
-
-
|
|
11
|
+
- pnpm 12.4.1(在 package.json 中固定);通过 npm 安装 pnpm 需要 Node.js >=22.13。已发布的插件仍支持 Node.js >=22.0.0。
|
|
12
|
+
- pnpm-lock.yaml 是唯一的依赖锁文件。pnpm-workspace.yaml 允许 esbuild 构建脚本,并显式跳过本项目未使用的可选 SDK/原生依赖安装。
|
|
13
|
+
- Windows 上请通过 Corepack(`corepack enable pnpm`)或 npm 安装 pnpm,不要使用 standalone 安装器;standalone 的 pnpm 10+ 会屏蔽安装固定版本原生二进制的 lifecycle 脚本,留下 Windows 无法执行的 shim。
|
|
14
|
+
- 本地开发前运行 `pnpm install --frozen-lockfile`。
|
|
12
15
|
|
|
13
16
|
仅修改文档时,重点阅读语言与文档策略以及 Pull Request 自检。修改 skill 或 OpenClaw 时,请在提交 PR 前参考下方对应章节。
|
|
14
17
|
|
|
15
18
|
快速自检(最小推荐):
|
|
16
19
|
|
|
17
20
|
```bash
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
pnpm lint # ESLint + 内容一致性
|
|
22
|
+
pnpm typecheck # TypeScript + Skill 脚本类型检查
|
|
23
|
+
pnpm run check:common # 公共快照只读校验
|
|
24
|
+
pnpm test # 构建 + 全部测试
|
|
25
|
+
pnpm run pack:skills # Skill 变更
|
|
26
|
+
pnpm run check:skills-publish # Skill 变更
|
|
27
|
+
pnpm run typecheck:openclaw # OpenClaw 变更
|
|
22
28
|
```
|
|
23
29
|
|
|
24
30
|
完整的场景化命令请见后文 npm scripts 与 Pull Request 自检。
|
|
@@ -48,23 +54,25 @@ npm run typecheck:openclaw # OpenClaw 变更
|
|
|
48
54
|
|
|
49
55
|
```bash
|
|
50
56
|
# 1. 安装依赖
|
|
51
|
-
|
|
57
|
+
pnpm install
|
|
52
58
|
|
|
53
59
|
# 2. 构建 dist/bin 与 dist/hooks
|
|
54
|
-
|
|
60
|
+
pnpm run build
|
|
55
61
|
|
|
56
62
|
# 3. 本地安装到指定 runtime(如 claude)
|
|
57
|
-
node dist/bin/frontend-craft.js install claude --local --dry-run # 先 dry-run 预览
|
|
58
|
-
node dist/bin/frontend-craft.js install claude --local # 实际安装
|
|
63
|
+
node dist/bin/frontend-craft.js runtime install claude --local --dry-run # 先 dry-run 预览
|
|
64
|
+
node dist/bin/frontend-craft.js runtime install claude --local # 实际安装
|
|
59
65
|
|
|
60
66
|
# 4. 安装到所有 runtime
|
|
61
|
-
node dist/bin/frontend-craft.js install --all --dry-run
|
|
67
|
+
node dist/bin/frontend-craft.js runtime install --all --dry-run
|
|
62
68
|
|
|
63
69
|
# 5. 列出所有支持的 runtime
|
|
64
70
|
node dist/bin/frontend-craft.js list
|
|
65
71
|
```
|
|
66
72
|
|
|
67
|
-
`
|
|
73
|
+
`pnpm run build` 会依次运行 `clean`、`typecheck` 和 `scripts/build-dist.ts`。本地使用 `dist/bin/frontend-craft.js` 或打包后的 hook 脚本前,请先运行它。
|
|
74
|
+
|
|
75
|
+
源码检出不支持 CLI 自身管理。使用 `node dist/bin/frontend-craft.js runtime update --dry-run` 预览包内资源更新;顶层 update/uninstall 应通过隔离的 npm/pnpm 全局安装、假包管理器及临时 HOME 验证。顶层 `--dry-run` 必须保持只读。3.0 命令迁移见 README 迁移表。
|
|
68
76
|
|
|
69
77
|
## 测试指南
|
|
70
78
|
|
|
@@ -72,7 +80,7 @@ node dist/bin/frontend-craft.js list
|
|
|
72
80
|
|
|
73
81
|
```bash
|
|
74
82
|
# 运行所有测试
|
|
75
|
-
|
|
83
|
+
pnpm test
|
|
76
84
|
|
|
77
85
|
# 运行单个测试文件
|
|
78
86
|
node --import tsx --test tests/install/cli.test.ts
|
|
@@ -93,17 +101,17 @@ node --import tsx --test tests/install/all-runtimes-dry.test.ts
|
|
|
93
101
|
FRONTEND_CRAFT_FORCE_INTERACTIVE=1 node --import tsx --test tests/install/cli.test.ts
|
|
94
102
|
```
|
|
95
103
|
|
|
96
|
-
`
|
|
104
|
+
`pnpm test` 会先运行 `pnpm run build`,再递归发现 `tests/**/*.test.ts`,通过 Node.js `node:test` 串行执行全部测试。已有构建时可使用 `pnpm run test:only`。
|
|
97
105
|
|
|
98
106
|
## OpenClaw 构建流程
|
|
99
107
|
|
|
100
108
|
OpenClaw runtime 有独立的构建管线:
|
|
101
109
|
|
|
102
110
|
```bash
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
111
|
+
pnpm run build:openclaw # 使用 esbuild 将 TypeScript 打包到 dist/openclaw/
|
|
112
|
+
pnpm run typecheck:openclaw # TypeScript 类型检查
|
|
113
|
+
pnpm run check:openclaw-dist # 验证 dist 完整性
|
|
114
|
+
pnpm run pack:openclaw # 完整构建 + 验证 + 打包
|
|
107
115
|
```
|
|
108
116
|
|
|
109
117
|
源码路径:`src/openclaw/`(TypeScript)→ `dist/openclaw/index.js`(打包后的 ESM)。
|
|
@@ -114,12 +122,12 @@ TypeScript 配置:`tsconfig.openclaw.json`。
|
|
|
114
122
|
Skill 的权威源文件位于 `skills/<skill-id>/`。不要手动修改 `skill-packages/` 下的生成产物。
|
|
115
123
|
|
|
116
124
|
```bash
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
125
|
+
pnpm run pack:skills # 为每个 skill 生成独立发布包
|
|
126
|
+
pnpm run check:skills-publish # 校验包元数据、索引和引用文件
|
|
127
|
+
pnpm run pack:all # 构建 + 测试 + OpenClaw 包 + 独立 skill 包
|
|
120
128
|
```
|
|
121
129
|
|
|
122
|
-
`
|
|
130
|
+
`pnpm run pack:skills` 会生成 `skill-packages/<skill-id>/`,其中包含 `SKILL.md`、实际引用的 `references/` 及运行所需的 scripts、assets、data、styles 等资源、`metadata.json`、`package.json`、`README.md` 和 `LICENSE`。同时会生成 `skill-packages/index.json`,供平台索引或发布自动化使用。
|
|
123
131
|
|
|
124
132
|
修改 skill 时,请保持这些源文件一致:
|
|
125
133
|
|
|
@@ -128,34 +136,41 @@ npm run pack:all # 构建 + 测试 + OpenClaw 包 + 独立 skill
|
|
|
128
136
|
- `skills/eval_queries.json` — 用于路由质量检查的正向/负向触发样例。
|
|
129
137
|
- 当公开 skill 列表或用户可见行为变化时,同步 `README.md` 和各语言 README 摘要。
|
|
130
138
|
|
|
131
|
-
##
|
|
139
|
+
## 开发 scripts
|
|
140
|
+
|
|
141
|
+
包管理器固定为 pnpm 12.4.1,唯一依赖锁文件为 pnpm-lock.yaml。通过 npm 安装 pnpm 需要 Node.js >=22.13;发布插件的运行要求仍为 Node.js >=22.0.0。使用 `pnpm install --frozen-lockfile` 安装依赖。pnpm-workspace.yaml 仅允许 esbuild 构建脚本,其余当前未使用的 SDK/原生初始化显式跳过。
|
|
142
|
+
|
|
143
|
+
`pnpm lint` 检查代码和中英文内容声明;`pnpm format:check` 只检查变更的源码与配置,不修改文件。`pnpm test` 自动发现 tests 下的所有 *.test.ts,无需手动维护清单。
|
|
132
144
|
|
|
133
145
|
请把 `package.json` scripts 作为公开的开发入口。
|
|
134
146
|
|
|
135
147
|
| Script | 用途 |
|
|
136
148
|
| ------------------------------ | -------------------------------------------------------------------------- |
|
|
137
|
-
| `
|
|
138
|
-
| `
|
|
139
|
-
| `
|
|
140
|
-
| `
|
|
141
|
-
| `
|
|
142
|
-
| `
|
|
143
|
-
| `
|
|
144
|
-
| `
|
|
145
|
-
| `
|
|
146
|
-
| `
|
|
147
|
-
| `
|
|
148
|
-
| `
|
|
149
|
-
| `
|
|
150
|
-
| `
|
|
151
|
-
| `
|
|
152
|
-
| `
|
|
149
|
+
| `pnpm run lint` | 检查代码和中英文内容声明。 |
|
|
150
|
+
| `pnpm run format:check` | 检查变更源码的格式。 |
|
|
151
|
+
| `pnpm run check:content` | 校验 YAML、名称、引用及本地化结构。 |
|
|
152
|
+
| `pnpm run clean` | 删除 `dist/`。 |
|
|
153
|
+
| `pnpm run typecheck` | 运行主项目 TypeScript 检查,并检查 skill 辅助脚本。 |
|
|
154
|
+
| `pnpm run build` | 运行 `clean`、`typecheck`,并通过 `scripts/build-dist.ts` 打包 CLI/hooks。 |
|
|
155
|
+
| `pnpm test` | 先构建,再递归发现并执行全部 `node:test` 测试。 |
|
|
156
|
+
| `pnpm run build:openclaw` | 构建主项目,然后打包 OpenClaw runtime 输出。 |
|
|
157
|
+
| `pnpm run audit:skills` | 构建后输出 skill 说明长度与描述重叠度信号。 |
|
|
158
|
+
| `pnpm run typecheck:openclaw` | 使用 `tsconfig.openclaw.json` 检查 OpenClaw 类型。 |
|
|
159
|
+
| `pnpm run check:openclaw-dist` | 校验生成的 OpenClaw dist 输出。 |
|
|
160
|
+
| `pnpm run pack:openclaw` | 构建、校验并打包 OpenClaw 插件。 |
|
|
161
|
+
| `pnpm run pack:skills` | 先构建,再在 `skill-packages/` 下生成独立 skill 包。 |
|
|
162
|
+
| `pnpm run check:skills-publish` | 先构建,再校验独立 skill 包元数据与复制文件。 |
|
|
163
|
+
| `pnpm run pack:all` | 构建、运行测试、打包 OpenClaw、打包 skills,并校验 skill 产物。 |
|
|
164
|
+
| `pnpm run sync:version` | 同步发布清单中的 package 版本元数据。 |
|
|
165
|
+
| `pnpm run version` | 运行 `sync:version` 同步版本元数据,不自动暂存文件。 |
|
|
166
|
+
| `pnpm run prepack` | 在 `npm pack` 前构建。 |
|
|
167
|
+
| `pnpm run prepublishOnly` | 在 npm publish 前同步版本并运行测试。 |
|
|
153
168
|
|
|
154
169
|
常见变更类型建议:
|
|
155
170
|
|
|
156
|
-
- Skill 变更:运行 `
|
|
157
|
-
- OpenClaw 变更:运行 `
|
|
158
|
-
- 发布打包:运行 `
|
|
171
|
+
- Skill 变更:运行 `pnpm test`、`pnpm run audit:skills`、`pnpm run pack:skills` 和 `pnpm run check:skills-publish`。
|
|
172
|
+
- OpenClaw 变更:运行 `pnpm run typecheck:openclaw` 和 `pnpm run pack:openclaw`。
|
|
173
|
+
- 发布打包:运行 `pnpm run pack:all`;`prepublishOnly` 也会在发布前执行版本同步和测试。
|
|
159
174
|
|
|
160
175
|
## 源码维护脚本
|
|
161
176
|
|
|
@@ -181,11 +196,12 @@ Hook 脚本位于 `src/hooks/`,发布时会打包到 `dist/hooks/` 供 runtime
|
|
|
181
196
|
|
|
182
197
|
| 源文件 | 打包输出 | 用途 |
|
|
183
198
|
| ---------------------------------- | ----------------------------------- | -------------- |
|
|
184
|
-
| `src/hooks/
|
|
185
|
-
| `src/hooks/
|
|
186
|
-
| `src/hooks/
|
|
187
|
-
| `src/hooks/
|
|
188
|
-
| `src/hooks/
|
|
199
|
+
| `src/hooks/cleanup-claude-cache.ts` | `dist/hooks/fec-cleanup-claude-cache.js` | 缓存清理 |
|
|
200
|
+
| `src/hooks/run-tests.ts` | `dist/hooks/fec-run-tests.js` | 测试运行辅助 |
|
|
201
|
+
| `src/hooks/format-changed-file.ts` | `dist/hooks/fec-format-changed-file.js` | 格式化变更文件 |
|
|
202
|
+
| `src/hooks/security-check.ts` | `dist/hooks/fec-security-check.js` | 安全检查 |
|
|
203
|
+
| `src/hooks/notify.ts` | `dist/hooks/fec-notify.js` | 通知脚本 |
|
|
204
|
+
| `src/hooks/session-start.ts` | `dist/hooks/fec-session-start.js` | 会话初始化 |
|
|
189
205
|
|
|
190
206
|
## 架构概览
|
|
191
207
|
|
|
@@ -281,7 +297,7 @@ description: Use when the user needs ...
|
|
|
281
297
|
4. 在 `skills/eval_queries.json` 中补充正向和负向触发样例。
|
|
282
298
|
5. 在 `README.md` 的 Skills 表格中新增一行。
|
|
283
299
|
6. 若可见目录结构变化,同步 `README.md` 与各语言 README 的目录树。
|
|
284
|
-
7. 运行 `
|
|
300
|
+
7. 运行 `pnpm test`、`pnpm run pack:skills` 和 `pnpm run check:skills-publish`。
|
|
285
301
|
|
|
286
302
|
## 如何添加 Agent
|
|
287
303
|
|
|
@@ -328,8 +344,8 @@ skills:
|
|
|
328
344
|
|
|
329
345
|
1. 更新 `hooks/hooks.json`。
|
|
330
346
|
2. 如需 runtime hook 脚本,放在 `src/hooks/` 下,并优先使用跨平台 Node.js。
|
|
331
|
-
3. 在 `scripts/build-dist.ts` 中新增对应入口,确保 `
|
|
332
|
-
4. 在 `hooks/hooks.json` 中,引用内置 hook 入口请使用 **`${CLAUDE_PLUGIN_ROOT}/dist/hooks/<script>.js`**(Claude Code 会在运行时替换根路径;见官方 [Plugins reference](https://code.claude.com/docs/en/plugins-reference))。本仓库的 Claude 安装器在将
|
|
347
|
+
3. 在 `scripts/build-dist.ts` 中新增对应入口,确保 `pnpm run build` 会将其打包到 `dist/hooks/`。
|
|
348
|
+
4. 在 `hooks/hooks.json` 中,引用内置 hook 入口请使用 **`${CLAUDE_PLUGIN_ROOT}/dist/hooks/<script>.js`**(Claude Code 会在运行时替换根路径;见官方 [Plugins reference](https://code.claude.com/docs/en/plugins-reference))。本仓库的 Claude 安装器在将 CLI 管理的 hook 条目合并到 `.claude/settings.json` 时,也会把 **`${CLAUDE_PLUGIN_ROOT}`** 及旧占位符 **`${FRONTEND_CRAFT_ROOT}`** 展开为绝对路径。
|
|
333
349
|
5. 仓库维护脚本继续放在 `scripts/`,不要在 runtime hook 配置中直接引用它们。
|
|
334
350
|
6. 更新 `README.md` 的 Hooks 表格。
|
|
335
351
|
|
|
@@ -338,13 +354,13 @@ skills:
|
|
|
338
354
|
提交 PR 前请确认:
|
|
339
355
|
|
|
340
356
|
- [ ] 变更范围清晰,描述明确。
|
|
341
|
-
- [ ] `
|
|
342
|
-
- [ ] 修改 skill 时,`
|
|
343
|
-
- [ ] 修改 OpenClaw 代码或模板时,`
|
|
357
|
+
- [ ] `pnpm test` 通过。
|
|
358
|
+
- [ ] 修改 skill 时,`pnpm run audit:skills`、`pnpm run pack:skills` 与 `pnpm run check:skills-publish` 通过。
|
|
359
|
+
- [ ] 修改 OpenClaw 代码或模板时,`pnpm run typecheck:openclaw` 与 `pnpm run pack:openclaw` 通过。
|
|
344
360
|
- [ ] 用户可见行为变化已更新 `README.md` 与 `CHANGELOG.md`(及 [CHANGELOG.zh-CN.md](CHANGELOG.zh-CN.md) 如适用)。
|
|
345
361
|
- [ ] 多语言 README 已同步,或已链接后续翻译 Issue。
|
|
346
362
|
- [ ] 新增 runtime、agent、skill、command、hook 或模板时,包含相关测试或 dry-run 覆盖。
|
|
347
|
-
- [ ] 发布打包相关变更已通过 `
|
|
363
|
+
- [ ] 发布打包相关变更已通过 `pnpm run pack:all`,或已由 `prepublishOnly` 发布门禁覆盖。
|
|
348
364
|
- [ ] 涉及安全敏感逻辑时,已按 [SECURITY.zh-CN.md](SECURITY.zh-CN.md) / [SECURITY.md](SECURITY.md) 检查。
|
|
349
365
|
|
|
350
366
|
## 代码风格
|
|
@@ -359,3 +375,9 @@ skills:
|
|
|
359
375
|
使用 [GitHub Issues](https://github.com/bovinphang/frontend-craft/issues) 提交 Bug 或功能建议。请尽量包含 runtime、操作系统、Node.js 版本、执行命令、预期行为和实际行为。
|
|
360
376
|
|
|
361
377
|
**安全敏感漏洞**不要提交公开 Issue,请按 [SECURITY.zh-CN.md](SECURITY.zh-CN.md)(或 [SECURITY.md](SECURITY.md))处理。
|
|
378
|
+
|
|
379
|
+
修改审核或图表能力时,同步各语言 README 与运行时指南中的范围默认值、自然语言示例、工具前提、QA 边界和覆盖报告要求。参见 [审核范围与技术图交付](docs/zh-CN/review-and-diagram-workflows.md).
|
|
380
|
+
|
|
381
|
+
## 公共内容维护
|
|
382
|
+
|
|
383
|
+
`cc-*` Skill 和内嵌公共方法由精确依赖 `@bovinphang/craft-common@2.0.0` 生成,禁止直接修改分发副本。先在 craft-common 修改并准备对应包,再运行 `pnpm run sync:common`,审阅 `common-content.lock.json` 与中英文快照,最后运行 `pnpm run check:common` 和 `pnpm lint`。前端领域 Skill、元数据及中文镜像仍在本仓库维护。完整目录和维护边界见[项目结构](docs/zh-CN/project-structure.md)与[公共能力迁移](docs/zh-CN/common-migration.md)。
|
package/README.md
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
+
> Release status (2026-11-09): craft-common 2.0.0 is published on npm. Frontend 3.0.0 and backend 1.0.0 remain unreleased; product versions are unchanged. Earlier preparation notes describe the pre-publication state.
|
|
4
|
+
|
|
5
|
+
|
|
3
6
|
<img src="assets/brand/frontend-craft.png" alt="frontend-craft logo" width="200" />
|
|
4
7
|
|
|
5
8
|
# frontend-craft
|
|
@@ -22,6 +25,9 @@
|
|
|
22
25
|
|
|
23
26
|
</div>
|
|
24
27
|
|
|
28
|
+
|
|
29
|
+
[Runtime compatibility and upgrade notes](docs/runtimes/compatibility.md)
|
|
30
|
+
|
|
25
31
|
---
|
|
26
32
|
|
|
27
33
|
`frontend-craft` is a **universal frontend plugin** that brings the same opinionated engineering standards to all **15 AI coding assistants** listed below:
|
|
@@ -32,7 +38,7 @@
|
|
|
32
38
|
|
|
33
39
|
Per-runtime paths and caveats live in [`docs/runtimes/`](docs/runtimes/).
|
|
34
40
|
|
|
35
|
-
It bundles **
|
|
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.
|
|
36
42
|
|
|
37
43
|
---
|
|
38
44
|
|
|
@@ -40,10 +46,10 @@ It bundles **13 specialized agents**, **45 auto-activated skills**, **8 slash co
|
|
|
40
46
|
|
|
41
47
|
| Problem | What frontend-craft does |
|
|
42
48
|
| -------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
|
|
43
|
-
| AI assistants write inconsistent, untyped, or insecure frontend code | **
|
|
49
|
+
| AI assistants write inconsistent, untyped, or insecure frontend code | **74 skills** encode team standards — auto-activated when the assistant touches matching files |
|
|
44
50
|
| Each AI tool has its own plugin format | **One CLI** installs the same rules, agents, and hooks into 15 runtimes |
|
|
45
51
|
| Design-to-code handoff is lossy | **MCP integrations** bring in richer context from Figma, Figma Desktop, Sketch, MasterGo, Pixso, and 墨刀 |
|
|
46
|
-
| Reviews are ad-hoc and shallow | **
|
|
52
|
+
| Reviews are ad-hoc and shallow | **14 agents** produce graded reports: code, security, a11y, performance, TS, UI fidelity |
|
|
47
53
|
| No one remembers to run lint/tests | **Event-driven hooks** validate on save and session end — automatically |
|
|
48
54
|
| New projects start from scratch every time | **`/fec-init`** scaffolds CLAUDE.md, rules, and settings in seconds |
|
|
49
55
|
|
|
@@ -76,7 +82,7 @@ fec setup claude --global
|
|
|
76
82
|
fec setup all --global
|
|
77
83
|
|
|
78
84
|
# 6. Preview / query
|
|
79
|
-
fec install --all --dry-run --global
|
|
85
|
+
fec runtime install --all --dry-run --global
|
|
80
86
|
fec list
|
|
81
87
|
```
|
|
82
88
|
|
|
@@ -89,17 +95,17 @@ fec list
|
|
|
89
95
|
npx @bovinphang/frontend-craft@latest
|
|
90
96
|
|
|
91
97
|
# 2. Connect the current project
|
|
92
|
-
npx @bovinphang/frontend-craft@latest install --local codex
|
|
93
|
-
npx @bovinphang/frontend-craft@latest install --local claude
|
|
94
|
-
npx @bovinphang/frontend-craft@latest install --all --local
|
|
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
|
|
95
101
|
|
|
96
102
|
# 3. Connect globally, available across all projects
|
|
97
|
-
npx @bovinphang/frontend-craft@latest install --global codex
|
|
98
|
-
npx @bovinphang/frontend-craft@latest install --global claude
|
|
99
|
-
npx @bovinphang/frontend-craft@latest install --all --global
|
|
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
|
|
100
106
|
|
|
101
107
|
# 4. Preview / query
|
|
102
|
-
npx @bovinphang/frontend-craft@latest install --all --dry-run --global
|
|
108
|
+
npx @bovinphang/frontend-craft@latest runtime install --all --dry-run --global
|
|
103
109
|
npx @bovinphang/frontend-craft@latest list
|
|
104
110
|
```
|
|
105
111
|
|
|
@@ -109,7 +115,7 @@ Use `npx` when you do not want to install a global `fec` command. Without argume
|
|
|
109
115
|
|
|
110
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.
|
|
111
117
|
|
|
112
|
-
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 `update`, `uninstall`, and `install` commands to run.
|
|
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.
|
|
113
119
|
|
|
114
120
|
Full Claude-specific steps are in [docs/runtimes/claude.md](docs/runtimes/claude.md) · [简体中文](docs/runtimes/claude.zh-CN.md).
|
|
115
121
|
|
|
@@ -134,6 +140,9 @@ You: "/fec-scaffold dashboard feature"
|
|
|
134
140
|
|
|
135
141
|
You: "/fec-refactor-clean"
|
|
136
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
|
|
137
146
|
```
|
|
138
147
|
|
|
139
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/)).
|
|
@@ -150,6 +159,9 @@ You: "Before coding, plan the account billing feature: route structure, componen
|
|
|
150
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."
|
|
151
160
|
You: "Implement the UI from Figma node 123:456. Use existing design tokens and components, match spacing and responsive states, and document assumptions."
|
|
152
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."
|
|
153
165
|
```
|
|
154
166
|
|
|
155
167
|
---
|
|
@@ -163,14 +175,31 @@ Slash commands are the primary entry points for structured workflows. Most produ
|
|
|
163
175
|
| Command | Purpose | Report |
|
|
164
176
|
| --------------------- | ---------------------------------------------------------------------- | ------------------------------------------------ |
|
|
165
177
|
| `/fec-init` | Initialize project templates (CLAUDE.md, rules, settings) | — |
|
|
166
|
-
| `/fec-review` |
|
|
178
|
+
| `/fec-review` | Review the full project by default; explicit file/directory or change scope | `code-review-*.md` |
|
|
167
179
|
| `/fec-scaffold` | Create page / feature / component boilerplate by convention | — |
|
|
168
180
|
| `/fec-plan` | Unified planning: implementation architecture or test strategy | `architecture-proposal-*.md` or `test-plan-*.md` |
|
|
169
181
|
| `/fec-tdd` | Red → green → refactor loop for frontend TDD | — |
|
|
170
182
|
| `/fec-debug` | Diagnose and fix frontend issues: build, runtime, UI, and API failures | `debug-*.md` |
|
|
171
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` |
|
|
172
187
|
| `/fec-doc-sync` | Sync READMEs, docs, env notes, scripts, API/route notes, and deploy docs | — |
|
|
173
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
|
+
|
|
174
203
|
### Skills (auto-activated)
|
|
175
204
|
|
|
176
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.
|
|
@@ -187,7 +216,7 @@ The skills below are grouped by use case so you can quickly find project standar
|
|
|
187
216
|
| `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG, composables, data fetching, middleware |
|
|
188
217
|
| `fec-vite-project-standard` | Vite config, env safety, HMR, dev proxy, build optimization |
|
|
189
218
|
| `fec-monorepo-project-standard` | pnpm workspace, Turborepo, Nx structure and task orchestration |
|
|
190
|
-
| `
|
|
219
|
+
| `cc-typescript-project-standard` | TypeScript config, public API types, declarations, DTOs, generics |
|
|
191
220
|
|
|
192
221
|
**Implementation capabilities** — activated when building specific frontend behavior:
|
|
193
222
|
|
|
@@ -218,22 +247,38 @@ The skills below are grouped by use case so you can quickly find project standar
|
|
|
218
247
|
|
|
219
248
|
| Skill | Scope |
|
|
220
249
|
| ------------------------------ | ----------------------------------------------------------------------------- |
|
|
221
|
-
| `fec-code-review` |
|
|
250
|
+
| `fec-code-review` | Correctness, maintainability, types, rendering, and verification review |
|
|
222
251
|
| `fec-debug-framework` | Systematic diagnostics for build, runtime, UI, and API/data failures |
|
|
223
|
-
| `fec-security-review` | XSS, CSRF,
|
|
252
|
+
| `fec-security-review` | Browser-side XSS, CSRF, token exposure, unsafe DOM, and third-party risks |
|
|
224
253
|
| `fec-accessibility-check` | WCAG 2.2, keyboard, focus, touch, and screen-reader behavior |
|
|
225
254
|
| `fec-dependency-upgrade` | Dependency upgrades, lockfile review, CVE remediation, migration verification |
|
|
226
255
|
| `fec-validation-fix` | Run and repair lint, type-check, test, build in one pass |
|
|
227
256
|
| `fec-performance-optimization` | Core Web Vitals, bundle, rendering, memory, network, and budget reviews |
|
|
228
257
|
| `fec-refactor-clean` | Safe dead-code, unused export, style, route, dependency cleanup |
|
|
229
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
|
+
|
|
230
275
|
**Design UI** — activated for design-to-code, design systems, and visual polish:
|
|
231
276
|
|
|
232
277
|
| Skill | Scope |
|
|
233
278
|
| ----------------------------- | ----------------------------------------------------------------------------- |
|
|
234
279
|
| `fec-ui-design` | Product-context UI direction, anti-generic design dials, media strategy, states, visual QA |
|
|
235
|
-
| `fec-image-generation` |
|
|
236
|
-
| `
|
|
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 |
|
|
237
282
|
| `fec-web-video-presentation` | Recordable 16:9 step-driven web presentations from articles, scripts, lessons, and demos |
|
|
238
283
|
| `fec-tailwind-design-system` | Tailwind tokens, theme extension, variants, class governance, dark mode |
|
|
239
284
|
| `fec-responsive-layout` | Mobile-first layouts, container queries, data-dense responsive UI |
|
|
@@ -241,6 +286,10 @@ The skills below are grouped by use case so you can quickly find project standar
|
|
|
241
286
|
| `fec-implement-from-design` | Build UI from design tools, screenshots, or section-level visual references |
|
|
242
287
|
| `fec-storybook-component-doc` | Storybook component docs, design-system presentation, isolated state previews |
|
|
243
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
|
+
|
|
244
293
|
**Legacy migration** — activated during modernization work:
|
|
245
294
|
|
|
246
295
|
| Skill | Scope |
|
|
@@ -260,7 +309,7 @@ The skills below are grouped by use case so you can quickly find project standar
|
|
|
260
309
|
| ------------------------------- | -------------------------------------------------------------------------------------- |
|
|
261
310
|
| `fec-backend-requirements-handoff` | Frontend-to-backend handoff for UI data needs, actions, states, rules, and questions |
|
|
262
311
|
| `fec-doc-sync` | Keep frontend docs in sync with code, config, scripts, routes, APIs, env, and deploy facts |
|
|
263
|
-
| `
|
|
312
|
+
| `cc-source-driven-development` | Verify version-sensitive frontend decisions against project facts and official sources |
|
|
264
313
|
|
|
265
314
|
### Agents
|
|
266
315
|
|
|
@@ -276,6 +325,7 @@ Agents are specialized sub-agents dispatched by the main assistant to handle a f
|
|
|
276
325
|
| `fec-test-planner` | Risk-to-layer matrix: static, unit, component, E2E, visual, a11y, security | `test-plan-*.md` |
|
|
277
326
|
| `fec-debugger` | Complex frontend diagnostics for build, runtime, UI, and API failures | `debug-*.md` |
|
|
278
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` |
|
|
279
329
|
| `fec-e2e-runner` | E2E authoring and runs (Playwright/Cypress), flaky quarantine, traces | `e2e-summary-*.md` |
|
|
280
330
|
| `fec-doc-updater` | Sync README, runtime docs, structure, capability tables, metadata | — |
|
|
281
331
|
| `fec-ui-checker` | Visual issue debugging and design fidelity evaluation | `ui-fidelity-review-*.md` |
|
|
@@ -291,9 +341,11 @@ Hooks run automatically on AI assistant events — no invocation needed.
|
|
|
291
341
|
| `SessionStart` | Clean Claude cache, then detect project framework and package manager |
|
|
292
342
|
| `PreToolUse(Bash)` | Block dangerous commands (`rm -rf`, force push, etc.) |
|
|
293
343
|
| `PostToolUse(Write/Edit)` | Auto-format modified files with Prettier |
|
|
294
|
-
| `Stop` | Run
|
|
344
|
+
| `Stop` | Run available validation scripts once, report failures, and block only when configured |
|
|
295
345
|
| `Notification` | Cross-platform desktop notifications (macOS / Linux / Windows) |
|
|
296
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
|
+
|
|
297
349
|
### MCP integration
|
|
298
350
|
|
|
299
351
|
Plug your AI assistant into design tools for design-to-code workflows with richer design context.
|
|
@@ -390,7 +442,7 @@ $env:MODAO_TOKEN = "your-modao-token"
|
|
|
390
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.
|
|
391
443
|
|
|
392
444
|
<details>
|
|
393
|
-
<summary>Click to see all
|
|
445
|
+
<summary>Click to see all 19 report types</summary>
|
|
394
446
|
|
|
395
447
|
| Report type | Filename pattern | Produced by |
|
|
396
448
|
| ---------------------- | -------------------------------------------- | ------------------------------------------------------------------- |
|
|
@@ -408,6 +460,9 @@ Every review, analysis, and evaluation writes a timestamped Markdown report to `
|
|
|
408
460
|
| Test plan | `test-plan-YYYY-MM-DD-HHmmss.md` | `/fec-plan`, `fec-testing-strategy`, `fec-test-planner` |
|
|
409
461
|
| Validation fix | `validation-fix-YYYY-MM-DD-HHmmss.md` | `fec-validation-fix` |
|
|
410
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` |
|
|
411
466
|
| E2E run summary | `e2e-summary-YYYY-MM-DD-HHmmss.md` | `fec-e2e-runner` (optional) |
|
|
412
467
|
| Migration plan | `migration-plan-YYYY-MM-DD-HHmmss.md` | `fec-legacy-to-modern-migration` |
|
|
413
468
|
|
|
@@ -419,33 +474,55 @@ Every review, analysis, and evaluation writes a timestamped Markdown report to `
|
|
|
419
474
|
|
|
420
475
|
## Update and Remove
|
|
421
476
|
|
|
422
|
-
|
|
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`).
|
|
423
500
|
|
|
424
|
-
###
|
|
501
|
+
### Resource update
|
|
425
502
|
|
|
426
503
|
```bash
|
|
427
|
-
fec update
|
|
428
|
-
fec update <runtime> --local
|
|
429
|
-
fec update <runtime> --global
|
|
430
|
-
fec upgrade <runtime> --global
|
|
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`
|
|
431
508
|
```
|
|
432
509
|
|
|
433
|
-
###
|
|
510
|
+
### Resource removal
|
|
434
511
|
|
|
435
512
|
```bash
|
|
436
|
-
fec uninstall
|
|
437
|
-
fec remove
|
|
438
|
-
fec uninstall <runtime>
|
|
439
|
-
fec remove <runtime>
|
|
440
|
-
fec uninstall --global
|
|
441
|
-
fec remove --local
|
|
442
|
-
fec uninstall <runtime> --dry-run
|
|
443
|
-
fec uninstall <runtime> --force
|
|
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
|
|
444
521
|
```
|
|
445
522
|
|
|
446
|
-
The CLI writes `frontend-craft.manifest.json` into the runtime directory. `update` discovers those manifests automatically when no runtime is provided and **skips files you’ve modified locally**, so customizations survive updates.
|
|
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.
|
|
447
524
|
|
|
448
|
-
`uninstall`/`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.
|
|
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.
|
|
449
526
|
|
|
450
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.
|
|
451
528
|
|
|
@@ -491,3 +568,38 @@ To disable telemetry: `DISABLE_TELEMETRY=1`. Details: [skills.sh CLI docs](https
|
|
|
491
568
|
**If frontend-craft helps your team ship better code, [give it a Star](https://github.com/bovinphang/frontend-craft).**
|
|
492
569
|
|
|
493
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.
|