@bovinphang/craft-common 1.0.1 → 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 +10873 -208
  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,22 @@
1
+ use std::path::PathBuf;
2
+ use tauri::Manager;
3
+ struct DocumentRoot(PathBuf);
4
+
5
+ #[tauri::command]
6
+ fn read_document(root: tauri::State<'_, DocumentRoot>, name: String) -> Result<String, String> {
7
+ document_core::read_document(&root.0, &name)
8
+ }
9
+ fn main() {
10
+ tauri::Builder::default()
11
+ .setup(|app| {
12
+ let root=app.path().app_data_dir()?.join("documents");
13
+ std::fs::create_dir_all(&root)?;
14
+ let file=root.join("hello.txt");
15
+ if !file.exists() { std::fs::write(file,"Hello from the Rust command core")?; }
16
+ app.manage(DocumentRoot(root));
17
+ Ok(())
18
+ })
19
+ .invoke_handler(tauri::generate_handler![read_document])
20
+ .run(tauri::generate_context!())
21
+ .expect("Tauri application failed");
22
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$schema": "https://schema.tauri.app/config/2",
3
+ "productName": "Craft Document Example",
4
+ "version": "0.1.0",
5
+ "identifier": "com.example.craft-document",
6
+ "build": { "frontendDist": "../ui" },
7
+ "app": {
8
+ "withGlobalTauri": true,
9
+ "windows": [{ "label": "main", "title": "Document" }],
10
+ "security": { "capabilities": ["main"], "csp": "default-src 'self'; script-src 'self'; connect-src ipc: http://ipc.localhost" }
11
+ },
12
+ "bundle": { "active": false }
13
+ }
@@ -0,0 +1,5 @@
1
+ document.querySelector('#read').addEventListener('click',async()=>{
2
+ const result=document.querySelector('#result');
3
+ try { result.textContent=await window.__TAURI__.core.invoke('read_document',{name:'hello.txt'}); }
4
+ catch { result.textContent='Document unavailable'; }
5
+ });
@@ -0,0 +1 @@
1
+ <!doctype html><html lang="en"><meta charset="utf-8"><title>Document</title><body><button id="read">Read hello.txt</button><pre id="result"></pre><script src="app.js"></script></body></html>
@@ -0,0 +1,237 @@
1
+ # 通用工程实践
2
+
3
+ 先读项目契约,再按需读取公共章节与本入口语言/场景卡。以下是参考一手来源形成的项目判断,不代表来源企业认证。required保护明确的正确性/安全契约;recommended允许说明理由后选择替代方案;conditional仅在所列条件成立时适用。项目安全/兼容和实际工具链事实优先于企业风格。
4
+
5
+ <a id="ENG-CONTRACT"></a>
6
+ ## ENG-CONTRACT — 先明确契约,再选择表示
7
+
8
+ 级别: required
9
+
10
+ ### 风险
11
+ 输入格式合法,仍可能违反调用意图或输出约定。
12
+
13
+ ### 适用
14
+ 适用于公共API、文件、IPC和序列化输入;已证明不变量的内部值可复用既有保证,不要求处处重复校验。
15
+
16
+ ### 决策
17
+ 列出调用方、有效值/单位、失败输出和兼容承诺;外部unknown在产生副作用前校验一次,协议转换留在领域逻辑边界。
18
+
19
+ ### 例外
20
+ 若上游校验器已负责该不变量,记录范围并复用;类型断言或生成类型本身不提供运行时保证。
21
+
22
+ ### 正反示意
23
+ 正例:金额校验失败后不扣款。反例:先断言JSON类型,让部分副作用暴露坏输入。
24
+
25
+ ### 验证
26
+ 验证非法值、边界值和成功路径,以及副作用/输出状态;发布库时在实际归档消费者中检查。
27
+
28
+ ### 来源
29
+ - [Publishing declaration files](https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html) (typescript-publishing)
30
+ - [Rust API 设计指南](https://rust-lang.github.io/api-guidelines/) (rust-api)
31
+
32
+ 案例证据标识: EP-TS-01, EP-SVC-01. 这些标识不构成本包对其他入口示例的依赖,实际执行状态见本入口说明及覆盖报告。
33
+
34
+ <a id="ENG-ERROR"></a>
35
+ ## ENG-ERROR — 保留可观察失败
36
+
37
+ 级别: required
38
+
39
+ ### 风险
40
+ 兜底可能丢失原因,或在部分工作后伪装成功。
41
+
42
+ ### 适用
43
+ 适用于跨抽象/进程的失败;预期的缺失可用明确的可选结果,不必转成异常。
44
+
45
+ ### 决策
46
+ 保留原始原因及操作上下文,以项目约定的类型/错误返回;恢复由负责边界决定,清理失败不能悄悄覆盖主要失败。
47
+
48
+ ### 例外
49
+ 对外转换敏感内部细节,允许的诊断保留关联线索;不记录凭据和原始私密载荷。
50
+
51
+ ### 正反示意
52
+ 正例:失败保留cause,已拥有资源被释放。反例:捕获所有异常后返回空成功对象。
53
+
54
+ ### 验证
55
+ 注入下游失败,断言调用方观察到失败、原因及约定的清理结果。
56
+
57
+ ### 来源
58
+ - [Java 资源自动关闭](https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html) (oracle-resources)
59
+ - [Go 工程风格指南](https://github.com/uber-go/guide/blob/master/style.md) (uber-go)
60
+
61
+ 案例证据标识: EP-RS-01, EP-JAVA-01. 这些标识不构成本包对其他入口示例的依赖,实际执行状态见本入口说明及覆盖报告。
62
+
63
+ <a id="ENG-RESOURCE"></a>
64
+ ## ENG-RESOURCE — 负责完整资源生命周期
65
+
66
+ 级别: required
67
+
68
+ ### 风险
69
+ 部分获取、借用句柄和销毁顺序会造成泄漏或重复释放。
70
+
71
+ ### 适用
72
+ 适用于文件、内存、任务、订阅及外部句柄;纯值转换无需虚构资源管理层。
73
+
74
+ ### 决策
75
+ 明确获取、使用、转移、释放的责任方;所有出口按依赖顺序释放已取得资源,借用值仍归原拥有者;库导入不获取无关外部资源。
76
+
77
+ ### 例外
78
+ 已记录的转移/进程级资源需明确接收方或寿命约定;仅靠终结器或进程退出不能证明有序关闭。
79
+
80
+ ### 正反示意
81
+ 正例:第二次分配失败时只释放第一次已拥有分配。反例:释放调用方的借用缓冲区。
82
+
83
+ ### 验证
84
+ 逐点失败及成功转移时核对获取/释放;驱动、GUI关闭、sanitizer未执行范围单列。
85
+
86
+ ### 来源
87
+ - [MEM00-C 分配与释放](https://cmu-sei.github.io/secure-coding-standards/sei-cert-c-coding-standard/recommendations/memory-management-mem/mem00-c/) (cert-c)
88
+ - [C++ 核心指南](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines) (cpp-core)
89
+
90
+ 案例证据标识: EP-C-01, EP-CPP-01, EP-PY-01. 这些标识不构成本包对其他入口示例的依赖,实际执行状态见本入口说明及覆盖报告。
91
+
92
+ <a id="ENG-CONCURRENCY"></a>
93
+ ## ENG-CONCURRENCY — 取消通知与完成确认有别
94
+
95
+ 级别: conditional
96
+
97
+ ### 风险
98
+ 脱离管理的任务可能超出拥有者寿命,旧结果可能覆盖当前状态。
99
+
100
+ ### 适用
101
+ 当单元启动并发工作或接收异步结果时适用;顺序纯计算无需引入调度器。
102
+
103
+ ### 决策
104
+ 保留完成句柄、取消责任和在途上限;停止接单、取消/排空后确认退出,发布结果前核对当前请求及寿命。
105
+
106
+ ### 例外
107
+ 部分阻塞操作忽略取消;应报告关闭未完成或交由调用方决定强制退出。Arc、通道容量及abort请求均不是完成证据。
108
+
109
+ ### 正反示意
110
+ 正例:受控B先A后仍展示B。反例:调用超时后释放工作者仍在使用的资源。
111
+
112
+ ### 验证
113
+ 用屏障/事件和可控future验证取消、饱和及迟到结果;任意sleep不能证明顺序。
114
+
115
+ ### 来源
116
+ - [Go context 包](https://pkg.go.dev/context) (go-context)
117
+ - [Tokio JoinHandle 任务句柄](https://docs.rs/tokio/latest/tokio/task/struct.JoinHandle.html) (tokio-join)
118
+ - [Python 协程与任务](https://docs.python.org/3/library/asyncio-task.html) (python-asyncio)
119
+
120
+ 案例证据标识: EP-GO-01, EP-IPC-01, EP-UI-01. 这些标识不构成本包对其他入口示例的依赖,实际执行状态见本入口说明及覆盖报告。
121
+
122
+ <a id="ENG-BOUNDARY"></a>
123
+ ## ENG-BOUNDARY — 在真实边界建立信任
124
+
125
+ 级别: required
126
+
127
+ ### 风险
128
+ 前后端标签可能掩盖特权操作和不可信调用。
129
+
130
+ ### 适用
131
+ 适用于UI、IPC、库和服务间的外部输入、授权及权限变化;私有纯辅助函数不必另建认证层。
132
+
133
+ ### 决策
134
+ 通过真实可信机制核验发送者/身份,校验操作输入并限定权限;渲染端提供的角色或隐藏按钮都不是授权依据。
135
+
136
+ ### 例外
137
+ 离线/本地工具仍有调用方和数据边界;只需受限本地能力时,不凭空加入网络认证。
138
+
139
+ ### 正反示意
140
+ 正例:只暴露经过输入和发送者检查的单项IPC操作。反例:向渲染端开放任意文件操作。
141
+
142
+ ### 验证
143
+ 检查拒绝/允许调用及拒绝后的零副作用;原生权限激活和签名需独立环境实证。
144
+
145
+ ### 来源
146
+ - [Electron 安全边界](https://www.electronjs.org/docs/latest/tutorial/security) (electron-security)
147
+ - [Tauri 权限](https://v2.tauri.app/security/permissions/) (tauri-permissions)
148
+
149
+ 案例证据标识: EP-TS-01, EP-IPC-01. 这些标识不构成本包对其他入口示例的依赖,实际执行状态见本入口说明及覆盖报告。
150
+
151
+ <a id="ENG-DEPENDENCY"></a>
152
+ ## ENG-DEPENDENCY — 交付可用的消费契约
153
+
154
+ 级别: recommended
155
+
156
+ ### 风险
157
+ 仓库内可用可能掩盖未声明依赖及归档不兼容。
158
+
159
+ ### 适用
160
+ 适用于发布、依赖升级及公开API修改;仅补充内容不要求升级全部工具。
161
+
162
+ ### 决策
163
+ 先读清单、锁、支持目标和导出;显式声明依赖,限制改动并保留迁移回退,在独立消费者验证真实归档。
164
+
165
+ ### 例外
166
+ 仅在有需求证据且符合兼容政策时更换依赖或编译器;企业指南偏好的构建系统本身不是依据。
167
+
168
+ ### 正反示意
169
+ 正例:声明通过归档文件及已声明依赖解析。反例:发布只能通过相邻源码别名解析的类型。
170
+
171
+ ### 验证
172
+ 检查实际归档字节,离开相邻源码安装并运行消费者检查,记录精确版本、完整性和未测平台。
173
+
174
+ ### 来源
175
+ - [Publishing declaration files](https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html) (typescript-publishing)
176
+ - [代码评审标准](https://google.github.io/eng-practices/review/reviewer/standard.html) (google-review)
177
+
178
+ 案例证据标识: EP-TS-01. 这些标识不构成本包对其他入口示例的依赖,实际执行状态见本入口说明及覆盖报告。
179
+
180
+ <a id="ENG-VERIFICATION"></a>
181
+ ## ENG-VERIFICATION — 证据与所宣称行为对应
182
+
183
+ 级别: required
184
+
185
+ ### 风险
186
+ 结构检查通过或工具缺失可能被误认为行为已证明。
187
+
188
+ ### 适用
189
+ 适用于实现、评审和交付结论;只读建议可提出检查,不伪装已执行。
190
+
191
+ ### 决策
192
+ 按风险及可观察边界选测试;准备与执行分离,有缺陷/修复版本用相同断言,记录真实命令、数量和限制。
193
+
194
+ ### 例外
195
+ 缺工具记MISSING,未执行记NOT RUN;编译错误、零用例及全跳过均不能证明业务RED/GREEN。
196
+
197
+ ### 正反示意
198
+ 正例:失败注入触发命名副作用断言,修复后同断言通过。反例:只搜索一行PASS文本。
199
+
200
+ ### 验证
201
+ 保留原始输出、输入/工具标识和范围;结构、原生行为及模型任务决策分别记录。
202
+
203
+ ### 来源
204
+ - [测试规划](https://microsoft.github.io/code-with-engineering-playbook/automated-testing/test-planning/) (ms-playbook)
205
+ - [故障注入测试](https://microsoft.github.io/code-with-engineering-playbook/automated-testing/fault-injection-testing/) (ms-faults)
206
+ - [代码评审标准](https://google.github.io/eng-practices/review/reviewer/standard.html) (google-review)
207
+
208
+ 案例证据标识: EP-TS-01, EP-C-01, EP-SVC-01. 这些标识不构成本包对其他入口示例的依赖,实际执行状态见本入口说明及覆盖报告。
209
+
210
+ <a id="ENG-OPERABILITY"></a>
211
+ ## ENG-OPERABILITY — 明确且限制恢复行为
212
+
213
+ 级别: conditional
214
+
215
+ ### 风险
216
+ 部分失败、重试放大和不安全诊断可能扩大故障。
217
+
218
+ ### 适用
219
+ 单元负责外部操作、后台生命周期或恢复决策时适用;库暴露信号,不强制引入服务仪表盘或HTTP层。
220
+
221
+ ### 决策
222
+ 区分失败与提交不确定性,明确意图、总时限/重试预算及恢复方;写重放之前先建立稳定幂等契约,输出脱敏关联及可处理状态。
223
+
224
+ ### 例外
225
+ 没有服务端安全保证时,写操作保持待确认并提供核对路径;超时/取消不证明未生效,429/5xx本身不授权重放。
226
+
227
+ ### 正反示意
228
+ 正例:同键同意图复用已提交结果。反例:付款超时后换新键重试。
229
+
230
+ ### 验证
231
+ 注入提交后响应前失败,并发重放并拒绝不同意图;区分进程内测试与数据库/分布式保证。
232
+
233
+ ### 来源
234
+ - [时限、重试与抖动退避](https://aws.amazon.com/builders-library/timeouts-retries-and-backoff-with-jitter/) (aws-retry)
235
+ - [以幂等契约保障重试](https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/) (aws-idempotency)
236
+
237
+ 案例证据标识: EP-SVC-01, EP-UI-01. 这些标识不构成本包对其他入口示例的依赖,实际执行状态见本入口说明及覆盖报告。
@@ -0,0 +1,121 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "rules": [
4
+ {
5
+ "id": "ENG-CONTRACT",
6
+ "kind": "core",
7
+ "level": "required",
8
+ "anchor": "ENG-CONTRACT",
9
+ "sourceIds": [
10
+ "typescript-publishing",
11
+ "rust-api"
12
+ ],
13
+ "caseIds": [
14
+ "EP-TS-01",
15
+ "EP-SVC-01"
16
+ ]
17
+ },
18
+ {
19
+ "id": "ENG-ERROR",
20
+ "kind": "core",
21
+ "level": "required",
22
+ "anchor": "ENG-ERROR",
23
+ "sourceIds": [
24
+ "oracle-resources",
25
+ "uber-go"
26
+ ],
27
+ "caseIds": [
28
+ "EP-RS-01",
29
+ "EP-JAVA-01"
30
+ ]
31
+ },
32
+ {
33
+ "id": "ENG-RESOURCE",
34
+ "kind": "core",
35
+ "level": "required",
36
+ "anchor": "ENG-RESOURCE",
37
+ "sourceIds": [
38
+ "cert-c",
39
+ "cpp-core"
40
+ ],
41
+ "caseIds": [
42
+ "EP-C-01",
43
+ "EP-CPP-01",
44
+ "EP-PY-01"
45
+ ]
46
+ },
47
+ {
48
+ "id": "ENG-CONCURRENCY",
49
+ "kind": "core",
50
+ "level": "conditional",
51
+ "anchor": "ENG-CONCURRENCY",
52
+ "sourceIds": [
53
+ "go-context",
54
+ "tokio-join",
55
+ "python-asyncio"
56
+ ],
57
+ "caseIds": [
58
+ "EP-GO-01",
59
+ "EP-IPC-01",
60
+ "EP-UI-01"
61
+ ]
62
+ },
63
+ {
64
+ "id": "ENG-BOUNDARY",
65
+ "kind": "core",
66
+ "level": "required",
67
+ "anchor": "ENG-BOUNDARY",
68
+ "sourceIds": [
69
+ "electron-security",
70
+ "tauri-permissions"
71
+ ],
72
+ "caseIds": [
73
+ "EP-TS-01",
74
+ "EP-IPC-01"
75
+ ]
76
+ },
77
+ {
78
+ "id": "ENG-DEPENDENCY",
79
+ "kind": "core",
80
+ "level": "recommended",
81
+ "anchor": "ENG-DEPENDENCY",
82
+ "sourceIds": [
83
+ "typescript-publishing",
84
+ "google-review"
85
+ ],
86
+ "caseIds": [
87
+ "EP-TS-01"
88
+ ]
89
+ },
90
+ {
91
+ "id": "ENG-VERIFICATION",
92
+ "kind": "core",
93
+ "level": "required",
94
+ "anchor": "ENG-VERIFICATION",
95
+ "sourceIds": [
96
+ "ms-playbook",
97
+ "ms-faults",
98
+ "google-review"
99
+ ],
100
+ "caseIds": [
101
+ "EP-TS-01",
102
+ "EP-C-01",
103
+ "EP-SVC-01"
104
+ ]
105
+ },
106
+ {
107
+ "id": "ENG-OPERABILITY",
108
+ "kind": "core",
109
+ "level": "conditional",
110
+ "anchor": "ENG-OPERABILITY",
111
+ "sourceIds": [
112
+ "aws-retry",
113
+ "aws-idempotency"
114
+ ],
115
+ "caseIds": [
116
+ "EP-SVC-01",
117
+ "EP-UI-01"
118
+ ]
119
+ }
120
+ ]
121
+ }