@ohos-cpf/3rdloop 0.0.2 → 0.0.3

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 (393) hide show
  1. package/README.md +244 -244
  2. package/bin/3rdloop.mjs +46 -46
  3. package/lib/cli.js +781 -781
  4. package/lib/config-cmd.js +451 -451
  5. package/lib/config.js +318 -318
  6. package/lib/doctor.js +113 -113
  7. package/lib/exit-codes.js +30 -30
  8. package/lib/opencode.js +155 -155
  9. package/lib/orch.js +426 -426
  10. package/lib/queries.js +263 -263
  11. package/lib/step.js +325 -325
  12. package/lib/ui.js +222 -222
  13. package/lib/update.js +279 -279
  14. package/lib/workflow.js +308 -308
  15. package/lib/workflows.js +131 -131
  16. package/package.json +50 -50
  17. package/vendor/Server/Agent/SkillSelector/README.md +343 -343
  18. package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -207
  19. package/vendor/Server/Agent/SkillSelector/index.js +14 -14
  20. package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -313
  21. package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -161
  22. package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -144
  23. package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -433
  24. package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -382
  25. package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +59 -59
  26. package/vendor/Server/Brain/AnalysisStrategies.js +422 -422
  27. package/vendor/Server/Brain/Brain.js +686 -686
  28. package/vendor/Server/Brain/DecompositionStrategies.js +621 -621
  29. package/vendor/Server/Brain/PlanPersistence.js +196 -196
  30. package/vendor/Server/Brain/SkillExecutor.js +251 -251
  31. package/vendor/Server/Brain/index.js +11 -11
  32. package/vendor/Server/CLI/cli.js +275 -275
  33. package/vendor/Server/CLI/deveco-code/index.js +71 -71
  34. package/vendor/Server/CLI/deveco-code.js +5 -5
  35. package/vendor/Server/CLI/opencode/index.js +817 -818
  36. package/vendor/Server/CLI/opencode.js +5 -5
  37. package/vendor/Server/DbUse/MessageArchive.js +61 -61
  38. package/vendor/Server/DbUse/StorageManager.js +107 -107
  39. package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -94
  40. package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -138
  41. package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -138
  42. package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -114
  43. package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -157
  44. package/vendor/Server/DbUse/index.js +160 -160
  45. package/vendor/Server/DbUse/stores/SessionStore.js +279 -279
  46. package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -133
  47. package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -262
  48. package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -279
  49. package/vendor/Server/FlexRunner/FlexRunner.js +1759 -1759
  50. package/vendor/Server/FlexRunner/index.js +12 -12
  51. package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -523
  52. package/vendor/Server/Knowledge/KnowledgeManager.js +341 -341
  53. package/vendor/Server/Knowledge/index.js +33 -33
  54. package/vendor/Server/LoopEngine/LoopEngine.js +1133 -1133
  55. package/vendor/Server/LoopEngine/index.js +11 -11
  56. package/vendor/Server/Orchestrator/Orchestrator.js +0 -3
  57. package/vendor/Server/Orchestrator/StepNode.js +312 -312
  58. package/vendor/Server/Orchestrator/index.js +13 -13
  59. package/vendor/Server/Routes/controllers/BrainController.js +241 -241
  60. package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -1125
  61. package/vendor/Server/Routes/controllers/HealthController.js +44 -44
  62. package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -355
  63. package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -788
  64. package/vendor/Server/Routes/controllers/StatsController.js +57 -57
  65. package/vendor/Server/Routes/controllers/StreamController.js +67 -67
  66. package/vendor/Server/Routes/library/logger.js +179 -179
  67. package/vendor/Server/Routes/library/zipArchive.js +172 -172
  68. package/vendor/Server/Routes/router/Router.js +204 -204
  69. package/vendor/Server/Routes/routes/brain.js +47 -47
  70. package/vendor/Server/Routes/routes/flexrunner.js +72 -72
  71. package/vendor/Server/Routes/routes/health.js +28 -28
  72. package/vendor/Server/Routes/routes/index.js +57 -57
  73. package/vendor/Server/Routes/routes/knowledge.js +55 -55
  74. package/vendor/Server/Routes/routes/loopengine.js +58 -58
  75. package/vendor/Server/Routes/routes/orchestrator.js +61 -61
  76. package/vendor/Server/Routes/routes/registry.js +97 -97
  77. package/vendor/Server/Routes/routes/stats.js +23 -23
  78. package/vendor/Server/Routes/routes/stream.js +30 -30
  79. package/vendor/Server/Routes/server.js +203 -203
  80. package/vendor/Server/Routes/sse/SseHub.js +308 -308
  81. package/vendor/Server/Skills/acceptance-check/SKILL.md +191 -191
  82. package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -52
  83. package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -77
  84. package/vendor/Server/Skills/acceptance-check/references/PHASE2_EVIDENCE_VERIFICATION.md +70 -70
  85. package/vendor/Server/Skills/arkts-code-check/SKILL.md +320 -320
  86. package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +210 -210
  87. package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +28 -28
  88. package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +233 -233
  89. package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +219 -219
  90. package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +328 -328
  91. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -93
  92. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +432 -432
  93. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -851
  94. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +788 -788
  95. package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -291
  96. package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -68
  97. package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -184
  98. package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -337
  99. package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -400
  100. package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +98 -98
  101. package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -544
  102. package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -93
  103. package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +432 -432
  104. package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -851
  105. package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +788 -788
  106. package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -174
  107. package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -321
  108. package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -100
  109. package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -185
  110. package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +233 -233
  111. package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +102 -102
  112. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -89
  113. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -62
  114. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +107 -107
  115. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -124
  116. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -90
  117. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -57
  118. package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -259
  119. package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -97
  120. package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +391 -391
  121. package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -113
  122. package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +312 -312
  123. package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -154
  124. package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +165 -165
  125. package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +308 -308
  126. package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -90
  127. package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -282
  128. package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +360 -360
  129. package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +145 -145
  130. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +252 -252
  131. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +114 -114
  132. package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +262 -262
  133. package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -455
  134. package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -60
  135. package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -76
  136. package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -200
  137. package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +518 -518
  138. package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -276
  139. package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +92 -92
  140. package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -767
  141. package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -93
  142. package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +432 -432
  143. package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -851
  144. package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +788 -788
  145. package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -221
  146. package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +228 -228
  147. package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -97
  148. package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -194
  149. package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +575 -575
  150. package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +574 -574
  151. package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -182
  152. package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +490 -490
  153. package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -217
  154. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -93
  155. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +432 -432
  156. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -851
  157. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +788 -788
  158. package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -299
  159. package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +311 -311
  160. package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -190
  161. package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +133 -133
  162. package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -259
  163. package/vendor/Server/Skills/flutter-interface/README.md +75 -75
  164. package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -291
  165. package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -336
  166. package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -190
  167. package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -258
  168. package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -254
  169. package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +517 -517
  170. package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +381 -381
  171. package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +341 -341
  172. package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -71
  173. package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +518 -518
  174. package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +406 -406
  175. package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +652 -652
  176. package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +396 -396
  177. package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +744 -744
  178. package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +720 -720
  179. package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -414
  180. package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -150
  181. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -304
  182. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -265
  183. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -286
  184. package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -383
  185. package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -165
  186. package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -91
  187. package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -127
  188. package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +453 -301
  189. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_CHECKLIST.md +151 -0
  190. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +257 -105
  191. package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +191 -127
  192. package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +317 -208
  193. package/vendor/Server/Skills/rn-code-check/SKILL.md +320 -320
  194. package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +234 -234
  195. package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +188 -188
  196. package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +246 -246
  197. package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -198
  198. package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -40
  199. package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -78
  200. package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -70
  201. package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -47
  202. package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -252
  203. package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -176
  204. package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -5
  205. package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -35
  206. package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -137
  207. package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -33
  208. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -40
  209. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -429
  210. package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -105
  211. package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -90
  212. package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -213
  213. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -73
  214. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -258
  215. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -341
  216. package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -67
  217. package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -299
  218. package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -293
  219. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -857
  220. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -856
  221. package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -157
  222. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -801
  223. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +683 -683
  224. package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -233
  225. package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -1373
  226. package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -220
  227. package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -245
  228. package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -263
  229. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -414
  230. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -413
  231. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -311
  232. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -355
  233. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -115
  234. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -139
  235. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -586
  236. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -57
  237. package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -259
  238. package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -301
  239. package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -148
  240. package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -118
  241. package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -168
  242. package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -176
  243. package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -274
  244. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -45
  245. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -25
  246. package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -61
  247. package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -165
  248. package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -239
  249. package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -263
  250. package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -96
  251. package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +57 -57
  252. package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -99
  253. package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -64
  254. package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +74 -74
  255. package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -164
  256. package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +356 -339
  257. package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +85 -83
  258. package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +905 -859
  259. package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +124 -122
  260. package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +287 -279
  261. package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -273
  262. package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -129
  263. package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -581
  264. package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -138
  265. package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -168
  266. package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +526 -506
  267. package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +321 -280
  268. package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -221
  269. package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +220 -209
  270. package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -325
  271. package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -279
  272. package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -404
  273. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -185
  274. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -265
  275. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -189
  276. package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -203
  277. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -147
  278. package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -148
  279. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -165
  280. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -195
  281. package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -249
  282. package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -235
  283. package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -161
  284. package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -413
  285. package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -235
  286. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -245
  287. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -282
  288. package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -251
  289. package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -469
  290. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -310
  291. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -303
  292. package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -421
  293. package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -358
  294. package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -114
  295. package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -274
  296. package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -185
  297. package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -191
  298. package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -216
  299. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -107
  300. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -120
  301. package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -108
  302. package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -237
  303. package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -261
  304. package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -112
  305. package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +497 -497
  306. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -270
  307. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -164
  308. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -556
  309. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -459
  310. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -65
  311. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -512
  312. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -132
  313. package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -424
  314. package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -137
  315. package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -306
  316. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -485
  317. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -172
  318. package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -422
  319. package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -95
  320. package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -169
  321. package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -554
  322. package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -106
  323. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -216
  324. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -413
  325. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -269
  326. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -98
  327. package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -337
  328. package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -722
  329. package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -219
  330. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -345
  331. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -269
  332. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -173
  333. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -267
  334. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -174
  335. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -111
  336. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -186
  337. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -150
  338. package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -296
  339. package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -371
  340. package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -212
  341. package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -345
  342. package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -223
  343. package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -1053
  344. package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +295 -255
  345. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +82 -77
  346. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -224
  347. package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +175 -174
  348. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -967
  349. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -1798
  350. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -5
  351. package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +180 -137
  352. package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -145
  353. package/vendor/Server/Skills/skill-generator/SKILL.md +365 -365
  354. package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -183
  355. package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -82
  356. package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -110
  357. package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -122
  358. package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -121
  359. package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -259
  360. package/vendor/Server/Skills/task-analysis/SKILL.md +234 -234
  361. package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -160
  362. package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -190
  363. package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -224
  364. package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -162
  365. package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -55
  366. package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -126
  367. package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -256
  368. package/vendor/Server/Skills/task-decomposition/SKILL.md +528 -528
  369. package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -451
  370. package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -179
  371. package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -152
  372. package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -175
  373. package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -195
  374. package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -226
  375. package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -263
  376. package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -29
  377. package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -376
  378. package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -259
  379. package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -216
  380. package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +424 -424
  381. package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -427
  382. package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -214
  383. package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -235
  384. package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -250
  385. package/vendor/Server/TestCheck/TestCheck.js +775 -775
  386. package/vendor/Server/TestCheck/index.js +11 -11
  387. package/vendor/Server/library/McpToolGuide.js +280 -280
  388. package/vendor/Server/library/StatsService.js +126 -126
  389. package/vendor/Server/library/cstTime.js +16 -16
  390. package/vendor/VERSION +3 -3
  391. package/workflows/pr-check.mjs +105 -105
  392. package/workflows/pr-push.mjs +192 -192
  393. package/vendor/Server/Agent/SkillSelector/types.js +0 -63
@@ -1,321 +1,321 @@
1
- ---
2
- name: rn-code-check
3
- description: React Native 三方库 PR 自动化代码检视,重点检查鸿蒙平台实现(harmony/ 目录下的 CAPI/ArkTS 代码)的内存安全、线程安全和 NAPI 规范。支持 GitCode/Gitee/GitHub/GitLab 平台,生成结构化检视报告。适用于 React Native OpenHarmony 适配项目的 PR review。
4
- license: Apache-2.0
5
- compatibility: 需要 git、curl、网络访问(GitHub/GitCode/Gitee API)
6
- metadata:
7
- version: "1.0.0"
8
- platform: gitcode, gitee, github, gitlab
9
- libraryType: rn
10
- ---
11
-
12
- # RNCodeCheckSkill — React Native 三方库 PR 代码检视
13
-
14
- ## 概述
15
-
16
- 本 Skill 负责对 React Native(OpenHarmony 平台适配)三方库的 Pull Request 进行自动化代码检视,包括获取 PR 差异内容、深度分析修改点、生成结构化检视报告。重点关注鸿蒙平台侧实现(`harmony/` 目录下的 CAPI/ArkTS 代码)以及 JS/TS 接口层。
17
-
18
- **关键特性**:
19
- - GitCode 平台优先使用 REST API 快速获取结构化 diff 数据
20
- - **必须 git clone 原仓库**获取完整源码上下文,用于深度检视和跨文件引用分析
21
- - 重点检查线程安全、内存管理、NAPI 规范等易出错的严重问题
22
-
23
- ---
24
-
25
- ## 任务参数
26
-
27
- | 参数 | 必需 | 说明 |
28
- |------|------|------|
29
- | `prUrl` | ✅ | PR 地址,如 `https://gitee.com/react-native-oh-library/react-native-camera/pulls/8` |
30
- | `outputDir` | ✅ | 输出目录绝对路径,如 `/path/to/codecheck/owner_repo_pr8` |
31
- | `libraryType` | ❌ | 固定为 `rn` |
32
- | `branch` | ❌ | 目标分支名;若提供则优先使用 |
33
- | `accessToken` | ❌ | GitCode/Gitee PAT;GitCode API 强烈建议提供 |
34
-
35
- ---
36
-
37
- ## 工作流程
38
-
39
- ### Phase 1:输入解析与信息收集
40
-
41
- #### 1.1 解析 PR 地址
42
-
43
- 从 `prUrl` 提取:`platform`、`owner`、`repo`、`prNumber`。
44
-
45
- | 平台 | URL 模式 | API 支持 |
46
- |------|----------|----------|
47
- | GitHub | `github.com/{owner}/{repo}/pull/{num}` | patch 下载 |
48
- | GitCode | `gitcode.com/{owner}/{repo}/pulls/{num}` | ✅ **API 优先** |
49
- | Gitee | `gitee.com/{owner}/{repo}/pulls/{num}` | 部分 API |
50
- | GitLab | `gitlab.com/{owner}/{repo}/-/merge_requests/{num}` | patch 下载 |
51
-
52
- #### 1.2 GitCode 平台:API 加速(推荐)
53
-
54
- **适用条件**:平台为 GitCode 且提供 `accessToken`。
55
-
56
- **详细 API 使用方法见**:[API-GUIDE.md](references/API-GUIDE.md)
57
-
58
- **核心步骤**:
59
- 1. 调用 PR 元数据 API 获取 `title`、`base.ref`、`head.sha`
60
- 2. 调用文件变更 API 获取结构化 diff(`diffs[].content.text`)
61
- 3. 将 API diff 重建为 unified diff 格式保存至 `{outputDir}/pr.diff`
62
- 4. 将改动文件列表写入 `{outputDir}/changed-files.txt`
63
-
64
- #### 1.3 其他平台:传统 Patch 路径
65
-
66
- **适用条件**:非 GitCode 或无 `accessToken`。
67
-
68
- **详细操作见**:[API-GUIDE.md](references/API-GUIDE.md)
69
-
70
- **核心步骤**:
71
- 1. 下载 `.patch` 或 `.diff` 文件
72
- 2. 解析 patch 头部提取元数据
73
- 3. 调用平台 API 获取目标分支(或使用用户提供的 `branch`)
74
- 4. 统计新增/删除行数、文件列表
75
-
76
- #### 1.4 克隆仓库(必要步骤)
77
-
78
- > ⚠️ **必须执行**,用于查阅原始代码上下文和跨文件引用分析
79
-
80
- ```bash
81
- git clone --depth=50 --branch {targetBranch} https://{platform}/{owner}/{repo}.git {outputDir}/source/
82
- ```
83
-
84
- **典型查阅场景**:
85
- - diff 修改了 C++ NAPI 函数签名 → 需读取 ArkTS 胶水层确认调用侧是否同步更新
86
- - diff 删除了 `napi_delete_reference` → 需追踪 ref 创建位置确认泄漏
87
- - diff 新增跨线程回调 → 需确认是否使用了 `napi_threadsafe_function`
88
-
89
- 若克隆失败,在报告中注明"未能获取完整仓库上下文"并继续分析。
90
-
91
- ---
92
-
93
- ### Phase 2:Patch 差异分析
94
-
95
- #### 2.1 识别修改文件类型
96
-
97
- **RN 三方库典型结构**:
98
- ```
99
- harmony/ # 鸿蒙实现(重点检视)
100
- src/main/
101
- cpp/ # C++ CAPI
102
- ets/ # ArkTS 胶水层
103
- src/ # JS/TS 接口层
104
- ```
105
-
106
- **检视优先级**:
107
- 1. `harmony/src/main/cpp/**` - C++ CAPI(NAPI、内存、线程安全)
108
- 2. `harmony/src/main/ets/**/*.ets` - ArkTS 胶水层(TurboModule、Fabric)
109
- 3. `src/**/*.ts` - JS/TS 接口层(类型声明、平台判断)
110
- 4. `harmony/CMakeLists.txt` / `oh-package.json5` - 构建配置
111
-
112
- #### 2.2 统计改动规模
113
-
114
- **GitCode API 路径**:直接从响应读取 `count`、`added_lines`、`remove_lines`。
115
-
116
- **传统路径**:从 diff 文件统计。
117
-
118
- ---
119
-
120
- ### Phase 3:代码深度检视
121
-
122
- > ⚠️ **线程安全问题是 RN Native 模块最常见的严重问题,必须重点检查**
123
-
124
- **详细检视清单见**:[CHECKLIST.md](references/CHECKLIST.md)
125
-
126
- #### 3.1 重点检视项(易出错的严重问题)
127
-
128
- **线程安全(CRITICAL 优先级)**:
129
- - 子线程中不直接调用 NAPI 函数(必须使用 `napi_threadsafe_function`)
130
- - 主 JS 线程与 C++ 线程间共享数据有锁保护
131
- - `napi_threadsafe_function` 在不再使用时正确释放
132
-
133
- **内存管理**:
134
- - `napi_create_*` 创建的对象正确释放
135
- - `napi_ref` 在不需要时调用 `napi_delete_reference`
136
- - 无内存泄漏(`malloc`/`new` 有对应 `free`/`delete`)
137
-
138
- **NAPI 规范**:
139
- - TurboModule 正确实现 `getTurboModule()` 工厂函数
140
- - NAPI 函数签名与 JS 声明一致
141
- - 所有 NAPI API 返回值检查(`napi_status`)
142
-
143
- #### 3.2 ArkTS 胶水层检视
144
-
145
- - TurboModule 正确注册
146
- - 无 `any` 类型使用(ArkTS 禁止)
147
- - 日志使用 `RNLog` 而非 `console.log`
148
-
149
- #### 3.3 JS/TS 接口层检视
150
-
151
- - 方法类型声明完整(`Promise<T>`)
152
- - 包含鸿蒙平台判断 `Platform.OS === 'harmony'`
153
-
154
- #### 3.4 跨平台一致性对比(重点维度)
155
-
156
- > PR 中通常仅包含 harmony 代码提交,需从克隆的仓库中读取 `android/` 和 `ios/` 的已有实现,与 harmony 变更进行对比。**这是 RN 三方库 PR 检视最关键的质量维度之一**——如果 harmony 的方法路由、参数类型、返回值格式与 Android 不一致,JS 侧调用同一 Native Module 时在鸿蒙平台上行为会异常。
157
-
158
- **对比方法**:在克隆的 `{outputDir}/source/` 中定位 Android/iOS 的 Native Module 实现文件,逐方法对比。
159
-
160
- | 对比项 | 说明 | 问题等级 |
161
- |--------|------|----------|
162
- | TurboModule 方法路由一致性 | harmony 的 TurboModule 方法列表是否与 Android NativeModule 完全对应,缺失方法 = 功能缺失 | 🔴 Critical |
163
- | TurboModule 名称一致性 | harmony 注册的 TurboModule 名是否与 Android 注册名一致(JS 侧共用同一模块名) | 🔴 Critical |
164
- | 参数类型映射一致性 | 同一 TurboModule 方法,harmony 解析的参数类型是否与 Android 一致(如 `bool` vs `string`) | 🔴 Critical |
165
- | 返回值格式一致性 | `resolve()`/`reject()` 返回的数据结构是否与 Android 对齐 | 🟠 Major |
166
- | 错误码/错误消息一致性 | `reject()` 的 code/message 是否与 Android 对齐 | 🟠 Major |
167
- | 功能实现完整性 | Android 有实现但 harmony 为 Stub(返回固定值无实际操作)或完全缺失 | 🔴 Critical |
168
- | EventEmitter 事件名一致性 | harmony 发送的事件名和数据格式是否与 Android 对齐 | 🟠 Major |
169
-
170
- **对比操作步骤**:
171
-
172
- 1. 从 PR diff 中提取 harmony 变更涉及的所有 TurboModule 方法 / NAPI 函数名称
173
- 2. 在 `{outputDir}/source/android/` 中定位对应的 NativeModule 实现文件(通常为 `*Module.java` 或 `*Module.kt`,TurboModule 项目为 `*TurboModule.java`)
174
- 3. 逐方法对比:方法是否存在 → 参数类型是否一致 → 返回值格式是否一致 → 错误处理是否对齐
175
- 4. 对于 EventEmitter,对比事件名和事件数据格式
176
- 5. 将对比结果记录到报告的"跨平台一致性"章节
177
-
178
- > **注意**:本 SKILL 的一致性对比仅针对 PR diff 涉及的方法,不是全量对比。全量一致性评估由 `rn-library-consistency-check` SKILL 负责。
179
-
180
- ---
181
-
182
- ### Phase 4:影响分析
183
-
184
- 分析本次改动对以下方面的影响:
185
- - **功能影响**:是否引入新功能或修改现有行为
186
- - **兼容性影响**:TurboModule API 是否向后兼容
187
- - **性能影响**:是否优化跨线程调用或内存占用
188
- - **安全影响**:是否修复或引入内存/线程安全问题
189
-
190
- ---
191
-
192
- ### Phase 5:生成检视报告
193
-
194
- **报告模板见**:[REPORT-TEMPLATE.md](references/REPORT-TEMPLATE.md)
195
-
196
- **生成要求**:
197
- - 文件名必须为 `check-report.md`,路径在 `{outputDir}` 下
198
- - 同时生成 `changed-files.txt`(每行一个文件路径)
199
- - 同时生成 `result.txt`(合入建议分级结果)
200
- - 若 PR 只修改 `android/` 或 `ios/`,注明"本次 PR 无鸿蒙平台代码变更"并 APPROVED
201
- - 对 C++ CAPI 的内存安全和线程安全问题标记为 CRITICAL
202
-
203
- ### 5.1 合入建议分级标准
204
-
205
- 根据代码检视结果,将合入建议分为四个等级:
206
-
207
- | 等级 | 标识 | 颜色建议 | 判断标准 | 举例场景 |
208
- |------|------|----------|----------|----------|
209
- | **建议合入** | ✅ `PASS` | 绿色 | 无或极少(≤2 Minor)修改引入问题,改动风险低,功能验证充分 | 纯文档更新、配置优化、已验证的 Bug 修复 |
210
- | **条件合入** | ⚠️ `CONDITIONAL` | 黄色 | 存在少量(≤3 Major)可修复问题,在特定条件下可合入 | 需补充测试用例、需调整文档说明、非核心路径兼容性问题 |
211
- | **修改后合入** | 🔧 `NEED_FIX` | 橙色 | 存在较多问题(≥1 Critical 或 ≥4 Major),需修复后方可合入 | TurboModule API 兼容性破坏、线程安全问题、NAPI 内存泄漏 |
212
- | **不允许合入** | ❌ `REJECT` | 红色 | 存在严重问题(≥2 Critical),影响功能/安全/稳定性,不建议合入 | 安全漏洞、子线程直接调用 NAPI 导致崩溃风险、严重内存问题 |
213
-
214
- **分级判断流程**:
215
-
216
- ```
217
- 统计问题数量:
218
- - Critical 级别问题数
219
- - Major 级别问题数
220
- - Minor 级别问题数
221
-
222
- 判断逻辑:
223
- IF Critical ≥ 2 → ❌ REJECT
224
- IF Critical ≥ 1 → 🔧 NEED_FIX
225
- IF Major ≥ 4 → 🔧 NEED_FIX
226
- IF Major ≥ 1 → ⚠️ CONDITIONAL
227
- IF Minor ≤ 2 → ✅ PASS
228
- ELSE → ⚠️ CONDITIONAL
229
- ```
230
-
231
- ### 5.2 result.txt 文件格式
232
-
233
- `result.txt` 用于存储分级结果和统计信息,格式如下:
234
-
235
- ```txt
236
- === 合入建议分级报告 ===
237
- PR 地址:{prUrl}
238
- 仓库:{owner}/{repo}
239
- PR 编号:#{prNumber}
240
- 生成时间:{YYYY-MM-DD HH:mm:ss}
241
-
242
- 【合入建议】:✅ 建议合入
243
-
244
- 【问题统计】
245
- - Critical 级别:0 个
246
- - Major 级别:0 个
247
- - Minor 级别:2 个
248
- - Suggest 级别:1 个
249
-
250
- 【分级理由】
251
- 本次修改仅包含少量 Minor 级别优化建议,无功能性问题,改动风险低,建议直接合入。
252
-
253
- 【详细分析】
254
- ━━━ Critical 级别问题 ━━━
255
- {列出所有 Critical 问题,每个占一行,重点关注线程安全/内存/跨平台一致性问题}
256
-
257
- ━━━ Major 级别问题 ━━━
258
- {列出所有 Major 问题,每个占一行}
259
-
260
- ━━━ Minor 级别问题 ━━━
261
- 1. [文件类型:代码质量] 删除了无用导入,代码更简洁
262
- 2. [文件类型:可观测性] RNLog 日志添加了详细上下文信息
263
-
264
- ━━━ Suggest 级别问题 ━━━
265
- 1. [文件类型:代码规范] 建议补充 JSDoc 注释
266
-
267
- ━━━ 合入建议 ━━━
268
- 建议合入:本次修改质量良好,无功能性风险。
269
-
270
- === 分级结束 ===
271
- ```
272
-
273
- ### 5.3 结构化指标输出(必须执行)
274
-
275
- 执行环境会在任务 prompt 中下发一个**结构化指标文件输出路径**(`stepId{X}_loop{L}_meta_{N}.json`)。
276
- 检视完成后,**必须**将分级结果以下述 JSON 对象写入该路径:
277
-
278
- ```json
279
- {
280
- "mergeLevel": "PASS | CONDITIONAL | NEED_FIX | REJECT",
281
- "critical": 0,
282
- "major": 0,
283
- "minor": 0,
284
- "suggest": 0
285
- }
286
- ```
287
-
288
- | 字段 | 类型 | 说明 |
289
- |------|------|------|
290
- | `mergeLevel` | string | 合入等级:PASS / CONDITIONAL / NEED_FIX / REJECT |
291
- | `critical` | number | Critical 级别问题数 |
292
- | `major` | number | Major 级别问题数 |
293
- | `minor` | number | Minor 级别问题数 |
294
- | `suggest` | number | Suggest 级别问题数 |
295
-
296
- **说明**:该文件由执行框架自动收割入库(前端/历史列表直接读取,无需解析报告文本);详细的统计与理由已在 `result.txt` 中完整记录。若 prompt 未下发该路径则跳过本节。
297
-
298
- ---
299
-
300
- ## 注意事项
301
-
302
- 1. **GitCode API 优先**:减少 patch 解析时间,但仍需 clone 获取上下文
303
- 2. **线程安全最高优先级**:子线程直接调用 NAPI 会导致崩溃,必须使用 `napi_threadsafe_function`
304
- 3. **必须克隆仓库**:用于跨文件引用分析、上下文理解,以及跨平台一致性对比
305
- 4. **交叉验证**:若 PR 同时修改 `harmony/` 和 `src/`,需验证 NAPI 函数名与 JS 声明一致
306
- 5. **报告路径**:`check-report.md` 必须在 `outputDir` 下,不能在其他路径
307
- 6. **跨平台一致性**:PR diff 涉及的 TurboModule 方法必须与 Android/iOS 实现对比,缺失或行为不一致标记为 CRITICAL/MAJOR
308
- 7. **大 PR 处理策略**:当 PR 涉及文件数超过 30 个时,按优先级分批检视:
309
- - **第一批(必检视)**:`harmony/src/main/cpp/**` — C++ CAPI(NAPI、内存、线程安全、跨平台一致性)
310
- - **第二批(必检视)**:`harmony/src/main/ets/**/*.ets` — ArkTS 胶水层(TurboModule 注册、跨平台一致性)
311
- - **第三批(按需检视)**:`src/**/*.ts` — JS/TS 接口层 + 构建配置文件
312
- - **跳过**:`android/`、`ios/`、`example/`、`docs/` 等非鸿蒙代码
313
- - 在报告开头标注"本次 PR 涉及 N 个文件,已按优先级分批检视,第三批文件已简化检视"
314
-
315
- ---
316
-
317
- ## 文件引用
318
-
319
- - **详细检视清单**:[references/CHECKLIST.md](references/CHECKLIST.md)
320
- - **平台 API 指南**:[references/API-GUIDE.md](references/API-GUIDE.md)
1
+ ---
2
+ name: rn-code-check
3
+ description: React Native 三方库 PR 自动化代码检视,重点检查鸿蒙平台实现(harmony/ 目录下的 CAPI/ArkTS 代码)的内存安全、线程安全和 NAPI 规范。支持 GitCode/Gitee/GitHub/GitLab 平台,生成结构化检视报告。适用于 React Native OpenHarmony 适配项目的 PR review。
4
+ license: Apache-2.0
5
+ compatibility: 需要 git、curl、网络访问(GitHub/GitCode/Gitee API)
6
+ metadata:
7
+ version: "1.0.0"
8
+ platform: gitcode, gitee, github, gitlab
9
+ libraryType: rn
10
+ ---
11
+
12
+ # RNCodeCheckSkill — React Native 三方库 PR 代码检视
13
+
14
+ ## 概述
15
+
16
+ 本 Skill 负责对 React Native(OpenHarmony 平台适配)三方库的 Pull Request 进行自动化代码检视,包括获取 PR 差异内容、深度分析修改点、生成结构化检视报告。重点关注鸿蒙平台侧实现(`harmony/` 目录下的 CAPI/ArkTS 代码)以及 JS/TS 接口层。
17
+
18
+ **关键特性**:
19
+ - GitCode 平台优先使用 REST API 快速获取结构化 diff 数据
20
+ - **必须 git clone 原仓库**获取完整源码上下文,用于深度检视和跨文件引用分析
21
+ - 重点检查线程安全、内存管理、NAPI 规范等易出错的严重问题
22
+
23
+ ---
24
+
25
+ ## 任务参数
26
+
27
+ | 参数 | 必需 | 说明 |
28
+ |------|------|------|
29
+ | `prUrl` | ✅ | PR 地址,如 `https://gitee.com/react-native-oh-library/react-native-camera/pulls/8` |
30
+ | `outputDir` | ✅ | 输出目录绝对路径,如 `/path/to/codecheck/owner_repo_pr8` |
31
+ | `libraryType` | ❌ | 固定为 `rn` |
32
+ | `branch` | ❌ | 目标分支名;若提供则优先使用 |
33
+ | `accessToken` | ❌ | GitCode/Gitee PAT;GitCode API 强烈建议提供 |
34
+
35
+ ---
36
+
37
+ ## 工作流程
38
+
39
+ ### Phase 1:输入解析与信息收集
40
+
41
+ #### 1.1 解析 PR 地址
42
+
43
+ 从 `prUrl` 提取:`platform`、`owner`、`repo`、`prNumber`。
44
+
45
+ | 平台 | URL 模式 | API 支持 |
46
+ |------|----------|----------|
47
+ | GitHub | `github.com/{owner}/{repo}/pull/{num}` | patch 下载 |
48
+ | GitCode | `gitcode.com/{owner}/{repo}/pulls/{num}` | ✅ **API 优先** |
49
+ | Gitee | `gitee.com/{owner}/{repo}/pulls/{num}` | 部分 API |
50
+ | GitLab | `gitlab.com/{owner}/{repo}/-/merge_requests/{num}` | patch 下载 |
51
+
52
+ #### 1.2 GitCode 平台:API 加速(推荐)
53
+
54
+ **适用条件**:平台为 GitCode 且提供 `accessToken`。
55
+
56
+ **详细 API 使用方法见**:[API-GUIDE.md](references/API-GUIDE.md)
57
+
58
+ **核心步骤**:
59
+ 1. 调用 PR 元数据 API 获取 `title`、`base.ref`、`head.sha`
60
+ 2. 调用文件变更 API 获取结构化 diff(`diffs[].content.text`)
61
+ 3. 将 API diff 重建为 unified diff 格式保存至 `{outputDir}/pr.diff`
62
+ 4. 将改动文件列表写入 `{outputDir}/changed-files.txt`
63
+
64
+ #### 1.3 其他平台:传统 Patch 路径
65
+
66
+ **适用条件**:非 GitCode 或无 `accessToken`。
67
+
68
+ **详细操作见**:[API-GUIDE.md](references/API-GUIDE.md)
69
+
70
+ **核心步骤**:
71
+ 1. 下载 `.patch` 或 `.diff` 文件
72
+ 2. 解析 patch 头部提取元数据
73
+ 3. 调用平台 API 获取目标分支(或使用用户提供的 `branch`)
74
+ 4. 统计新增/删除行数、文件列表
75
+
76
+ #### 1.4 克隆仓库(必要步骤)
77
+
78
+ > ⚠️ **必须执行**,用于查阅原始代码上下文和跨文件引用分析
79
+
80
+ ```bash
81
+ git clone --depth=50 --branch {targetBranch} https://{platform}/{owner}/{repo}.git {outputDir}/source/
82
+ ```
83
+
84
+ **典型查阅场景**:
85
+ - diff 修改了 C++ NAPI 函数签名 → 需读取 ArkTS 胶水层确认调用侧是否同步更新
86
+ - diff 删除了 `napi_delete_reference` → 需追踪 ref 创建位置确认泄漏
87
+ - diff 新增跨线程回调 → 需确认是否使用了 `napi_threadsafe_function`
88
+
89
+ 若克隆失败,在报告中注明"未能获取完整仓库上下文"并继续分析。
90
+
91
+ ---
92
+
93
+ ### Phase 2:Patch 差异分析
94
+
95
+ #### 2.1 识别修改文件类型
96
+
97
+ **RN 三方库典型结构**:
98
+ ```
99
+ harmony/ # 鸿蒙实现(重点检视)
100
+ src/main/
101
+ cpp/ # C++ CAPI
102
+ ets/ # ArkTS 胶水层
103
+ src/ # JS/TS 接口层
104
+ ```
105
+
106
+ **检视优先级**:
107
+ 1. `harmony/src/main/cpp/**` - C++ CAPI(NAPI、内存、线程安全)
108
+ 2. `harmony/src/main/ets/**/*.ets` - ArkTS 胶水层(TurboModule、Fabric)
109
+ 3. `src/**/*.ts` - JS/TS 接口层(类型声明、平台判断)
110
+ 4. `harmony/CMakeLists.txt` / `oh-package.json5` - 构建配置
111
+
112
+ #### 2.2 统计改动规模
113
+
114
+ **GitCode API 路径**:直接从响应读取 `count`、`added_lines`、`remove_lines`。
115
+
116
+ **传统路径**:从 diff 文件统计。
117
+
118
+ ---
119
+
120
+ ### Phase 3:代码深度检视
121
+
122
+ > ⚠️ **线程安全问题是 RN Native 模块最常见的严重问题,必须重点检查**
123
+
124
+ **详细检视清单见**:[CHECKLIST.md](references/CHECKLIST.md)
125
+
126
+ #### 3.1 重点检视项(易出错的严重问题)
127
+
128
+ **线程安全(CRITICAL 优先级)**:
129
+ - 子线程中不直接调用 NAPI 函数(必须使用 `napi_threadsafe_function`)
130
+ - 主 JS 线程与 C++ 线程间共享数据有锁保护
131
+ - `napi_threadsafe_function` 在不再使用时正确释放
132
+
133
+ **内存管理**:
134
+ - `napi_create_*` 创建的对象正确释放
135
+ - `napi_ref` 在不需要时调用 `napi_delete_reference`
136
+ - 无内存泄漏(`malloc`/`new` 有对应 `free`/`delete`)
137
+
138
+ **NAPI 规范**:
139
+ - TurboModule 正确实现 `getTurboModule()` 工厂函数
140
+ - NAPI 函数签名与 JS 声明一致
141
+ - 所有 NAPI API 返回值检查(`napi_status`)
142
+
143
+ #### 3.2 ArkTS 胶水层检视
144
+
145
+ - TurboModule 正确注册
146
+ - 无 `any` 类型使用(ArkTS 禁止)
147
+ - 日志使用 `RNLog` 而非 `console.log`
148
+
149
+ #### 3.3 JS/TS 接口层检视
150
+
151
+ - 方法类型声明完整(`Promise<T>`)
152
+ - 包含鸿蒙平台判断 `Platform.OS === 'harmony'`
153
+
154
+ #### 3.4 跨平台一致性对比(重点维度)
155
+
156
+ > PR 中通常仅包含 harmony 代码提交,需从克隆的仓库中读取 `android/` 和 `ios/` 的已有实现,与 harmony 变更进行对比。**这是 RN 三方库 PR 检视最关键的质量维度之一**——如果 harmony 的方法路由、参数类型、返回值格式与 Android 不一致,JS 侧调用同一 Native Module 时在鸿蒙平台上行为会异常。
157
+
158
+ **对比方法**:在克隆的 `{outputDir}/source/` 中定位 Android/iOS 的 Native Module 实现文件,逐方法对比。
159
+
160
+ | 对比项 | 说明 | 问题等级 |
161
+ |--------|------|----------|
162
+ | TurboModule 方法路由一致性 | harmony 的 TurboModule 方法列表是否与 Android NativeModule 完全对应,缺失方法 = 功能缺失 | 🔴 Critical |
163
+ | TurboModule 名称一致性 | harmony 注册的 TurboModule 名是否与 Android 注册名一致(JS 侧共用同一模块名) | 🔴 Critical |
164
+ | 参数类型映射一致性 | 同一 TurboModule 方法,harmony 解析的参数类型是否与 Android 一致(如 `bool` vs `string`) | 🔴 Critical |
165
+ | 返回值格式一致性 | `resolve()`/`reject()` 返回的数据结构是否与 Android 对齐 | 🟠 Major |
166
+ | 错误码/错误消息一致性 | `reject()` 的 code/message 是否与 Android 对齐 | 🟠 Major |
167
+ | 功能实现完整性 | Android 有实现但 harmony 为 Stub(返回固定值无实际操作)或完全缺失 | 🔴 Critical |
168
+ | EventEmitter 事件名一致性 | harmony 发送的事件名和数据格式是否与 Android 对齐 | 🟠 Major |
169
+
170
+ **对比操作步骤**:
171
+
172
+ 1. 从 PR diff 中提取 harmony 变更涉及的所有 TurboModule 方法 / NAPI 函数名称
173
+ 2. 在 `{outputDir}/source/android/` 中定位对应的 NativeModule 实现文件(通常为 `*Module.java` 或 `*Module.kt`,TurboModule 项目为 `*TurboModule.java`)
174
+ 3. 逐方法对比:方法是否存在 → 参数类型是否一致 → 返回值格式是否一致 → 错误处理是否对齐
175
+ 4. 对于 EventEmitter,对比事件名和事件数据格式
176
+ 5. 将对比结果记录到报告的"跨平台一致性"章节
177
+
178
+ > **注意**:本 SKILL 的一致性对比仅针对 PR diff 涉及的方法,不是全量对比。全量一致性评估由 `rn-library-consistency-check` SKILL 负责。
179
+
180
+ ---
181
+
182
+ ### Phase 4:影响分析
183
+
184
+ 分析本次改动对以下方面的影响:
185
+ - **功能影响**:是否引入新功能或修改现有行为
186
+ - **兼容性影响**:TurboModule API 是否向后兼容
187
+ - **性能影响**:是否优化跨线程调用或内存占用
188
+ - **安全影响**:是否修复或引入内存/线程安全问题
189
+
190
+ ---
191
+
192
+ ### Phase 5:生成检视报告
193
+
194
+ **报告模板见**:[REPORT-TEMPLATE.md](references/REPORT-TEMPLATE.md)
195
+
196
+ **生成要求**:
197
+ - 文件名必须为 `check-report.md`,路径在 `{outputDir}` 下
198
+ - 同时生成 `changed-files.txt`(每行一个文件路径)
199
+ - 同时生成 `result.txt`(合入建议分级结果)
200
+ - 若 PR 只修改 `android/` 或 `ios/`,注明"本次 PR 无鸿蒙平台代码变更"并 APPROVED
201
+ - 对 C++ CAPI 的内存安全和线程安全问题标记为 CRITICAL
202
+
203
+ ### 5.1 合入建议分级标准
204
+
205
+ 根据代码检视结果,将合入建议分为四个等级:
206
+
207
+ | 等级 | 标识 | 颜色建议 | 判断标准 | 举例场景 |
208
+ |------|------|----------|----------|----------|
209
+ | **建议合入** | ✅ `PASS` | 绿色 | 无或极少(≤2 Minor)修改引入问题,改动风险低,功能验证充分 | 纯文档更新、配置优化、已验证的 Bug 修复 |
210
+ | **条件合入** | ⚠️ `CONDITIONAL` | 黄色 | 存在少量(≤3 Major)可修复问题,在特定条件下可合入 | 需补充测试用例、需调整文档说明、非核心路径兼容性问题 |
211
+ | **修改后合入** | 🔧 `NEED_FIX` | 橙色 | 存在较多问题(≥1 Critical 或 ≥4 Major),需修复后方可合入 | TurboModule API 兼容性破坏、线程安全问题、NAPI 内存泄漏 |
212
+ | **不允许合入** | ❌ `REJECT` | 红色 | 存在严重问题(≥2 Critical),影响功能/安全/稳定性,不建议合入 | 安全漏洞、子线程直接调用 NAPI 导致崩溃风险、严重内存问题 |
213
+
214
+ **分级判断流程**:
215
+
216
+ ```
217
+ 统计问题数量:
218
+ - Critical 级别问题数
219
+ - Major 级别问题数
220
+ - Minor 级别问题数
221
+
222
+ 判断逻辑:
223
+ IF Critical ≥ 2 → ❌ REJECT
224
+ IF Critical ≥ 1 → 🔧 NEED_FIX
225
+ IF Major ≥ 4 → 🔧 NEED_FIX
226
+ IF Major ≥ 1 → ⚠️ CONDITIONAL
227
+ IF Minor ≤ 2 → ✅ PASS
228
+ ELSE → ⚠️ CONDITIONAL
229
+ ```
230
+
231
+ ### 5.2 result.txt 文件格式
232
+
233
+ `result.txt` 用于存储分级结果和统计信息,格式如下:
234
+
235
+ ```txt
236
+ === 合入建议分级报告 ===
237
+ PR 地址:{prUrl}
238
+ 仓库:{owner}/{repo}
239
+ PR 编号:#{prNumber}
240
+ 生成时间:{YYYY-MM-DD HH:mm:ss}
241
+
242
+ 【合入建议】:✅ 建议合入
243
+
244
+ 【问题统计】
245
+ - Critical 级别:0 个
246
+ - Major 级别:0 个
247
+ - Minor 级别:2 个
248
+ - Suggest 级别:1 个
249
+
250
+ 【分级理由】
251
+ 本次修改仅包含少量 Minor 级别优化建议,无功能性问题,改动风险低,建议直接合入。
252
+
253
+ 【详细分析】
254
+ ━━━ Critical 级别问题 ━━━
255
+ {列出所有 Critical 问题,每个占一行,重点关注线程安全/内存/跨平台一致性问题}
256
+
257
+ ━━━ Major 级别问题 ━━━
258
+ {列出所有 Major 问题,每个占一行}
259
+
260
+ ━━━ Minor 级别问题 ━━━
261
+ 1. [文件类型:代码质量] 删除了无用导入,代码更简洁
262
+ 2. [文件类型:可观测性] RNLog 日志添加了详细上下文信息
263
+
264
+ ━━━ Suggest 级别问题 ━━━
265
+ 1. [文件类型:代码规范] 建议补充 JSDoc 注释
266
+
267
+ ━━━ 合入建议 ━━━
268
+ 建议合入:本次修改质量良好,无功能性风险。
269
+
270
+ === 分级结束 ===
271
+ ```
272
+
273
+ ### 5.3 结构化指标输出(必须执行)
274
+
275
+ 执行环境会在任务 prompt 中下发一个**结构化指标文件输出路径**(`stepId{X}_loop{L}_meta_{N}.json`)。
276
+ 检视完成后,**必须**将分级结果以下述 JSON 对象写入该路径:
277
+
278
+ ```json
279
+ {
280
+ "mergeLevel": "PASS | CONDITIONAL | NEED_FIX | REJECT",
281
+ "critical": 0,
282
+ "major": 0,
283
+ "minor": 0,
284
+ "suggest": 0
285
+ }
286
+ ```
287
+
288
+ | 字段 | 类型 | 说明 |
289
+ |------|------|------|
290
+ | `mergeLevel` | string | 合入等级:PASS / CONDITIONAL / NEED_FIX / REJECT |
291
+ | `critical` | number | Critical 级别问题数 |
292
+ | `major` | number | Major 级别问题数 |
293
+ | `minor` | number | Minor 级别问题数 |
294
+ | `suggest` | number | Suggest 级别问题数 |
295
+
296
+ **说明**:该文件由执行框架自动收割入库(前端/历史列表直接读取,无需解析报告文本);详细的统计与理由已在 `result.txt` 中完整记录。若 prompt 未下发该路径则跳过本节。
297
+
298
+ ---
299
+
300
+ ## 注意事项
301
+
302
+ 1. **GitCode API 优先**:减少 patch 解析时间,但仍需 clone 获取上下文
303
+ 2. **线程安全最高优先级**:子线程直接调用 NAPI 会导致崩溃,必须使用 `napi_threadsafe_function`
304
+ 3. **必须克隆仓库**:用于跨文件引用分析、上下文理解,以及跨平台一致性对比
305
+ 4. **交叉验证**:若 PR 同时修改 `harmony/` 和 `src/`,需验证 NAPI 函数名与 JS 声明一致
306
+ 5. **报告路径**:`check-report.md` 必须在 `outputDir` 下,不能在其他路径
307
+ 6. **跨平台一致性**:PR diff 涉及的 TurboModule 方法必须与 Android/iOS 实现对比,缺失或行为不一致标记为 CRITICAL/MAJOR
308
+ 7. **大 PR 处理策略**:当 PR 涉及文件数超过 30 个时,按优先级分批检视:
309
+ - **第一批(必检视)**:`harmony/src/main/cpp/**` — C++ CAPI(NAPI、内存、线程安全、跨平台一致性)
310
+ - **第二批(必检视)**:`harmony/src/main/ets/**/*.ets` — ArkTS 胶水层(TurboModule 注册、跨平台一致性)
311
+ - **第三批(按需检视)**:`src/**/*.ts` — JS/TS 接口层 + 构建配置文件
312
+ - **跳过**:`android/`、`ios/`、`example/`、`docs/` 等非鸿蒙代码
313
+ - 在报告开头标注"本次 PR 涉及 N 个文件,已按优先级分批检视,第三批文件已简化检视"
314
+
315
+ ---
316
+
317
+ ## 文件引用
318
+
319
+ - **详细检视清单**:[references/CHECKLIST.md](references/CHECKLIST.md)
320
+ - **平台 API 指南**:[references/API-GUIDE.md](references/API-GUIDE.md)
321
321
  - **报告模板**:[references/REPORT-TEMPLATE.md](references/REPORT-TEMPLATE.md)