@bovinphang/frontend-craft 2.8.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +64 -0
- package/CHANGELOG.zh-CN.md +64 -0
- package/CONTRIBUTING.md +74 -54
- package/CONTRIBUTING.zh-CN.md +75 -53
- package/README.md +150 -38
- package/README.openclaw.md +86 -11
- package/README.openclaw.zh-CN.md +86 -11
- package/README.zh-CN.md +147 -35
- package/agents/fec-code-reviewer.md +24 -3
- package/agents/fec-debugger.md +1 -1
- package/agents/fec-doc-updater.md +1 -1
- package/agents/fec-e2e-runner.md +1 -1
- package/agents/fec-figma-implementer.md +1 -1
- package/agents/fec-performance-optimizer.md +1 -1
- package/agents/fec-refactor-cleaner.md +4 -1
- package/agents/fec-refactoring-expert.md +81 -0
- package/agents/fec-security-reviewer.md +17 -1
- package/agents/fec-test-planner.md +1 -1
- package/agents/fec-typescript-reviewer.md +25 -9
- package/agents/fec-ui-checker.md +11 -11
- package/commands/fec-debug.md +1 -1
- package/commands/fec-refactor-plan.md +17 -0
- package/commands/fec-refactor.md +18 -0
- package/commands/fec-review.md +40 -10
- package/commands/fec-scaffold.md +1 -1
- package/commands/fec-smell.md +17 -0
- package/commands/fec-tdd.md +6 -2
- package/common-content.lock.json +3795 -0
- package/dist/bin/frontend-craft.js +386 -55
- package/dist/hooks/fec-run-tests.js +5 -1
- package/dist/hooks/fec-session-start.js +1 -1
- package/docs/common-migration.md +61 -0
- package/docs/example-prompts.md +29 -12
- package/docs/ja-JP/README.md +129 -34
- package/docs/ko-KR/README.md +129 -34
- package/docs/project-structure.md +49 -14
- package/docs/refactoring/README.md +50 -0
- package/docs/refactoring/catalog.md +105 -0
- package/docs/refactoring/smell-refactoring-matrix.md +41 -0
- package/docs/review-and-diagram-workflows.md +39 -0
- package/docs/runtimes/antigravity.md +13 -5
- package/docs/runtimes/augment.md +13 -5
- package/docs/runtimes/claude.md +26 -10
- package/docs/runtimes/claude.zh-CN.md +26 -10
- package/docs/runtimes/cline.md +13 -5
- package/docs/runtimes/codebuddy.md +13 -5
- package/docs/runtimes/codex.md +13 -5
- package/docs/runtimes/compatibility.md +42 -0
- package/docs/runtimes/copilot.md +13 -5
- package/docs/runtimes/cursor.md +13 -5
- package/docs/runtimes/gemini.md +13 -5
- package/docs/runtimes/kilo.md +13 -5
- package/docs/runtimes/openclaw.md +13 -5
- package/docs/runtimes/opencode.md +13 -5
- package/docs/runtimes/qoder.md +11 -12
- package/docs/runtimes/trae.md +13 -5
- package/docs/runtimes/windsurf.md +13 -5
- package/docs/superpowers/plans/2026-09-26-content-integrity.md +145 -0
- package/docs/superpowers/plans/2026-09-26-diagram-quality.md +170 -0
- package/docs/superpowers/specs/2026-09-26-diagram-quality-design.md +77 -0
- package/docs/superpowers/specs/2026-09-26-project-optimization-design.md +95 -0
- package/docs/zh-CN/common-migration.md +57 -0
- package/docs/zh-CN/example-prompts.md +29 -12
- package/docs/zh-CN/project-structure.md +49 -11
- package/docs/zh-CN/review-and-diagram-workflows.md +39 -0
- package/docs/zh-TW/README.md +129 -34
- package/localized/zh-CN/agents/fec-code-reviewer.md +22 -3
- package/localized/zh-CN/agents/fec-refactor-cleaner.md +3 -0
- package/localized/zh-CN/agents/fec-refactoring-expert.md +53 -0
- package/localized/zh-CN/agents/fec-security-reviewer.md +16 -0
- package/localized/zh-CN/agents/fec-typescript-reviewer.md +24 -8
- package/localized/zh-CN/commands/fec-refactor-plan.md +15 -0
- package/localized/zh-CN/commands/fec-refactor.md +14 -0
- package/localized/zh-CN/commands/fec-review.md +40 -9
- package/localized/zh-CN/commands/fec-smell.md +13 -0
- package/localized/zh-CN/commands/fec-tdd.md +4 -0
- package/localized/zh-CN/skills/cc-c-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-debug-methodology/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-debug-methodology/references/method.md +13 -0
- package/localized/zh-CN/skills/cc-doc-sync-core/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-doc-sync-core/references/method.md +12 -0
- package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
- package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
- package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
- package/localized/zh-CN/skills/cc-electron-project-standard/SKILL.md +21 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/practice.md +19 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/verification.md +17 -0
- package/localized/zh-CN/skills/cc-go-concurrency/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-go-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-java-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/README.md +5 -0
- package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
- package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-java-runtime/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-python-async/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-python-async/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-python-async/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-python-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
- package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-refactoring-core/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-refactoring-core/references/method.md +16 -0
- package/localized/zh-CN/skills/cc-rust-async/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-rust-async/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-rust-async/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-source-driven-development/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-source-driven-development/references/method.md +19 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/SKILL.md +21 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/practice.md +20 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/verification.md +18 -0
- package/localized/zh-CN/skills/cc-tdd-methodology/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-tdd-methodology/references/method.md +13 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/SKILL.md +34 -0
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/README.md +14 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/architecture.json +121 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/invalid-explicit.json +41 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/sequence.json +53 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/sequence.mmd +21 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/workflow.json +98 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/workflow.mmd +7 -0
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +12 -5
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +14 -7
- package/localized/zh-CN/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-browser.mjs +153 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
- package/{skills/fec-image-generation → localized/zh-CN/skills/cc-technical-diagrams}/scripts/export-diagram.mjs +48 -80
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/mermaid-render.mjs +64 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +193 -53
- package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +5 -34
- package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +6 -0
- package/localized/zh-CN/skills/eval_queries.json +738 -72
- package/localized/zh-CN/skills/fec-api-integration/SKILL.md +5 -1
- package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-api-integration/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-code-review/SKILL.md +24 -1
- package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-code-review/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-code-review/references/report-template.md +11 -1
- package/localized/zh-CN/skills/fec-code-smells/SKILL.md +33 -0
- package/localized/zh-CN/skills/fec-code-smells/references/detection-guide.md +25 -0
- package/localized/zh-CN/skills/fec-code-smells/references/smell-catalog.md +817 -0
- package/localized/zh-CN/skills/fec-code-smells/references/smell-to-refactoring-map.md +265 -0
- package/localized/zh-CN/skills/fec-data-fetching/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-debug-framework/SKILL.md +1 -50
- package/localized/zh-CN/skills/fec-debug-framework/references/common/debug.md +13 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-doc-sync/SKILL.md +7 -28
- package/localized/zh-CN/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
- package/localized/zh-CN/skills/fec-image-generation/SKILL.md +7 -71
- package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +9 -2
- package/localized/zh-CN/skills/fec-image-generation/scripts/diagram-layout.mjs +176 -0
- package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +36 -5
- package/localized/zh-CN/skills/fec-react-project-standard/SKILL.md +6 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
- package/localized/zh-CN/skills/fec-refactor-clean/SKILL.md +3 -0
- package/localized/zh-CN/skills/fec-refactoring/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring/references/common/refactoring.md +16 -0
- package/localized/zh-CN/skills/fec-refactoring/references/principles.md +13 -0
- package/localized/zh-CN/skills/fec-refactoring/references/refactoring-vs-feature-change.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring/references/when-to-refactor.md +17 -0
- package/localized/zh-CN/skills/fec-refactoring/references/workflow.md +7 -0
- package/localized/zh-CN/skills/fec-refactoring-api/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md +496 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/SKILL.md +21 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/references/catalog-index.md +99 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/references/composition-guide.md +49 -0
- package/localized/zh-CN/skills/fec-refactoring-catalog/references/selection-guide.md +41 -0
- package/localized/zh-CN/skills/fec-refactoring-control/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md +299 -0
- package/localized/zh-CN/skills/fec-refactoring-data/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md +248 -0
- package/localized/zh-CN/skills/fec-refactoring-encapsulation/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md +452 -0
- package/localized/zh-CN/skills/fec-refactoring-functions/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md +567 -0
- package/localized/zh-CN/skills/fec-refactoring-inheritance/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md +550 -0
- package/localized/zh-CN/skills/fec-refactoring-move-features/SKILL.md +25 -0
- package/localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md +453 -0
- package/localized/zh-CN/skills/fec-refactoring-validation/SKILL.md +52 -0
- package/localized/zh-CN/skills/fec-refactoring-validation/references/behavior-preservation.md +15 -0
- package/localized/zh-CN/skills/fec-refactoring-validation/references/refactoring-test-checklist.md +25 -0
- package/localized/zh-CN/skills/fec-security-review/SKILL.md +20 -0
- package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-security-review/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-security-review/references/report-template.md +10 -0
- package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +12 -40
- package/localized/zh-CN/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
- package/localized/zh-CN/skills/fec-testing-strategy/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
- package/localized/zh-CN/skills/metadata.json +2222 -626
- package/localized/zh-CN/skills/relations.json +472 -75
- package/localized/zh-CN/templates/shared/rules/fec-agent-workflow.md +1 -0
- package/localized/zh-CN/templates/shared/rules/fec-source-driven-development.md +3 -29
- package/localized/zh-CN/templates/shared/rules/fec-typescript.md +4 -4
- package/localized/zh-CN/templates/shared/rules/references/common/source-driven-development.md +19 -0
- package/openclaw.plugin.json +2 -3
- package/package.json +34 -17
- package/skills/cc-c-project-standard/SKILL.md +25 -0
- package/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
- package/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
- package/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
- package/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-c-project-standard/references/practice.md +37 -0
- package/skills/cc-cpp-project-standard/SKILL.md +25 -0
- package/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
- package/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
- package/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
- package/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-cpp-project-standard/references/practice.md +37 -0
- package/skills/cc-debug-methodology/SKILL.md +8 -0
- package/skills/cc-debug-methodology/references/method.md +13 -0
- package/skills/cc-doc-sync-core/SKILL.md +8 -0
- package/skills/cc-doc-sync-core/references/method.md +12 -0
- package/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
- package/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
- package/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
- package/skills/cc-electron-project-standard/SKILL.md +21 -0
- package/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
- package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
- package/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
- package/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
- package/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
- package/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
- package/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
- package/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
- package/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
- package/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
- package/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
- package/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
- package/skills/cc-electron-project-standard/references/practice.md +19 -0
- package/skills/cc-electron-project-standard/references/verification.md +17 -0
- package/skills/cc-go-concurrency/SKILL.md +25 -0
- package/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
- package/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
- package/skills/cc-go-concurrency/references/practice.md +37 -0
- package/skills/cc-go-project-standard/SKILL.md +25 -0
- package/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
- package/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
- package/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
- package/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-go-project-standard/references/practice.md +37 -0
- package/skills/cc-java-project-standard/SKILL.md +25 -0
- package/skills/cc-java-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
- package/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
- package/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-java-project-standard/references/practice.md +35 -0
- package/skills/cc-java-runtime/SKILL.md +25 -0
- package/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
- package/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-java-runtime/references/engineering-practices.md +73 -0
- package/skills/cc-java-runtime/references/practice.md +37 -0
- package/skills/cc-native-memory-safety/SKILL.md +25 -0
- package/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
- package/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
- package/skills/cc-native-memory-safety/references/practice.md +37 -0
- package/skills/cc-python-async/SKILL.md +25 -0
- package/skills/cc-python-async/references/common/engineering-practices.md +237 -0
- package/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-python-async/references/engineering-practices.md +73 -0
- package/skills/cc-python-async/references/practice.md +37 -0
- package/skills/cc-python-project-standard/SKILL.md +25 -0
- package/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
- package/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
- package/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-python-project-standard/references/practice.md +37 -0
- package/skills/cc-refactoring-core/SKILL.md +8 -0
- package/skills/cc-refactoring-core/references/method.md +16 -0
- package/skills/cc-rust-async/SKILL.md +25 -0
- package/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
- package/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-rust-async/references/engineering-practices.md +73 -0
- package/skills/cc-rust-async/references/practice.md +37 -0
- package/skills/cc-rust-project-standard/SKILL.md +25 -0
- package/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
- package/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
- package/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
- package/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
- package/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-rust-project-standard/references/practice.md +37 -0
- package/skills/cc-source-driven-development/SKILL.md +8 -0
- package/skills/cc-source-driven-development/references/method.md +19 -0
- package/skills/cc-tauri-project-standard/SKILL.md +21 -0
- package/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
- package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
- package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
- package/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
- package/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
- package/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
- package/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
- package/skills/cc-tauri-project-standard/references/practice.md +20 -0
- package/skills/cc-tauri-project-standard/references/verification.md +18 -0
- package/skills/cc-tdd-methodology/SKILL.md +8 -0
- package/skills/cc-tdd-methodology/references/method.md +13 -0
- package/skills/cc-technical-diagrams/SKILL.md +34 -0
- package/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
- package/skills/cc-technical-diagrams/assets/quality-examples/README.md +14 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/architecture.json +121 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/invalid-explicit.json +41 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/sequence.json +53 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/sequence.mmd +21 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/workflow.json +98 -0
- package/skills/cc-technical-diagrams/assets/quality-examples/workflow.mmd +7 -0
- package/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +12 -5
- package/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +14 -7
- package/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
- package/skills/cc-technical-diagrams/scripts/diagram-browser.mjs +153 -0
- package/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
- package/{localized/zh-CN/skills/fec-image-generation → skills/cc-technical-diagrams}/scripts/export-diagram.mjs +48 -80
- package/skills/cc-technical-diagrams/scripts/mermaid-render.mjs +64 -0
- package/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
- package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +193 -53
- package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
- package/skills/cc-typescript-project-standard/examples/engineering/README.md +9 -0
- package/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
- package/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
- package/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
- package/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
- package/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
- package/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
- package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +6 -35
- package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +7 -1
- package/skills/eval_queries.json +738 -72
- package/skills/fec-api-integration/SKILL.md +5 -1
- package/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
- package/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-api-integration/references/engineering-practices.md +73 -0
- package/skills/fec-code-review/SKILL.md +24 -1
- package/skills/fec-code-review/references/common/engineering-practices.md +237 -0
- package/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-code-review/references/engineering-practices.md +73 -0
- package/skills/fec-code-review/references/report-template.md +11 -1
- package/skills/fec-code-smells/SKILL.md +33 -0
- package/skills/fec-code-smells/references/detection-guide.md +25 -0
- package/skills/fec-code-smells/references/smell-catalog.md +861 -0
- package/skills/fec-code-smells/references/smell-to-refactoring-map.md +265 -0
- package/skills/fec-data-fetching/SKILL.md +5 -1
- package/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
- package/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-data-fetching/references/engineering-practices.md +73 -0
- package/skills/fec-debug-framework/SKILL.md +2 -51
- package/skills/fec-debug-framework/references/common/debug.md +13 -0
- package/skills/fec-dependency-upgrade/SKILL.md +4 -0
- package/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
- package/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
- package/skills/fec-doc-sync/SKILL.md +7 -28
- package/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
- package/skills/fec-image-generation/SKILL.md +7 -72
- package/skills/fec-image-generation/references/png-qa-autofix.md +9 -2
- package/skills/fec-image-generation/scripts/diagram-layout.mjs +176 -0
- package/skills/fec-image-generation/scripts/png-qa.mjs +36 -5
- package/skills/fec-legacy-web-standard/SKILL.md +1 -1
- package/skills/fec-react-project-standard/SKILL.md +6 -0
- package/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
- package/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
- package/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
- package/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
- package/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
- package/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
- package/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
- package/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
- package/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
- package/skills/fec-refactor-clean/SKILL.md +3 -0
- package/skills/fec-refactoring/SKILL.md +25 -0
- package/skills/fec-refactoring/references/common/refactoring.md +16 -0
- package/skills/fec-refactoring/references/principles.md +13 -0
- package/skills/fec-refactoring/references/refactoring-vs-feature-change.md +27 -0
- package/skills/fec-refactoring/references/when-to-refactor.md +31 -0
- package/skills/fec-refactoring/references/workflow.md +7 -0
- package/skills/fec-refactoring-api/SKILL.md +25 -0
- package/skills/fec-refactoring-api/references/api-refactorings.md +496 -0
- package/skills/fec-refactoring-catalog/SKILL.md +28 -0
- package/skills/fec-refactoring-catalog/references/catalog-index.md +99 -0
- package/skills/fec-refactoring-catalog/references/composition-guide.md +49 -0
- package/skills/fec-refactoring-catalog/references/selection-guide.md +47 -0
- package/skills/fec-refactoring-control/SKILL.md +25 -0
- package/skills/fec-refactoring-control/references/conditional-refactorings.md +299 -0
- package/skills/fec-refactoring-data/SKILL.md +25 -0
- package/skills/fec-refactoring-data/references/data-refactorings.md +248 -0
- package/skills/fec-refactoring-encapsulation/SKILL.md +25 -0
- package/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md +452 -0
- package/skills/fec-refactoring-functions/SKILL.md +25 -0
- package/skills/fec-refactoring-functions/references/function-refactorings.md +567 -0
- package/skills/fec-refactoring-inheritance/SKILL.md +25 -0
- package/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md +550 -0
- package/skills/fec-refactoring-move-features/SKILL.md +25 -0
- package/skills/fec-refactoring-move-features/references/moving-refactorings.md +453 -0
- package/skills/fec-refactoring-validation/SKILL.md +59 -0
- package/skills/fec-refactoring-validation/references/behavior-preservation.md +53 -0
- package/skills/fec-refactoring-validation/references/refactoring-test-checklist.md +42 -0
- package/skills/fec-security-review/SKILL.md +20 -0
- package/skills/fec-security-review/references/common/engineering-practices.md +237 -0
- package/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-security-review/references/engineering-practices.md +73 -0
- package/skills/fec-security-review/references/report-template.md +10 -0
- package/skills/fec-tdd-workflow/SKILL.md +14 -42
- package/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
- package/skills/fec-testing-strategy/SKILL.md +4 -0
- package/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
- package/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
- package/skills/fec-vue3-project-standard/SKILL.md +4 -0
- package/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
- package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
- package/skills/metadata.json +2230 -629
- package/skills/relations.json +467 -74
- package/templates/shared/rules/fec-agent-workflow.md +1 -0
- package/templates/shared/rules/fec-source-driven-development.md +3 -29
- package/templates/shared/rules/fec-typescript.md +4 -4
- package/templates/shared/rules/references/common/source-driven-development.md +19 -0
- package/docs/superpowers/plans/2026-05-29-fec-debug.md +0 -491
- package/docs/superpowers/specs/2026-05-29-fec-debug-design.md +0 -340
- package/localized/zh-CN/skills/fec-source-driven-development/SKILL.md +0 -87
- package/skills/fec-source-driven-development/SKILL.md +0 -87
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
package/docs/ko-KR/README.md
CHANGED
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
|
|
23
23
|
</div>
|
|
24
24
|
|
|
25
|
+
|
|
26
|
+
[런타임 호환성 및 업그레이드](../runtimes/compatibility.md)
|
|
27
|
+
|
|
25
28
|
---
|
|
26
29
|
|
|
27
30
|
`frontend-craft`는 다음 **15개의 AI 코딩 어시스턴트**에 통일된 프론트엔드 엔지니어링 표준을 제공하는 **범용 프론트엔드 플러그인**입니다:
|
|
@@ -32,7 +35,7 @@
|
|
|
32
35
|
|
|
33
36
|
각 런타임의 경로와 주의사항은 [`docs/runtimes/`](../runtimes/)에 있습니다.
|
|
34
37
|
|
|
35
|
-
**
|
|
38
|
+
**14개의 전문 에이전트**, **61개의 자동 활성화 스킬**, **11개의 슬래시 명령어**, **5개의 이벤트 기반 훅**, 6개 디자인 도구 엔드포인트를 위한 **MCP 통합**, 그리고 완전한 **규칙 라이브러리**를 하나의 설치 가능한 패키지로 묶었습니다. 명령어 하나만 실행하면, 팀의 모든 AI 세션이 React, Vue, Next.js, Nuxt를 같은 방식으로 작성합니다 — 타입 안전하고, 접근성 있고, 안전하며, 일관성 있게.
|
|
36
39
|
|
|
37
40
|
---
|
|
38
41
|
|
|
@@ -40,10 +43,10 @@
|
|
|
40
43
|
|
|
41
44
|
| 문제점 | frontend-craft의 해결책 |
|
|
42
45
|
| ---------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
|
43
|
-
| AI 어시스턴트가 일관성 없고, 타입 없고, 안전하지 않은 프론트엔드 코드를 작성 | **
|
|
46
|
+
| AI 어시스턴트가 일관성 없고, 타입 없고, 안전하지 않은 프론트엔드 코드를 작성 | **61개 스킬**이 팀 표준을 인코딩 — 해당 파일을 건드릴 때 자동 활성화 |
|
|
44
47
|
| AI 도구마다 플러그인 형식이 다름 | **하나의 CLI**로 동일한 규칙, 에이전트, 훅을 15개 런타임에 설치 |
|
|
45
48
|
| 디자인에서 코드로의 전달 과정에서 정보 손실 | **MCP 통합**이 Figma, Figma Desktop, Sketch, MasterGo, Pixso, 墨刀에서 더 풍부한 디자인 컨텍스트를 가져오기 |
|
|
46
|
-
| 리뷰가 즉흥적이고 얕음 | **
|
|
49
|
+
| 리뷰가 즉흥적이고 얕음 | **14개 에이전트**가 등급별 보고서 출력: 코드, 보안, 접근성, 성능, TS, UI 충실도 |
|
|
47
50
|
| 아무도 lint와 테스트 실행을 기억하지 못함 | **이벤트 기반 훅**이 저장 시와 세션 종료 시 자동 검증 |
|
|
48
51
|
| 새 프로젝트가 매번 처음부터 시작 | **`/fec-init`**이 몇 초 만에 CLAUDE.md, 규칙, 설정을 스캐폴드 |
|
|
49
52
|
|
|
@@ -76,7 +79,7 @@ fec setup claude --global
|
|
|
76
79
|
fec setup all --global
|
|
77
80
|
|
|
78
81
|
# 6. 미리보기 / 조회
|
|
79
|
-
fec install --all --dry-run --global
|
|
82
|
+
fec runtime install --all --dry-run --global
|
|
80
83
|
fec list
|
|
81
84
|
```
|
|
82
85
|
|
|
@@ -89,17 +92,17 @@ fec list
|
|
|
89
92
|
npx @bovinphang/frontend-craft@latest
|
|
90
93
|
|
|
91
94
|
# 2. 현재 프로젝트에 연결
|
|
92
|
-
npx @bovinphang/frontend-craft@latest install --local codex
|
|
93
|
-
npx @bovinphang/frontend-craft@latest install --local claude
|
|
94
|
-
npx @bovinphang/frontend-craft@latest install --all --local
|
|
95
|
+
npx @bovinphang/frontend-craft@latest runtime install --local codex
|
|
96
|
+
npx @bovinphang/frontend-craft@latest runtime install --local claude
|
|
97
|
+
npx @bovinphang/frontend-craft@latest runtime install --all --local
|
|
95
98
|
|
|
96
99
|
# 3. 전역 연결, 모든 프로젝트에서 사용
|
|
97
|
-
npx @bovinphang/frontend-craft@latest install --global codex
|
|
98
|
-
npx @bovinphang/frontend-craft@latest install --global claude
|
|
99
|
-
npx @bovinphang/frontend-craft@latest install --all --global
|
|
100
|
+
npx @bovinphang/frontend-craft@latest runtime install --global codex
|
|
101
|
+
npx @bovinphang/frontend-craft@latest runtime install --global claude
|
|
102
|
+
npx @bovinphang/frontend-craft@latest runtime install --all --global
|
|
100
103
|
|
|
101
104
|
# 4. 미리보기 / 조회
|
|
102
|
-
npx @bovinphang/frontend-craft@latest install --all --dry-run --global
|
|
105
|
+
npx @bovinphang/frontend-craft@latest runtime install --all --dry-run --global
|
|
103
106
|
npx @bovinphang/frontend-craft@latest list
|
|
104
107
|
```
|
|
105
108
|
|
|
@@ -109,7 +112,7 @@ npx @bovinphang/frontend-craft@latest list
|
|
|
109
112
|
|
|
110
113
|
Claude Code 사용자라면 **Claude Code Marketplace**를 단일 소스 설치 방식으로 권장합니다. CLI를 Claude에 사용하는 것은 교차 런타임 설치, 스크립트/오프라인 파일 복사, 또는 비 Marketplace 환경이 필요한 경우에만 사용하세요.
|
|
111
114
|
|
|
112
|
-
Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번째 Claude 사본을 설치하거나 업데이트하지 않습니다. 대신 Claude Code Marketplace를 통해 업데이트하세요. 다른 스코프에 CLI 관리 Claude 설치본이 이미 있는 경우, 대화형 터미널에서는 해당 소스를 최신으로 유지할지, 제거 후 전환할지 묻습니다. 비대화형 터미널은 중단하고 실행할 `update`, `uninstall`, `install` 명령어를 정확히 출력합니다.
|
|
115
|
+
Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번째 Claude 사본을 설치하거나 업데이트하지 않습니다. 대신 Claude Code Marketplace를 통해 업데이트하세요. 다른 스코프에 CLI 관리 Claude 설치본이 이미 있는 경우, 대화형 터미널에서는 해당 소스를 최신으로 유지할지, 제거 후 전환할지 묻습니다. 비대화형 터미널은 중단하고 실행할 `runtime update`, `runtime uninstall`, `runtime install` 명령어를 정확히 출력합니다.
|
|
113
116
|
|
|
114
117
|
전체 Claude 전용 단계는 [docs/runtimes/claude.md](../runtimes/claude.md) · [简体中文](../runtimes/claude.zh-CN.md)에 있습니다.
|
|
115
118
|
|
|
@@ -163,14 +166,31 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
|
|
|
163
166
|
| 명령어 | 용도 | 보고서 |
|
|
164
167
|
| --------------------- | -------------------------------------------------------------------- | -------------------------------------------------- |
|
|
165
168
|
| `/fec-init` | 프로젝트 템플릿 초기화 (CLAUDE.md, 규칙, 설정) | — |
|
|
166
|
-
| `/fec-review` |
|
|
169
|
+
| `/fec-review` | 기본은 전체 프로젝트 리뷰; 파일/디렉터리 또는 변경 범위 지정 가능 | `code-review-*.md` |
|
|
167
170
|
| `/fec-scaffold` | 규칙에 따라 page / feature / component 보일러플레이트 생성 | — |
|
|
168
171
|
| `/fec-plan` | 통합 계획: 구현 아키텍처 또는 테스트 전략 | `architecture-proposal-*.md` 또는 `test-plan-*.md` |
|
|
169
172
|
| `/fec-tdd` | 빨강 → 초록 → 리팩토링 프론트엔드 TDD 루프 | — |
|
|
170
173
|
| `/fec-debug` | 프론트엔드 문제 진단 및 수정: 빌드, 런타임, UI, API 장애 | `debug-*.md` |
|
|
171
174
|
| `/fec-refactor-clean` | 데드 코드, 미사용 export, 스타일, 의존성을 분류하고 안전하게 제거 | `refactor-clean-*.md` |
|
|
175
|
+
| `/fec-smell` | Diagnose code smells without editing | `refactoring/smell-*.md` |
|
|
176
|
+
| `/fec-refactor-plan` | Plan behavior-preserving refactoring | `refactoring/plan-*.md` |
|
|
177
|
+
| `/fec-refactor` | Execute validated behavior-preserving refactoring | `refactoring/refactoring-*.md` |
|
|
172
178
|
| `/fec-doc-sync` | README, docs, 환경 변수, 스크립트, API/라우트 설명, 배포 문서 동기화 | — |
|
|
173
179
|
|
|
180
|
+
### 리뷰 범위
|
|
181
|
+
|
|
182
|
+
`/fec-review`, 코드 / TypeScript / 보안 리뷰 에이전트와 스킬은 세 가지 모드를 사용합니다.
|
|
183
|
+
|
|
184
|
+
- **변경 리뷰**: 최근 변경, 이번 수정, 스테이징 변경, PR/커밋을 명시하거나 현재 작업에서 변경 범위가 확정된 경우 리뷰합니다. 변경이 없으면 이를 알리고 최근 커밋으로 자동 전환하지 않습니다.
|
|
185
|
+
- **지정 범위 리뷰**: 파일이나 디렉터리를 지정하면 변경되지 않은 기존 코드도 리뷰합니다. Git diff가 필요하지 않습니다.
|
|
186
|
+
- **전체 프로젝트 리뷰(기본)**: 범위나 변경 맥락이 없거나 전체 프로젝트를 요청하면 프로젝트 소유 프런트엔드 코드, 관련 테스트, 설정, 의존성 선언을 목록화하고 모듈별로 리뷰합니다.
|
|
187
|
+
|
|
188
|
+
파일/디렉터리만 지정하면 전체 내용을 리뷰합니다. 차이만 리뷰하려면 변경을 명시하세요. 변경이 있어도 `/fec-review`만 호출하면 전체 프로젝트를 리뷰합니다. 시작 시 모드와 범위를 알리고 수정 후 자동 위임에는 이번 변경 범위를 명시합니다.
|
|
189
|
+
|
|
190
|
+
예: `/fec-review`,`/fec-review 최근 변경 리뷰`, `/fec-review src/components/Button.tsx 리뷰`, `/fec-review src/features/ 리뷰`, `/fec-review 전체 프로젝트 리뷰`. 이는 자연어 지시이며 CLI 옵션이 아닙니다. 명시한 범위가 기본 모드보다 우선합니다.
|
|
191
|
+
|
|
192
|
+
의존성 디렉터리, 빌드 산출물, 캐시, 생성 파일, 외부 코드는 기본적으로 제외합니다. 보고서에 모드, 대상 범위, 리뷰한 파일/모듈, 제외 항목, 미검토 범위, 완료 상태, 검증 결과를 기록합니다. 범위가 남으면 부분 완료로 표시합니다. 호출 코드 참조나 전체 lint/타입 검사는 수동 리뷰 완료를 의미하지 않습니다. 변경 리뷰는 병합 권고를, 지정 범위와 전체 리뷰는 검토한 범위의 위험 평가를 제공합니다. 백엔드 감사를 대체하지 않으며 수정 요청 없이는 비즈니스 코드를 변경하지 않습니다.
|
|
193
|
+
|
|
174
194
|
### 스킬 (자동 활성화)
|
|
175
195
|
|
|
176
196
|
스킬은 파일 패턴, 프레임워크, 또는 작업 컨텍스트에 기반하여 **자동으로 활성화**되는 워크플로 정의입니다. 리뷰 관점, 출력 규칙, 보고서 형식을 인코딩합니다.
|
|
@@ -187,7 +207,7 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
|
|
|
187
207
|
| `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG, Composition API, 데이터 페칭, 미들웨어 |
|
|
188
208
|
| `fec-vite-project-standard` | Vite 설정, 환경 변수 안전, HMR, 개발 프록시, 빌드 최적화 |
|
|
189
209
|
| `fec-monorepo-project-standard` | pnpm workspace, Turborepo, Nx 구조 및 태스크 오케스트레이션 |
|
|
190
|
-
| `
|
|
210
|
+
| `cc-typescript-project-standard` | TypeScript 설정, 공개 API 타입, 선언 파일, DTO, 제네릭 |
|
|
191
211
|
|
|
192
212
|
**구현 기능** — 특정 프론트엔드 기능을 구축할 때 활성화:
|
|
193
213
|
|
|
@@ -227,13 +247,29 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
|
|
|
227
247
|
| `fec-performance-optimization` | Core Web Vitals, 번들, 렌더링, 메모리, 네트워크, 성능 예산 리뷰 |
|
|
228
248
|
| `fec-refactor-clean` | 데드 코드, 미사용 export, 스타일, 라우트, 의존성의 안전한 정리 |
|
|
229
249
|
|
|
250
|
+
**Refactoring**
|
|
251
|
+
|
|
252
|
+
| Skill | Scope |
|
|
253
|
+
| --- | --- |
|
|
254
|
+
| `fec-refactoring` | Behavior-preserving refactoring capability |
|
|
255
|
+
| `fec-code-smells` | Behavior-preserving refactoring capability |
|
|
256
|
+
| `fec-refactoring-catalog` | Behavior-preserving refactoring capability |
|
|
257
|
+
| `fec-refactoring-functions` | Behavior-preserving refactoring capability |
|
|
258
|
+
| `fec-refactoring-encapsulation` | Behavior-preserving refactoring capability |
|
|
259
|
+
| `fec-refactoring-move-features` | Behavior-preserving refactoring capability |
|
|
260
|
+
| `fec-refactoring-data` | Behavior-preserving refactoring capability |
|
|
261
|
+
| `fec-refactoring-control` | Behavior-preserving refactoring capability |
|
|
262
|
+
| `fec-refactoring-api` | Behavior-preserving refactoring capability |
|
|
263
|
+
| `fec-refactoring-inheritance` | Behavior-preserving refactoring capability |
|
|
264
|
+
| `fec-refactoring-validation` | Behavior-preserving refactoring capability |
|
|
265
|
+
|
|
230
266
|
**디자인 UI** — 디자인 구현, 디자인 시스템, 시각적 마무리에서 활성화:
|
|
231
267
|
|
|
232
268
|
| 스킬 | 범위 |
|
|
233
269
|
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
234
270
|
| `fec-ui-design` | 제품 맥락 UI 방향, 반템플릿 디자인 다이얼, 미디어 전략, 상태, visual QA |
|
|
235
|
-
| `fec-image-generation` |
|
|
236
|
-
| `
|
|
271
|
+
| `fec-image-generation` | UI·제품·브랜드 이미지 생성과 편집, 공통 PNG 품질 검사 |
|
|
272
|
+
| `cc-drawio-studio` | 편집 가능한 draw.io / diagrams.net 기술 다이어그램, XML/Mermaid/CSV URL 핸드오프, shape 검색, 자동 레이아웃, 코드 구조도 |
|
|
237
273
|
| `fec-web-video-presentation` | 글, 스크립트, 레슨, demo를 녹화 가능한 16:9 step-driven 웹 프레젠테이션으로 변환 |
|
|
238
274
|
| `fec-tailwind-design-system` | Tailwind token, 테마 확장, variants, class 관리, dark mode |
|
|
239
275
|
| `fec-responsive-layout` | 모바일 우선, container queries, 데이터 밀집 responsive UI |
|
|
@@ -241,6 +277,10 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
|
|
|
241
277
|
| `fec-implement-from-design` | 디자인 도구, 스크린샷 또는 section 단위 시각 참조에서 UI 구현 |
|
|
242
278
|
| `fec-storybook-component-doc` | Storybook 컴포넌트 문서, 디자인 시스템 표시, 격리 상태 미리보기 |
|
|
243
279
|
|
|
280
|
+
기술 다이어그램 품질: 표준 시퀀스와 흐름도는 로컬 Mermaid, 편집 가능한 아키텍처는 draw.io를 우선합니다. 도구가 없으면 JSON/HTML을 사용합니다. PNG 배율에 맞는 실제 측정 manifest로 QA를 실행하고 최종 이미지를 직접 확인합니다. 기본 수정은 두 번이며 남은 문제를 보고합니다.
|
|
281
|
+
|
|
282
|
+
[리뷰 및 기술 다이어그램 가이드](../review-and-diagram-workflows.md).
|
|
283
|
+
|
|
244
284
|
**레거시 마이그레이션** — 현대화 작업에서 활성화:
|
|
245
285
|
|
|
246
286
|
| 스킬 | 범위 |
|
|
@@ -260,7 +300,7 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
|
|
|
260
300
|
| ---------------------------------- | ------------------------------------------------------------------------------------ |
|
|
261
301
|
| `fec-backend-requirements-handoff` | Frontend-to-backend handoff for UI data needs, actions, states, rules, and questions |
|
|
262
302
|
| `fec-doc-sync` | 프론트엔드 문서를 코드, 설정, 스크립트, 라우트, API, 환경 변수, 배포 사실과 동기화 |
|
|
263
|
-
| `
|
|
303
|
+
| `cc-source-driven-development` | 프로젝트 사실과 공식 소스로 버전 의존 결정을 검증 |
|
|
264
304
|
|
|
265
305
|
### 에이전트
|
|
266
306
|
|
|
@@ -276,6 +316,7 @@ Marketplace가 이미 설치된 경우, `--force`를 사용해도 CLI는 두 번
|
|
|
276
316
|
| `fec-test-planner` | 위험→계층 매트릭스: 정적, 단위, 컴포넌트, E2E, 시각, 접근성, 보안 | `test-plan-*.md` |
|
|
277
317
|
| `fec-debugger` | 빌드, 런타임, UI, API 장애에 대한 복잡한 프론트엔드 진단 | `debug-*.md` |
|
|
278
318
|
| `fec-refactor-cleaner` | 미사용 코드, export, 스타일, 라우트, 의존성 분류 및 안전한 제거 | `refactor-clean-*.md` |
|
|
319
|
+
| `fec-refactoring-expert` | Behavior-preserving refactoring orchestration | `refactoring/refactoring-*.md` |
|
|
279
320
|
| `fec-e2e-runner` | E2E 작성 및 실행 (Playwright/Cypress), flaky 격리, 트레이스 | `e2e-summary-*.md` |
|
|
280
321
|
| `fec-doc-updater` | README, 런타임 문서, 구조, 기능 표, 메타데이터 동기화 | — |
|
|
281
322
|
| `fec-ui-checker` | 시각적 문제 디버깅 및 디자인 충실도 평가 | `ui-fidelity-review-*.md` |
|
|
@@ -419,33 +460,55 @@ $env:MODAO_TOKEN = "your-modao-token"
|
|
|
419
460
|
|
|
420
461
|
## 업데이트와 제거
|
|
421
462
|
|
|
422
|
-
|
|
463
|
+
### CLI 자체 관리 (3.0)
|
|
423
464
|
|
|
424
|
-
|
|
465
|
+
`fec update`(별칭 `upgrade`)는 원래 npm/pnpm과 registry의 `latest`로 전역 CLI를 업그레이드한 뒤 새 CLI로 현재 프로젝트와 사용자 전역의 관리 리소스를 갱신합니다. 이미 최신 버전이어도 갱신합니다. 다른 프로젝트를 검색하거나 Marketplace를 관리하지 않습니다. CLI 업그레이드 실패 시 중단하며, 리소스 일부 실패는 단계별로 보고합니다. CLI를 롤백하지 않으며 `fec runtime update`로 리소스를 재시도할 수 있습니다.
|
|
466
|
+
|
|
467
|
+
`fec uninstall`(별칭 `remove`)은 기본적으로 CLI만 제거합니다. `--purge`는 먼저 관리 리소스를 정리하며 사용자 수정은 보존합니다. 정리 오류가 발생하면 CLI를 유지합니다. 대화형 터미널에서는 확인하며 비대화형 실행에는 `--yes`가 필요합니다. 소유권을 검증한 npm/pnpm registry 전역 설치만 지원합니다. 소스 링크, 프로젝트 의존성, 알 수 없는 출처 및 다른 패키지가 포함된 pnpm 공유 그룹은 변경 전에 거부합니다. 공유 그룹은 원래 패키지 관리자로 직접 관리하세요. `--dry-run`은 읽기 전용 미리 보기이며 설치, 삭제, 후속 갱신을 실행하지 않습니다.
|
|
468
|
+
|
|
469
|
+
```bash
|
|
470
|
+
fec update
|
|
471
|
+
fec uninstall --dry-run
|
|
472
|
+
fec uninstall --purge --yes
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
임시 npx 실행은 전역 CLI를 생성하지 않으며 CLI 자체 제거를 지원하지 않습니다. npx 최상위 `update`는 현재 패키지 버전이 registry `latest`와 같을 때만 리소스를 갱신합니다. 다르면 `npx @bovinphang/frontend-craft@latest runtime update`를 사용하세요.
|
|
476
|
+
|
|
477
|
+
| 2.x 리소스 명령 | 3.0 대체 명령 |
|
|
478
|
+
| --- | --- |
|
|
479
|
+
| `fec update [runtime] [options]` | `fec runtime update [runtime] [options]` |
|
|
480
|
+
| `fec uninstall [runtime] [options]` | `fec runtime uninstall [runtime] [options]` |
|
|
481
|
+
| `fec install [runtime] [options]` | `fec runtime install [runtime] [options]` |
|
|
482
|
+
|
|
483
|
+
최상위 update/uninstall은 기존 runtime 인자와 `--global` 등의 리소스 옵션을 변경 전에 거부합니다. `setup`은 유지되며 최상위 `install`은 사용 중단 예정인 호환 별칭입니다. 리소스 옵션과 `runtime upgrade/remove` 별칭은 유지됩니다. `runtime update`는 실행 중인 CLI 패키지만 사용하며 네트워크에서 새 패키지를 가져오지 않습니다.
|
|
484
|
+
|
|
485
|
+
`fec`는 `frontend-craft`의 짧은 명령어입니다. 전역 CLI 없이 리소스를 관리하려면 `npx @bovinphang/frontend-craft@latest runtime update`(또는 `runtime install/uninstall`)를 사용하세요.
|
|
486
|
+
|
|
487
|
+
### 리소스 업데이트
|
|
425
488
|
|
|
426
489
|
```bash
|
|
427
|
-
fec update
|
|
428
|
-
fec update <runtime> --local
|
|
429
|
-
fec update <runtime> --global
|
|
430
|
-
fec upgrade <runtime> --global
|
|
490
|
+
fec runtime update # 발견된 모든 CLI 관리 설치 업데이트
|
|
491
|
+
fec runtime update <runtime> --local # 로컬 CLI 관리 설치 하나 업데이트
|
|
492
|
+
fec runtime update <runtime> --global # 전역 CLI 관리 설치 하나 업데이트
|
|
493
|
+
fec runtime upgrade <runtime> --global # `upgrade`는 `update`의 별칭
|
|
431
494
|
```
|
|
432
495
|
|
|
433
|
-
### 제거
|
|
496
|
+
### 리소스 제거
|
|
434
497
|
|
|
435
498
|
```bash
|
|
436
|
-
fec uninstall
|
|
437
|
-
fec remove
|
|
438
|
-
fec uninstall <runtime>
|
|
439
|
-
fec remove <runtime>
|
|
440
|
-
fec uninstall --global
|
|
441
|
-
fec remove --local
|
|
442
|
-
fec uninstall <runtime> --dry-run
|
|
443
|
-
fec uninstall <runtime> --force
|
|
499
|
+
fec runtime uninstall # 발견된 모든 CLI 관리 설치 제거
|
|
500
|
+
fec runtime remove # `remove`는 `uninstall`의 별칭
|
|
501
|
+
fec runtime uninstall <runtime> # 특정 runtime 설치 제거
|
|
502
|
+
fec runtime remove <runtime> # 별칭으로 특정 runtime 제거
|
|
503
|
+
fec runtime uninstall --global # 발견된 전역 설치만 제거
|
|
504
|
+
fec runtime remove --local # 발견된 로컬 설치만 제거
|
|
505
|
+
fec runtime uninstall <runtime> --dry-run # 제거 내용을 미리 보기
|
|
506
|
+
fec runtime uninstall <runtime> --force # 수정된 관리 파일도 제거
|
|
444
507
|
```
|
|
445
508
|
|
|
446
|
-
CLI는 런타임 디렉토리에 `frontend-craft.manifest.json`을 작성합니다. runtime을 지정하지 않으면 `update`가 이 manifest를 자동으로 발견하고 **로컬에서 수정한 파일을 건너뜁니다** — 커스터마이징은 업데이트 후에도 유지됩니다.
|
|
509
|
+
CLI는 런타임 디렉토리에 `frontend-craft.manifest.json`을 작성합니다. runtime을 지정하지 않으면 `runtime update`가 이 manifest를 자동으로 발견하고 **로컬에서 수정한 파일을 건너뜁니다** — 커스터마이징은 업데이트 후에도 유지됩니다.
|
|
447
510
|
|
|
448
|
-
`uninstall`/`remove`는 manifest에 기록된 파일만 삭제합니다. 수정된 파일은 기본적으로 건너뛰며, 수정된 관리 파일까지 제거하려는 경우에만 `--force`를 추가하세요. `--force`는 Claude Code Marketplace 설치를 덮어쓰지 않습니다.
|
|
511
|
+
`runtime uninstall`/`runtime remove`는 manifest에 기록된 파일만 삭제합니다. 수정된 파일은 기본적으로 건너뛰며, 수정된 관리 파일까지 제거하려는 경우에만 `--force`를 추가하세요. `--force`는 Claude Code Marketplace 설치를 덮어쓰지 않습니다.
|
|
449
512
|
|
|
450
513
|
**Claude Code Marketplace** 또는 **submodule** 설치의 업데이트 방법은 [docs/runtimes/claude.md](../runtimes/claude.md) · [简体中文](../runtimes/claude.zh-CN.md)를 참조하세요. `/fec-init`은 프로젝트 설정만 초기화하며, 두 번째 플러그인 설치가 아닙니다.
|
|
451
514
|
|
|
@@ -491,3 +554,35 @@ npx skills check # 사용 가능한 업데이트 미
|
|
|
491
554
|
**frontend-craft가 팀에 도움이 되었다면, [Star를 눌러주세요](https://github.com/bovinphang/frontend-craft).**
|
|
492
555
|
|
|
493
556
|
</div>
|
|
557
|
+
|
|
558
|
+
## 3.0 공통 기능
|
|
559
|
+
|
|
560
|
+
3.0.0은 계속 미출시 상태입니다. 프런트엔드 전용53개와 공통21개, 총74개Skill을 제공합니다. 공통 의존성은`@bovinphang/craft-common@2.0.0`으로 고정됩니다.2.0.0은 배포 준비 중인 정식 버전 번호이며 backend1.0.0도 미출시 상태입니다. common을 먼저 배포하고 검증하며 제품 버전을 변경하거나 자동으로 배포하지 않습니다.
|
|
561
|
+
|
|
562
|
+
언어·역할·프레임워크를 각각 선택합니다. C/C++은 독립된 진입점을, Tauri/Electron은 공통 데스크톱 전문 기능을 제공합니다. 제품 이름으로 언어를 제한하지 않습니다.
|
|
563
|
+
|
|
564
|
+
- `cc-c-project-standard`
|
|
565
|
+
- `cc-cpp-project-standard`
|
|
566
|
+
- `cc-debug-methodology`
|
|
567
|
+
- `cc-doc-sync-core`
|
|
568
|
+
- `cc-drawio-studio`
|
|
569
|
+
- `cc-electron-project-standard`
|
|
570
|
+
- `cc-go-concurrency`
|
|
571
|
+
- `cc-go-project-standard`
|
|
572
|
+
- `cc-java-project-standard`
|
|
573
|
+
- `cc-java-runtime`
|
|
574
|
+
- `cc-native-memory-safety`
|
|
575
|
+
- `cc-python-async`
|
|
576
|
+
- `cc-python-project-standard`
|
|
577
|
+
- `cc-refactoring-core`
|
|
578
|
+
- `cc-rust-async`
|
|
579
|
+
- `cc-rust-project-standard`
|
|
580
|
+
- `cc-source-driven-development`
|
|
581
|
+
- `cc-tauri-project-standard`
|
|
582
|
+
- `cc-tdd-methodology`
|
|
583
|
+
- `cc-technical-diagrams`
|
|
584
|
+
- `cc-typescript-project-standard`
|
|
585
|
+
|
|
586
|
+
`fec runtime check-migration codex --local --json`을 실행하고 이전CLI로 공통 참조를 해제하여 보존된 편집을 처리한 뒤 일치하는 제품을 설치합니다. 다른 소비자나 알 수 없는 파일을 강제로 덮어쓰지 않습니다. CLI와 네이티브 채널은 배타적이며 두 제품의 네이티브 중복 제거는 보장하지 않습니다.
|
|
587
|
+
|
|
588
|
+
[마이그레이션](../common-migration.md) · [변경 기록](../../CHANGELOG.md) · [구조](../project-structure.md)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Project Structure
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Directory layout for `frontend-craft` 3.0.0. The CLI uses TypeScript, ESM and esbuild; tests use Node.js `node:test`. Distribution includes 14 agents, 74 skills (53 frontend + 21 common) and 11 commands.
|
|
4
4
|
|
|
5
5
|
## Repository Layout
|
|
6
6
|
|
|
@@ -17,6 +17,7 @@ frontend-craft/
|
|
|
17
17
|
| |-- fec-test-planner.md # Testing strategy, risk matrix, coverage planning
|
|
18
18
|
| |-- fec-debugger.md # Complex build/runtime/UI/API diagnostics
|
|
19
19
|
| |-- fec-refactor-cleaner.md # Dead-code and unused dependency cleanup
|
|
20
|
+
| |-- fec-refactoring-expert.md # Behavior-preserving smell diagnosis, planning, execution, validation
|
|
20
21
|
| |-- fec-doc-updater.md # README/runtime docs/capability table synchronization
|
|
21
22
|
| |-- fec-e2e-runner.md # E2E authoring, execution, flaky handling, artifacts, CI
|
|
22
23
|
| |-- fec-typescript-reviewer.md # TS/JS type safety, async, security, report-only review
|
|
@@ -29,22 +30,30 @@ frontend-craft/
|
|
|
29
30
|
| |-- fec-code-review/ # Architecture, types, rendering, styles, a11y
|
|
30
31
|
| |-- fec-security-review/ # XSS, CSRF, sensitive data, input validation
|
|
31
32
|
| |-- fec-accessibility-check/ # WCAG 2.2 accessibility, keyboard, focus, screen readers
|
|
32
|
-
| |-- fec-code-review/ # Architecture, types, rendering, styles, a11y
|
|
33
|
-
| |-- fec-security-review/ # XSS, CSRF, sensitive data, input validation
|
|
34
|
-
| |-- fec-accessibility-check/ # WCAG 2.2 accessibility, keyboard, focus, screen readers
|
|
35
33
|
| |-- fec-react-project-standard/ # React + TypeScript project standards
|
|
36
34
|
| |-- fec-vue3-project-standard/ # Vue 3 + TypeScript project standards
|
|
37
35
|
| |-- fec-implement-from-design/ # Implement UI from design tools, screenshots, and visual references
|
|
38
36
|
| |-- fec-validation-fix/ # lint, type-check, test, build and fix
|
|
39
37
|
| |-- fec-performance-optimization/ # Core Web Vitals, bundle, rendering, network, memory
|
|
40
|
-
| |--
|
|
41
|
-
| |--
|
|
38
|
+
| |-- cc-source-driven-development/ # Official sources, project facts, version-sensitive decisions
|
|
39
|
+
| |-- cc-typescript-project-standard/ # TypeScript config, public API types, declarations, DTOs, generics
|
|
42
40
|
| |-- fec-state-management/ # State ownership, store selection, URL/server/form/local boundaries
|
|
43
41
|
| |-- fec-tailwind-design-system/ # Tailwind tokens, variants, dark mode, class governance
|
|
44
42
|
| |-- fec-responsive-layout/ # Mobile-first layouts, container queries, touch-safe responsive UI
|
|
45
43
|
| |-- fec-dependency-upgrade/ # Dependency upgrades, lockfile risk, CVE remediation
|
|
46
44
|
| |-- fec-tdd-workflow/ # Test-first frontend implementation workflow
|
|
47
45
|
| |-- fec-refactor-clean/ # Safe dead-code and unused dependency cleanup
|
|
46
|
+
| |-- fec-refactoring/ # Core behavior-preserving refactoring workflow and safety gates
|
|
47
|
+
| |-- fec-code-smells/ # 24-smell evidence-based diagnosis
|
|
48
|
+
| |-- fec-refactoring-catalog/ # 61-technique selection and composition catalog
|
|
49
|
+
| |-- fec-refactoring-functions/ # Function family refactorings
|
|
50
|
+
| |-- fec-refactoring-encapsulation/ # Encapsulation family refactorings
|
|
51
|
+
| |-- fec-refactoring-move-features/ # Moving-feature family refactorings
|
|
52
|
+
| |-- fec-refactoring-data/ # Data family refactorings
|
|
53
|
+
| |-- fec-refactoring-control/ # Conditional/control family refactorings
|
|
54
|
+
| |-- fec-refactoring-api/ # API family refactorings
|
|
55
|
+
| |-- fec-refactoring-inheritance/ # Inheritance/delegation family refactorings
|
|
56
|
+
| |-- fec-refactoring-validation/ # Behavior-preservation validation and proof levels
|
|
48
57
|
| |-- fec-doc-sync/ # Public docs and metadata synchronization
|
|
49
58
|
| |-- fec-legacy-web-standard/ # JS + jQuery + HTML legacy project standards
|
|
50
59
|
| |-- fec-legacy-to-modern-migration/ # jQuery/MPA migration to React/Vue strategy and workflow
|
|
@@ -69,20 +78,28 @@ frontend-craft/
|
|
|
69
78
|
| |-- fec-list-virtualization/ # Large-list windowing with react-window / TanStack Virtual and measurement strategies
|
|
70
79
|
| |-- fec-storybook-component-doc/ # Storybook component docs, addons, MDX, interaction and visual test integration
|
|
71
80
|
| |-- fec-ui-design/ # Product-context UI direction, design dials, media strategy, visual QA
|
|
72
|
-
| |-- fec-image-generation/ #
|
|
73
|
-
| |--
|
|
81
|
+
| |-- fec-image-generation/ # UI/product/brand image generation, editing and shared PNG QA
|
|
82
|
+
| |-- cc-drawio-studio/ # Editable draw.io diagrams, shape lookup, auto-layout, code structure maps
|
|
74
83
|
| |-- fec-web-video-presentation/ # Recordable 16:9 step-driven web video presentations
|
|
75
84
|
| |-- fec-motion-interaction/ # Context-aware motion intensity, transitions, scroll animation, reduced motion
|
|
76
85
|
| |-- fec-alchemy/ # Project absorption workflow — extract reference ideas and redesign natively
|
|
86
|
+
| |-- cc-technical-diagrams/ # Technical diagrams, export and PNG QA
|
|
87
|
+
| |-- cc-doc-sync-core/ # Shared documentation fact synchronization
|
|
88
|
+
| |-- cc-debug-methodology/ # Shared evidence-driven diagnosis
|
|
89
|
+
| |-- cc-refactoring-core/ # Shared behavior-preserving refactoring
|
|
90
|
+
| |-- cc-tdd-methodology/ # Shared TDD methodology
|
|
77
91
|
|
|
|
78
92
|
|-- commands/ # Slash commands for quick execution
|
|
79
93
|
| |-- fec-init.md # /fec-init - Initialize project templates
|
|
80
|
-
| |-- fec-review.md # /fec-review -
|
|
94
|
+
| |-- fec-review.md # /fec-review - Project by default; targeted scope or explicit changes
|
|
81
95
|
| |-- fec-scaffold.md # /fec-scaffold - Create page/feature/component
|
|
82
96
|
| |-- fec-plan.md # /fec-plan - Implementation planning before frontend changes
|
|
83
97
|
| |-- fec-tdd.md # /fec-tdd - Test-driven frontend implementation
|
|
84
98
|
| |-- fec-debug.md # /fec-debug - Diagnose and fix frontend failures
|
|
85
99
|
| |-- fec-refactor-clean.md # /fec-refactor-clean - Safe dead-code cleanup
|
|
100
|
+
| |-- fec-smell.md # /fec-smell - Read-only code-smell diagnosis
|
|
101
|
+
| |-- fec-refactor-plan.md # /fec-refactor-plan - Read-only small-step refactoring plan
|
|
102
|
+
| |-- fec-refactor.md # /fec-refactor - Controlled behavior-preserving execution
|
|
86
103
|
| |-- fec-doc-sync.md # /fec-doc-sync - Public docs and metadata sync
|
|
87
104
|
|
|
|
88
105
|
|-- hooks/ # Event-driven automation
|
|
@@ -90,14 +107,23 @@ frontend-craft/
|
|
|
90
107
|
|
|
|
91
108
|
|-- src/ # TypeScript source for published runtime code
|
|
92
109
|
| |-- hooks/ # Runtime hook scripts bundled to dist/hooks
|
|
93
|
-
| |-- security-check.ts # Block dangerous commands
|
|
94
|
-
| |-- format-changed-file.ts # Auto Prettier formatting
|
|
95
|
-
| |-- run-tests.ts # Run checks on session end
|
|
96
|
-
| |-- session-start.ts # Detect framework on session start
|
|
97
|
-
| |-- notify.ts # Cross-platform desktop notifications
|
|
110
|
+
| | |-- security-check.ts # Block dangerous commands
|
|
111
|
+
| | |-- format-changed-file.ts # Auto Prettier formatting
|
|
112
|
+
| | |-- run-tests.ts # Run checks on session end
|
|
113
|
+
| | |-- session-start.ts # Detect framework on session start
|
|
114
|
+
| | |-- notify.ts # Cross-platform desktop notifications
|
|
98
115
|
| |-- install/ # Installer core (CLI, interactive wizard, runtime converters)
|
|
116
|
+
| | |-- cli-lifecycle.ts # CLI self-update/removal and resource refresh
|
|
117
|
+
| | |-- migration.ts # Read-only legacy-entry checks
|
|
118
|
+
| | |-- shared/ # Common snapshots, ownership and product transactions
|
|
99
119
|
| |-- openclaw/ # OpenClaw runtime TypeScript source
|
|
100
120
|
|
|
|
121
|
+
|-- bin/ # TypeScript CLI entry bundled into dist/bin/
|
|
122
|
+
|-- localized/zh-CN/ # Chinese agents, commands, skills and templates
|
|
123
|
+
|-- common-content.lock.json # Pinned common version, provenance and hashes
|
|
124
|
+
|-- tests/ # Content, install, migration, shared transaction and CLI lifecycle tests
|
|
125
|
+
|-- dist/ # Generated CLI, hooks and OpenClaw bundles; do not edit
|
|
126
|
+
|
|
|
101
127
|
|-- scripts/ # Source-run repository maintenance scripts, not published to npm
|
|
102
128
|
|
|
|
103
129
|
|-- templates/ # Runtime-specific project templates
|
|
@@ -129,3 +155,12 @@ frontend-craft/
|
|
|
129
155
|
| `src/openclaw/` | OpenClaw runtime TypeScript source |
|
|
130
156
|
| `templates/` | Runtime-specific project templates (Claude/Codex/Cursor/Gemini/OpenClaw/Windsurf configs + shared rules) |
|
|
131
157
|
| `tests/` | Test suite (converter tests, installer tests) |
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
Technical diagram quality: `cc-technical-diagrams` prefers local Mermaid for standard sequence/workflow diagrams and the draw.io workflow for editable architecture, with JSON/HTML fallback when tools are unavailable. Export a browser-measured manifest scaled to the PNG, run QA and inspect the final image. Preserve complete text, explicit layout and relationships; repair the source for at most two automatic rounds and report unresolved issues. Reproducible fixtures are in `skills/cc-technical-diagrams/assets/quality-examples/`.
|
|
161
|
+
|
|
162
|
+
[Review scope and technical diagram delivery](review-and-diagram-workflows.md) — scope, tool prerequisites, export commands, and QA limits.
|
|
163
|
+
|
|
164
|
+
Shared `cc-*` entries and embedded method copies are generated from `craft-common@2.0.0`. Run `pnpm run sync:common` after upstream changes and `pnpm run check:common` for a read-only comparison. Do not edit generated common snapshots. Frontend domain content is maintained here, with Chinese mirrors in `localized/zh-CN/`.
|
|
165
|
+
|
|
166
|
+
`src/project/` keeps product framework declarations and inspect integration. Bounded discovery and task recommendation live in craft-common; backend retains the six-language validation projection. 产品不复制扫描器或公共安装算法。
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# frontend-craft 重构子系统
|
|
2
|
+
|
|
3
|
+
本目录是重构子系统的人类导航入口。详细可执行知识位于 `skills/` 与 `localized/zh-CN/skills/`,这里不重复完整操作步骤。
|
|
4
|
+
|
|
5
|
+
## 能力入口
|
|
6
|
+
|
|
7
|
+
| 入口 | 模式 | 用途 |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| `/fec-smell` | 只读诊断 | 基于证据识别代码坏味道,检查误判并给出候选重构手法 |
|
|
10
|
+
| `/fec-refactor-plan` | 只读规划 | 把诊断结果组织为有依赖顺序、可验证、可回滚的小步重构计划 |
|
|
11
|
+
| `/fec-refactor` | 受控执行 | 在保持既有可观察行为的前提下,一次执行一个主要重构并逐步验证 |
|
|
12
|
+
|
|
13
|
+
## 核心安全模型
|
|
14
|
+
|
|
15
|
+
纯重构遵循 `GREEN → REFACTOR → GREEN`:先记录可用的绿色基线,再做结构变化,再回到同一行为基线。新增行为或行为变化型缺陷修复仍属于 TDD 的 `RED → GREEN → REFACTOR`。
|
|
16
|
+
|
|
17
|
+
风险统一分为:
|
|
18
|
+
|
|
19
|
+
- `SAFE`:局部、私有、易回滚且验证充分;
|
|
20
|
+
- `CAUTION`:跨模块、状态归属、组件边界或动态引用等需要额外证据;
|
|
21
|
+
- `DANGER`:公开 API、路由、持久化、网络协议、权限、SSR/hydration、关键业务计算等高风险边界,默认先规划并明确确认。
|
|
22
|
+
|
|
23
|
+
每个执行步骤还要记录**差异预算(Diff Budget)**:预期文件数、函数/组件数、公开 API 变化数和行为变化数。实际范围明显超出预算时停止并重新评估。
|
|
24
|
+
|
|
25
|
+
## 与相邻工作流的边界
|
|
26
|
+
|
|
27
|
+
- 已证明未使用的代码、导出、样式、路由或依赖:使用 `fec-refactor-clean`;
|
|
28
|
+
- 新增行为或行为变化型 bug 修复:使用 `fec-tdd-workflow`;
|
|
29
|
+
- 原因未知的构建、运行时、UI 或 API 故障:使用 `fec-debug-framework`;
|
|
30
|
+
- 已知的 lint/typecheck/test/build 失败修复:使用 `fec-validation-fix`;
|
|
31
|
+
- 改动合并就绪性、指定文件或目录、全项目代码审核:使用 `fec-code-review`;未限定时默认全项目,明确改动 / PR / 提交上下文时增量审核;明确指定范围时包括未改动代码,全项目审核按模块记录覆盖情况;
|
|
32
|
+
- 框架、依赖、状态库迁移或大范围架构替换:进入对应 migration/architecture 工作流,而不是当作普通重构。
|
|
33
|
+
|
|
34
|
+
## 知识范围
|
|
35
|
+
|
|
36
|
+
本子系统覆盖:
|
|
37
|
+
|
|
38
|
+
- 第 3 章的 24 种代码坏味道;
|
|
39
|
+
- 第 6~12 章的 61 个标准重构手法;
|
|
40
|
+
- 坏味道到候选手法的多对多关系;
|
|
41
|
+
- 手法的前置条件、组合关系、风险和行为保持检查;
|
|
42
|
+
- TypeScript、React、Vue、现代函数式/组合式前端的项目原生适配。
|
|
43
|
+
|
|
44
|
+
查看 [61 项重构目录](catalog.md) 与 [坏味道—重构矩阵](smell-refactoring-matrix.md)。
|
|
45
|
+
|
|
46
|
+
## 来源与内容转换原则
|
|
47
|
+
|
|
48
|
+
知识基线来自用户提供的《重构:改善既有代码的设计(第 2 版)》JavaScript 版 Markdown/PDF,尤其是第 2~12 章、重构列表以及坏味道与重构手法速查材料。frontend-craft 保留标准术语、目录完整性和来源支持的关系,但不会复制长段正文或完整案例。
|
|
49
|
+
|
|
50
|
+
`Frontend-Craft 前端适配`、AI Agent 风险门禁、差异预算、报告格式、React/Vue/TypeScript 示例等属于本项目重新编写的工程增强,用于把经典重构思想转换为可执行的前端智能体工作流。
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# 61 项标准重构目录
|
|
2
|
+
|
|
3
|
+
本表用于快速导航。详细动机、前置条件、操作步骤、行为保持检查和前端适配请打开对应中文 Reference。
|
|
4
|
+
|
|
5
|
+
## 函数组织(第 6 章) — 11 项
|
|
6
|
+
|
|
7
|
+
| ID | 中文标准名 | 英文标准名 | 详细知识 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| `RF-EXTRACT-FUNCTION` | 提炼函数 | Extract Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
|
|
10
|
+
| `RF-INLINE-FUNCTION` | 内联函数 | Inline Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
|
|
11
|
+
| `RF-EXTRACT-VARIABLE` | 提炼变量 | Extract Variable | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
|
|
12
|
+
| `RF-INLINE-VARIABLE` | 内联变量 | Inline Variable | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
|
|
13
|
+
| `RF-CHANGE-FUNCTION-DECLARATION` | 改变函数声明 | Change Function Declaration | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
|
|
14
|
+
| `RF-ENCAPSULATE-VARIABLE` | 封装变量 | Encapsulate Variable | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
|
|
15
|
+
| `RF-RENAME-VARIABLE` | 变量改名 | Rename Variable | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
|
|
16
|
+
| `RF-INTRODUCE-PARAMETER-OBJECT` | 引入参数对象 | Introduce Parameter Object | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
|
|
17
|
+
| `RF-COMBINE-FUNCTIONS-INTO-CLASS` | 函数组合成类 | Combine Functions into Class | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
|
|
18
|
+
| `RF-COMBINE-FUNCTIONS-INTO-TRANSFORM` | 函数组合成变换 | Combine Functions into Transform | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
|
|
19
|
+
| `RF-SPLIT-PHASE` | 拆分阶段 | Split Phase | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md) |
|
|
20
|
+
|
|
21
|
+
## 封装(第 7 章) — 9 项
|
|
22
|
+
|
|
23
|
+
| ID | 中文标准名 | 英文标准名 | 详细知识 |
|
|
24
|
+
| --- | --- | --- | --- |
|
|
25
|
+
| `RF-ENCAPSULATE-RECORD` | 封装记录 | Encapsulate Record | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
|
|
26
|
+
| `RF-ENCAPSULATE-COLLECTION` | 封装集合 | Encapsulate Collection | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
|
|
27
|
+
| `RF-REPLACE-PRIMITIVE-WITH-OBJECT` | 以对象取代基本类型 | Replace Primitive with Object | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
|
|
28
|
+
| `RF-REPLACE-TEMP-WITH-QUERY` | 以查询取代临时变量 | Replace Temp with Query | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
|
|
29
|
+
| `RF-EXTRACT-CLASS` | 提炼类 | Extract Class | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
|
|
30
|
+
| `RF-INLINE-CLASS` | 内联类 | Inline Class | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
|
|
31
|
+
| `RF-HIDE-DELEGATE` | 隐藏委托关系 | Hide Delegate | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
|
|
32
|
+
| `RF-REMOVE-MIDDLE-MAN` | 移除中间人 | Remove Middle Man | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
|
|
33
|
+
| `RF-SUBSTITUTE-ALGORITHM` | 替换算法 | Substitute Algorithm | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md) |
|
|
34
|
+
|
|
35
|
+
## 搬移特性(第 8 章) — 9 项
|
|
36
|
+
|
|
37
|
+
| ID | 中文标准名 | 英文标准名 | 详细知识 |
|
|
38
|
+
| --- | --- | --- | --- |
|
|
39
|
+
| `RF-MOVE-FUNCTION` | 搬移函数 | Move Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
|
|
40
|
+
| `RF-MOVE-FIELD` | 搬移字段 | Move Field | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
|
|
41
|
+
| `RF-MOVE-STATEMENTS-INTO-FUNCTION` | 搬移语句到函数 | Move Statements into Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
|
|
42
|
+
| `RF-MOVE-STATEMENTS-TO-CALLERS` | 搬移语句到调用者 | Move Statements to Callers | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
|
|
43
|
+
| `RF-REPLACE-INLINE-CODE-WITH-FUNCTION-CALL` | 以函数调用取代内联代码 | Replace Inline Code with Function Call | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
|
|
44
|
+
| `RF-SLIDE-STATEMENTS` | 移动语句 | Slide Statements | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
|
|
45
|
+
| `RF-SPLIT-LOOP` | 拆分循环 | Split Loop | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
|
|
46
|
+
| `RF-REPLACE-LOOP-WITH-PIPELINE` | 以管道取代循环 | Replace Loop with Pipeline | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
|
|
47
|
+
| `RF-REMOVE-DEAD-CODE` | 移除死代码 | Remove Dead Code | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md) |
|
|
48
|
+
|
|
49
|
+
## 重新组织数据(第 9 章) — 5 项
|
|
50
|
+
|
|
51
|
+
| ID | 中文标准名 | 英文标准名 | 详细知识 |
|
|
52
|
+
| --- | --- | --- | --- |
|
|
53
|
+
| `RF-SPLIT-VARIABLE` | 拆分变量 | Split Variable | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md) |
|
|
54
|
+
| `RF-RENAME-FIELD` | 字段改名 | Rename Field | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md) |
|
|
55
|
+
| `RF-REPLACE-DERIVED-VARIABLE-WITH-QUERY` | 以查询取代派生变量 | Replace Derived Variable with Query | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md) |
|
|
56
|
+
| `RF-CHANGE-REFERENCE-TO-VALUE` | 将引用对象改为值对象 | Change Reference to Value | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md) |
|
|
57
|
+
| `RF-CHANGE-VALUE-TO-REFERENCE` | 将值对象改为引用对象 | Change Value to Reference | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md) |
|
|
58
|
+
|
|
59
|
+
## 简化条件逻辑(第 10 章) — 6 项
|
|
60
|
+
|
|
61
|
+
| ID | 中文标准名 | 英文标准名 | 详细知识 |
|
|
62
|
+
| --- | --- | --- | --- |
|
|
63
|
+
| `RF-DECOMPOSE-CONDITIONAL` | 分解条件表达式 | Decompose Conditional | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
|
|
64
|
+
| `RF-CONSOLIDATE-CONDITIONAL-EXPRESSION` | 合并条件表达式 | Consolidate Conditional Expression | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
|
|
65
|
+
| `RF-REPLACE-NESTED-CONDITIONAL-WITH-GUARD-CLAUSES` | 以卫语句取代嵌套条件表达式 | Replace Nested Conditional with Guard Clauses | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
|
|
66
|
+
| `RF-REPLACE-CONDITIONAL-WITH-POLYMORPHISM` | 以多态取代条件表达式 | Replace Conditional with Polymorphism | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
|
|
67
|
+
| `RF-INTRODUCE-SPECIAL-CASE` | 引入特例 | Introduce Special Case | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
|
|
68
|
+
| `RF-INTRODUCE-ASSERTION` | 引入断言 | Introduce Assertion | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md) |
|
|
69
|
+
|
|
70
|
+
## 重构 API(第 11 章) — 10 项
|
|
71
|
+
|
|
72
|
+
| ID | 中文标准名 | 英文标准名 | 详细知识 |
|
|
73
|
+
| --- | --- | --- | --- |
|
|
74
|
+
| `RF-SEPARATE-QUERY-FROM-MODIFIER` | 将查询函数和修改函数分离 | Separate Query from Modifier | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
|
|
75
|
+
| `RF-PARAMETERIZE-FUNCTION` | 函数参数化 | Parameterize Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
|
|
76
|
+
| `RF-REMOVE-FLAG-ARGUMENT` | 移除标记参数 | Remove Flag Argument | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
|
|
77
|
+
| `RF-PRESERVE-WHOLE-OBJECT` | 保持对象完整 | Preserve Whole Object | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
|
|
78
|
+
| `RF-REPLACE-PARAMETER-WITH-QUERY` | 以查询取代参数 | Replace Parameter with Query | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
|
|
79
|
+
| `RF-REPLACE-QUERY-WITH-PARAMETER` | 以参数取代查询 | Replace Query with Parameter | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
|
|
80
|
+
| `RF-REMOVE-SETTING-METHOD` | 移除设值函数 | Remove Setting Method | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
|
|
81
|
+
| `RF-REPLACE-CONSTRUCTOR-WITH-FACTORY-FUNCTION` | 以工厂函数取代构造函数 | Replace Constructor with Factory Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
|
|
82
|
+
| `RF-REPLACE-FUNCTION-WITH-COMMAND` | 以命令取代函数 | Replace Function with Command | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
|
|
83
|
+
| `RF-REPLACE-COMMAND-WITH-FUNCTION` | 以函数取代命令 | Replace Command with Function | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md) |
|
|
84
|
+
|
|
85
|
+
## 处理继承关系(第 12 章) — 11 项
|
|
86
|
+
|
|
87
|
+
| ID | 中文标准名 | 英文标准名 | 详细知识 |
|
|
88
|
+
| --- | --- | --- | --- |
|
|
89
|
+
| `RF-PULL-UP-METHOD` | 函数上移 | Pull Up Method | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
|
|
90
|
+
| `RF-PULL-UP-FIELD` | 字段上移 | Pull Up Field | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
|
|
91
|
+
| `RF-PULL-UP-CONSTRUCTOR-BODY` | 构造函数本体上移 | Pull Up Constructor Body | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
|
|
92
|
+
| `RF-PUSH-DOWN-METHOD` | 函数下移 | Push Down Method | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
|
|
93
|
+
| `RF-PUSH-DOWN-FIELD` | 字段下移 | Push Down Field | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
|
|
94
|
+
| `RF-REPLACE-TYPE-CODE-WITH-SUBCLASSES` | 以子类取代类型码 | Replace Type Code with Subclasses | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
|
|
95
|
+
| `RF-REMOVE-SUBCLASS` | 移除子类 | Remove Subclass | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
|
|
96
|
+
| `RF-EXTRACT-SUPERCLASS` | 提炼超类 | Extract Superclass | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
|
|
97
|
+
| `RF-COLLAPSE-HIERARCHY` | 折叠继承体系 | Collapse Hierarchy | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
|
|
98
|
+
| `RF-REPLACE-SUBCLASS-WITH-DELEGATE` | 以委托取代子类 | Replace Subclass with Delegate | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
|
|
99
|
+
| `RF-REPLACE-SUPERCLASS-WITH-DELEGATE` | 以委托取代超类 | Replace Superclass with Delegate | [查看 Reference](../../localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md) |
|
|
100
|
+
|
|
101
|
+
## 完整性
|
|
102
|
+
|
|
103
|
+
- 总计:**61** 项。
|
|
104
|
+
- 分组数量:`11 / 9 / 9 / 5 / 6 / 10 / 11`。
|
|
105
|
+
- `RF-REMOVE-DEAD-CODE` 保留在目录中保证知识完整,但实际死代码发现与删除路由到 `fec-refactor-clean`。
|