@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
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# 24 种代码坏味道与重构手法速查矩阵
|
|
2
|
+
|
|
3
|
+
本矩阵基于已归一化的第 3 章坏味道关系。候选手法不是机械映射;实际选择还必须检查成因、前置条件、风险、行为契约和差异预算。
|
|
4
|
+
|
|
5
|
+
| 坏味道 | 主要/辅助候选 | 选择提示 |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| `SMELL-MYSTERIOUS-NAME`<br>神秘命名(Mysterious Name) | `RF-CHANGE-FUNCTION-DECLARATION`<br>`RF-RENAME-VARIABLE`<br>`RF-RENAME-FIELD` | 先确认“神秘命名”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
8
|
+
| `SMELL-DUPLICATED-CODE`<br>重复代码(Duplicated Code) | `RF-EXTRACT-FUNCTION`<br>`RF-SLIDE-STATEMENTS`<br>`RF-PULL-UP-METHOD` | 先确认“重复代码”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
9
|
+
| `SMELL-LONG-FUNCTION`<br>过长函数(Long Function) | `RF-EXTRACT-FUNCTION`<br>`RF-REPLACE-TEMP-WITH-QUERY`<br>`RF-INTRODUCE-PARAMETER-OBJECT`<br>`RF-PRESERVE-WHOLE-OBJECT`<br>`RF-REPLACE-FUNCTION-WITH-COMMAND`<br>`RF-DECOMPOSE-CONDITIONAL`<br>`RF-REPLACE-CONDITIONAL-WITH-POLYMORPHISM`<br>`RF-SPLIT-LOOP` | 先确认“过长函数”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
10
|
+
| `SMELL-LONG-PARAMETER-LIST`<br>过长参数列表(Long Parameter List) | `RF-REPLACE-PARAMETER-WITH-QUERY`<br>`RF-PRESERVE-WHOLE-OBJECT`<br>`RF-INTRODUCE-PARAMETER-OBJECT`<br>`RF-REMOVE-FLAG-ARGUMENT`<br>`RF-COMBINE-FUNCTIONS-INTO-CLASS` | 先确认“过长参数列表”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
11
|
+
| `SMELL-GLOBAL-DATA`<br>全局数据(Global Data) | `RF-ENCAPSULATE-VARIABLE` | 先确认“全局数据”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
12
|
+
| `SMELL-MUTABLE-DATA`<br>可变数据(Mutable Data) | `RF-ENCAPSULATE-VARIABLE`<br>`RF-SPLIT-VARIABLE`<br>`RF-SLIDE-STATEMENTS`<br>`RF-EXTRACT-FUNCTION`<br>`RF-SEPARATE-QUERY-FROM-MODIFIER`<br>`RF-REMOVE-SETTING-METHOD`<br>`RF-REPLACE-DERIVED-VARIABLE-WITH-QUERY`<br>`RF-COMBINE-FUNCTIONS-INTO-CLASS`<br>`RF-COMBINE-FUNCTIONS-INTO-TRANSFORM`<br>`RF-CHANGE-REFERENCE-TO-VALUE` | 先确认“可变数据”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
13
|
+
| `SMELL-DIVERGENT-CHANGE`<br>发散式变化(Divergent Change) | `RF-SPLIT-PHASE`<br>`RF-MOVE-FUNCTION`<br>`RF-EXTRACT-FUNCTION`<br>`RF-EXTRACT-CLASS` | 先确认“发散式变化”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
14
|
+
| `SMELL-SHOTGUN-SURGERY`<br>霰弹式修改(Shotgun Surgery) | `RF-MOVE-FUNCTION`<br>`RF-MOVE-FIELD`<br>`RF-COMBINE-FUNCTIONS-INTO-CLASS`<br>`RF-COMBINE-FUNCTIONS-INTO-TRANSFORM`<br>`RF-SPLIT-PHASE`<br>`RF-INLINE-FUNCTION`<br>`RF-INLINE-CLASS` | 先确认“霰弹式修改”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
15
|
+
| `SMELL-FEATURE-ENVY`<br>依恋情结(Feature Envy) | `RF-MOVE-FUNCTION`<br>`RF-EXTRACT-FUNCTION` | 先确认“依恋情结”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
16
|
+
| `SMELL-DATA-CLUMPS`<br>数据泥团(Data Clumps) | `RF-EXTRACT-CLASS`<br>`RF-INTRODUCE-PARAMETER-OBJECT`<br>`RF-PRESERVE-WHOLE-OBJECT` | 先确认“数据泥团”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
17
|
+
| `SMELL-PRIMITIVE-OBSESSION`<br>基本类型偏执(Primitive Obsession) | `RF-REPLACE-PRIMITIVE-WITH-OBJECT`<br>`RF-REPLACE-TYPE-CODE-WITH-SUBCLASSES`<br>`RF-REPLACE-CONDITIONAL-WITH-POLYMORPHISM`<br>`RF-EXTRACT-CLASS`<br>`RF-INTRODUCE-PARAMETER-OBJECT` | 先确认“基本类型偏执”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
18
|
+
| `SMELL-REPEATED-SWITCHES`<br>重复的 switch(Repeated Switches) | `RF-REPLACE-CONDITIONAL-WITH-POLYMORPHISM` | 先确认“重复的 switch”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
19
|
+
| `SMELL-LOOPS`<br>循环语句(Loops) | `RF-REPLACE-LOOP-WITH-PIPELINE` | 先确认“循环语句”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
20
|
+
| `SMELL-LAZY-ELEMENT`<br>冗赘的元素(Lazy Element) | `RF-INLINE-FUNCTION`<br>`RF-INLINE-CLASS`<br>`RF-COLLAPSE-HIERARCHY` | 先确认“冗赘的元素”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
21
|
+
| `SMELL-SPECULATIVE-GENERALITY`<br>夸夸其谈通用性(Speculative Generality) | `RF-COLLAPSE-HIERARCHY`<br>`RF-INLINE-FUNCTION`<br>`RF-INLINE-CLASS`<br>`RF-CHANGE-FUNCTION-DECLARATION`<br>`RF-REMOVE-DEAD-CODE` | 先确认“夸夸其谈通用性”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
22
|
+
| `SMELL-TEMPORARY-FIELD`<br>临时字段(Temporary Field) | `RF-EXTRACT-CLASS`<br>`RF-MOVE-FUNCTION`<br>`RF-INTRODUCE-SPECIAL-CASE` | 先确认“临时字段”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
23
|
+
| `SMELL-MESSAGE-CHAINS`<br>过长的消息链(Message Chains) | `RF-HIDE-DELEGATE`<br>`RF-EXTRACT-FUNCTION`<br>`RF-MOVE-FUNCTION` | 先确认“过长的消息链”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
24
|
+
| `SMELL-MIDDLE-MAN`<br>中间人(Middle Man) | `RF-REMOVE-MIDDLE-MAN`<br>`RF-INLINE-FUNCTION`<br>`RF-REPLACE-SUPERCLASS-WITH-DELEGATE`<br>`RF-REPLACE-SUBCLASS-WITH-DELEGATE` | 先确认“中间人”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
25
|
+
| `SMELL-INSIDER-TRADING`<br>内幕交易(Insider Trading) | `RF-MOVE-FUNCTION`<br>`RF-MOVE-FIELD`<br>`RF-HIDE-DELEGATE`<br>`RF-REPLACE-SUBCLASS-WITH-DELEGATE`<br>`RF-REPLACE-SUPERCLASS-WITH-DELEGATE` | 先确认“内幕交易”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
26
|
+
| `SMELL-LARGE-CLASS`<br>过大的类(Large Class) | `RF-EXTRACT-CLASS`<br>`RF-EXTRACT-SUPERCLASS`<br>`RF-REPLACE-TYPE-CODE-WITH-SUBCLASSES` | 先确认“过大的类”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
27
|
+
| `SMELL-ALTERNATIVE-CLASSES-DIFFERENT-INTERFACES`<br>异曲同工的类(Alternative Classes with Different Interfaces) | `RF-CHANGE-FUNCTION-DECLARATION`<br>`RF-MOVE-FUNCTION`<br>`RF-EXTRACT-SUPERCLASS` | 先确认“异曲同工的类”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
28
|
+
| `SMELL-DATA-CLASS`<br>纯数据类(Data Class) | `RF-ENCAPSULATE-RECORD`<br>`RF-REMOVE-SETTING-METHOD`<br>`RF-MOVE-FUNCTION`<br>`RF-EXTRACT-FUNCTION`<br>`RF-SPLIT-PHASE` | 先确认“纯数据类”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
29
|
+
| `SMELL-REFUSED-BEQUEST`<br>被拒绝的遗赠(Refused Bequest) | `RF-PUSH-DOWN-METHOD`<br>`RF-PUSH-DOWN-FIELD`<br>`RF-REPLACE-SUBCLASS-WITH-DELEGATE`<br>`RF-REPLACE-SUPERCLASS-WITH-DELEGATE` | 先确认“被拒绝的遗赠”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
30
|
+
| `SMELL-COMMENTS`<br>注释(Comments) | `RF-EXTRACT-FUNCTION`<br>`RF-CHANGE-FUNCTION-DECLARATION`<br>`RF-INTRODUCE-ASSERTION` | 先确认“注释”的真实成因,再从符合当前数据所有权、行为契约和前置条件的手法中选择最小安全变化。 |
|
|
31
|
+
|
|
32
|
+
## 误判保护
|
|
33
|
+
|
|
34
|
+
- 行数本身不能证明“过长函数”或“过大的类”;
|
|
35
|
+
- 单个 `switch` 不能证明“重复的 switch”;
|
|
36
|
+
- `filter().map().reduce()` 之类数据管道不自动等同于“过长的消息链”;
|
|
37
|
+
- 注释本身不是缺陷,不能仅因 `Comments` 是坏味道类别就删除注释;
|
|
38
|
+
- 不可变 DTO/中转数据可以合理保持为数据型结构;
|
|
39
|
+
- React/Vue 声明式组合不自动等同于“中间人”或“过长的消息链”。
|
|
40
|
+
|
|
41
|
+
详细诊断规则见 [`fec-code-smells`](../../localized/zh-CN/skills/fec-code-smells/references/detection-guide.md)。
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Review scope and technical diagram delivery
|
|
2
|
+
|
|
3
|
+
These conventions apply to the installed capabilities across runtimes. Use natural-language requests; review modes are not installer CLI flags.
|
|
4
|
+
|
|
5
|
+
## Review scope
|
|
6
|
+
|
|
7
|
+
`fec-code-reviewer`, `fec-typescript-reviewer`, `fec-security-reviewer`, `fec-code-review`, `fec-security-review`, and `/fec-review` follow the same scope rules:
|
|
8
|
+
|
|
9
|
+
| Request | Scope | Report conclusion |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| No scope, including bare `/fec-review` | Entire project, even when Git changes exist | Risk assessment |
|
|
12
|
+
| A file or directory | All existing code in that scope, including unchanged code | Scope risk assessment |
|
|
13
|
+
| Explicit recent changes, PR, or commit | Requested diff and necessary context | Merge recommendation |
|
|
14
|
+
|
|
15
|
+
Full and targeted reviews do not require a Git diff. An explicit incremental review with no changes reports that fact without expanding its scope. Reviewers keep their frontend, TypeScript, or security specialty; this does not certify a backend security audit.
|
|
16
|
+
|
|
17
|
+
For project reviews, inventory owned frontend code, related tests, configuration, and dependency declarations, then review modules in batches. Exclude dependencies, generated files, build outputs, caches, and third-party code by default. Reports record mode, target scope, reviewed scope, exclusions, uncovered modules, and validation results. Mark incomplete reviews as partial and merge findings with the same root cause. Reading callers or running static checks does not count as manually reviewing those files. Report only unless fixes are explicitly requested.
|
|
18
|
+
|
|
19
|
+
Examples: “Review the project”; “Review all code in `src/features/`”; “Review `src/components/Button.tsx`”; “Review only the recent changes.” Automatic review after edits must explicitly pass the current change scope.
|
|
20
|
+
|
|
21
|
+
## Technical diagrams
|
|
22
|
+
|
|
23
|
+
Use `cc-technical-diagrams` for sequence diagrams and workflows with local Mermaid where available; use `cc-drawio-studio` for editable architecture diagrams. Use the JSON/HTML renderer when these tools are unavailable. Keep technical relationships and labels in editable source rather than relying on raster image generation for exact structure.
|
|
24
|
+
|
|
25
|
+
The Mermaid adapter uses an installed CLI only; it does not download packages. PNG export requires a local Chromium browser, with `FEC_BROWSER_PATH` available for an explicit executable. Missing tools must be reported rather than claimed as successful exports.
|
|
26
|
+
|
|
27
|
+
For the JSON/HTML route, render the source, export PNG with a browser-measured manifest at the same scale, run QA, and inspect the final image:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
node skills/cc-technical-diagrams/scripts/tech-diagram-render.mjs --input skills/cc-technical-diagrams/assets/quality-examples/workflow.json --type workflow --output workflow.html --manifest workflow.layout.json
|
|
31
|
+
node skills/cc-technical-diagrams/scripts/export-diagram.mjs --input workflow.html --format png --output workflow.png --theme light --scale 2 --manifest workflow.layout.json --output-manifest workflow.actual.json
|
|
32
|
+
node skills/cc-technical-diagrams/scripts/png-qa.mjs --png workflow.png --manifest workflow.actual.json --format json
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Preserve complete Unicode labels, explicit geometry, edge direction, sequence order, and self calls. Keep exported SVG styles self-contained. Geometry QA and browser measurement support visual inspection; neither proves semantic correctness nor completes a human visual review. Missing measurements or partial coverage must be disclosed. Repair the editable source for at most two automatic rounds, then report unresolved defects.
|
|
36
|
+
|
|
37
|
+
Deliver editable source, the requested export, and QA/coverage results. See [reproducible examples](../skills/cc-technical-diagrams/assets/quality-examples/README.md), [diagram workflows](../skills/cc-technical-diagrams/references/diagram-workflows.md), and [PNG QA](../skills/cc-technical-diagrams/references/png-qa-autofix.md).
|
|
38
|
+
|
|
39
|
+
[简体中文](zh-CN/review-and-diagram-workflows.md)
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
# frontend-craft:
|
|
2
|
-
|
|
3
|
-
See root README **Universal Install** and run:
|
|
1
|
+
# frontend-craft: Antigravity
|
|
4
2
|
|
|
5
3
|
```bash
|
|
6
|
-
|
|
4
|
+
fec setup antigravity
|
|
5
|
+
fec setup antigravity --global
|
|
6
|
+
fec doctor antigravity --local
|
|
7
|
+
fec doctor antigravity --global
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Without a global CLI installation, use `npx @bovinphang/frontend-craft runtime install antigravity --local` or `--global`.
|
|
11
|
+
|
|
12
|
+
Project skills retain backward-compatible `.agent/skills`; the current IDE/2.0 user base is `~/.gemini/config`, so skills go in `~/.gemini/config/skills`. For Antigravity CLI set `ANTIGRAVITY_CONFIG_DIR` to `~/.gemini/antigravity-cli` before global installation. The override selects one product scope; this adapter does not install plugins or hooks. After upgrading an old default global install, run `fec setup antigravity --global`; the old `~/.gemini/antigravity` files are preserved.
|
|
13
|
+
|
|
14
|
+
The capability matrix describes what frontend-craft installs, not every feature offered by the host. `doctor` checks installation artifacts; it does not launch the host or certify a release version.
|
|
15
|
+
|
|
16
|
+
[Official reference](https://antigravity.google/docs/skills) · [Compatibility and upgrade notes](compatibility.md)
|
|
10
17
|
|
|
18
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
package/docs/runtimes/augment.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
# frontend-craft:
|
|
2
|
-
|
|
3
|
-
See root README **Universal Install** and run:
|
|
1
|
+
# frontend-craft: Augment
|
|
4
2
|
|
|
5
3
|
```bash
|
|
6
|
-
|
|
4
|
+
fec setup augment
|
|
5
|
+
fec setup augment --global
|
|
6
|
+
fec doctor augment --local
|
|
7
|
+
fec doctor augment --global
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Without a global CLI installation, use `npx @bovinphang/frontend-craft runtime install augment --local` or `--global`.
|
|
11
|
+
|
|
12
|
+
Skills use `.augment/skills` or `~/.augment/skills` (`AUGMENT_CONFIG_DIR` override). The adapter currently installs skills only. Native agents, rules, hooks and MCP support in Augment do not imply that this adapter installs those capabilities.
|
|
13
|
+
|
|
14
|
+
The capability matrix describes what frontend-craft installs, not every feature offered by the host. `doctor` checks installation artifacts; it does not launch the host or certify a release version.
|
|
15
|
+
|
|
16
|
+
[Official reference](https://docs.augmentcode.com/cli/skills) · [Compatibility and upgrade notes](compatibility.md)
|
|
10
17
|
|
|
18
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
package/docs/runtimes/claude.md
CHANGED
|
@@ -5,16 +5,18 @@ Recommended path for most Claude Code users: install through **Claude Code Marke
|
|
|
5
5
|
Use the CLI only when you need cross-runtime installation, offline/scripted file copies, or a non-Marketplace environment:
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npx @bovinphang/frontend-craft@latest install --local claude
|
|
8
|
+
npx @bovinphang/frontend-craft@latest runtime install --local claude
|
|
9
9
|
# or
|
|
10
|
-
npx @bovinphang/frontend-craft@latest install --global claude
|
|
10
|
+
npx @bovinphang/frontend-craft@latest runtime install --global claude
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
> **Non-interactive:** append `--local` or `--global` to skip install-location prompts. See the repository README **Universal Install** for interactive vs. scripted behavior.
|
|
14
14
|
|
|
15
15
|
Choose one active source of truth for the same Claude scope: Marketplace/native plugin, CLI install, or `--plugin-dir`. They can technically coexist, but running multiple complete copies in the same Claude session can duplicate commands, skills, agents, and hooks.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
In CLI 3.0, top-level `fec update` upgrades a supported npm/pnpm global CLI and then refreshes its managed resources. Use the `runtime` group below for resource-only operations; `runtime update` uses the running package contents without fetching a newer package. Top-level `fec uninstall` removes the CLI itself; `fec runtime uninstall claude --local` (or `--global`) removes the managed Claude resources. See the [3.0 migration table](../../README.md#update-and-remove).
|
|
18
|
+
|
|
19
|
+
The CLI enforces this for Marketplace installs: if Claude Code Marketplace already manages `frontend-craft`, `frontend-craft runtime install/update claude` stops and tells you to update through Marketplace instead. `--force` does not override a Marketplace install.
|
|
18
20
|
|
|
19
21
|
---
|
|
20
22
|
|
|
@@ -63,9 +65,17 @@ After initialization, customize for your project:
|
|
|
63
65
|
### Step 3: Start using
|
|
64
66
|
|
|
65
67
|
```bash
|
|
66
|
-
#
|
|
68
|
+
# Full project review by default (outputs to reports/code-review-*.md)
|
|
67
69
|
/fec-review
|
|
68
70
|
|
|
71
|
+
# Explicit change review
|
|
72
|
+
/fec-review review recent changes
|
|
73
|
+
|
|
74
|
+
# Specify a file, directory or entire project (natural language, not CLI flags)
|
|
75
|
+
/fec-review review src/components/Button.tsx
|
|
76
|
+
/fec-review review src/features/
|
|
77
|
+
/fec-review review the entire project
|
|
78
|
+
|
|
69
79
|
# Create page/feature/component by convention
|
|
70
80
|
/fec-scaffold page UserDetail
|
|
71
81
|
/fec-scaffold component DataTable
|
|
@@ -110,13 +120,13 @@ Clone the repo and load via `--plugin-dir` (no install, suitable for development
|
|
|
110
120
|
```bash
|
|
111
121
|
git clone https://github.com/bovinphang/frontend-craft.git
|
|
112
122
|
cd frontend-craft
|
|
113
|
-
|
|
114
|
-
|
|
123
|
+
pnpm install --frozen-lockfile
|
|
124
|
+
pnpm run build
|
|
115
125
|
cd ..
|
|
116
126
|
claude --plugin-dir ./frontend-craft
|
|
117
127
|
```
|
|
118
128
|
|
|
119
|
-
When using `--plugin-dir` for development, run `
|
|
129
|
+
When using `--plugin-dir` for development, run `pnpm run build` after changing hook or CLI sources because Claude executes the compiled files under `dist/`. Disable or avoid a Marketplace install of the same plugin in that session so you know which copy is running.
|
|
120
130
|
|
|
121
131
|
### Option 4: Git Submodule (project-level sharing)
|
|
122
132
|
|
|
@@ -165,13 +175,19 @@ For Git submodule installs:
|
|
|
165
175
|
git submodule update --remote .claude/plugins/frontend-craft
|
|
166
176
|
```
|
|
167
177
|
|
|
168
|
-
**CLI installs:** re-run `npx @bovinphang/frontend-craft@latest update claude --local` or `... --global` for the same scope, and read [CHANGELOG.md](../../CHANGELOG.md) for release notes. If Claude Code Marketplace is already installed, the CLI refuses Claude install/update and prints the Marketplace update path. If the opposite CLI scope is already installed, interactive terminals ask whether to keep that source updated or uninstall it before switching; non-interactive terminals print the exact commands to run.
|
|
178
|
+
**CLI installs:** re-run `npx @bovinphang/frontend-craft@latest runtime update claude --local` or `... --global` for the same scope, and read [CHANGELOG.md](../../CHANGELOG.md) for release notes. If Claude Code Marketplace is already installed, the CLI refuses Claude install/update and prints the Marketplace update path. If the opposite CLI scope is already installed, interactive terminals ask whether to keep that source updated or uninstall it before switching; non-interactive terminals print the exact commands to run.
|
|
169
179
|
|
|
170
180
|
```bash
|
|
171
|
-
npx @bovinphang/frontend-craft@latest update claude --global
|
|
172
|
-
npx @bovinphang/frontend-craft@latest update claude --local
|
|
181
|
+
npx @bovinphang/frontend-craft@latest runtime update claude --global
|
|
182
|
+
npx @bovinphang/frontend-craft@latest runtime update claude --local
|
|
173
183
|
```
|
|
174
184
|
|
|
175
185
|
---
|
|
176
186
|
|
|
177
187
|
**Other languages:** [简体中文](claude.zh-CN.md)
|
|
188
|
+
|
|
189
|
+
## CLI compatibility update
|
|
190
|
+
|
|
191
|
+
CLI hooks are merged into `settings.json`, preserving unrelated settings. Malformed JSON stops installation. Native Marketplace plugins continue to use `hooks/hooks.json`. See [compatibility and upgrade notes](compatibility.md).
|
|
192
|
+
|
|
193
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
|
@@ -5,16 +5,18 @@
|
|
|
5
5
|
仅当你需要跨运行时安装、离线/脚本化复制文件,或处在非 Marketplace 环境时,再使用 CLI:
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npx @bovinphang/frontend-craft@latest install --local claude
|
|
8
|
+
npx @bovinphang/frontend-craft@latest runtime install --local claude
|
|
9
9
|
# 或
|
|
10
|
-
npx @bovinphang/frontend-craft@latest install --global claude
|
|
10
|
+
npx @bovinphang/frontend-craft@latest runtime install --global claude
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
> **非交互场景:** 请加上 `--local` 或 `--global`,避免询问安装位置。交互与脚本行为说明见根目录 README **通用安装**。
|
|
14
14
|
|
|
15
15
|
同一个 Claude 作用域请只选择一个激活来源:Marketplace/原生插件、CLI 安装或 `--plugin-dir`。它们技术上可以共存,但不推荐在同一个 Claude 会话里同时启用多份完整插件,否则 commands、skills、agents 与 hooks 可能重复。
|
|
16
16
|
|
|
17
|
-
CLI
|
|
17
|
+
CLI 3.0 的顶层 `fec update` 会升级受支持的 npm/pnpm 全局 CLI,再刷新其托管资源。仅操作资源请使用下述 `runtime` 分组;`runtime update` 只使用当前包内容,不获取新版包。顶层 `fec uninstall` 卸载 CLI 本体;`fec runtime uninstall claude --local`(或 `--global`)移除托管的 Claude 资源。迁移表见 [README](../../README.zh-CN.md)。
|
|
18
|
+
|
|
19
|
+
CLI 会对 Marketplace 安装执行单一来源保护:如果已经由 Claude Code Marketplace 管理 `frontend-craft`,`frontend-craft runtime install/update claude` 会停止,并提示改用 Marketplace 更新。`--force` 不会覆盖 Marketplace 安装。
|
|
18
20
|
|
|
19
21
|
---
|
|
20
22
|
|
|
@@ -61,9 +63,17 @@ Marketplace 条目会从已发布的 npm 包解析插件;npm 包中包含 Clau
|
|
|
61
63
|
### 第三步:开始使用
|
|
62
64
|
|
|
63
65
|
```bash
|
|
64
|
-
#
|
|
66
|
+
# 默认全项目审核(输出到 reports/code-review-*.md)
|
|
65
67
|
/fec-review
|
|
66
68
|
|
|
69
|
+
# 明确增量审核
|
|
70
|
+
/fec-review 审核最近改动
|
|
71
|
+
|
|
72
|
+
# 指定文件、目录或全项目(自然语言范围,不是 CLI 参数)
|
|
73
|
+
/fec-review 审核 src/components/Button.tsx
|
|
74
|
+
/fec-review 审核 src/features/
|
|
75
|
+
/fec-review 审核整个项目
|
|
76
|
+
|
|
67
77
|
# 按规范创建页面/功能/组件
|
|
68
78
|
/fec-scaffold page UserDetail
|
|
69
79
|
/fec-scaffold component DataTable
|
|
@@ -108,13 +118,13 @@ Marketplace 条目会从已发布的 npm 包解析插件;npm 包中包含 Clau
|
|
|
108
118
|
```bash
|
|
109
119
|
git clone https://github.com/bovinphang/frontend-craft.git
|
|
110
120
|
cd frontend-craft
|
|
111
|
-
|
|
112
|
-
|
|
121
|
+
pnpm install --frozen-lockfile
|
|
122
|
+
pnpm run build
|
|
113
123
|
cd ..
|
|
114
124
|
claude --plugin-dir ./frontend-craft
|
|
115
125
|
```
|
|
116
126
|
|
|
117
|
-
使用 `--plugin-dir` 做开发调试时,修改 hooks 或 CLI 源码后需要重新执行 `
|
|
127
|
+
使用 `--plugin-dir` 做开发调试时,修改 hooks 或 CLI 源码后需要重新执行 `pnpm run build`,因为 Claude 会运行 `dist/` 下的已编译文件。请避免在同一会话里同时启用 Marketplace 版本,这样才能确定当前运行的是哪一份代码。
|
|
118
128
|
|
|
119
129
|
### 选项 4:Git Submodule(项目内共享)
|
|
120
130
|
|
|
@@ -163,13 +173,19 @@ claude --plugin-dir .claude/plugins/frontend-craft
|
|
|
163
173
|
git submodule update --remote .claude/plugins/frontend-craft
|
|
164
174
|
```
|
|
165
175
|
|
|
166
|
-
**CLI 安装:** 对同一作用域执行 `npx @bovinphang/frontend-craft@latest update claude --local` 或 `... --global`,版本说明见 [CHANGELOG.zh-CN.md](../../CHANGELOG.zh-CN.md) 或 [CHANGELOG.md](../../CHANGELOG.md)。如果已经检测到 Claude Code Marketplace 安装,CLI 会拒绝 Claude install/update,并提示通过 Marketplace 更新。如果另一个 CLI 作用域已安装,交互式终端会询问是保持该来源并更新,还是卸载后切换;非交互终端会打印可执行命令。
|
|
176
|
+
**CLI 安装:** 对同一作用域执行 `npx @bovinphang/frontend-craft@latest runtime update claude --local` 或 `... --global`,版本说明见 [CHANGELOG.zh-CN.md](../../CHANGELOG.zh-CN.md) 或 [CHANGELOG.md](../../CHANGELOG.md)。如果已经检测到 Claude Code Marketplace 安装,CLI 会拒绝 Claude install/update,并提示通过 Marketplace 更新。如果另一个 CLI 作用域已安装,交互式终端会询问是保持该来源并更新,还是卸载后切换;非交互终端会打印可执行命令。
|
|
167
177
|
|
|
168
178
|
```bash
|
|
169
|
-
npx @bovinphang/frontend-craft@latest update claude --global
|
|
170
|
-
npx @bovinphang/frontend-craft@latest update claude --local
|
|
179
|
+
npx @bovinphang/frontend-craft@latest runtime update claude --global
|
|
180
|
+
npx @bovinphang/frontend-craft@latest runtime update claude --local
|
|
171
181
|
```
|
|
172
182
|
|
|
173
183
|
---
|
|
174
184
|
|
|
175
185
|
**English:** [claude.md](claude.md)
|
|
186
|
+
|
|
187
|
+
## CLI 兼容性更新
|
|
188
|
+
|
|
189
|
+
CLI 安装会将 hooks 合并到 `settings.json`,保留其他用户配置;无效 JSON 会阻止安装。原生 Marketplace 插件继续使用 `hooks/hooks.json`。参见[兼容性与升级说明](compatibility.md)。
|
|
190
|
+
|
|
191
|
+
审核默认覆盖全项目;指定文件或目录时审核全部现有代码,仅明确要求改动 / PR / 提交时增量审核。技术图使用结构化源文件,PNG 导出需本地浏览器并报告 QA 覆盖情况。详见[审核范围与技术图交付](../zh-CN/review-and-diagram-workflows.md)。
|
package/docs/runtimes/cline.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
# frontend-craft:
|
|
2
|
-
|
|
3
|
-
See root README **Universal Install** and run:
|
|
1
|
+
# frontend-craft: Cline
|
|
4
2
|
|
|
5
3
|
```bash
|
|
6
|
-
|
|
4
|
+
fec setup cline
|
|
5
|
+
fec setup cline --global
|
|
6
|
+
fec doctor cline --local
|
|
7
|
+
fec doctor cline --global
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Without a global CLI installation, use `npx @bovinphang/frontend-craft runtime install cline --local` or `--global`.
|
|
11
|
+
|
|
12
|
+
Project rules: `.clinerules/frontend-craft.md`, preserving other files in the directory. An existing legacy `.clinerules` file is backed up as `.clinerules.frontend-craft-backup` and copied into `.clinerules/legacy.md` before installing the new bundle. An existing backup stops migration to avoid overwriting it. Global rules: `~/Documents/Cline/Rules/frontend-craft.md`. Set `CLINE_CONFIG_DIR` to the parent of your actual `Rules` directory when Documents is redirected or Cline uses a different location. Manifest-tracked old default `~/.cline` installs are copied to the new location on install/update; originals and user edits are preserved.
|
|
13
|
+
|
|
14
|
+
The capability matrix describes what frontend-craft installs, not every feature offered by the host. `doctor` checks installation artifacts; it does not launch the host or certify a release version.
|
|
15
|
+
|
|
16
|
+
[Official reference](https://docs.cline.bot/customization/cline-rules) 路 [Compatibility and upgrade notes](compatibility.md)
|
|
10
17
|
|
|
18
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
# frontend-craft:
|
|
2
|
-
|
|
3
|
-
See root README **Universal Install** and run:
|
|
1
|
+
# frontend-craft: CodeBuddy
|
|
4
2
|
|
|
5
3
|
```bash
|
|
6
|
-
|
|
4
|
+
fec setup codebuddy
|
|
5
|
+
fec setup codebuddy --global
|
|
6
|
+
fec doctor codebuddy --local
|
|
7
|
+
fec doctor codebuddy --global
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Without a global CLI installation, use `npx @bovinphang/frontend-craft runtime install codebuddy --local` or `--global`.
|
|
11
|
+
|
|
12
|
+
Skills use `.codebuddy/skills` or `~/.codebuddy/skills` (`CODEBUDDY_CONFIG_DIR` override). This adapter installs skills only; commands, agents, hooks and MCP supported by the product are separate integration opportunities.
|
|
13
|
+
|
|
14
|
+
The capability matrix describes what frontend-craft installs, not every feature offered by the host. `doctor` checks installation artifacts; it does not launch the host or certify a release version.
|
|
15
|
+
|
|
16
|
+
[Official reference](https://www.codebuddy.ai/docs/cli/skills) · [Compatibility and upgrade notes](compatibility.md)
|
|
10
17
|
|
|
18
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
package/docs/runtimes/codex.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
# frontend-craft:
|
|
2
|
-
|
|
3
|
-
See root README **Universal Install** and run:
|
|
1
|
+
# frontend-craft: Codex
|
|
4
2
|
|
|
5
3
|
```bash
|
|
6
|
-
|
|
4
|
+
fec setup codex
|
|
5
|
+
fec setup codex --global
|
|
6
|
+
fec doctor codex --local
|
|
7
|
+
fec doctor codex --global
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Without a global CLI installation, use `npx @bovinphang/frontend-craft runtime install codex --local` or `--global`.
|
|
11
|
+
|
|
12
|
+
Project skills: `.agents/skills`; user skills: `~/.agents/skills`. Agents: `.codex/agents/*.toml` or `$CODEX_HOME/agents`. Existing `config.toml` is preserved. New agents inherit the session model and reasoning effort; edited agent files are preserved by `fec runtime update`. Hooks and active MCP configuration are not installed by this adapter.
|
|
13
|
+
|
|
14
|
+
The capability matrix describes what frontend-craft installs, not every feature offered by the host. `doctor` checks installation artifacts; it does not launch the host or certify a release version.
|
|
15
|
+
|
|
16
|
+
[Official reference](https://learn.chatgpt.com/docs/agent-configuration/subagents) · [Compatibility and upgrade notes](compatibility.md)
|
|
10
17
|
|
|
18
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Runtime compatibility and upgrades
|
|
2
|
+
|
|
3
|
+
The adapters install different capability subsets. Run `fec matrix` for the project-level inventory and read the runtime-specific page for global differences. A successful install or doctor result proves the expected artifacts exist, not that every host feature is integrated or a particular release was tested interactively.
|
|
4
|
+
|
|
5
|
+
## CLI 3.0 command migration
|
|
6
|
+
|
|
7
|
+
Use `fec runtime install/update/uninstall [runtime]` for managed resources, including npx examples (`npx @bovinphang/frontend-craft@latest runtime update`). Resource flags and the `runtime upgrade/remove` aliases remain available; `setup` remains supported and top-level `install` is deprecated.
|
|
8
|
+
|
|
9
|
+
Top-level `fec update/upgrade` now upgrades a verified npm/pnpm global CLI to registry `latest`, then refreshes resources in the current project and user-global scope with the new version. Top-level `fec uninstall/remove` removes only the CLI; `--purge` first cleans managed resources while preserving user edits. It requires terminal confirmation or non-interactive `--yes`. `--dry-run` is read-only. Old runtime arguments and resource flags on these top-level commands are rejected before changes.
|
|
10
|
+
|
|
11
|
+
`runtime update` uses the running CLI package without fetching a new one. Temporary npx runs never create a global install and cannot self-uninstall; use the latest-package runtime command when an npx update reports a version mismatch. CLI upgrade failure stops refresh; partial resource failure is reported without CLI rollback. Other projects and Marketplace installs are not scanned or managed. Source links, project dependencies, unknown sources and pnpm groups shared with other packages are refused for automatic self-management.
|
|
12
|
+
|
|
13
|
+
## Updating existing installations
|
|
14
|
+
|
|
15
|
+
Use `fec runtime update <runtime> --local` or `--global` with the new CLI. Updates preserve manifest-tracked files changed by the user. Fresh installs retain existing Codex configuration and context files. Merge any missing rule imports into existing Gemini context files manually.
|
|
16
|
+
|
|
17
|
+
Unchanged manifest-owned legacy command paths are retired when replacements are installed for OpenCode, Kilo, Copilot, Gemini, OpenClaw and global Windsurf. Unknown or edited old files are preserved. Files that remain in old directories stay tracked for a later uninstall. Claude CLI hooks now live in settings.json; the original native Marketplace packaging stays unchanged.
|
|
18
|
+
|
|
19
|
+
Antigravity and Cline global defaults changed. Run `fec setup antigravity --global` / `fec setup cline --global` to copy manifest-tracked files to the current destination before updating; user edits and old originals are preserved. `fec runtime update --global` also discovers these legacy installations. For product-specific or redirected directories, use the documented runtime configuration-directory environment variable. It is an installer override; configure the host consistently too.
|
|
20
|
+
|
|
21
|
+
Shared Claude/Qoder settings are never owned as a whole file. The manifest records installed hook entries, so uninstall removes only exact matching entries and preserves other settings. A user-modified hook entry is preserved; remove it manually if it still refers to a script you uninstall. Malformed settings stop the operation rather than being replaced. Keep the install manifest for safe updates and uninstall.
|
|
22
|
+
|
|
23
|
+
## Scope differences
|
|
24
|
+
|
|
25
|
+
- Copilot project installs provide IDE prompt files and path-specific instructions. Global installs provide CLI user instructions, not IDE global prompts.
|
|
26
|
+
- Kilo targets the current CLI discovery contract. Antigravity defaults to its IDE/2.0 global directory; its CLI uses a different override.
|
|
27
|
+
- OpenClaw project installs require the agent workspace as the working directory. Native plugin packaging is separate from the universal installer.
|
|
28
|
+
- Cursor, Augment and CodeBuddy keep their existing supported capability subsets. New host features are not automatically installed.
|
|
29
|
+
- Codex agents inherit the selected model and reasoning effort. Older manually edited TOML files remain untouched by update; remove their model overrides yourself if you want inheritance.
|
|
30
|
+
|
|
31
|
+
## Verification
|
|
32
|
+
|
|
33
|
+
Regression tests exercise artifact discovery paths, metadata, existing settings, repeated installation and uninstall behavior. `pnpm test` runs the package's build, type checks and test suite. `pnpm run typecheck:openclaw` and `pnpm run pack:openclaw` verify the separate native package. Full host-session tests require the corresponding installed product and account.
|
|
34
|
+
|
|
35
|
+
Review scope and diagram delivery rules are shared across adapters; installed artifacts do not guarantee that local Mermaid or a Chromium browser is available. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
|
36
|
+
# 3.0 公共能力说明
|
|
37
|
+
|
|
38
|
+
公共 Skill 使用 `cc-*`,由固定版本的 craft-common 随产品提供。CLI 按实际 Skill 目录记录公共所有权,而不是按配置目录猜测:Codex 使用项目或用户目录下的 `.agents/skills`;OpenClaw 本地使用项目 `skills`;其他支持标准 Skill 的适配器使用其现有 Skill 目标。
|
|
39
|
+
|
|
40
|
+
同一真实目标的消费者必须使用一致的公共版本、语言与内容摘要。公共账本位于目标父目录的 `craft-manifests/<目标摘要>/`;产品清单保存依赖指针并继续独立管理 `fec-*` 文件。卸载一个产品保留其他消费者引用,最后退出时也只回收未修改的公共文件。`doctor` 的 `common` 行检查公共依赖和资源状态。
|
|
41
|
+
|
|
42
|
+
Copilot、Trae、Cline 延续现有规则/命令降级,不宣称新增标准 Skill 支持。原生插件渠道本期保证单产品快照完整,双产品原生去重需另外验证。迁移步骤见 [迁移指南](../common-migration.md)。
|
package/docs/runtimes/copilot.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
# frontend-craft:
|
|
2
|
-
|
|
3
|
-
See root README **Universal Install** and run:
|
|
1
|
+
# frontend-craft: GitHub Copilot
|
|
4
2
|
|
|
5
3
|
```bash
|
|
6
|
-
|
|
4
|
+
fec setup copilot
|
|
5
|
+
fec setup copilot --global
|
|
6
|
+
fec doctor copilot --local
|
|
7
|
+
fec doctor copilot --global
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Without a global CLI installation, use `npx @bovinphang/frontend-craft runtime install copilot --local` or `--global`.
|
|
11
|
+
|
|
12
|
+
Local installation targets repository customization: `.github/instructions/frontend-craft.instructions.md` with `applyTo: "**"` and `.github/prompts/fec-*.prompt.md`. Prompt files are supported by compatible IDE clients. Global installation targets Copilot CLI user instructions in `~/.copilot/copilot-instructions.md` (`COPILOT_CONFIG_DIR` override), preserving an existing file. Global IDE prompt installation is not provided; use `--local` for prompts.
|
|
13
|
+
|
|
14
|
+
The capability matrix describes what frontend-craft installs, not every feature offered by the host. `doctor` checks installation artifacts; it does not launch the host or certify a release version.
|
|
15
|
+
|
|
16
|
+
[Official reference](https://docs.github.com/en/copilot/reference/customization-cheat-sheet) · [Compatibility and upgrade notes](compatibility.md)
|
|
10
17
|
|
|
18
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
package/docs/runtimes/cursor.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
# frontend-craft:
|
|
2
|
-
|
|
3
|
-
See root README **Universal Install** and run:
|
|
1
|
+
# frontend-craft: Cursor
|
|
4
2
|
|
|
5
3
|
```bash
|
|
6
|
-
|
|
4
|
+
fec setup cursor
|
|
5
|
+
fec setup cursor --global
|
|
6
|
+
fec doctor cursor --local
|
|
7
|
+
fec doctor cursor --global
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Without a global CLI installation, use `npx @bovinphang/frontend-craft runtime install cursor --local` or `--global`.
|
|
11
|
+
|
|
12
|
+
Project skills: `.cursor/skills`; user skills: `~/.cursor/skills` (or `CURSOR_CONFIG_DIR/skills`). Project rules use `.cursor/rules/*.mdc`. This adapter installs skills and project rules; it does not install native agents, hooks, commands or MCP configuration.
|
|
13
|
+
|
|
14
|
+
The capability matrix describes what frontend-craft installs, not every feature offered by the host. `doctor` checks installation artifacts; it does not launch the host or certify a release version.
|
|
15
|
+
|
|
16
|
+
[Official reference](https://cursor.com/docs/skills) · [Compatibility and upgrade notes](compatibility.md)
|
|
10
17
|
|
|
18
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
package/docs/runtimes/gemini.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
# frontend-craft:
|
|
2
|
-
|
|
3
|
-
See root README **Universal Install** and run:
|
|
1
|
+
# frontend-craft: Gemini CLI
|
|
4
2
|
|
|
5
3
|
```bash
|
|
6
|
-
|
|
4
|
+
fec setup gemini
|
|
5
|
+
fec setup gemini --global
|
|
6
|
+
fec doctor gemini --local
|
|
7
|
+
fec doctor gemini --global
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Without a global CLI installation, use `npx @bovinphang/frontend-craft runtime install gemini --local` or `--global`.
|
|
11
|
+
|
|
12
|
+
Skills use `.gemini/skills` or `~/.gemini/skills` (`GEMINI_CONFIG_DIR` override). Rules are copied into `rules/` under that base. If absent, project `GEMINI.md` or user `~/.gemini/GEMINI.md` is created with resolvable rule imports. Existing context files are preserved; add the rule imports manually if you want them in an existing context. This installs native skills, not an incomplete extension.
|
|
13
|
+
|
|
14
|
+
The capability matrix describes what frontend-craft installs, not every feature offered by the host. `doctor` checks installation artifacts; it does not launch the host or certify a release version.
|
|
15
|
+
|
|
16
|
+
[Official reference](https://geminicli.com/docs/cli/skills/) · [Compatibility and upgrade notes](compatibility.md)
|
|
10
17
|
|
|
18
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
package/docs/runtimes/kilo.md
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
# frontend-craft:
|
|
2
|
-
|
|
3
|
-
See root README **Universal Install** and run:
|
|
1
|
+
# frontend-craft: Kilo CLI
|
|
4
2
|
|
|
5
3
|
```bash
|
|
6
|
-
|
|
4
|
+
fec setup kilo
|
|
5
|
+
fec setup kilo --global
|
|
6
|
+
fec doctor kilo --local
|
|
7
|
+
fec doctor kilo --global
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Without a global CLI installation, use `npx @bovinphang/frontend-craft runtime install kilo --local` or `--global`.
|
|
11
|
+
|
|
12
|
+
This adapter targets the current Kilo CLI: project `.kilo`, user `$XDG_CONFIG_HOME/kilo` or `~/.config/kilo`, with `KILO_CONFIG_DIR` override. Skills use `skills/`, commands use canonical `commands/`. Official CLI source also discovers legacy singular directories and home `.kilo` / `.kilocode` roots. IDE-only installations can have different global discovery behavior; this is not a blanket IDE certification.
|
|
13
|
+
|
|
14
|
+
The capability matrix describes what frontend-craft installs, not every feature offered by the host. `doctor` checks installation artifacts; it does not launch the host or certify a release version.
|
|
15
|
+
|
|
16
|
+
[Official reference](https://github.com/Kilo-Org/kilocode/blob/main/packages/opencode/src/config/paths.ts) · [Compatibility and upgrade notes](compatibility.md)
|
|
10
17
|
|
|
18
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
# frontend-craft:
|
|
2
|
-
|
|
3
|
-
See root README **Universal Install** and run:
|
|
1
|
+
# frontend-craft: OpenClaw
|
|
4
2
|
|
|
5
3
|
```bash
|
|
6
|
-
|
|
4
|
+
fec setup openclaw
|
|
5
|
+
fec setup openclaw --global
|
|
6
|
+
fec doctor openclaw --local
|
|
7
|
+
fec doctor openclaw --global
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Without a global CLI installation, use `npx @bovinphang/frontend-craft runtime install openclaw --local` or `--global`.
|
|
11
|
+
|
|
12
|
+
Universal CLI: run from the agent workspace; project skills go into `<workspace>/skills`, with the install manifest in `.openclaw`. User skills go into `$OPENCLAW_STATE_DIR/skills` or `~/.openclaw/skills`; `OPENCLAW_CONFIG_DIR` remains a fallback alias. Commands are converted to named skill directories with `SKILL.md`. Global setup does not write project context files. The separately packed native plugin includes hook handlers and an optional workspace initialization tool; `pnpm run pack:openclaw` generates its command skills.
|
|
13
|
+
|
|
14
|
+
The capability matrix describes what frontend-craft installs, not every feature offered by the host. `doctor` checks installation artifacts; it does not launch the host or certify a release version.
|
|
15
|
+
|
|
16
|
+
[Official reference](https://docs.openclaw.ai/skills) · [Compatibility and upgrade notes](compatibility.md)
|
|
10
17
|
|
|
18
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
# frontend-craft:
|
|
2
|
-
|
|
3
|
-
See root README **Universal Install** and run:
|
|
1
|
+
# frontend-craft: OpenCode
|
|
4
2
|
|
|
5
3
|
```bash
|
|
6
|
-
|
|
4
|
+
fec setup opencode
|
|
5
|
+
fec setup opencode --global
|
|
6
|
+
fec doctor opencode --local
|
|
7
|
+
fec doctor opencode --global
|
|
7
8
|
```
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Without a global CLI installation, use `npx @bovinphang/frontend-craft runtime install opencode --local` or `--global`.
|
|
11
|
+
|
|
12
|
+
Project base: `.opencode`; user base: `~/.config/opencode` (`XDG_CONFIG_HOME` / `OPENCODE_CONFIG_DIR` supported). Skills use `skills/`; commands use `commands/`. The generated `opencode.jsonc` uses `permission`, not `permissions`. The exact old generated template is repaired; custom JSONC is preserved. Unchanged manifest-owned `command/` files migrate to `commands/`.
|
|
13
|
+
|
|
14
|
+
The capability matrix describes what frontend-craft installs, not every feature offered by the host. `doctor` checks installation artifacts; it does not launch the host or certify a release version.
|
|
15
|
+
|
|
16
|
+
[Official reference](https://opencode.ai/docs/config/) · [Compatibility and upgrade notes](compatibility.md)
|
|
10
17
|
|
|
18
|
+
Review defaults to the full project; a file/directory request includes unchanged code, while incremental review requires an explicit changes/PR/commit request. Technical diagrams use structured sources; PNG export requires a local browser and disclosed QA coverage. See [review scope and technical diagram delivery](../review-and-diagram-workflows.md).
|