@bovinphang/frontend-craft 2.9.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +3 -3
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +403 -378
- package/CHANGELOG.zh-CN.md +402 -377
- package/CONTRIBUTING.md +381 -371
- package/CONTRIBUTING.zh-CN.md +383 -371
- package/README.md +605 -545
- package/README.openclaw.md +395 -359
- package/README.openclaw.zh-CN.md +395 -359
- package/README.zh-CN.md +605 -545
- package/agents/fec-typescript-reviewer.md +1 -1
- package/common-content.lock.json +3795 -0
- package/dist/bin/frontend-craft.js +353 -174
- package/docs/common-migration.md +61 -0
- package/docs/example-prompts.md +157 -157
- package/docs/ja-JP/README.md +588 -534
- package/docs/ko-KR/README.md +588 -534
- package/docs/project-structure.md +166 -151
- package/docs/review-and-diagram-workflows.md +5 -5
- package/docs/runtimes/antigravity.md +18 -18
- package/docs/runtimes/augment.md +18 -18
- package/docs/runtimes/claude.md +193 -191
- package/docs/runtimes/claude.zh-CN.md +191 -189
- package/docs/runtimes/cline.md +18 -18
- package/docs/runtimes/codebuddy.md +18 -18
- package/docs/runtimes/codex.md +18 -18
- package/docs/runtimes/compatibility.md +42 -27
- package/docs/runtimes/copilot.md +18 -18
- package/docs/runtimes/cursor.md +18 -18
- package/docs/runtimes/gemini.md +18 -18
- package/docs/runtimes/kilo.md +18 -18
- package/docs/runtimes/openclaw.md +18 -18
- package/docs/runtimes/opencode.md +18 -18
- package/docs/runtimes/qoder.md +18 -18
- package/docs/runtimes/trae.md +18 -18
- package/docs/runtimes/windsurf.md +18 -18
- package/docs/zh-CN/common-migration.md +57 -0
- package/docs/zh-CN/example-prompts.md +157 -157
- package/docs/zh-CN/project-structure.md +166 -148
- package/docs/zh-CN/review-and-diagram-workflows.md +5 -5
- package/docs/zh-TW/README.md +588 -534
- package/localized/zh-CN/agents/fec-typescript-reviewer.md +1 -1
- package/localized/zh-CN/skills/cc-c-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
- package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-c-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-cpp-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-debug-methodology/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-debug-methodology/references/method.md +13 -0
- package/localized/zh-CN/skills/cc-doc-sync-core/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-doc-sync-core/references/method.md +12 -0
- package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
- package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
- package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
- package/localized/zh-CN/skills/cc-electron-project-standard/SKILL.md +21 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/practice.md +19 -0
- package/localized/zh-CN/skills/cc-electron-project-standard/references/verification.md +17 -0
- package/localized/zh-CN/skills/cc-go-concurrency/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-go-concurrency/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-go-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
- package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-go-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-java-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/README.md +5 -0
- package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
- package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-java-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-java-runtime/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-java-runtime/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-native-memory-safety/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-python-async/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-python-async/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-python-async/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-python-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
- package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-python-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-refactoring-core/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-refactoring-core/references/method.md +16 -0
- package/localized/zh-CN/skills/cc-rust-async/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-rust-async/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-rust-async/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/SKILL.md +25 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/cc-rust-project-standard/references/practice.md +37 -0
- package/localized/zh-CN/skills/cc-source-driven-development/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-source-driven-development/references/method.md +19 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/SKILL.md +21 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/practice.md +20 -0
- package/localized/zh-CN/skills/cc-tauri-project-standard/references/verification.md +18 -0
- package/localized/zh-CN/skills/cc-tdd-methodology/SKILL.md +8 -0
- package/localized/zh-CN/skills/cc-tdd-methodology/references/method.md +13 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/SKILL.md +34 -0
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
- package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/README.md +14 -0
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.mmd +21 -21
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.mmd +7 -7
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +3 -3
- package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +7 -7
- package/localized/zh-CN/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
- package/{skills/fec-image-generation → localized/zh-CN/skills/cc-technical-diagrams}/scripts/diagram-browser.mjs +77 -14
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
- package/localized/zh-CN/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
- package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
- package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +5 -34
- package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +6 -0
- package/localized/zh-CN/skills/eval_queries.json +741 -319
- package/localized/zh-CN/skills/fec-api-integration/SKILL.md +5 -1
- package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-api-integration/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-code-review/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-code-review/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-data-fetching/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-data-fetching/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-debug-framework/SKILL.md +1 -50
- package/localized/zh-CN/skills/fec-debug-framework/references/common/debug.md +13 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-doc-sync/SKILL.md +7 -28
- package/localized/zh-CN/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
- package/localized/zh-CN/skills/fec-image-generation/SKILL.md +7 -101
- package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +1 -1
- package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +1 -1
- package/localized/zh-CN/skills/fec-react-project-standard/SKILL.md +6 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
- package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
- package/localized/zh-CN/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
- package/localized/zh-CN/skills/fec-refactoring/SKILL.md +12 -70
- package/localized/zh-CN/skills/fec-refactoring/references/common/refactoring.md +16 -0
- package/localized/zh-CN/skills/fec-refactoring/references/principles.md +9 -39
- package/localized/zh-CN/skills/fec-refactoring/references/workflow.md +4 -56
- package/localized/zh-CN/skills/fec-security-review/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-security-review/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +12 -43
- package/localized/zh-CN/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
- package/localized/zh-CN/skills/fec-testing-strategy/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/SKILL.md +4 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
- package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
- package/localized/zh-CN/skills/metadata.json +2246 -1008
- package/localized/zh-CN/skills/relations.json +501 -372
- package/localized/zh-CN/templates/shared/rules/fec-source-driven-development.md +3 -29
- package/localized/zh-CN/templates/shared/rules/fec-typescript.md +4 -4
- package/localized/zh-CN/templates/shared/rules/references/common/source-driven-development.md +19 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +11 -4
- package/skills/cc-c-project-standard/SKILL.md +25 -0
- package/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
- package/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
- package/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
- package/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-c-project-standard/references/practice.md +37 -0
- package/skills/cc-cpp-project-standard/SKILL.md +25 -0
- package/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
- package/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
- package/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
- package/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-cpp-project-standard/references/practice.md +37 -0
- package/skills/cc-debug-methodology/SKILL.md +8 -0
- package/skills/cc-debug-methodology/references/method.md +13 -0
- package/skills/cc-doc-sync-core/SKILL.md +8 -0
- package/skills/cc-doc-sync-core/references/method.md +12 -0
- package/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
- package/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
- package/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
- package/skills/cc-electron-project-standard/SKILL.md +21 -0
- package/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
- package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
- package/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
- package/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
- package/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
- package/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
- package/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
- package/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
- package/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
- package/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
- package/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
- package/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
- package/skills/cc-electron-project-standard/references/practice.md +19 -0
- package/skills/cc-electron-project-standard/references/verification.md +17 -0
- package/skills/cc-go-concurrency/SKILL.md +25 -0
- package/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
- package/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
- package/skills/cc-go-concurrency/references/practice.md +37 -0
- package/skills/cc-go-project-standard/SKILL.md +25 -0
- package/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
- package/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
- package/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
- package/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-go-project-standard/references/practice.md +37 -0
- package/skills/cc-java-project-standard/SKILL.md +25 -0
- package/skills/cc-java-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
- package/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
- package/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-java-project-standard/references/practice.md +35 -0
- package/skills/cc-java-runtime/SKILL.md +25 -0
- package/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
- package/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-java-runtime/references/engineering-practices.md +73 -0
- package/skills/cc-java-runtime/references/practice.md +37 -0
- package/skills/cc-native-memory-safety/SKILL.md +25 -0
- package/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
- package/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
- package/skills/cc-native-memory-safety/references/practice.md +37 -0
- package/skills/cc-python-async/SKILL.md +25 -0
- package/skills/cc-python-async/references/common/engineering-practices.md +237 -0
- package/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-python-async/references/engineering-practices.md +73 -0
- package/skills/cc-python-async/references/practice.md +37 -0
- package/skills/cc-python-project-standard/SKILL.md +25 -0
- package/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
- package/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
- package/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
- package/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-python-project-standard/references/practice.md +37 -0
- package/skills/cc-refactoring-core/SKILL.md +8 -0
- package/skills/cc-refactoring-core/references/method.md +16 -0
- package/skills/cc-rust-async/SKILL.md +25 -0
- package/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
- package/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-rust-async/references/engineering-practices.md +73 -0
- package/skills/cc-rust-async/references/practice.md +37 -0
- package/skills/cc-rust-project-standard/SKILL.md +25 -0
- package/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
- package/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
- package/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
- package/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
- package/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
- package/skills/cc-rust-project-standard/references/practice.md +37 -0
- package/skills/cc-source-driven-development/SKILL.md +8 -0
- package/skills/cc-source-driven-development/references/method.md +19 -0
- package/skills/cc-tauri-project-standard/SKILL.md +21 -0
- package/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
- package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
- package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
- package/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
- package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
- package/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
- package/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
- package/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
- package/skills/cc-tauri-project-standard/references/practice.md +20 -0
- package/skills/cc-tauri-project-standard/references/verification.md +18 -0
- package/skills/cc-tdd-methodology/SKILL.md +8 -0
- package/skills/cc-tdd-methodology/references/method.md +13 -0
- package/skills/cc-technical-diagrams/SKILL.md +34 -0
- package/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
- package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/README.md +5 -5
- package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.mmd +21 -21
- package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.mmd +7 -7
- package/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +3 -3
- package/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +7 -7
- package/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
- package/{localized/zh-CN/skills/fec-image-generation → skills/cc-technical-diagrams}/scripts/diagram-browser.mjs +77 -14
- package/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
- package/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
- package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
- package/skills/cc-typescript-project-standard/examples/engineering/README.md +9 -0
- package/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
- package/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
- package/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
- package/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
- package/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
- package/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
- package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +6 -35
- package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +7 -1
- package/skills/eval_queries.json +741 -319
- package/skills/fec-api-integration/SKILL.md +5 -1
- package/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
- package/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-api-integration/references/engineering-practices.md +73 -0
- package/skills/fec-code-review/SKILL.md +4 -0
- package/skills/fec-code-review/references/common/engineering-practices.md +237 -0
- package/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-code-review/references/engineering-practices.md +73 -0
- package/skills/fec-data-fetching/SKILL.md +4 -0
- package/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
- package/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-data-fetching/references/engineering-practices.md +73 -0
- package/skills/fec-debug-framework/SKILL.md +2 -51
- package/skills/fec-debug-framework/references/common/debug.md +13 -0
- package/skills/fec-dependency-upgrade/SKILL.md +4 -0
- package/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
- package/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
- package/skills/fec-doc-sync/SKILL.md +7 -28
- package/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
- package/skills/fec-image-generation/SKILL.md +7 -102
- package/skills/fec-image-generation/references/png-qa-autofix.md +1 -1
- package/skills/fec-image-generation/scripts/png-qa.mjs +1 -1
- package/skills/fec-react-project-standard/SKILL.md +6 -0
- package/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
- package/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
- package/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
- package/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
- package/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
- package/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
- package/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
- package/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
- package/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
- package/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
- package/skills/fec-refactoring/SKILL.md +12 -70
- package/skills/fec-refactoring/references/common/refactoring.md +16 -0
- package/skills/fec-refactoring/references/principles.md +9 -56
- package/skills/fec-refactoring/references/workflow.md +4 -87
- package/skills/fec-security-review/SKILL.md +4 -0
- package/skills/fec-security-review/references/common/engineering-practices.md +237 -0
- package/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-security-review/references/engineering-practices.md +73 -0
- package/skills/fec-tdd-workflow/SKILL.md +13 -45
- package/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
- package/skills/fec-testing-strategy/SKILL.md +4 -0
- package/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
- package/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
- package/skills/fec-vue3-project-standard/SKILL.md +4 -0
- package/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
- package/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
- package/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
- package/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
- package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
- package/skills/metadata.json +2246 -1008
- package/skills/relations.json +501 -372
- package/templates/shared/rules/fec-source-driven-development.md +3 -29
- package/templates/shared/rules/fec-typescript.md +4 -4
- package/templates/shared/rules/references/common/source-driven-development.md +19 -0
- package/localized/zh-CN/skills/fec-image-generation/assets/quality-examples/README.md +0 -14
- package/localized/zh-CN/skills/fec-source-driven-development/SKILL.md +0 -87
- package/skills/fec-source-driven-development/SKILL.md +0 -87
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
- /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/architecture.json +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/invalid-explicit.json +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.json +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.json +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/export-diagram.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/mermaid-render.mjs +0 -0
- /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
- /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/architecture.json +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/invalid-explicit.json +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.json +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.json +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/export-diagram.mjs +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/mermaid-render.mjs +0 -0
- /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +0 -0
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"sources": [
|
|
4
|
+
{
|
|
5
|
+
"id": "google-review",
|
|
6
|
+
"publisher": "Google",
|
|
7
|
+
"title": "Code review standard",
|
|
8
|
+
"url": "https://google.github.io/eng-practices/review/reviewer/standard.html",
|
|
9
|
+
"section": "Engineering principles and code health",
|
|
10
|
+
"checkedAt": "2026-11-08",
|
|
11
|
+
"versionScope": "Living public guidance; revision unknown",
|
|
12
|
+
"licenseStatus": "unknown",
|
|
13
|
+
"adoption": "adopt",
|
|
14
|
+
"limits": "Use evidence and project standards; personal preference alone is not a blocker."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "ms-playbook",
|
|
18
|
+
"publisher": "Microsoft ISE",
|
|
19
|
+
"title": "Test planning",
|
|
20
|
+
"url": "https://microsoft.github.io/code-with-engineering-playbook/automated-testing/test-planning/",
|
|
21
|
+
"section": "Risk, test scope and responsibilities",
|
|
22
|
+
"checkedAt": "2026-11-08",
|
|
23
|
+
"versionScope": "Living ISE playbook; revision unknown",
|
|
24
|
+
"licenseStatus": "unknown",
|
|
25
|
+
"adoption": "adopt",
|
|
26
|
+
"limits": "Team practice, not a company-wide mandate; retain existing tools."
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "ms-faults",
|
|
30
|
+
"publisher": "Microsoft ISE",
|
|
31
|
+
"title": "Fault injection testing",
|
|
32
|
+
"url": "https://microsoft.github.io/code-with-engineering-playbook/automated-testing/fault-injection-testing/",
|
|
33
|
+
"section": "Controlled failure and observations",
|
|
34
|
+
"checkedAt": "2026-11-08",
|
|
35
|
+
"versionScope": "Living ISE playbook; revision unknown",
|
|
36
|
+
"licenseStatus": "unknown",
|
|
37
|
+
"adoption": "adopt",
|
|
38
|
+
"limits": "Run scoped, controlled failures; do not infer production reliability from a small example."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"id": "google-ts",
|
|
42
|
+
"publisher": "Google",
|
|
43
|
+
"title": "TS/JS style guide",
|
|
44
|
+
"url": "https://google.github.io/styleguide/tsguide.html",
|
|
45
|
+
"section": "Environment caveat; types and exceptions",
|
|
46
|
+
"checkedAt": "2026-11-08",
|
|
47
|
+
"versionScope": "Public guide; revision unknown",
|
|
48
|
+
"licenseStatus": "unknown",
|
|
49
|
+
"adoption": "conditional",
|
|
50
|
+
"limits": "Google explicitly notes internal constraints differ; no blanket ban overriding a justified project convention."
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "typescript-publishing",
|
|
54
|
+
"publisher": "TypeScript",
|
|
55
|
+
"title": "Publishing declaration files",
|
|
56
|
+
"url": "https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html",
|
|
57
|
+
"section": "Types and declaration dependencies",
|
|
58
|
+
"checkedAt": "2026-11-08",
|
|
59
|
+
"versionScope": "Living handbook; check installed compiler/module resolution",
|
|
60
|
+
"licenseStatus": "unknown",
|
|
61
|
+
"adoption": "adopt",
|
|
62
|
+
"limits": "Validate the actual packed consumer; do not upgrade compiler or module mode on this basis."
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "rust-api",
|
|
66
|
+
"publisher": "Rust library team",
|
|
67
|
+
"title": "Rust API Guidelines",
|
|
68
|
+
"url": "https://rust-lang.github.io/api-guidelines/",
|
|
69
|
+
"section": "Type safety, dependability and future proofing",
|
|
70
|
+
"checkedAt": "2026-11-08",
|
|
71
|
+
"versionScope": "Living recommendations; revision unknown",
|
|
72
|
+
"licenseStatus": "unknown",
|
|
73
|
+
"adoption": "adopt",
|
|
74
|
+
"limits": "Guidance rather than language law; preserve edition and MSRV."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "tokio-join",
|
|
78
|
+
"publisher": "Tokio project",
|
|
79
|
+
"title": "JoinHandle",
|
|
80
|
+
"url": "https://docs.rs/tokio/latest/tokio/task/struct.JoinHandle.html",
|
|
81
|
+
"section": "Drop, abort and completion",
|
|
82
|
+
"checkedAt": "2026-11-08",
|
|
83
|
+
"versionScope": "Page observed 1.54.1; project runtime/version determines applicability",
|
|
84
|
+
"licenseStatus": "unknown",
|
|
85
|
+
"adoption": "conditional",
|
|
86
|
+
"limits": "Tokio-specific mechanics only when Tokio is already used; no new runtime dependency."
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"id": "uber-go",
|
|
90
|
+
"publisher": "Uber",
|
|
91
|
+
"title": "Go Style Guide",
|
|
92
|
+
"url": "https://github.com/uber-go/guide/blob/master/style.md",
|
|
93
|
+
"section": "Errors, interfaces and goroutine lifetime",
|
|
94
|
+
"checkedAt": "2026-11-08",
|
|
95
|
+
"versionScope": "Living master; revision unknown",
|
|
96
|
+
"licenseStatus": "unknown",
|
|
97
|
+
"adoption": "adopt",
|
|
98
|
+
"limits": "Do not import Uber dependencies or turn buffer-size style into a correctness theorem."
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": "go-context",
|
|
102
|
+
"publisher": "Go project",
|
|
103
|
+
"title": "context package",
|
|
104
|
+
"url": "https://pkg.go.dev/context",
|
|
105
|
+
"section": "Cancellation propagation and ownership",
|
|
106
|
+
"checkedAt": "2026-11-08",
|
|
107
|
+
"versionScope": "Standard library; check owning go.mod/toolchain",
|
|
108
|
+
"licenseStatus": "unknown",
|
|
109
|
+
"adoption": "adopt",
|
|
110
|
+
"limits": "A cancellation signal alone does not confirm worker exit."
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "google-java",
|
|
114
|
+
"publisher": "Google",
|
|
115
|
+
"title": "Java Style Guide",
|
|
116
|
+
"url": "https://google.github.io/styleguide/javaguide.html",
|
|
117
|
+
"section": "Source structure and exception handling",
|
|
118
|
+
"checkedAt": "2026-11-08",
|
|
119
|
+
"versionScope": "Living public style; revision unknown",
|
|
120
|
+
"licenseStatus": "unknown",
|
|
121
|
+
"adoption": "conditional",
|
|
122
|
+
"limits": "Naming/layout follows local standard; style is distinct from runtime correctness."
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"id": "oracle-resources",
|
|
126
|
+
"publisher": "Oracle",
|
|
127
|
+
"title": "Try-with-resources",
|
|
128
|
+
"url": "https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html",
|
|
129
|
+
"section": "Closing resources and suppressed exceptions",
|
|
130
|
+
"checkedAt": "2026-11-08",
|
|
131
|
+
"versionScope": "JDK8 tutorial; not a source for newer runtime features",
|
|
132
|
+
"licenseStatus": "unknown",
|
|
133
|
+
"adoption": "adopt",
|
|
134
|
+
"limits": "Preserve primary cause and borrowed-resource ownership; check actual API contract."
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"id": "java-executor",
|
|
138
|
+
"publisher": "Oracle",
|
|
139
|
+
"title": "ExecutorService",
|
|
140
|
+
"url": "https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/ExecutorService.html",
|
|
141
|
+
"section": "Shutdown, termination and awaitTermination",
|
|
142
|
+
"checkedAt": "2026-11-08",
|
|
143
|
+
"versionScope": "Java SE17 documentation",
|
|
144
|
+
"licenseStatus": "unknown",
|
|
145
|
+
"adoption": "conditional",
|
|
146
|
+
"limits": "Check target JDK; no automatic virtual-thread or JDK migration."
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "google-python",
|
|
150
|
+
"publisher": "Google",
|
|
151
|
+
"title": "Python Style Guide",
|
|
152
|
+
"url": "https://google.github.io/styleguide/pyguide.html",
|
|
153
|
+
"section": "Imports, exceptions and mutable state",
|
|
154
|
+
"checkedAt": "2026-11-08",
|
|
155
|
+
"versionScope": "Living public guide; revision unknown",
|
|
156
|
+
"licenseStatus": "unknown",
|
|
157
|
+
"adoption": "conditional",
|
|
158
|
+
"limits": "Keep current formatter/type checker and library responsibilities."
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"id": "python-asyncio",
|
|
162
|
+
"publisher": "Python project",
|
|
163
|
+
"title": "Coroutines and tasks",
|
|
164
|
+
"url": "https://docs.python.org/3/library/asyncio-task.html",
|
|
165
|
+
"section": "Cancellation and task ownership",
|
|
166
|
+
"checkedAt": "2026-11-08",
|
|
167
|
+
"versionScope": "Page observed 3.15.2; feature availability follows project Python",
|
|
168
|
+
"licenseStatus": "unknown",
|
|
169
|
+
"adoption": "conditional",
|
|
170
|
+
"limits": "Newer TaskGroup/timeout features require a supported project version; no upgrade implied."
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"id": "cert-c",
|
|
174
|
+
"publisher": "CMU SEI",
|
|
175
|
+
"title": "MEM00-C allocation and release",
|
|
176
|
+
"url": "https://cmu-sei.github.io/secure-coding-standards/sei-cert-c-coding-standard/recommendations/memory-management-mem/mem00-c/",
|
|
177
|
+
"section": "MEM00-C memory responsibility",
|
|
178
|
+
"checkedAt": "2026-11-08",
|
|
179
|
+
"versionScope": "2016-edition standard family; MEM00-C is a recommendation",
|
|
180
|
+
"licenseStatus": "unknown",
|
|
181
|
+
"adoption": "adopt",
|
|
182
|
+
"limits": "Do not label recommendations as mandatory CERT rules or apply C++ ownership machinery to pure C."
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"id": "cpp-core",
|
|
186
|
+
"publisher": "C++ Core Guidelines editors",
|
|
187
|
+
"title": "C++ Core Guidelines",
|
|
188
|
+
"url": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines",
|
|
189
|
+
"section": "Resource and lifetime interfaces",
|
|
190
|
+
"checkedAt": "2026-11-08",
|
|
191
|
+
"versionScope": "Page dated 2026-06-14, living release0.8",
|
|
192
|
+
"licenseStatus": "unknown",
|
|
193
|
+
"adoption": "adopt",
|
|
194
|
+
"limits": "Adapt to existing exception policy and compiler; borrowing does not imply ownership."
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"id": "google-cpp",
|
|
198
|
+
"publisher": "Google",
|
|
199
|
+
"title": "C++ Style Guide",
|
|
200
|
+
"url": "https://google.github.io/styleguide/cppguide.html",
|
|
201
|
+
"section": "Exceptions and project consistency",
|
|
202
|
+
"checkedAt": "2026-11-08",
|
|
203
|
+
"versionScope": "Living public guide; revision unknown",
|
|
204
|
+
"licenseStatus": "unknown",
|
|
205
|
+
"adoption": "conditional",
|
|
206
|
+
"limits": "Its exception/standard policy is not universal; preserve the owning project policy and C ABI."
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"id": "ms-sal",
|
|
210
|
+
"publisher": "Microsoft",
|
|
211
|
+
"title": "Understanding SAL",
|
|
212
|
+
"url": "https://learn.microsoft.com/en-us/cpp/code-quality/understanding-sal?view=msvc-170",
|
|
213
|
+
"section": "Parameter preconditions and output guarantees",
|
|
214
|
+
"checkedAt": "2026-11-08",
|
|
215
|
+
"versionScope": "MSVC170 documentation view",
|
|
216
|
+
"licenseStatus": "unknown",
|
|
217
|
+
"adoption": "conditional",
|
|
218
|
+
"limits": "SAL is an optional toolchain-specific expression, not a portable mandatory annotation."
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"id": "aws-retry",
|
|
222
|
+
"publisher": "AWS",
|
|
223
|
+
"title": "Timeouts, retries and backoff with jitter",
|
|
224
|
+
"url": "https://aws.amazon.com/builders-library/timeouts-retries-and-backoff-with-jitter/",
|
|
225
|
+
"section": "Timeouts, bounded retries and retry amplification",
|
|
226
|
+
"checkedAt": "2026-11-08",
|
|
227
|
+
"versionScope": "Article dated 2019-12-05; official Builder Center redirect",
|
|
228
|
+
"licenseStatus": "unknown",
|
|
229
|
+
"adoption": "adopt",
|
|
230
|
+
"limits": "Retry only semantically safe operations within a total budget; failure classes alone do not grant write replay."
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"id": "aws-idempotency",
|
|
234
|
+
"publisher": "AWS",
|
|
235
|
+
"title": "Making retries safe with idempotent APIs",
|
|
236
|
+
"url": "https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/",
|
|
237
|
+
"section": "Caller intent, duplicate requests and atomic recording",
|
|
238
|
+
"checkedAt": "2026-11-08",
|
|
239
|
+
"versionScope": "Builders Library; revision unknown",
|
|
240
|
+
"licenseStatus": "unknown",
|
|
241
|
+
"adoption": "adopt",
|
|
242
|
+
"limits": "A process-local example does not establish database/multi-process exactly-once."
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"id": "react-effects",
|
|
246
|
+
"publisher": "React project",
|
|
247
|
+
"title": "useEffect",
|
|
248
|
+
"url": "https://react.dev/reference/react/useEffect",
|
|
249
|
+
"section": "Cleanup and fetching race conditions",
|
|
250
|
+
"checkedAt": "2026-11-08",
|
|
251
|
+
"versionScope": "Page observed React19.3; use installed project API",
|
|
252
|
+
"licenseStatus": "unknown",
|
|
253
|
+
"adoption": "adopt",
|
|
254
|
+
"limits": "Abort and stale-result checks complement each other; no React upgrade implied."
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"id": "react-act",
|
|
258
|
+
"publisher": "React project",
|
|
259
|
+
"title": "act",
|
|
260
|
+
"url": "https://react.dev/reference/react/act",
|
|
261
|
+
"section": "Applying updates before assertions",
|
|
262
|
+
"checkedAt": "2026-11-08",
|
|
263
|
+
"versionScope": "Page observed React19.3; verify sample versions",
|
|
264
|
+
"licenseStatus": "unknown",
|
|
265
|
+
"adoption": "adopt",
|
|
266
|
+
"limits": "DOM simulation is not browser E2E or native desktop execution."
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"id": "vue-watchers",
|
|
270
|
+
"publisher": "Vue project",
|
|
271
|
+
"title": "Watchers",
|
|
272
|
+
"url": "https://vuejs.org/guide/essentials/watchers.html",
|
|
273
|
+
"section": "Side-effect cleanup",
|
|
274
|
+
"checkedAt": "2026-11-08",
|
|
275
|
+
"versionScope": "Vue3; onWatcherCleanup requires3.5+ and synchronous registration",
|
|
276
|
+
"licenseStatus": "unknown",
|
|
277
|
+
"adoption": "conditional",
|
|
278
|
+
"limits": "Use supported callback cleanup on older Vue3; no framework migration."
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"id": "tauri-permissions",
|
|
282
|
+
"publisher": "Tauri project",
|
|
283
|
+
"title": "Permissions",
|
|
284
|
+
"url": "https://v2.tauri.app/security/permissions/",
|
|
285
|
+
"section": "Command allow/deny and capability scope",
|
|
286
|
+
"checkedAt": "2026-11-08",
|
|
287
|
+
"versionScope": "Tauri2 docs; check installed version/configuration",
|
|
288
|
+
"licenseStatus": "unknown",
|
|
289
|
+
"adoption": "conditional",
|
|
290
|
+
"limits": "Rust command-unit tests do not activate webview permissions or prove packaged GUI security."
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"id": "electron-security",
|
|
294
|
+
"publisher": "Electron project",
|
|
295
|
+
"title": "Security",
|
|
296
|
+
"url": "https://www.electronjs.org/docs/latest/tutorial/security",
|
|
297
|
+
"section": "IPC sender checks and renderer trust",
|
|
298
|
+
"checkedAt": "2026-11-08",
|
|
299
|
+
"versionScope": "Living docs; match installed Electron",
|
|
300
|
+
"licenseStatus": "unknown",
|
|
301
|
+
"adoption": "conditional",
|
|
302
|
+
"limits": "Handler tests do not prove sandbox/context isolation is active in a packaged app."
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"id": "spring-tests",
|
|
306
|
+
"publisher": "Spring project",
|
|
307
|
+
"title": "Testing Spring Boot applications",
|
|
308
|
+
"url": "https://docs.spring.io/spring-boot/3.5/reference/testing/spring-boot-applications.html",
|
|
309
|
+
"section": "Test slices and application tests",
|
|
310
|
+
"checkedAt": "2026-11-08",
|
|
311
|
+
"versionScope": "Boot3.5 docs observed3.5.16; preserve sample/project versions",
|
|
312
|
+
"licenseStatus": "unknown",
|
|
313
|
+
"adoption": "conditional",
|
|
314
|
+
"limits": "Test scope matters; MVC tests do not establish live DB/transaction or deployment behavior."
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"id": "fastapi-lifespan",
|
|
318
|
+
"publisher": "FastAPI project",
|
|
319
|
+
"title": "Lifespan events",
|
|
320
|
+
"url": "https://fastapi.tiangolo.com/advanced/events/",
|
|
321
|
+
"section": "Acquire and release application resources",
|
|
322
|
+
"checkedAt": "2026-11-08",
|
|
323
|
+
"versionScope": "Living FastAPI documentation; match pinned dependencies",
|
|
324
|
+
"licenseStatus": "unknown",
|
|
325
|
+
"adoption": "conditional",
|
|
326
|
+
"limits": "Use actual lifespan execution in tests; import does not own a live connection."
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"id": "gin-binding",
|
|
330
|
+
"publisher": "Gin project",
|
|
331
|
+
"title": "Binding",
|
|
332
|
+
"url": "https://gin-gonic.com/en/docs/binding/",
|
|
333
|
+
"section": "Binding errors and validation",
|
|
334
|
+
"checkedAt": "2026-11-08",
|
|
335
|
+
"versionScope": "Living Gin documentation; match pinned module",
|
|
336
|
+
"licenseStatus": "unknown",
|
|
337
|
+
"adoption": "conditional",
|
|
338
|
+
"limits": "Writing/aborting a response does not replace explicit control-flow return in the current handler."
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"id": "axum-extractors",
|
|
342
|
+
"publisher": "Axum project",
|
|
343
|
+
"title": "Extractors",
|
|
344
|
+
"url": "https://docs.rs/axum/latest/axum/extract/",
|
|
345
|
+
"section": "Extractor order and rejections",
|
|
346
|
+
"checkedAt": "2026-11-08",
|
|
347
|
+
"versionScope": "Latest route observed0.8.9; fixed0.8.9 route unavailable via browser tool",
|
|
348
|
+
"licenseStatus": "unknown",
|
|
349
|
+
"adoption": "conditional",
|
|
350
|
+
"limits": "Pinned existing example is authoritative for compilation; do not assume source signatures across releases."
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
"id": "drogon-filters",
|
|
354
|
+
"publisher": "Drogon project",
|
|
355
|
+
"title": "Middleware and Filter",
|
|
356
|
+
"url": "https://github.com/drogonframework/drogon/wiki/ENG-05-Middleware-and-Filter",
|
|
357
|
+
"section": "Filter callbacks and continuation",
|
|
358
|
+
"checkedAt": "2026-11-08",
|
|
359
|
+
"versionScope": "Living wiki; match compiled example version",
|
|
360
|
+
"licenseStatus": "unknown",
|
|
361
|
+
"adoption": "conditional",
|
|
362
|
+
"limits": "Synthetic role headers are not authentication; callback lifetime must follow actual ownership."
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"id": "node-typescript",
|
|
366
|
+
"publisher": "Node.js project",
|
|
367
|
+
"title": "Modules: TypeScript",
|
|
368
|
+
"url": "https://nodejs.org/api/typescript.html",
|
|
369
|
+
"section": "Type-stripping history, enabling, and separate type checking",
|
|
370
|
+
"checkedAt": "2026-11-08",
|
|
371
|
+
"versionScope": "Page observed26.13.0; sample>=22.18, actual24.14.1 tested; product Node>=22 unchanged",
|
|
372
|
+
"licenseStatus": "unknown",
|
|
373
|
+
"adoption": "conditional",
|
|
374
|
+
"limits": "Native stripping is not type checking and ignores tsconfig. Missing sample capability is MISSING, not a product runtime upgrade."
|
|
375
|
+
}
|
|
376
|
+
]
|
|
377
|
+
}
|
package/localized/zh-CN/skills/cc-typescript-project-standard/references/engineering-practices.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
---
|
|
2
|
+
practiceCards:
|
|
3
|
+
- id: "cc-typescript-project-standard:input-validation"
|
|
4
|
+
level: "required"
|
|
5
|
+
sourceIds: ["google-ts"]
|
|
6
|
+
caseIds: ["EP-TS-01"]
|
|
7
|
+
evidence: "case"
|
|
8
|
+
- id: "cc-typescript-project-standard:async-errors"
|
|
9
|
+
level: "required"
|
|
10
|
+
sourceIds: ["google-ts","aws-idempotency"]
|
|
11
|
+
caseIds: ["EP-TS-01","EP-UI-01"]
|
|
12
|
+
evidence: "review-only"
|
|
13
|
+
- id: "cc-typescript-project-standard:package-contract"
|
|
14
|
+
level: "required"
|
|
15
|
+
sourceIds: ["typescript-publishing","google-ts"]
|
|
16
|
+
caseIds: ["EP-TS-01"]
|
|
17
|
+
evidence: "review-only"
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# 本入口工程决策
|
|
21
|
+
|
|
22
|
+
先定位项目角色、工具链及已有约定,再按需读取[公共原则](common/engineering-practices.md)。下列条件仅约束当前语言/场景;结构检查不证明全部语义或实际运行。
|
|
23
|
+
|
|
24
|
+
<a id="cc-typescript-project-standard:input-validation"></a>
|
|
25
|
+
## 副作用前校验外部数据
|
|
26
|
+
|
|
27
|
+
级别: required
|
|
28
|
+
|
|
29
|
+
### 风险
|
|
30
|
+
类型断言可能把非法JSON伪装为可信领域值。
|
|
31
|
+
|
|
32
|
+
### 适用
|
|
33
|
+
适用于网络、IPC、文件和插件输入;已有不变量的内部值不必重复建立schema。
|
|
34
|
+
|
|
35
|
+
### 决策
|
|
36
|
+
接收unknown,用已有schema/类型守卫收窄,协议值转换为领域类型后才产生副作用;明确金额单位、枚举和失败输出。
|
|
37
|
+
|
|
38
|
+
### 例外
|
|
39
|
+
生成客户端有用,但不能校验远端实际响应;刻意信任的边界须记录可信来源。
|
|
40
|
+
|
|
41
|
+
### 正反示意
|
|
42
|
+
正例:字符串金额被拒绝,零副作用。反例:as Payment使扣款回调接收坏输入。
|
|
43
|
+
|
|
44
|
+
### 验证
|
|
45
|
+
运行本地非法/成功配对;消费项目再补空响应、非法枚举等协议场景。
|
|
46
|
+
|
|
47
|
+
### 来源
|
|
48
|
+
google-ts — [来源与适用限制](common/engineering-practices.sources.json).
|
|
49
|
+
|
|
50
|
+
证据标识: EP-TS-01; case. [本入口可运行案例](../examples/engineering/README.md)。 执行状态及覆盖范围见实际记录;关联ID不证明该卡全部语义。
|
|
51
|
+
|
|
52
|
+
<a id="cc-typescript-project-standard:async-errors"></a>
|
|
53
|
+
## 经已负责的异步链传播失败
|
|
54
|
+
|
|
55
|
+
级别: required
|
|
56
|
+
|
|
57
|
+
### 风险
|
|
58
|
+
漂浮异步任务和吞拒绝可能过早发布成功。
|
|
59
|
+
|
|
60
|
+
### 适用
|
|
61
|
+
适用于本单元创建的Promise/回调,不向通用库强加UI hook。
|
|
62
|
+
|
|
63
|
+
### 决策
|
|
64
|
+
返回/await所属Promise,安全保留unknown错误上下文,显式表达待处理/失败/成功;脱离任务必须有刻意指定的生命周期拥有者。
|
|
65
|
+
|
|
66
|
+
### 例外
|
|
67
|
+
Abort仅说明调用方结束等待,不代表远端写回滚;不确定写先核对再重试,并沿用已有错误类型。
|
|
68
|
+
|
|
69
|
+
### 正反示意
|
|
70
|
+
正例:已提交写超时后进入待确认。反例:catch返回空成功值或悄悄重试扣款。
|
|
71
|
+
|
|
72
|
+
### 验证
|
|
73
|
+
在负责单元注入拒绝和迟到完成;本地TS例只覆盖校验,UI/服务ID指向独立证据。
|
|
74
|
+
|
|
75
|
+
### 来源
|
|
76
|
+
google-ts, aws-idempotency — [来源与适用限制](common/engineering-practices.sources.json).
|
|
77
|
+
|
|
78
|
+
证据标识: EP-TS-01, EP-UI-01; review-only. 执行状态及覆盖范围见实际记录;关联ID不证明该卡全部语义。
|
|
79
|
+
|
|
80
|
+
<a id="cc-typescript-project-standard:package-contract"></a>
|
|
81
|
+
## 在真实消费者验证声明
|
|
82
|
+
|
|
83
|
+
级别: required
|
|
84
|
+
|
|
85
|
+
### 风险
|
|
86
|
+
工作区别名和未声明类型依赖可能在打包后消失。
|
|
87
|
+
|
|
88
|
+
### 适用
|
|
89
|
+
适用于库/SDK/CLI导出;仅应用内部模块不必变成发布包。
|
|
90
|
+
|
|
91
|
+
### 决策
|
|
92
|
+
exports、types、files、模块解析匹配已声明消费者,离开workspace验证tarball;沿用已有严格配置,改变时记录局部迁移。
|
|
93
|
+
|
|
94
|
+
### 例外
|
|
95
|
+
Google内部namespace/enum/断言风格有条件适用;skipLibCheck可作为依赖政策,但不能证明自身公共边界正确;exactOptionalPropertyTypes并非strict所包含。
|
|
96
|
+
|
|
97
|
+
### 正反示意
|
|
98
|
+
正例:归档消费者解析已声明类型依赖。反例:为了模仿指南更改所有包的模块模式。
|
|
99
|
+
|
|
100
|
+
### 验证
|
|
101
|
+
执行已有类型/构建及归档消费者检查;输入校验样例本身不证明声明兼容。
|
|
102
|
+
|
|
103
|
+
### 来源
|
|
104
|
+
typescript-publishing, google-ts — [来源与适用限制](common/engineering-practices.sources.json).
|
|
105
|
+
|
|
106
|
+
证据标识: EP-TS-01; review-only. 执行状态及覆盖范围见实际记录;关联ID不证明该卡全部语义。
|
|
@@ -54,41 +54,12 @@ type AnalyticsHandlerName = `on${Capitalize<string & AnalyticsEventName>}`;
|
|
|
54
54
|
|
|
55
55
|
当项目中已有事件命名规范时使用此模式。不要为一次性字符串引入。
|
|
56
56
|
|
|
57
|
-
##
|
|
57
|
+
## 泛型选择器契约
|
|
58
58
|
|
|
59
|
-
```
|
|
60
|
-
interface Entity {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
interface EntityPickerProps<TEntity extends Entity> {
|
|
65
|
-
items: TEntity[];
|
|
66
|
-
selectedId: string | null;
|
|
67
|
-
getLabel: (item: TEntity) => string;
|
|
68
|
-
onSelect: (item: TEntity) => void;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export function EntityPicker<TEntity extends Entity>({
|
|
72
|
-
items,
|
|
73
|
-
selectedId,
|
|
74
|
-
getLabel,
|
|
75
|
-
onSelect,
|
|
76
|
-
}: EntityPickerProps<TEntity>) {
|
|
77
|
-
return (
|
|
78
|
-
<ul>
|
|
79
|
-
{items.map((item) => (
|
|
80
|
-
<li key={item.id}>
|
|
81
|
-
<button
|
|
82
|
-
aria-pressed={item.id === selectedId}
|
|
83
|
-
type="button"
|
|
84
|
-
onClick={() => onSelect(item)}
|
|
85
|
-
>
|
|
86
|
-
{getLabel(item)}
|
|
87
|
-
</button>
|
|
88
|
-
</li>
|
|
89
|
-
))}
|
|
90
|
-
</ul>
|
|
91
|
-
);
|
|
59
|
+
```ts
|
|
60
|
+
interface Entity { id: string }
|
|
61
|
+
export function selectEntity<T extends Entity>(items: readonly T[], id: string): T | undefined {
|
|
62
|
+
return items.find(item => item.id === id);
|
|
92
63
|
}
|
|
93
64
|
```
|
|
94
65
|
|
|
@@ -146,3 +146,9 @@ type _UserStatusTest = Expect<Equal<UserStatus, "active" | "disabled">>;
|
|
|
146
146
|
## 预期输出
|
|
147
147
|
|
|
148
148
|
产出清晰的类型边界、可收窄的数据模型、必要的类型测试和验证命令。评审时应列出类型风险、运行时影响、推荐建模方式和是否需要专项修复。
|
|
149
|
+
|
|
150
|
+
## 与应用工作流的边界
|
|
151
|
+
|
|
152
|
+
- 涉及组件架构、路由、状态归属和框架专项模块边界时,使用框架项目工作流。
|
|
153
|
+
- 当runtime API clients, auth refresh, uploads, realtime behavior, or error mapping go beyond TypeScript type contracts时,使用 API 集成。
|
|
154
|
+
- 当the task is to repair concrete lint, typecheck, test, build, or CI failures after TypeScript changes时,使用验证修复 fix。
|