@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.
Files changed (579) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +403 -378
  4. package/CHANGELOG.zh-CN.md +402 -377
  5. package/CONTRIBUTING.md +381 -371
  6. package/CONTRIBUTING.zh-CN.md +383 -371
  7. package/README.md +605 -545
  8. package/README.openclaw.md +395 -359
  9. package/README.openclaw.zh-CN.md +395 -359
  10. package/README.zh-CN.md +605 -545
  11. package/agents/fec-typescript-reviewer.md +1 -1
  12. package/common-content.lock.json +3795 -0
  13. package/dist/bin/frontend-craft.js +353 -174
  14. package/docs/common-migration.md +61 -0
  15. package/docs/example-prompts.md +157 -157
  16. package/docs/ja-JP/README.md +588 -534
  17. package/docs/ko-KR/README.md +588 -534
  18. package/docs/project-structure.md +166 -151
  19. package/docs/review-and-diagram-workflows.md +5 -5
  20. package/docs/runtimes/antigravity.md +18 -18
  21. package/docs/runtimes/augment.md +18 -18
  22. package/docs/runtimes/claude.md +193 -191
  23. package/docs/runtimes/claude.zh-CN.md +191 -189
  24. package/docs/runtimes/cline.md +18 -18
  25. package/docs/runtimes/codebuddy.md +18 -18
  26. package/docs/runtimes/codex.md +18 -18
  27. package/docs/runtimes/compatibility.md +42 -27
  28. package/docs/runtimes/copilot.md +18 -18
  29. package/docs/runtimes/cursor.md +18 -18
  30. package/docs/runtimes/gemini.md +18 -18
  31. package/docs/runtimes/kilo.md +18 -18
  32. package/docs/runtimes/openclaw.md +18 -18
  33. package/docs/runtimes/opencode.md +18 -18
  34. package/docs/runtimes/qoder.md +18 -18
  35. package/docs/runtimes/trae.md +18 -18
  36. package/docs/runtimes/windsurf.md +18 -18
  37. package/docs/zh-CN/common-migration.md +57 -0
  38. package/docs/zh-CN/example-prompts.md +157 -157
  39. package/docs/zh-CN/project-structure.md +166 -148
  40. package/docs/zh-CN/review-and-diagram-workflows.md +5 -5
  41. package/docs/zh-TW/README.md +588 -534
  42. package/localized/zh-CN/agents/fec-typescript-reviewer.md +1 -1
  43. package/localized/zh-CN/skills/cc-c-project-standard/SKILL.md +25 -0
  44. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
  45. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
  46. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
  47. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
  48. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
  49. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
  50. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
  51. package/localized/zh-CN/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
  52. package/localized/zh-CN/skills/cc-c-project-standard/references/practice.md +37 -0
  53. package/localized/zh-CN/skills/cc-cpp-project-standard/SKILL.md +25 -0
  54. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
  55. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
  56. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
  57. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
  58. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
  59. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
  60. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
  61. package/localized/zh-CN/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
  62. package/localized/zh-CN/skills/cc-cpp-project-standard/references/practice.md +37 -0
  63. package/localized/zh-CN/skills/cc-debug-methodology/SKILL.md +8 -0
  64. package/localized/zh-CN/skills/cc-debug-methodology/references/method.md +13 -0
  65. package/localized/zh-CN/skills/cc-doc-sync-core/SKILL.md +8 -0
  66. package/localized/zh-CN/skills/cc-doc-sync-core/references/method.md +12 -0
  67. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
  68. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
  69. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
  70. package/localized/zh-CN/skills/cc-electron-project-standard/SKILL.md +21 -0
  71. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
  72. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
  73. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
  74. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
  75. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
  76. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
  77. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
  78. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
  79. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
  80. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
  81. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
  82. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
  83. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
  84. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
  85. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
  86. package/localized/zh-CN/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
  87. package/localized/zh-CN/skills/cc-electron-project-standard/references/practice.md +19 -0
  88. package/localized/zh-CN/skills/cc-electron-project-standard/references/verification.md +17 -0
  89. package/localized/zh-CN/skills/cc-go-concurrency/SKILL.md +25 -0
  90. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
  91. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
  92. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
  93. package/localized/zh-CN/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
  94. package/localized/zh-CN/skills/cc-go-concurrency/references/practice.md +37 -0
  95. package/localized/zh-CN/skills/cc-go-project-standard/SKILL.md +25 -0
  96. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
  97. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
  98. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
  99. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
  100. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
  101. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
  102. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
  103. package/localized/zh-CN/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
  104. package/localized/zh-CN/skills/cc-go-project-standard/references/practice.md +37 -0
  105. package/localized/zh-CN/skills/cc-java-project-standard/SKILL.md +25 -0
  106. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/README.md +5 -0
  107. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
  108. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
  109. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
  110. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
  111. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
  112. package/localized/zh-CN/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
  113. package/localized/zh-CN/skills/cc-java-project-standard/references/practice.md +37 -0
  114. package/localized/zh-CN/skills/cc-java-runtime/SKILL.md +25 -0
  115. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
  116. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
  117. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
  118. package/localized/zh-CN/skills/cc-java-runtime/references/engineering-practices.md +73 -0
  119. package/localized/zh-CN/skills/cc-java-runtime/references/practice.md +37 -0
  120. package/localized/zh-CN/skills/cc-native-memory-safety/SKILL.md +25 -0
  121. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
  122. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
  123. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
  124. package/localized/zh-CN/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
  125. package/localized/zh-CN/skills/cc-native-memory-safety/references/practice.md +37 -0
  126. package/localized/zh-CN/skills/cc-python-async/SKILL.md +25 -0
  127. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.md +237 -0
  128. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
  129. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
  130. package/localized/zh-CN/skills/cc-python-async/references/engineering-practices.md +73 -0
  131. package/localized/zh-CN/skills/cc-python-async/references/practice.md +37 -0
  132. package/localized/zh-CN/skills/cc-python-project-standard/SKILL.md +25 -0
  133. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
  134. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
  135. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
  136. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
  137. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
  138. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
  139. package/localized/zh-CN/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
  140. package/localized/zh-CN/skills/cc-python-project-standard/references/practice.md +37 -0
  141. package/localized/zh-CN/skills/cc-refactoring-core/SKILL.md +8 -0
  142. package/localized/zh-CN/skills/cc-refactoring-core/references/method.md +16 -0
  143. package/localized/zh-CN/skills/cc-rust-async/SKILL.md +25 -0
  144. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
  145. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
  146. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
  147. package/localized/zh-CN/skills/cc-rust-async/references/engineering-practices.md +73 -0
  148. package/localized/zh-CN/skills/cc-rust-async/references/practice.md +37 -0
  149. package/localized/zh-CN/skills/cc-rust-project-standard/SKILL.md +25 -0
  150. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
  151. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
  152. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
  153. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
  154. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
  155. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
  156. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
  157. package/localized/zh-CN/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
  158. package/localized/zh-CN/skills/cc-rust-project-standard/references/practice.md +37 -0
  159. package/localized/zh-CN/skills/cc-source-driven-development/SKILL.md +8 -0
  160. package/localized/zh-CN/skills/cc-source-driven-development/references/method.md +19 -0
  161. package/localized/zh-CN/skills/cc-tauri-project-standard/SKILL.md +21 -0
  162. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
  163. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
  164. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
  165. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
  166. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
  167. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
  168. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
  169. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
  170. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
  171. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
  172. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
  173. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
  174. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
  175. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
  176. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
  177. package/localized/zh-CN/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
  178. package/localized/zh-CN/skills/cc-tauri-project-standard/references/practice.md +20 -0
  179. package/localized/zh-CN/skills/cc-tauri-project-standard/references/verification.md +18 -0
  180. package/localized/zh-CN/skills/cc-tdd-methodology/SKILL.md +8 -0
  181. package/localized/zh-CN/skills/cc-tdd-methodology/references/method.md +13 -0
  182. package/localized/zh-CN/skills/cc-technical-diagrams/SKILL.md +34 -0
  183. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
  184. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/README.md +14 -0
  185. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.mmd +21 -21
  186. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.mmd +7 -7
  187. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +3 -3
  188. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +7 -7
  189. package/localized/zh-CN/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
  190. package/{skills/fec-image-generation → localized/zh-CN/skills/cc-technical-diagrams}/scripts/diagram-browser.mjs +77 -14
  191. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
  192. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
  193. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
  194. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/README.md +7 -0
  195. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
  196. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
  197. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
  198. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
  199. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  200. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
  201. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
  202. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
  203. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
  204. package/localized/zh-CN/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
  205. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +5 -34
  206. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +6 -0
  207. package/localized/zh-CN/skills/eval_queries.json +741 -319
  208. package/localized/zh-CN/skills/fec-api-integration/SKILL.md +5 -1
  209. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
  210. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
  211. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
  212. package/localized/zh-CN/skills/fec-api-integration/references/engineering-practices.md +73 -0
  213. package/localized/zh-CN/skills/fec-code-review/SKILL.md +4 -0
  214. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.md +237 -0
  215. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
  216. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
  217. package/localized/zh-CN/skills/fec-code-review/references/engineering-practices.md +73 -0
  218. package/localized/zh-CN/skills/fec-data-fetching/SKILL.md +4 -0
  219. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
  220. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
  221. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
  222. package/localized/zh-CN/skills/fec-data-fetching/references/engineering-practices.md +73 -0
  223. package/localized/zh-CN/skills/fec-debug-framework/SKILL.md +1 -50
  224. package/localized/zh-CN/skills/fec-debug-framework/references/common/debug.md +13 -0
  225. package/localized/zh-CN/skills/fec-dependency-upgrade/SKILL.md +4 -0
  226. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
  227. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
  228. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
  229. package/localized/zh-CN/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
  230. package/localized/zh-CN/skills/fec-doc-sync/SKILL.md +7 -28
  231. package/localized/zh-CN/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
  232. package/localized/zh-CN/skills/fec-image-generation/SKILL.md +7 -101
  233. package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +1 -1
  234. package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +1 -1
  235. package/localized/zh-CN/skills/fec-react-project-standard/SKILL.md +6 -0
  236. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
  237. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
  238. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
  239. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  240. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
  241. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
  242. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
  243. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
  244. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
  245. package/localized/zh-CN/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
  246. package/localized/zh-CN/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
  247. package/localized/zh-CN/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
  248. package/localized/zh-CN/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
  249. package/localized/zh-CN/skills/fec-refactoring/SKILL.md +12 -70
  250. package/localized/zh-CN/skills/fec-refactoring/references/common/refactoring.md +16 -0
  251. package/localized/zh-CN/skills/fec-refactoring/references/principles.md +9 -39
  252. package/localized/zh-CN/skills/fec-refactoring/references/workflow.md +4 -56
  253. package/localized/zh-CN/skills/fec-security-review/SKILL.md +4 -0
  254. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.md +237 -0
  255. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
  256. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
  257. package/localized/zh-CN/skills/fec-security-review/references/engineering-practices.md +73 -0
  258. package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +12 -43
  259. package/localized/zh-CN/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
  260. package/localized/zh-CN/skills/fec-testing-strategy/SKILL.md +4 -0
  261. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
  262. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
  263. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
  264. package/localized/zh-CN/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
  265. package/localized/zh-CN/skills/fec-vue3-project-standard/SKILL.md +4 -0
  266. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
  267. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
  268. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
  269. package/localized/zh-CN/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
  270. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
  271. package/localized/zh-CN/skills/metadata.json +2246 -1008
  272. package/localized/zh-CN/skills/relations.json +501 -372
  273. package/localized/zh-CN/templates/shared/rules/fec-source-driven-development.md +3 -29
  274. package/localized/zh-CN/templates/shared/rules/fec-typescript.md +4 -4
  275. package/localized/zh-CN/templates/shared/rules/references/common/source-driven-development.md +19 -0
  276. package/openclaw.plugin.json +1 -1
  277. package/package.json +11 -4
  278. package/skills/cc-c-project-standard/SKILL.md +25 -0
  279. package/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
  280. package/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
  281. package/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
  282. package/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
  283. package/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
  284. package/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
  285. package/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
  286. package/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
  287. package/skills/cc-c-project-standard/references/practice.md +37 -0
  288. package/skills/cc-cpp-project-standard/SKILL.md +25 -0
  289. package/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
  290. package/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
  291. package/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
  292. package/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
  293. package/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
  294. package/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
  295. package/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
  296. package/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
  297. package/skills/cc-cpp-project-standard/references/practice.md +37 -0
  298. package/skills/cc-debug-methodology/SKILL.md +8 -0
  299. package/skills/cc-debug-methodology/references/method.md +13 -0
  300. package/skills/cc-doc-sync-core/SKILL.md +8 -0
  301. package/skills/cc-doc-sync-core/references/method.md +12 -0
  302. package/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
  303. package/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
  304. package/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
  305. package/skills/cc-electron-project-standard/SKILL.md +21 -0
  306. package/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
  307. package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
  308. package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
  309. package/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
  310. package/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
  311. package/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
  312. package/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
  313. package/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
  314. package/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
  315. package/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
  316. package/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
  317. package/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
  318. package/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
  319. package/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
  320. package/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
  321. package/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
  322. package/skills/cc-electron-project-standard/references/practice.md +19 -0
  323. package/skills/cc-electron-project-standard/references/verification.md +17 -0
  324. package/skills/cc-go-concurrency/SKILL.md +25 -0
  325. package/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
  326. package/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
  327. package/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
  328. package/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
  329. package/skills/cc-go-concurrency/references/practice.md +37 -0
  330. package/skills/cc-go-project-standard/SKILL.md +25 -0
  331. package/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
  332. package/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
  333. package/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
  334. package/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
  335. package/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
  336. package/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
  337. package/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
  338. package/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
  339. package/skills/cc-go-project-standard/references/practice.md +37 -0
  340. package/skills/cc-java-project-standard/SKILL.md +25 -0
  341. package/skills/cc-java-project-standard/examples/engineering/README.md +7 -0
  342. package/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
  343. package/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
  344. package/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
  345. package/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
  346. package/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
  347. package/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
  348. package/skills/cc-java-project-standard/references/practice.md +35 -0
  349. package/skills/cc-java-runtime/SKILL.md +25 -0
  350. package/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
  351. package/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
  352. package/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
  353. package/skills/cc-java-runtime/references/engineering-practices.md +73 -0
  354. package/skills/cc-java-runtime/references/practice.md +37 -0
  355. package/skills/cc-native-memory-safety/SKILL.md +25 -0
  356. package/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
  357. package/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
  358. package/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
  359. package/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
  360. package/skills/cc-native-memory-safety/references/practice.md +37 -0
  361. package/skills/cc-python-async/SKILL.md +25 -0
  362. package/skills/cc-python-async/references/common/engineering-practices.md +237 -0
  363. package/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
  364. package/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
  365. package/skills/cc-python-async/references/engineering-practices.md +73 -0
  366. package/skills/cc-python-async/references/practice.md +37 -0
  367. package/skills/cc-python-project-standard/SKILL.md +25 -0
  368. package/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
  369. package/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
  370. package/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
  371. package/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
  372. package/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
  373. package/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
  374. package/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
  375. package/skills/cc-python-project-standard/references/practice.md +37 -0
  376. package/skills/cc-refactoring-core/SKILL.md +8 -0
  377. package/skills/cc-refactoring-core/references/method.md +16 -0
  378. package/skills/cc-rust-async/SKILL.md +25 -0
  379. package/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
  380. package/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
  381. package/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
  382. package/skills/cc-rust-async/references/engineering-practices.md +73 -0
  383. package/skills/cc-rust-async/references/practice.md +37 -0
  384. package/skills/cc-rust-project-standard/SKILL.md +25 -0
  385. package/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
  386. package/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
  387. package/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
  388. package/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
  389. package/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
  390. package/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
  391. package/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
  392. package/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
  393. package/skills/cc-rust-project-standard/references/practice.md +37 -0
  394. package/skills/cc-source-driven-development/SKILL.md +8 -0
  395. package/skills/cc-source-driven-development/references/method.md +19 -0
  396. package/skills/cc-tauri-project-standard/SKILL.md +21 -0
  397. package/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
  398. package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
  399. package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
  400. package/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
  401. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
  402. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
  403. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
  404. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
  405. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
  406. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
  407. package/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
  408. package/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
  409. package/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
  410. package/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
  411. package/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
  412. package/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
  413. package/skills/cc-tauri-project-standard/references/practice.md +20 -0
  414. package/skills/cc-tauri-project-standard/references/verification.md +18 -0
  415. package/skills/cc-tdd-methodology/SKILL.md +8 -0
  416. package/skills/cc-tdd-methodology/references/method.md +13 -0
  417. package/skills/cc-technical-diagrams/SKILL.md +34 -0
  418. package/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
  419. package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/README.md +5 -5
  420. package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.mmd +21 -21
  421. package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.mmd +7 -7
  422. package/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +3 -3
  423. package/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +7 -7
  424. package/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
  425. package/{localized/zh-CN/skills/fec-image-generation → skills/cc-technical-diagrams}/scripts/diagram-browser.mjs +77 -14
  426. package/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
  427. package/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
  428. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
  429. package/skills/cc-typescript-project-standard/examples/engineering/README.md +9 -0
  430. package/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
  431. package/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
  432. package/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
  433. package/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
  434. package/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  435. package/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
  436. package/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
  437. package/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
  438. package/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
  439. package/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
  440. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +6 -35
  441. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +7 -1
  442. package/skills/eval_queries.json +741 -319
  443. package/skills/fec-api-integration/SKILL.md +5 -1
  444. package/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
  445. package/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
  446. package/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
  447. package/skills/fec-api-integration/references/engineering-practices.md +73 -0
  448. package/skills/fec-code-review/SKILL.md +4 -0
  449. package/skills/fec-code-review/references/common/engineering-practices.md +237 -0
  450. package/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
  451. package/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
  452. package/skills/fec-code-review/references/engineering-practices.md +73 -0
  453. package/skills/fec-data-fetching/SKILL.md +4 -0
  454. package/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
  455. package/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
  456. package/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
  457. package/skills/fec-data-fetching/references/engineering-practices.md +73 -0
  458. package/skills/fec-debug-framework/SKILL.md +2 -51
  459. package/skills/fec-debug-framework/references/common/debug.md +13 -0
  460. package/skills/fec-dependency-upgrade/SKILL.md +4 -0
  461. package/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
  462. package/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
  463. package/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
  464. package/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
  465. package/skills/fec-doc-sync/SKILL.md +7 -28
  466. package/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
  467. package/skills/fec-image-generation/SKILL.md +7 -102
  468. package/skills/fec-image-generation/references/png-qa-autofix.md +1 -1
  469. package/skills/fec-image-generation/scripts/png-qa.mjs +1 -1
  470. package/skills/fec-react-project-standard/SKILL.md +6 -0
  471. package/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
  472. package/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
  473. package/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
  474. package/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  475. package/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
  476. package/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
  477. package/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
  478. package/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
  479. package/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
  480. package/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
  481. package/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
  482. package/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
  483. package/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
  484. package/skills/fec-refactoring/SKILL.md +12 -70
  485. package/skills/fec-refactoring/references/common/refactoring.md +16 -0
  486. package/skills/fec-refactoring/references/principles.md +9 -56
  487. package/skills/fec-refactoring/references/workflow.md +4 -87
  488. package/skills/fec-security-review/SKILL.md +4 -0
  489. package/skills/fec-security-review/references/common/engineering-practices.md +237 -0
  490. package/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
  491. package/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
  492. package/skills/fec-security-review/references/engineering-practices.md +73 -0
  493. package/skills/fec-tdd-workflow/SKILL.md +13 -45
  494. package/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
  495. package/skills/fec-testing-strategy/SKILL.md +4 -0
  496. package/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
  497. package/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
  498. package/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
  499. package/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
  500. package/skills/fec-vue3-project-standard/SKILL.md +4 -0
  501. package/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
  502. package/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
  503. package/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
  504. package/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
  505. package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
  506. package/skills/metadata.json +2246 -1008
  507. package/skills/relations.json +501 -372
  508. package/templates/shared/rules/fec-source-driven-development.md +3 -29
  509. package/templates/shared/rules/fec-typescript.md +4 -4
  510. package/templates/shared/rules/references/common/source-driven-development.md +19 -0
  511. package/localized/zh-CN/skills/fec-image-generation/assets/quality-examples/README.md +0 -14
  512. package/localized/zh-CN/skills/fec-source-driven-development/SKILL.md +0 -87
  513. package/skills/fec-source-driven-development/SKILL.md +0 -87
  514. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
  515. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
  516. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
  517. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
  518. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
  519. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
  520. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
  521. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
  522. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
  523. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
  524. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
  525. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
  526. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
  527. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
  528. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
  529. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
  530. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
  531. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
  532. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
  533. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
  534. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
  535. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
  536. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
  537. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
  538. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
  539. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/architecture.json +0 -0
  540. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/invalid-explicit.json +0 -0
  541. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.json +0 -0
  542. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.json +0 -0
  543. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/export-diagram.mjs +0 -0
  544. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
  545. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/mermaid-render.mjs +0 -0
  546. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +0 -0
  547. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
  548. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
  549. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
  550. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
  551. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
  552. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
  553. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
  554. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
  555. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
  556. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
  557. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
  558. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
  559. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
  560. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
  561. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
  562. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
  563. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
  564. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
  565. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
  566. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
  567. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
  568. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
  569. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
  570. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
  571. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
  572. /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/architecture.json +0 -0
  573. /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/invalid-explicit.json +0 -0
  574. /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/sequence.json +0 -0
  575. /package/skills/{fec-image-generation → cc-technical-diagrams}/assets/quality-examples/workflow.json +0 -0
  576. /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/export-diagram.mjs +0 -0
  577. /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
  578. /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/mermaid-render.mjs +0 -0
  579. /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-security-review:input-trust"
4
+ level: "required"
5
+ sourceIds: ["electron-security","tauri-permissions"]
6
+ caseIds: ["EP-IPC-01","EP-TS-01"]
7
+ evidence: "review-only"
8
+ - id: "fec-security-review:secret-boundary"
9
+ level: "required"
10
+ sourceIds: ["electron-security","google-review"]
11
+ caseIds: ["EP-IPC-01"]
12
+ evidence: "review-only"
13
+ ---
14
+
15
+ # Local engineering decisions
16
+
17
+ Locate the actual role, toolchain and existing conventions, then read relevant [shared principles](common/engineering-practices.md). These conditions apply to this entry, not every project. Structure checks do not prove all semantics or execution.
18
+
19
+ <a id="fec-security-review:input-trust"></a>
20
+ ## The UI is not the authority for privileged operations
21
+
22
+ Level: required
23
+
24
+ ### Risk
25
+ A hidden control or renderer-provided role can conceal a missing trusted authorization boundary.
26
+
27
+ ### Applies
28
+ For API/IPC/external data affecting privileged behavior, with the actual application role and platform.
29
+
30
+ ### Decision
31
+ Locate the authoritative identity/permission owner, validate operation-specific data before effects and expose only the needed capability. Keep UI visibility and trusted enforcement distinct.
32
+
33
+ ### Exceptions
34
+ Do not invent a network auth stack for a constrained local tool. Electron and Tauri have different concrete grant mechanisms; follow the relevant platform entry.
35
+
36
+ ### Examples
37
+ Better: trusted main/server validates caller and scope before the effect. Worse: renderer supplies admin=true and the handler trusts it.
38
+
39
+ ### Verification
40
+ Exercise allowed/denied and malformed calls with zero effects after rejection. Related handler/input samples do not prove every project’s authentication.
41
+
42
+ ### Sources
43
+ electron-security, tauri-permissions — [registry and limits](common/engineering-practices.sources.json).
44
+
45
+ Evidence IDs: EP-IPC-01, EP-TS-01; review-only. Execution status and scope require actual records; a related ID does not prove every decision on this card.
46
+
47
+ <a id="fec-security-review:secret-boundary"></a>
48
+ ## Only authorized public data crosses into the client
49
+
50
+ Level: required
51
+
52
+ ### Risk
53
+ An overbroad bridge, bundle or error can reveal server/main-only data.
54
+
55
+ ### Applies
56
+ For client/renderer-facing configuration, diagnostics and payloads; retain the project’s existing sensitive-data policy.
57
+
58
+ ### Decision
59
+ Review permitted configuration names, build artifacts and boundary DTOs without printing credentials. Keep privileged keys/raw environment and internal exception details outside public payloads and logs.
60
+
61
+ ### Exceptions
62
+ A variable prefix or hidden UI is not a secrecy boundary. Read sensitive values only when the authorized task truly needs them, and never paste them into review output.
63
+
64
+ ### Examples
65
+ Better: main returns a restricted public result. Worse: expose process.env or an unrestricted error stack through a bridge.
66
+
67
+ ### Verification
68
+ Inspect the actual authorized artifact/boundary and redaction paths using synthetic data. This is project policy informed by boundary guidance, not a claim that every corporate guide defines the same secret rules.
69
+
70
+ ### Sources
71
+ electron-security, google-review — [registry and limits](common/engineering-practices.sources.json).
72
+
73
+ Evidence IDs: EP-IPC-01; review-only. Execution status and scope require actual records; a related ID does not prove every decision on this card.
@@ -3,54 +3,22 @@ name: fec-tdd-workflow
3
3
  description: Use when implementing new observable frontend behavior or fixing a behavior-changing bug where a failing test can describe the missing or incorrect behavior first. Apply to components, hooks/composables, utilities, API clients, route guards, or user workflows; pure behavior-preserving refactoring uses an already-green contract instead.
4
4
  ---
5
5
 
6
- # Front-end TDD workflow
6
+ # Frontend test-driven development
7
7
 
8
- ## Purpose
8
+ Follow the [common TDD method](references/common/tdd.md). Use RED → GREEN → REFACTOR for new behavior and GREEN → REFACTOR → GREEN for pure structural refactoring.
9
9
 
10
- Use the rhythm of "write failing tests first, then implement the minimum code, and then refactor" to deliver front-end functions to avoid supplementing coverage only after implementation.
10
+ ## Frontend observable contracts
11
11
 
12
- ## Procedure
12
+ User-visible UI, component props/emits, hook/composable return values, route guards, API client output/errors, events, side effects and asynchronous states.
13
13
 
14
- 1. Identify observable behaviors: UI, component contracts, hook/composable return values, route guard results, API client output or error status that users can see.
15
- 2. First write a minimum failure test:
16
- - Pure logic first unit testing.
17
- - Prioritize component interaction Testing Library / Vue Test Utils.
18
- - Prioritize critical processes across pages Playwright/Cypress.
19
- 3. Run the test and confirm that the failure reason is correct and should come from behavior that has not yet been implemented, rather than a syntax, import, or test environment error.
20
- 4. Write the minimum implementation that can just pass the test, and do not expand the scope easily.
21
- 5. Rerun the test and confirm it turns green.
22
- 6. Refactor naming, boundaries and duplication logic while keeping tests passing.
23
- 7. Fix bugs and retain regression tests that can reproduce the problem.
24
- 8. Only one observable behavior is expanded in each round; new requirements, new boundaries and new abnormal paths enter the next round respectively.
14
+ ## Frontend test selection
25
15
 
26
- ## Pure Refactoring Boundary
16
+ | Risk | Preferred validation |
17
+ | --- | --- |
18
+ | utils, schemas, state calculations | Unit tests |
19
+ | hooks/composables | Unit or lightweight integration |
20
+ | Component props, emits, interactions and states | Existing Testing Library / Vue Test Utils component tests |
21
+ | Router, Provider and Store collaboration | Lightweight integration |
22
+ | Cross-page login, payment, permission and CRUD journeys | Existing Playwright/Cypress E2E |
27
23
 
28
- Pure behavior-preserving refactoring does not manufacture a failing test. If existing behavior is already correct and the goal is structural only, establish or add characterization coverage that passes for the current behavior, then keep it green through each refactoring step. Use RED → GREEN → REFACTOR for new behavior or a behavior-changing defect fix; use GREEN → REFACTOR → GREEN for pure refactoring.
29
-
30
- ## Prove-It Pattern
31
-
32
- When fixing a defect, make the test fail first, then make it pass. If it cannot fail first, it means that the test does not cover the original problem, and the input, assertion or test level needs to be narrowed.
33
-
34
- ## Frontend Test Selection
35
-
36
- | Risk | Preferred Test |
37
- | ---- | -------------- |
38
- | utils, schema, status calculation | unit testing |
39
- | hooks / composables | unit or lightweight integration testing |
40
- | Component props, emits, interactions, status | Component testing |
41
- | Router, Provider, Store collaboration | Lightweight integration testing |
42
- | Login, payment, permissions, key CRUD | E2E testing |
43
-
44
- ## Constraints
45
-
46
- - Do not introduce new testing frameworks for the sake of TDD that are not used by the project and whose benefits are not clear.
47
- - Does not test implementation details, private state, or fragile DOM structures.
48
- - Don’t treat E2E as the default answer for all risks; prioritize the test layer closest to the risk.
49
- - If the existing warehouse does not have testing infrastructure, output the minimum test implementation suggestions first, and then ask the user to confirm whether to introduce it.
50
- - Do not refactor at the same time during the red light stage; prove the problem first, then make minimal repairs, and then organize the structure.
51
-
52
- ## Expected Output
53
-
54
- - At least one fail-then-pass test covering the new or fixed behavior.
55
- - Implementation is kept to a minimum scope and refactoring is done only after the tests pass.
56
- - Summarize the test commands run, behaviors covered, and risks not covered.
24
+ Select the closest meaningful layer: pure permission logic does not require E2E merely because it is permission-related. Keep existing frameworks and report observed red/green evidence and coverage boundaries through the common method.
@@ -0,0 +1,13 @@
1
+ # Test-driven development
2
+
3
+ For new behavior and behavior-changing defect fixes use RED → GREEN → REFACTOR. The test describes an observable contract, not private implementation structure.
4
+
5
+ 1. Identify one behavior: inputs, output/error, state transition or externally observable side effect. Choose the closest meaningful test level using existing project tooling.
6
+ 2. Write the smallest test that distinguishes the missing or wrong behavior. Run it first and observe failure for the expected behavior, not a syntax, import or environment problem. For a defect, the test must fail against the original defect.
7
+ 3. Implement only enough to pass that test. Do not refactor during the red phase or add unrelated features.
8
+ 4. Run the test and relevant surrounding tests, then improve naming and structure while preserving green. New requirements enter the next cycle.
9
+ 5. Report the observed red/green commands, covered behavior and untested boundaries. Do not infer success from a diff or unexecuted tests.
10
+
11
+ Pure structural refactoring has a different contract: establish current behavior through existing or characterization coverage and keep GREEN → REFACTOR → GREEN. Do not invent a failure merely to satisfy a ritual.
12
+
13
+ Test logic close to the risk; use integration tests for real boundaries and end-to-end tests for journeys that need them. Do not make E2E the default or assert fragile private state. Do not introduce a new testing framework merely for TDD. If infrastructure is absent, explain the minimum test setup and obtain a decision before introducing it; use the actual stack rather than require frontend tools.
@@ -43,3 +43,7 @@ Choose your testing approach by “closeness to code/level of risk coverage” t
43
43
  ## Expected Output
44
44
 
45
45
  Output test layering recommendations, mapping of risks to test layers, priorities, recommended commands, the scope of test files that need to be added or adjusted, and the specific skills or agents that need to be clearly diverted.
46
+
47
+ ## Engineering practices
48
+
49
+ Read the [local engineering decisions](references/engineering-practices.md) for this task and follow their links to relevant shared principles. Apply levels and exceptions against actual project contracts; product frontend/backend labels do not constrain language or role.