@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
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
practiceCards:
|
|
3
|
+
- id: "fec-dependency-upgrade:compatibility"
|
|
4
|
+
level: "recommended"
|
|
5
|
+
sourceIds: ["google-review","typescript-publishing"]
|
|
6
|
+
caseIds: ["EP-TS-01"]
|
|
7
|
+
evidence: "review-only"
|
|
8
|
+
- id: "fec-dependency-upgrade:artifact-consumer"
|
|
9
|
+
level: "required"
|
|
10
|
+
sourceIds: ["typescript-publishing","ms-playbook"]
|
|
11
|
+
caseIds: ["EP-TS-01","EP-UI-01"]
|
|
12
|
+
evidence: "review-only"
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# 本入口工程决策
|
|
16
|
+
|
|
17
|
+
先定位项目角色、工具链及已有约定,再按需读取[公共原则](common/engineering-practices.md)。下列条件仅约束当前语言/场景;结构检查不证明全部语义或实际运行。
|
|
18
|
+
|
|
19
|
+
<a id="fec-dependency-upgrade:compatibility"></a>
|
|
20
|
+
## 按有证据的兼容需求升级
|
|
21
|
+
|
|
22
|
+
级别: recommended
|
|
23
|
+
|
|
24
|
+
### 风险
|
|
25
|
+
孤立指南偏好版本可能把小任务扩大为破坏性工具链迁移。
|
|
26
|
+
|
|
27
|
+
### 适用
|
|
28
|
+
适用于有实际项目需要的依赖/框架升级及安全修复。
|
|
29
|
+
|
|
30
|
+
### 决策
|
|
31
|
+
读取清单/锁、peer、engine及迁移说明,选择局部兼容改动,保留回退,记录行为/类型/构建影响。
|
|
32
|
+
|
|
33
|
+
### 例外
|
|
34
|
+
文档显示新版本不等于授权升级;样例依赖与CLI/产品运行时隔离。
|
|
35
|
+
|
|
36
|
+
### 正反示意
|
|
37
|
+
正例:在独立样例锁定兼容DOM环境。反例:只为样例升级项目Node/React/构建工具。
|
|
38
|
+
|
|
39
|
+
### 验证
|
|
40
|
+
现有lint/类型/构建/测试配合受影响消费者及实际归档检查,不隐藏未支持环境。
|
|
41
|
+
|
|
42
|
+
### 来源
|
|
43
|
+
google-review, typescript-publishing — [来源与适用限制](common/engineering-practices.sources.json).
|
|
44
|
+
|
|
45
|
+
证据标识: EP-TS-01; review-only. 执行状态及覆盖范围见实际记录;关联ID不证明该卡全部语义。
|
|
46
|
+
|
|
47
|
+
<a id="fec-dependency-upgrade:artifact-consumer"></a>
|
|
48
|
+
## 打包依赖才是交付契约
|
|
49
|
+
|
|
50
|
+
级别: required
|
|
51
|
+
|
|
52
|
+
### 风险
|
|
53
|
+
workspace可用可能掩盖缺声明、样例、锁或运行时文件。
|
|
54
|
+
|
|
55
|
+
### 适用
|
|
56
|
+
交付包及升级改变消费面时适用。
|
|
57
|
+
|
|
58
|
+
### 决策
|
|
59
|
+
检查真实tarball、精确版本/完整性,离开相邻源码安装并验证支持消费者;公共内容保持唯一源并协调两产品。
|
|
60
|
+
|
|
61
|
+
### 例外
|
|
62
|
+
不以同版本不同字节覆盖已消费/已发布归档,不放松所有权检查强行升级;未发布候选只提供本地证据,不称公开可下载。
|
|
63
|
+
|
|
64
|
+
### 正反示意
|
|
65
|
+
正例:两产品消费同一不可变common归档/SRI。反例:file/link相邻路径悄悄补齐缺内容。
|
|
66
|
+
|
|
67
|
+
### 验证
|
|
68
|
+
运行真实打包/消费、对照源字节并在迁移中保护用户编辑;React样例通过不证明全部分发形式。
|
|
69
|
+
|
|
70
|
+
### 来源
|
|
71
|
+
typescript-publishing, ms-playbook — [来源与适用限制](common/engineering-practices.sources.json).
|
|
72
|
+
|
|
73
|
+
证据标识: EP-TS-01, EP-UI-01; review-only. 执行状态及覆盖范围见实际记录;关联ID不证明该卡全部语义。
|
|
@@ -3,37 +3,16 @@ name: fec-doc-sync
|
|
|
3
3
|
description: 用于根据 package.json、lockfile、配置、env 示例、路由、API client 或 server routes、schema、组件、测试、CI、构建/部署配置、ADR、changelog 或迁移说明等事实源同步前端项目文档。不要用于单纯润色普通文案;中文触发词包括 文档同步、更新 README、docs sync、环境变量文档、命令清单、API 文档同步。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# 前端文档同步
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
遵循[公共文档同步方法](references/common/doc-sync.md),处理证据、多语言一致性和交付记录。
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## 前端事实来源
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
核对 package.json、锁文件、框架与构建配置、环境变量示例、路由、API client/server routes、类型/schema、组件、测试、CI 和部署文件。
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
2. 收集事实来源:`package.json`、lockfile、框架和构建配置、`.env.example`、路由、API clients 或 server routes、types/schemas、组件、测试、CI、build/deploy config。
|
|
16
|
-
3. 比对 README、docs、ADR、changelog、example prompts、setup/deploy/env docs 中的命令、环境变量、路由、API 行为、部署步骤和支持矩阵。
|
|
17
|
-
4. 只更新稳定的公共约定;不要把临时调试结论、一次性报告或未落地设计写入长期文档。
|
|
18
|
-
5. 若仓库已有多语言文档或国际化 README,主 README 的公共事实更新后必须检查其它语言 README 是否需要同步;功能名称、命令名、脚本名、包名、组件/API 名称、报告文件名、路径、环境变量、路由/API 名称、版本约束和支持矩阵必须跨语言一致。
|
|
19
|
-
6. 产品文案可保持本地化表达,但不得保留旧事实、旧默认推荐或过期示例;无法高质量翻译时,至少同步关键事实,并在输出中标出人工翻译风险。
|
|
20
|
-
7. 当项目暴露插件、SDK、CLI、组件库、模板或集成能力时,同步对应的功能清单、集成说明、命令/脚本说明、公开 metadata、示例提示词或示例用法。
|
|
21
|
-
8. 运行相关文档一致性、旧口径搜索、报告格式一致性、类型检查、测试、构建或打包检查。
|
|
14
|
+
## 前端同步范围
|
|
22
15
|
|
|
23
|
-
|
|
16
|
+
覆盖根目录与包、应用、部署、Runtime README,以及 docs、ADR、changelog、环境变量和安装说明。对照路由/API 行为、客户端集成、支持矩阵、插件入口、命令、报告路径、元数据和示例提示词。
|
|
24
17
|
|
|
25
|
-
|
|
26
|
-
- 不引入与事实来源不一致的命令、路径、环境变量、API 行为或能力名称。
|
|
27
|
-
- 不把未确认的 TODO、草案或实验能力写成已支持行为。
|
|
28
|
-
- 不修改用户项目私有文档,除非用户明确指定。
|
|
29
|
-
- 多语言文档若无法完整翻译,至少保持命令名、环境变量、路由/API 名称、版本约束和报告格式一致。
|
|
30
|
-
- 不把国际化 README 同步简化成只改主 README;公共事实、功能清单、报告清单、命令/脚本说明和示例用法必须检查所有语言入口。
|
|
31
|
-
- 不把 ADR 当作长篇复盘;只记录背景、决策、取舍、影响范围、验证和回滚线索。
|
|
32
|
-
|
|
33
|
-
## 预期输出
|
|
34
|
-
|
|
35
|
-
- 列出已同步的 README/docs/ADR/changelog/env/setup/deploy 文档。
|
|
36
|
-
- 列出已检查的 README/docs 入口,并说明哪些语言文件已同步、哪些无需同步、哪些需要人工确认。
|
|
37
|
-
- 总结使用的事实来源、更新范围、验证命令和未覆盖风险。
|
|
38
|
-
- 汇总旧口径搜索、报告文件名/路径/命令一致性和多语言关键事实一致性验证结果。
|
|
39
|
-
- 标出仍需人工确认的产品文案、翻译、外部服务配置或发布说明。
|
|
18
|
+
所有已有语言入口均检查公共事实;遵循公共方法记录事实源、已同步文件、无需修改项和人工翻译复核事项。使用项目现有内容检查、类型、测试和打包命令。
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# 文档事实同步
|
|
2
|
+
|
|
3
|
+
从实现事实同步公共文档,不把期望设计写成既有能力。
|
|
4
|
+
|
|
5
|
+
1. 明确技术栈、文档入口和本次范围,覆盖根 README、嵌套包/应用/Runtime README 和部署指南;排除依赖、构建产物和第三方目录。
|
|
6
|
+
2. 收集权威事实:清单和锁文件、配置、环境变量示例、命令、schema、公共 API、测试、CI、构建与部署文件。使用实际技术栈的来源,不强制某一种语言的项目清单。
|
|
7
|
+
3. 对照命令、环境变量名、路径、版本、API 行为、能力、安装和部署说明。只写稳定公共事实,不将提案和实验设计描述为已支持行为。
|
|
8
|
+
4. 检查全部已有语言入口。公共标识、命令、版本范围、支持矩阵、报告路径和示例必须一致;文案遵循现有翻译约定,明确需要人工复核的内容。
|
|
9
|
+
5. 同步相关 README/docs/ADR/changelog 和用户可见元数据。ADR 记录背景、决定、备选、影响、验证和回退线索,不写成完整评审报告。
|
|
10
|
+
6. 执行项目已有一致性、相关类型/测试/构建/打包检查和旧引用搜索。记录每份已查文档、事实源、已同步语言、不需修改的入口和未决问题。
|
|
11
|
+
|
|
12
|
+
不虚构命令或环境变量,不越界修改用户私有文档,不用内部实现细节淹没 README。文案编辑成功不等于事实一致性已经验证。
|
|
@@ -1,110 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: fec-image-generation
|
|
3
|
-
description:
|
|
3
|
+
description: 用于生成或编辑前端 UI 样机、产品图、海报、品牌视觉、插图、头像、分镜和位图素材,并对 PNG 进行质检;不要用于架构、序列、流程和数据流等结构化技术图表。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# 前端视觉资产生成与编辑
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
用于 UI、品牌和产品视觉,先读取[资产路由](references/artifact-routing.md),根据已有图片、目标用途、尺寸、透明背景和交付路径选择生成、编辑或混合流程。
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
## 实施与质检
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
保留原图,编辑默认另存新文件。不要将占位图或概念稿当作最终产品图。明确品牌、文案、可访问替代描述和授权约束;有现成图片时优先定向编辑。
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
- 文本、结构和连线准确性优先时,用 Mermaid、SVG、HTML/CSS、canvas 或图表库生成可编辑源,再导出 PNG。
|
|
16
|
-
- 需要单文件浏览器打开、暗/亮主题和结构化 QA 的系统蓝图、架构图、部署拓扑、Agent runtime、memory flow、before-after architecture、流程、序列、数据流、生命周期、runbook、状态机或 PII/数据血缘图时,使用 HTML technical diagrams。
|
|
17
|
-
- 流程地图、审批流、自动化运行、异常路径和循环运营流需要清晰的起止节点、决策、参与者、步骤编号和摘要,但不需要 diagrams.net 时,在 Mermaid 不可用或明确需要浏览器泳道/主题交付时,使用兼容 HTML `workflow` 路线。
|
|
18
|
-
- 系统、Agent、memory、数据或 tool-call 图需要语义节点形状、有含义的连线和可浏览器打开、可导出、可 QA 的源文件时,使用主题化 HTML technical diagrams。
|
|
19
|
-
- 用户需要在本地浏览器里看到节点和连线实时出现,或需要在会话中拖拽、改标签、删除、缩放并快速导出草图时,使用交互式实时图表路线。
|
|
20
|
-
- 审美、质感、照片、插画、漫画、产品图或品牌氛围优先时,用图片生成或编辑工具,再把最终资产保存到项目或报告目录。
|
|
14
|
+
每次 PNG 交付前检查实际图像,核验主体渲染、文字截断、构图、透明背景和品牌。使用[公共来源的 PNG 检查工具](scripts/png-qa.mjs);默认最多两轮修复,按 [PNG 修复说明](references/png-qa-autofix.md) 修改源文件、提示词或布局,不直接破坏性修改输出像素。
|
|
21
15
|
|
|
22
|
-
|
|
23
|
-
- 收集受众、用途、尺寸、语言、必须出现的文本、品牌限制、可编辑源格式、导出格式和禁用元素。
|
|
24
|
-
- 对海报、UI 样机、品牌板和产品图,先写出一行视觉读取:目标用户、场景、可信感来源、主视觉锚点。
|
|
25
|
-
|
|
26
|
-
3. 选择生成路线
|
|
27
|
-
- ER 图、UML 类图、序列图、技术架构图、ML/深度学习、流程图等,优先按 [diagram-workflows.md](references/diagram-workflows.md) 建立结构化源。
|
|
28
|
-
- 浏览器可打开的系统蓝图、架构、流程、序列、数据流和生命周期图,先读 [html-technical-diagrams.md](references/html-technical-diagrams.md),再用 [tech-diagram-render.mjs](scripts/tech-diagram-render.mjs) 渲染 JSON IR。流程工作流用 `lanes` 表达参与方,用 `nodes` 表达有序动作,用 `edges` 表达异常或回环路径,并可添加 `waypoints`:
|
|
29
|
-
```bash
|
|
30
|
-
node skills/fec-image-generation/scripts/tech-diagram-render.mjs --input diagram.json --output diagram.html --type architecture --manifest diagram.layout.json
|
|
31
|
-
```
|
|
32
|
-
- Agent 和 memory 图优先使用 `architecture` IR,并使用 `agent`、`model`、`memory`、`vectorstore`、`graphdb`、`tool`、`document`、`queue`、`browser`、`user`、`gateway` 等语义节点类型。连线含义重要时添加 `flow`:`control`、`data`、`read`、`write`、`async`、`feedback`;出现两种以上 flow 时自动生成 flow legend。
|
|
33
|
-
- 需要源文件级主题方向时可添加 `visual.style`:`default`、`terminal`、`blueprint`、`minimal`、`glass`、`warm`、`openai` 或 `editorial-dark`。这些是交付主题,不等同于品牌规范承诺。
|
|
34
|
-
- 需要从生成好的 HTML/SVG 源导出适合 README 的 SVG、PNG、JPG 或 JPEG 交付物时,使用 [export-diagram.mjs](scripts/export-diagram.mjs):
|
|
35
|
-
```bash
|
|
36
|
-
node skills/fec-image-generation/scripts/export-diagram.mjs --input diagram.html --format svg
|
|
37
|
-
node skills/fec-image-generation/scripts/export-diagram.mjs --input diagram.html --format png --output diagram.png --scale 2
|
|
38
|
-
```
|
|
39
|
-
- 实时交互草图使用 [interactive-diagram-server.mjs](scripts/interactive-diagram-server.mjs),打开服务提供的 [interactive-diagram.html](assets/interactive-diagram.html) 页面并带上唯一 `?s=session-id`,再向 `/cmd?s=session-id` 发送小 JSON 命令:
|
|
40
|
-
```bash
|
|
41
|
-
node skills/fec-image-generation/scripts/interactive-diagram-server.mjs --port 6100
|
|
42
|
-
curl -s "http://127.0.0.1:6100/cmd?s=checkout-flow" -d '{"cmd":"init","title":"Checkout Flow","direction":"TB"}'
|
|
43
|
-
curl -s "http://127.0.0.1:6100/cmd?s=checkout-flow" -d '{"cmd":"node","id":"cart","label":"Review cart","type":"process"}'
|
|
44
|
-
```
|
|
45
|
-
- 海报、UI 样机、产品图、信息图、学术图、漫画、头像、分镜、品牌板和图像编辑,按 [artifact-routing.md](references/artifact-routing.md) 选择生成、编辑或混合路线。
|
|
46
|
-
|
|
47
|
-
4. 导出并自检 PNG
|
|
48
|
-
- 每次交付前都读取导出的 PNG,检查主体是否真实渲染、文字是否截断、连线是否堆叠、节点是否重叠。
|
|
49
|
-
- 有布局 manifest 时运行:
|
|
50
|
-
```bash
|
|
51
|
-
node skills/fec-image-generation/scripts/png-qa.mjs --png output.png --manifest layout.json --format markdown
|
|
52
|
-
```
|
|
53
|
-
- 没有 manifest 时仍运行 PNG 基础检查:
|
|
54
|
-
```bash
|
|
55
|
-
node skills/fec-image-generation/scripts/png-qa.mjs --png output.png --format json
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
5. 自动修复循环
|
|
59
|
-
- 默认最多 2 轮;用户明确要求时可提高到 5 轮软上限。
|
|
60
|
-
- 修复对象是源文件、prompt、布局参数或导出尺寸,不直接破坏性修改 PNG 像素。
|
|
61
|
-
- 按 [png-qa-autofix.md](references/png-qa-autofix.md) 把问题转成具体修复:增大画布、换行、移动节点、分层连线、调整 padding 或重导出。
|
|
62
|
-
|
|
63
|
-
6. 交付记录
|
|
64
|
-
- 说明最终源文件、PNG 路径、生成路线、QA 轮次、发现并修复的问题、仍需人工确认的文字或品牌风险。
|
|
65
|
-
|
|
66
|
-
## 约束
|
|
67
|
-
|
|
68
|
-
- 文本密集图不要只靠位图模型生成;必须保留可编辑结构化源。
|
|
69
|
-
- HTML 技术图必须保留 JSON 源和生成的 HTML;PNG/SVG/JPG 是交付产物,不是事实源。需要官方厂商图标或长期手工编辑时,改用 `.drawio` 路线。
|
|
70
|
-
- 主题化语义图由 Frontend Craft 渲染器实现。不要把 Python、shell、cairosvg、rsvg-convert、Puppeteer、CDN 截图库、复制来的 SVG 模板或外部图标包作为这一路线的必需依赖。
|
|
71
|
-
- 交互式实时图表是会话期预览;当图表成为交付物时要保存 JSON/SVG/PNG 导出,需要长期维护事实源时改用 HTML technical diagrams 或 `.drawio`。
|
|
72
|
-
- 不把截图、假数据或占位图当成最终产品图,除非用户明确要求概念稿。
|
|
73
|
-
- 不直接覆盖原图;编辑工作流默认输出新文件。
|
|
74
|
-
- 不为追求美观牺牲可读标签、连线归属、图例、坐标轴和可访问替代说明。
|
|
75
|
-
- PNG helper 只做检测和建议;修复必须回到源、prompt 或布局参数。
|
|
76
|
-
- 自检结果不能替代人工确认专有名词、公式、论文图注、品牌规范和合规信息。
|
|
77
|
-
|
|
78
|
-
## 预期输出
|
|
79
|
-
|
|
80
|
-
产出可编辑源、最终 PNG 或编辑后图片,并附带生成路线与 QA 结果。图表应结构清晰、标签不截断、连线不混乱;视觉资产应匹配用途、尺寸、品牌语气和交付路径。
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
## 技术图质量与工具路由
|
|
84
|
-
|
|
85
|
-
标准时序图、流程图优先使用本地 Mermaid;架构图需长期手工编辑时复用 fec-drawio-studio;大型拓扑可选本地 Graphviz。工具不可用时明确记录并使用兼容的 JSON/HTML 路线,不自动安装、下载或使用 CDN。示意图保留完整文字与所有节点、连接关系;显式尺寸、坐标和 waypoints 不静默重排。
|
|
86
|
-
|
|
87
|
-
```sh
|
|
88
|
-
node skills/fec-image-generation/scripts/mermaid-render.mjs --input sequence.mmd --output sequence.svg --report sequence.render.json
|
|
89
|
-
node skills/fec-image-generation/scripts/export-diagram.mjs --input diagram.html --format png --output diagram.png --theme light --scale 2 --manifest diagram.layout.json --output-manifest diagram.actual.json
|
|
90
|
-
node skills/fec-image-generation/scripts/png-qa.mjs --png diagram.png --manifest diagram.actual.json --format json
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
PNG QA 使用导出后的 actual manifest;原始 manifest 是 SVG 坐标与估算边界,2x 导出不能直接复用。浏览器等待字体并测量真实文字边界;独立 SVG 内嵌主题样式。渲染成功、静态估算和自动检测通过都不等于人工视觉验收;检查最终 PNG 后记录工具版本、主题、缩放、修复轮次、未解决问题及部分验收状态。提高分辨率不会修复文字截断或布局冲突。
|
|
94
|
-
|
|
95
|
-
技能内部模块与可复现样例:
|
|
96
|
-
- [mermaid-render.mjs](scripts/mermaid-render.mjs)
|
|
97
|
-
- [diagram-layout.mjs](scripts/diagram-layout.mjs)
|
|
98
|
-
- [diagram-browser.mjs](scripts/diagram-browser.mjs)
|
|
99
|
-
- [quality examples](assets/quality-examples/README.md)
|
|
100
|
-
- [sequence.json](assets/quality-examples/sequence.json)
|
|
101
|
-
- [workflow.json](assets/quality-examples/workflow.json)
|
|
102
|
-
- [architecture.json](assets/quality-examples/architecture.json)
|
|
103
|
-
- [sequence.mmd](assets/quality-examples/sequence.mmd)
|
|
104
|
-
- [workflow.mmd](assets/quality-examples/workflow.mmd)
|
|
105
|
-
|
|
106
|
-
内置 sequence 仅支持参与者和有序消息;activation、alt、loop、par、复杂 async 片段请使用 Mermaid,不把这些语义悄悄简化成直线消息。可选 ELK 仅在本机 Mermaid 版本确实支持时启用,否则使用兼容默认布局。
|
|
107
|
-
|
|
108
|
-
- [invalid-explicit.json](assets/quality-examples/invalid-explicit.json)
|
|
109
|
-
|
|
110
|
-
- [png-qa.mjs](scripts/png-qa.mjs)
|
|
16
|
+
报告源文件、结果路径、生成路由、QA 轮次与剩余风险。结构化技术图表使用独立公共技术图表能力;此入口不再维护图表渲染器。
|
|
@@ -32,6 +32,6 @@
|
|
|
32
32
|
|
|
33
33
|
## 质量交付约定
|
|
34
34
|
|
|
35
|
-
标准序列/流程图优先本地 Mermaid;架构图需要手工编辑时复用
|
|
35
|
+
标准序列/流程图优先本地 Mermaid;架构图需要手工编辑时复用 cc-drawio-studio,大型拓扑可选 Graphviz。无本地工具时使用兼容 JSON/HTML,不自动安装或下载。HTML 预览、独立 SVG 和 PNG 使用同源主题样式;导出指定 `--theme light|dark`。PNG 导出等待字体并测量文字,使用 `--manifest source.layout.json --output-manifest image.actual.json` 写出缩放后的像素坐标。QA 必须读取 actual manifest,不能把估算坐标直接用于 2x PNG。
|
|
36
36
|
|
|
37
37
|
扩展 manifest 保留 canvas/boxes/connectors,增加 coordinateSpace、scale、measurement、groups、labels 与 issues。分组包含节点不算节点重叠。新增 node-text-overflow、label-content-loss、label-out-of-bounds、edge-label-collision、text-overlap 与 degenerate-connector 检查。旧 manifest 保留估算检测。显式尺寸或 waypoints 不满足约束时定位问题,不删字、不改关系、不静默移动。提高导出分辨率不能修复源级溢出。最终 PNG 必须视觉审阅;记录工具可用性、版本、主题、比例、修复轮次和残留问题,未解决时标记部分验收。
|