@bovinphang/craft-common 1.0.0 → 2.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 (323) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/CHANGELOG.zh-CN.md +39 -0
  3. package/README.md +17 -3
  4. package/dist/content/applicability.d.ts +17 -0
  5. package/dist/content/catalog.d.ts +1 -1
  6. package/dist/content/snapshot.d.ts +32 -0
  7. package/dist/index.d.ts +18 -0
  8. package/dist/index.js +10876 -211
  9. package/dist/install/file-transition.d.ts +10 -0
  10. package/dist/install/product/lifecycle.d.ts +17 -0
  11. package/dist/install/product/locks.d.ts +2 -0
  12. package/dist/install/product/ownership.d.ts +3 -0
  13. package/dist/install/product/paths.d.ts +17 -0
  14. package/dist/install/product/runtime-descriptors.d.ts +109 -0
  15. package/dist/install/product/session.d.ts +31 -0
  16. package/dist/install/product/shared-config/hash.d.ts +9 -0
  17. package/dist/install/product/shared-config/index.d.ts +16 -0
  18. package/dist/install/product/shared-config/json.d.ts +11 -0
  19. package/dist/install/product/shared-config/text.d.ts +5 -0
  20. package/dist/install/product/shared-config/toml.d.ts +7 -0
  21. package/dist/install/product/shared-config/types.d.ts +21 -0
  22. package/dist/install/product/transaction.d.ts +10 -0
  23. package/dist/install/product/types.d.ts +65 -0
  24. package/dist/project/discover.d.ts +2 -0
  25. package/dist/project/evidence.d.ts +37 -0
  26. package/dist/project/frameworks.d.ts +5 -0
  27. package/dist/project/recommend.d.ts +17 -0
  28. package/dist/project/types.d.ts +42 -0
  29. package/docs/consuming-common.md +65 -6
  30. package/docs/releases/2.0.0.md +58 -0
  31. package/localized/zh-CN/methods/engineering-practices.md +237 -0
  32. package/localized/zh-CN/methods/engineering-practices.rules.json +121 -0
  33. package/localized/zh-CN/methods/engineering-practices.sources.json +377 -0
  34. package/localized/zh-CN/skills/cc-c-project-standard/SKILL.md +25 -0
  35. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
  36. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
  37. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
  38. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
  39. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
  40. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
  41. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
  42. package/localized/zh-CN/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
  43. package/localized/zh-CN/skills/cc-c-project-standard/references/practice.md +37 -0
  44. package/localized/zh-CN/skills/cc-cpp-project-standard/SKILL.md +25 -0
  45. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
  46. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
  47. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
  48. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
  49. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
  50. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
  51. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
  52. package/localized/zh-CN/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
  53. package/localized/zh-CN/skills/cc-cpp-project-standard/references/practice.md +37 -0
  54. package/localized/zh-CN/skills/cc-electron-project-standard/SKILL.md +21 -0
  55. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
  56. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
  57. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
  58. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
  59. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
  60. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
  61. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
  62. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
  63. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
  64. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
  65. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
  66. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
  67. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
  68. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
  69. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
  70. package/localized/zh-CN/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
  71. package/localized/zh-CN/skills/cc-electron-project-standard/references/practice.md +19 -0
  72. package/localized/zh-CN/skills/cc-electron-project-standard/references/verification.md +17 -0
  73. package/localized/zh-CN/skills/cc-go-concurrency/SKILL.md +25 -0
  74. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
  75. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
  76. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
  77. package/localized/zh-CN/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
  78. package/localized/zh-CN/skills/cc-go-concurrency/references/practice.md +37 -0
  79. package/localized/zh-CN/skills/cc-go-project-standard/SKILL.md +25 -0
  80. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
  81. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
  82. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
  83. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
  84. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
  85. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
  86. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
  87. package/localized/zh-CN/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
  88. package/localized/zh-CN/skills/cc-go-project-standard/references/practice.md +37 -0
  89. package/localized/zh-CN/skills/cc-java-project-standard/SKILL.md +25 -0
  90. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/README.md +5 -0
  91. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
  92. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
  93. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
  94. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
  95. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
  96. package/localized/zh-CN/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
  97. package/localized/zh-CN/skills/cc-java-project-standard/references/practice.md +37 -0
  98. package/localized/zh-CN/skills/cc-java-runtime/SKILL.md +25 -0
  99. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
  100. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
  101. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
  102. package/localized/zh-CN/skills/cc-java-runtime/references/engineering-practices.md +73 -0
  103. package/localized/zh-CN/skills/cc-java-runtime/references/practice.md +37 -0
  104. package/localized/zh-CN/skills/cc-native-memory-safety/SKILL.md +25 -0
  105. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
  106. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
  107. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
  108. package/localized/zh-CN/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
  109. package/localized/zh-CN/skills/cc-native-memory-safety/references/practice.md +37 -0
  110. package/localized/zh-CN/skills/cc-python-async/SKILL.md +25 -0
  111. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.md +237 -0
  112. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
  113. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
  114. package/localized/zh-CN/skills/cc-python-async/references/engineering-practices.md +73 -0
  115. package/localized/zh-CN/skills/cc-python-async/references/practice.md +37 -0
  116. package/localized/zh-CN/skills/cc-python-project-standard/SKILL.md +25 -0
  117. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
  118. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
  119. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
  120. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
  121. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
  122. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
  123. package/localized/zh-CN/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
  124. package/localized/zh-CN/skills/cc-python-project-standard/references/practice.md +37 -0
  125. package/localized/zh-CN/skills/cc-rust-async/SKILL.md +25 -0
  126. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
  127. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
  128. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
  129. package/localized/zh-CN/skills/cc-rust-async/references/engineering-practices.md +73 -0
  130. package/localized/zh-CN/skills/cc-rust-async/references/practice.md +37 -0
  131. package/localized/zh-CN/skills/cc-rust-project-standard/SKILL.md +25 -0
  132. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
  133. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
  134. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
  135. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
  136. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
  137. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
  138. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
  139. package/localized/zh-CN/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
  140. package/localized/zh-CN/skills/cc-rust-project-standard/references/practice.md +37 -0
  141. package/localized/zh-CN/skills/cc-tauri-project-standard/SKILL.md +21 -0
  142. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
  143. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
  144. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
  145. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
  146. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
  147. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
  148. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
  149. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
  150. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
  151. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
  152. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
  153. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
  154. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
  155. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
  156. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
  157. package/localized/zh-CN/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
  158. package/localized/zh-CN/skills/cc-tauri-project-standard/references/practice.md +20 -0
  159. package/localized/zh-CN/skills/cc-tauri-project-standard/references/verification.md +18 -0
  160. package/localized/zh-CN/skills/cc-typescript-project-standard/SKILL.md +60 -0
  161. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/README.md +7 -0
  162. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
  163. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
  164. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
  165. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
  166. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  167. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
  168. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
  169. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
  170. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
  171. package/localized/zh-CN/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
  172. package/localized/zh-CN/skills/cc-typescript-project-standard/references/type-safety-patterns.md +73 -0
  173. package/localized/zh-CN/skills/cc-typescript-project-standard/references/type-safety.md +154 -0
  174. package/localized/zh-CN/skills/eval_queries.json +336 -0
  175. package/localized/zh-CN/skills/metadata.json +545 -7
  176. package/localized/zh-CN/skills/relations.json +143 -0
  177. package/methods/engineering-practices.md +237 -0
  178. package/methods/engineering-practices.rules.json +121 -0
  179. package/methods/engineering-practices.sources.json +377 -0
  180. package/package.json +10 -2
  181. package/skills/cc-c-project-standard/SKILL.md +25 -0
  182. package/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
  183. package/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
  184. package/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
  185. package/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
  186. package/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
  187. package/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
  188. package/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
  189. package/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
  190. package/skills/cc-c-project-standard/references/practice.md +37 -0
  191. package/skills/cc-cpp-project-standard/SKILL.md +25 -0
  192. package/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
  193. package/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
  194. package/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
  195. package/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
  196. package/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
  197. package/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
  198. package/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
  199. package/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
  200. package/skills/cc-cpp-project-standard/references/practice.md +37 -0
  201. package/skills/cc-electron-project-standard/SKILL.md +21 -0
  202. package/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
  203. package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
  204. package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
  205. package/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
  206. package/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
  207. package/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
  208. package/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
  209. package/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
  210. package/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
  211. package/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
  212. package/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
  213. package/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
  214. package/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
  215. package/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
  216. package/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
  217. package/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
  218. package/skills/cc-electron-project-standard/references/practice.md +19 -0
  219. package/skills/cc-electron-project-standard/references/verification.md +17 -0
  220. package/skills/cc-go-concurrency/SKILL.md +25 -0
  221. package/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
  222. package/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
  223. package/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
  224. package/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
  225. package/skills/cc-go-concurrency/references/practice.md +37 -0
  226. package/skills/cc-go-project-standard/SKILL.md +25 -0
  227. package/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
  228. package/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
  229. package/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
  230. package/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
  231. package/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
  232. package/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
  233. package/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
  234. package/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
  235. package/skills/cc-go-project-standard/references/practice.md +37 -0
  236. package/skills/cc-java-project-standard/SKILL.md +25 -0
  237. package/skills/cc-java-project-standard/examples/engineering/README.md +7 -0
  238. package/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
  239. package/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
  240. package/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
  241. package/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
  242. package/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
  243. package/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
  244. package/skills/cc-java-project-standard/references/practice.md +35 -0
  245. package/skills/cc-java-runtime/SKILL.md +25 -0
  246. package/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
  247. package/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
  248. package/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
  249. package/skills/cc-java-runtime/references/engineering-practices.md +73 -0
  250. package/skills/cc-java-runtime/references/practice.md +37 -0
  251. package/skills/cc-native-memory-safety/SKILL.md +25 -0
  252. package/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
  253. package/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
  254. package/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
  255. package/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
  256. package/skills/cc-native-memory-safety/references/practice.md +37 -0
  257. package/skills/cc-python-async/SKILL.md +25 -0
  258. package/skills/cc-python-async/references/common/engineering-practices.md +237 -0
  259. package/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
  260. package/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
  261. package/skills/cc-python-async/references/engineering-practices.md +73 -0
  262. package/skills/cc-python-async/references/practice.md +37 -0
  263. package/skills/cc-python-project-standard/SKILL.md +25 -0
  264. package/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
  265. package/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
  266. package/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
  267. package/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
  268. package/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
  269. package/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
  270. package/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
  271. package/skills/cc-python-project-standard/references/practice.md +37 -0
  272. package/skills/cc-rust-async/SKILL.md +25 -0
  273. package/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
  274. package/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
  275. package/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
  276. package/skills/cc-rust-async/references/engineering-practices.md +73 -0
  277. package/skills/cc-rust-async/references/practice.md +37 -0
  278. package/skills/cc-rust-project-standard/SKILL.md +25 -0
  279. package/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
  280. package/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
  281. package/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
  282. package/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
  283. package/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
  284. package/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
  285. package/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
  286. package/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
  287. package/skills/cc-rust-project-standard/references/practice.md +37 -0
  288. package/skills/cc-tauri-project-standard/SKILL.md +21 -0
  289. package/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
  290. package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
  291. package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
  292. package/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
  293. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
  294. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
  295. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
  296. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
  297. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
  298. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
  299. package/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
  300. package/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
  301. package/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
  302. package/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
  303. package/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
  304. package/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
  305. package/skills/cc-tauri-project-standard/references/practice.md +20 -0
  306. package/skills/cc-tauri-project-standard/references/verification.md +18 -0
  307. package/skills/cc-typescript-project-standard/SKILL.md +60 -0
  308. package/skills/cc-typescript-project-standard/examples/engineering/README.md +9 -0
  309. package/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
  310. package/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
  311. package/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
  312. package/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
  313. package/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  314. package/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
  315. package/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
  316. package/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
  317. package/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
  318. package/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
  319. package/skills/cc-typescript-project-standard/references/type-safety-patterns.md +73 -0
  320. package/skills/cc-typescript-project-standard/references/type-safety.md +154 -0
  321. package/skills/eval_queries.json +336 -0
  322. package/skills/metadata.json +545 -7
  323. package/skills/relations.json +143 -0
@@ -0,0 +1,154 @@
1
+ # TypeScript 类型安全
2
+
3
+ ## 用途
4
+
5
+ 为前端和 TypeScript 工程建立可演进的类型契约,减少 `any`、断言和运行时形状漂移。
6
+
7
+ ## 流程
8
+
9
+ ### 1. 先确定类型边界
10
+
11
+ 把类型分为外部输入、领域模型、UI view model、组件 props、工具函数 API。不要让后端 DTO、表单模型和 UI 展示模型互相冒充。
12
+
13
+ ```ts
14
+ interface UserDto {
15
+ id: string;
16
+ display_name: string;
17
+ status: "ACTIVE" | "DISABLED";
18
+ }
19
+
20
+ interface UserViewModel {
21
+ id: string;
22
+ displayName: string;
23
+ status: "active" | "disabled";
24
+ }
25
+
26
+ export function mapUserDto(dto: UserDto): UserViewModel {
27
+ return {
28
+ id: dto.id,
29
+ displayName: dto.display_name,
30
+ status: dto.status === "ACTIVE" ? "active" : "disabled",
31
+ };
32
+ }
33
+ ```
34
+
35
+ ### 2. 用 `unknown` 和收窄处理不可信数据
36
+
37
+ 外部输入先校验再使用。不要用 `as` 让编译器闭嘴。
38
+
39
+ ```ts
40
+ interface ApiErrorBody {
41
+ message: string;
42
+ }
43
+
44
+ function isApiErrorBody(value: unknown): value is ApiErrorBody {
45
+ return (
46
+ typeof value === "object" &&
47
+ value !== null &&
48
+ "message" in value &&
49
+ typeof value.message === "string"
50
+ );
51
+ }
52
+
53
+ export function getApiErrorMessage(value: unknown): string {
54
+ return isApiErrorBody(value) ? value.message : "Unexpected error";
55
+ }
56
+ ```
57
+
58
+ ### 3. 用判别联合表达状态机
59
+
60
+ 异步状态、权限分支、支付状态等有限状态,用判别字段让新增分支在编译期暴露。
61
+
62
+ ```ts
63
+ type Loadable<T> =
64
+ | { state: "idle" }
65
+ | { state: "loading" }
66
+ | { state: "success"; data: T }
67
+ | { state: "error"; error: Error };
68
+
69
+ function assertNever(value: never): never {
70
+ throw new Error(`Unhandled state: ${JSON.stringify(value)}`);
71
+ }
72
+
73
+ export function renderUserState(user: Loadable<{ name: string }>): string {
74
+ switch (user.state) {
75
+ case "idle":
76
+ return "Ready";
77
+ case "loading":
78
+ return "Loading";
79
+ case "success":
80
+ return user.data.name;
81
+ case "error":
82
+ return user.error.message;
83
+ default:
84
+ return assertNever(user);
85
+ }
86
+ }
87
+ ```
88
+
89
+ ### 4. 让泛型服务调用方,而不是炫技
90
+
91
+ 泛型应减少重复并保持调用方推断清晰。复杂类型超过阅读成本时,优先拆具名类型。
92
+
93
+ ```ts
94
+ interface SelectOption<TValue extends string | number> {
95
+ label: string;
96
+ value: TValue;
97
+ }
98
+
99
+ interface SelectProps<TValue extends string | number> {
100
+ value: TValue;
101
+ options: Array<SelectOption<TValue>>;
102
+ onChange: (value: TValue) => void;
103
+ }
104
+
105
+ export function Select<TValue extends string | number>({
106
+ value,
107
+ options,
108
+ onChange,
109
+ }: SelectProps<TValue>) {
110
+ return (
111
+ <select value={value} onChange={(event) => onChange(event.target.value as TValue)}>
112
+ {options.map((option) => (
113
+ <option key={option.value} value={option.value}>
114
+ {option.label}
115
+ </option>
116
+ ))}
117
+ </select>
118
+ );
119
+ }
120
+ ```
121
+
122
+ ### 5. 用类型测试保护公共类型
123
+
124
+ 公共工具类型、组件库类型和 SDK 类型,应有轻量类型测试或编译期断言。
125
+
126
+ ```ts
127
+ type Equal<TLeft, TRight> =
128
+ (<T>() => T extends TLeft ? 1 : 2) extends <T>() => T extends TRight ? 1 : 2
129
+ ? true
130
+ : false;
131
+
132
+ type Expect<T extends true> = T;
133
+
134
+ type UserStatus = UserViewModel["status"];
135
+ type _UserStatusTest = Expect<Equal<UserStatus, "active" | "disabled">>;
136
+ ```
137
+
138
+ ## 约束
139
+
140
+ - 避免 `any`、无守卫的非空断言和不相关类型之间的强制 `as`。
141
+ - 不把大型匿名类型堆在函数参数或 JSX props 上;提取具名类型表达业务含义。
142
+ - 不为简单业务过度设计递归条件类型;类型复杂度应服务可维护性。
143
+ - 公共 API 的输入输出必须显式标注,局部变量可依赖推断。
144
+ - 类型建模不能替代运行时校验;外部数据仍需 schema 或 type guard。
145
+
146
+ ## 预期输出
147
+
148
+ 产出清晰的类型边界、可收窄的数据模型、必要的类型测试和验证命令。评审时应列出类型风险、运行时影响、推荐建模方式和是否需要专项修复。
149
+
150
+ ## 与应用工作流的边界
151
+
152
+ - 涉及组件架构、路由、状态归属和框架专项模块边界时,使用框架项目工作流。
153
+ - 当runtime API clients, auth refresh, uploads, realtime behavior, or error mapping go beyond TypeScript type contracts时,使用 API 集成。
154
+ - 当the task is to repair concrete lint, typecheck, test, build, or CI failures after TypeScript changes时,使用验证修复 fix。
@@ -1,4 +1,52 @@
1
1
  {
2
+ "cc-c-project-standard": {
3
+ "should_trigger": [
4
+ "审查或修复C 分配失败清理路径",
5
+ "审查或修复C 库 ABI 兼容性",
6
+ "审查或修复C 失败输出初始化",
7
+ "审查或修复C 缓冲区长度校验",
8
+ "审查或修复C 分配时整数溢出",
9
+ "审查或修复纯 C 所有权转移",
10
+ "审查或修复C 头文件与实现边界",
11
+ "审查或修复C 失败注入测试",
12
+ "评审纯C分配大小及分配器配对,不迁移C++"
13
+ ],
14
+ "should_not_trigger": [
15
+ "只调整 CSS 间距,不改程序契约",
16
+ "翻译产品文案,不涉及程序",
17
+ "生成海报插图",
18
+ "推荐晚餐餐厅",
19
+ "只修改数据库索引,没有语言代码",
20
+ "只设计框架组件路由,不改语言配置",
21
+ "重写营销标题",
22
+ "生成音频配乐",
23
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
24
+ ]
25
+ },
26
+ "cc-cpp-project-standard": {
27
+ "should_trigger": [
28
+ "审查或修复C++ 库 RAII 所有权",
29
+ "审查或修复C++ 异常保证",
30
+ "审查或修复C++ 桌面插件 ABI",
31
+ "审查或修复C++ 部分构造清理",
32
+ "审查或修复C++ 回调生命周期",
33
+ "审查或修复保持 C++ 编译标准",
34
+ "审查或修复C++ 自定义 deleter 配对",
35
+ "审查或修复C++ 模块退出同步",
36
+ "评审C++插件借用指针清理,保留禁异常政策"
37
+ ],
38
+ "should_not_trigger": [
39
+ "只调整 CSS 间距,不改程序契约",
40
+ "翻译产品文案,不涉及程序",
41
+ "生成海报插图",
42
+ "推荐晚餐餐厅",
43
+ "只修改数据库索引,没有语言代码",
44
+ "只设计框架组件路由,不改语言配置",
45
+ "重写营销标题",
46
+ "生成音频配乐",
47
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
48
+ ]
49
+ },
2
50
  "cc-debug-methodology": {
3
51
  "should_trigger": [
4
52
  "Vite 构建报错 Module not found,帮我排查",
@@ -69,6 +117,198 @@
69
117
  "生成漫画头像和品牌板"
70
118
  ]
71
119
  },
120
+ "cc-electron-project-standard": {
121
+ "should_trigger": [
122
+ "在副作用前校验 Electron IPC sender",
123
+ "限制 contextBridge 的逐项接口",
124
+ "审查 main/preload/renderer 契约",
125
+ "核验 Electron sandbox 边界",
126
+ "限制导航和新窗口",
127
+ "审查安全自定义协议资源",
128
+ "检查原生模块 ABI 与打包",
129
+ "管理退出时 IPC handler 生命周期",
130
+ "评审Electron窗口关闭后IPC准备迟到的副作用"
131
+ ],
132
+ "should_not_trigger": [
133
+ "实现没有 Electron 的 Node HTTP API",
134
+ "整理普通 Rust 库",
135
+ "只改 Vue CSS 颜色",
136
+ "设计 Tauri capabilities",
137
+ "调整 Go worker channel",
138
+ "翻译营销标题",
139
+ "审查数据库隔离级别",
140
+ "生成图表而不改程序",
141
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
142
+ ]
143
+ },
144
+ "cc-go-concurrency": {
145
+ "should_trigger": [
146
+ "审查或修复Go worker 取消",
147
+ "审查或修复Go channel 关闭归属",
148
+ "审查或修复接收方退出后 Go 发送阻塞",
149
+ "审查或修复Go goroutine 数量上限",
150
+ "审查或修复Go 同步先行关系",
151
+ "审查或修复Go 并发退出竞态",
152
+ "审查或修复Go 队列饱和测试",
153
+ "审查或修复Go worker 退出完成证据",
154
+ "评审Go通道阻塞关闭及两个工作者完成"
155
+ ],
156
+ "should_not_trigger": [
157
+ "只调整 CSS 间距,不改程序契约",
158
+ "翻译产品文案,不涉及程序",
159
+ "生成海报插图",
160
+ "推荐晚餐餐厅",
161
+ "只修改数据库索引,没有语言代码",
162
+ "只设计框架组件路由,不改语言配置",
163
+ "重写营销标题",
164
+ "生成音频配乐",
165
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
166
+ ]
167
+ },
168
+ "cc-go-project-standard": {
169
+ "should_trigger": [
170
+ "审查或修复go.work 子模块边界",
171
+ "审查或修复Go internal 包组织",
172
+ "审查或修复Go CLI 错误包装",
173
+ "审查或修复阻塞操作的 context 所有者",
174
+ "审查或修复Go 资源工厂清理",
175
+ "审查或修复Go 模块导入兼容性",
176
+ "审查或修复当前模块的 vet 与 test 命令",
177
+ "审查或修复Go 公共接口设计",
178
+ "评审Go库context和错误边界,不添加HTTP分层"
179
+ ],
180
+ "should_not_trigger": [
181
+ "只调整 CSS 间距,不改程序契约",
182
+ "翻译产品文案,不涉及程序",
183
+ "生成海报插图",
184
+ "推荐晚餐餐厅",
185
+ "只修改数据库索引,没有语言代码",
186
+ "只设计框架组件路由,不改语言配置",
187
+ "重写营销标题",
188
+ "生成音频配乐",
189
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
190
+ ]
191
+ },
192
+ "cc-java-project-standard": {
193
+ "should_trigger": [
194
+ "审查或修复Java 库的公共模块边界",
195
+ "审查或修复Java CLI 异常原因",
196
+ "审查或修复Swing 模块线程池关闭",
197
+ "审查或修复JavaFX 阻塞工作归属",
198
+ "审查或修复Maven wrapper 版本保持",
199
+ "审查或修复Gradle 模块依赖边界",
200
+ "审查或修复Java 文件句柄关闭",
201
+ "审查或修复Java 库行为测试",
202
+ "评审Java库部分初始化及cause,不加入Web框架"
203
+ ],
204
+ "should_not_trigger": [
205
+ "只调整 CSS 间距,不改程序契约",
206
+ "翻译产品文案,不涉及程序",
207
+ "生成海报插图",
208
+ "推荐晚餐餐厅",
209
+ "只修改数据库索引,没有语言代码",
210
+ "只设计框架组件路由,不改语言配置",
211
+ "重写营销标题",
212
+ "生成音频配乐",
213
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
214
+ ]
215
+ },
216
+ "cc-java-runtime": {
217
+ "should_trigger": [
218
+ "审查或修复JVM 线程池队列增长",
219
+ "审查或修复Java 桌面线程竞争",
220
+ "审查或修复有界 JFR 取证",
221
+ "审查或修复Java GC 分配压力",
222
+ "审查或修复Java 操作期限与过载",
223
+ "审查或修复Java 堆配置受控对照",
224
+ "审查或修复Java 重复线程栈采样",
225
+ "审查或修复Java 运行时恢复阈值",
226
+ "诊断所属Java执行器请求关闭后不退出"
227
+ ],
228
+ "should_not_trigger": [
229
+ "只调整 CSS 间距,不改程序契约",
230
+ "翻译产品文案,不涉及程序",
231
+ "生成海报插图",
232
+ "推荐晚餐餐厅",
233
+ "只修改数据库索引,没有语言代码",
234
+ "只设计框架组件路由,不改语言配置",
235
+ "重写营销标题",
236
+ "生成音频配乐",
237
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
238
+ ]
239
+ },
240
+ "cc-native-memory-safety": {
241
+ "should_trigger": [
242
+ "审查或修复C/C++ FFI 分配释放配对",
243
+ "审查或修复Rust 原生借用缓冲区生命周期",
244
+ "审查或修复卸载后的原生回调",
245
+ "审查或修复C 部分初始化失败",
246
+ "审查或修复C++ 跨 DLL 异常边界",
247
+ "审查或修复原生重复关闭行为",
248
+ "审查或修复原生并发析构竞态",
249
+ "审查或修复地址检查工具的复现证据",
250
+ "评审原生插件分配器释放及卸载前回调完成"
251
+ ],
252
+ "should_not_trigger": [
253
+ "只调整 CSS 间距,不改程序契约",
254
+ "翻译产品文案,不涉及程序",
255
+ "生成海报插图",
256
+ "推荐晚餐餐厅",
257
+ "只修改数据库索引,没有语言代码",
258
+ "只设计框架组件路由,不改语言配置",
259
+ "重写营销标题",
260
+ "生成音频配乐",
261
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
262
+ ]
263
+ },
264
+ "cc-python-async": {
265
+ "should_trigger": [
266
+ "审查或修复Python task 取消清理",
267
+ "审查或修复Python 阻塞 client 转移",
268
+ "审查或修复Python 异步 executor 上限",
269
+ "审查或修复Python 异步池归属",
270
+ "审查或修复Python TaskGroup 错误传播",
271
+ "审查或修复Python 协程退出期限",
272
+ "审查或修复取消后的 Python 线程生命周期",
273
+ "审查或修复Python 异步资源获取超时",
274
+ "评审asyncio等待方取消后底层阻塞操作仍运行"
275
+ ],
276
+ "should_not_trigger": [
277
+ "只调整 CSS 间距,不改程序契约",
278
+ "翻译产品文案,不涉及程序",
279
+ "生成海报插图",
280
+ "推荐晚餐餐厅",
281
+ "只修改数据库索引,没有语言代码",
282
+ "只设计框架组件路由,不改语言配置",
283
+ "重写营销标题",
284
+ "生成音频配乐",
285
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
286
+ ]
287
+ },
288
+ "cc-python-project-standard": {
289
+ "should_trigger": [
290
+ "审查或修复Python CLI 包布局",
291
+ "审查或修复pyproject 环境约定",
292
+ "审查或修复Python 库类型边界",
293
+ "审查或修复Python 导入时副作用",
294
+ "审查或修复Python 资源上下文管理器",
295
+ "审查或修复既有 Ruff、mypy、pytest 命令",
296
+ "审查或修复Python 公共包导入",
297
+ "审查或修复Python 非法输入行为",
298
+ "消除Python库导入时外部初始化并保留清理"
299
+ ],
300
+ "should_not_trigger": [
301
+ "只调整 CSS 间距,不改程序契约",
302
+ "翻译产品文案,不涉及程序",
303
+ "生成海报插图",
304
+ "推荐晚餐餐厅",
305
+ "只修改数据库索引,没有语言代码",
306
+ "只设计框架组件路由,不改语言配置",
307
+ "重写营销标题",
308
+ "生成音频配乐",
309
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
310
+ ]
311
+ },
72
312
  "cc-refactoring-core": {
73
313
  "should_trigger": [
74
314
  "保持行为不变,重构这个前端模块。",
@@ -91,6 +331,54 @@
91
331
  "按 Figma 新增一个响应式页面。"
92
332
  ]
93
333
  },
334
+ "cc-rust-async": {
335
+ "should_trigger": [
336
+ "审查或修复Rust future 取消安全",
337
+ "审查或修复Tokio 部分写入取消",
338
+ "审查或修复Rust spawn 任务数量上限",
339
+ "审查或修复Rust JoinHandle 退出归属",
340
+ "审查或修复Rust 阻塞 I/O 边界",
341
+ "审查或修复Rust 异步队列背压",
342
+ "审查或修复Rust 资源获取期间的取消",
343
+ "审查或修复Rust 异步超时恢复",
344
+ "评审桌面窗口关闭后既有Rust异步任务取消及等待"
345
+ ],
346
+ "should_not_trigger": [
347
+ "只调整 CSS 间距,不改程序契约",
348
+ "翻译产品文案,不涉及程序",
349
+ "生成海报插图",
350
+ "推荐晚餐餐厅",
351
+ "只修改数据库索引,没有语言代码",
352
+ "只设计框架组件路由,不改语言配置",
353
+ "重写营销标题",
354
+ "生成音频配乐",
355
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
356
+ ]
357
+ },
358
+ "cc-rust-project-standard": {
359
+ "should_trigger": [
360
+ "审查或修复Cargo workspace 的 crate 边界",
361
+ "审查或修复Rust MSRV 与 edition 配置",
362
+ "审查或修复Rust 库借用契约",
363
+ "审查或修复Rust CLI 的 Result 传播",
364
+ "审查或修复Rust 公共模块可见性",
365
+ "审查或修复Rust 库发布检查",
366
+ "审查或修复Rust 适配器依赖方向",
367
+ "审查或修复Rust 资源所有权转移",
368
+ "评审桌面核心Rust Result原因及部分获取清理"
369
+ ],
370
+ "should_not_trigger": [
371
+ "只调整 CSS 间距,不改程序契约",
372
+ "翻译产品文案,不涉及程序",
373
+ "生成海报插图",
374
+ "推荐晚餐餐厅",
375
+ "只修改数据库索引,没有语言代码",
376
+ "只设计框架组件路由,不改语言配置",
377
+ "重写营销标题",
378
+ "生成音频配乐",
379
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
380
+ ]
381
+ },
94
382
  "cc-source-driven-development": {
95
383
  "should_trigger": [
96
384
  "这个 Next.js 新版本 API 先查官方文档再决定",
@@ -113,6 +401,30 @@
113
401
  "审查 token 存储安全"
114
402
  ]
115
403
  },
404
+ "cc-tauri-project-standard": {
405
+ "should_trigger": [
406
+ "审查 Tauri command 输入校验",
407
+ "将 Tauri 2 capability 限制到指定窗口",
408
+ "检查应用 command 的权限生成",
409
+ "设计 invoke 错误契约",
410
+ "管理 Tauri 托管状态退出",
411
+ "限制 Tauri 核心阻塞工作",
412
+ "验证目标平台资源打包",
413
+ "审查插件和 sidecar 权限",
414
+ "评审Tauri2实际选中capability与应用命令权限边界"
415
+ ],
416
+ "should_not_trigger": [
417
+ "整理没有 Tauri 的普通 Rust 库",
418
+ "优化没有 WebView 的 Node HTTP 服务",
419
+ "只改 React CSS 间距",
420
+ "设计 Go CLI 参数",
421
+ "修改 Electron preload",
422
+ "翻译海报文案",
423
+ "审查 SQL 执行计划",
424
+ "格式化无关 Python 文件",
425
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
426
+ ]
427
+ },
116
428
  "cc-tdd-methodology": {
117
429
  "should_trigger": [
118
430
  "用 TDD 实现这个 hook",
@@ -156,5 +468,29 @@
156
468
  "编写 CLI 单元测试",
157
469
  "润色营销文案"
158
470
  ]
471
+ },
472
+ "cc-typescript-project-standard": {
473
+ "should_trigger": [
474
+ "审查或修复TypeScript SDK 声明导出",
475
+ "审查或修复TypeScript CLI 的 NodeNext 解析",
476
+ "审查或修复TypeScript 桌面 preload 契约",
477
+ "审查或修复TypeScript unknown 输入收窄",
478
+ "审查或修复TypeScript 判别联合 API",
479
+ "审查或修复TypeScript monorepo 项目引用",
480
+ "审查或修复TypeScript 泛型库约束",
481
+ "审查或修复TypeScript 消费方类型测试",
482
+ "评审TypeScript库unknown输入副作用边界,保持模块模式"
483
+ ],
484
+ "should_not_trigger": [
485
+ "只调整 CSS 间距,不改程序契约",
486
+ "翻译产品文案,不涉及程序",
487
+ "生成海报插图",
488
+ "推荐晚餐餐厅",
489
+ "只修改数据库索引,没有语言代码",
490
+ "只设计框架组件路由,不改语言配置",
491
+ "重写营销标题",
492
+ "生成音频配乐",
493
+ "只翻译包含该技术名称的说明文字,不修改或评审任何程序"
494
+ ]
159
495
  }
160
496
  }