@ohos-cpf/3rdloop 0.0.1

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 (389) hide show
  1. package/README.md +425 -0
  2. package/bin/3rdloop.mjs +48 -0
  3. package/lib/cli.js +741 -0
  4. package/lib/config.js +318 -0
  5. package/lib/doctor.js +114 -0
  6. package/lib/exit-codes.js +31 -0
  7. package/lib/opencode.js +156 -0
  8. package/lib/orch.js +427 -0
  9. package/lib/queries.js +264 -0
  10. package/lib/runner.js +979 -0
  11. package/lib/step.js +326 -0
  12. package/lib/ui.js +223 -0
  13. package/lib/workflow.js +291 -0
  14. package/lib/workflows.js +132 -0
  15. package/package.json +50 -0
  16. package/vendor/Server/Agent/SkillSelector/README.md +344 -0
  17. package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -0
  18. package/vendor/Server/Agent/SkillSelector/index.js +14 -0
  19. package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -0
  20. package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -0
  21. package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -0
  22. package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -0
  23. package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -0
  24. package/vendor/Server/Agent/SkillSelector/types.js +63 -0
  25. package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +60 -0
  26. package/vendor/Server/Brain/AnalysisStrategies.js +422 -0
  27. package/vendor/Server/Brain/Brain.js +686 -0
  28. package/vendor/Server/Brain/DecompositionStrategies.js +621 -0
  29. package/vendor/Server/Brain/PlanPersistence.js +196 -0
  30. package/vendor/Server/Brain/SkillExecutor.js +251 -0
  31. package/vendor/Server/Brain/index.js +11 -0
  32. package/vendor/Server/CLI/cli.js +243 -0
  33. package/vendor/Server/CLI/opencode/index.js +804 -0
  34. package/vendor/Server/CLI/opencode.js +5 -0
  35. package/vendor/Server/DbUse/MessageArchive.js +61 -0
  36. package/vendor/Server/DbUse/StorageManager.js +107 -0
  37. package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -0
  38. package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -0
  39. package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -0
  40. package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -0
  41. package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -0
  42. package/vendor/Server/DbUse/index.js +160 -0
  43. package/vendor/Server/DbUse/stores/SessionStore.js +279 -0
  44. package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -0
  45. package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -0
  46. package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -0
  47. package/vendor/Server/FlexRunner/FlexRunner.js +1759 -0
  48. package/vendor/Server/FlexRunner/index.js +12 -0
  49. package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -0
  50. package/vendor/Server/Knowledge/KnowledgeManager.js +341 -0
  51. package/vendor/Server/Knowledge/index.js +33 -0
  52. package/vendor/Server/LoopEngine/LoopEngine.js +1133 -0
  53. package/vendor/Server/LoopEngine/index.js +11 -0
  54. package/vendor/Server/Orchestrator/Orchestrator.js +1425 -0
  55. package/vendor/Server/Orchestrator/StepNode.js +312 -0
  56. package/vendor/Server/Orchestrator/index.js +13 -0
  57. package/vendor/Server/Routes/controllers/BrainController.js +241 -0
  58. package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -0
  59. package/vendor/Server/Routes/controllers/HealthController.js +44 -0
  60. package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -0
  61. package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -0
  62. package/vendor/Server/Routes/controllers/OrchestratorController.js +911 -0
  63. package/vendor/Server/Routes/controllers/StatsController.js +57 -0
  64. package/vendor/Server/Routes/controllers/StreamController.js +67 -0
  65. package/vendor/Server/Routes/library/logger.js +179 -0
  66. package/vendor/Server/Routes/library/zipArchive.js +172 -0
  67. package/vendor/Server/Routes/router/Router.js +204 -0
  68. package/vendor/Server/Routes/routes/brain.js +47 -0
  69. package/vendor/Server/Routes/routes/flexrunner.js +72 -0
  70. package/vendor/Server/Routes/routes/health.js +28 -0
  71. package/vendor/Server/Routes/routes/index.js +57 -0
  72. package/vendor/Server/Routes/routes/knowledge.js +55 -0
  73. package/vendor/Server/Routes/routes/loopengine.js +58 -0
  74. package/vendor/Server/Routes/routes/orchestrator.js +61 -0
  75. package/vendor/Server/Routes/routes/registry.js +98 -0
  76. package/vendor/Server/Routes/routes/stats.js +23 -0
  77. package/vendor/Server/Routes/routes/stream.js +30 -0
  78. package/vendor/Server/Routes/server.js +202 -0
  79. package/vendor/Server/Routes/sse/SseHub.js +308 -0
  80. package/vendor/Server/Skills/acceptance-check/SKILL.md +174 -0
  81. package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -0
  82. package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -0
  83. package/vendor/Server/Skills/arkts-code-check/SKILL.md +314 -0
  84. package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +160 -0
  85. package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +29 -0
  86. package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +222 -0
  87. package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +220 -0
  88. package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +329 -0
  89. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -0
  90. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +433 -0
  91. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -0
  92. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +789 -0
  93. package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -0
  94. package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -0
  95. package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -0
  96. package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -0
  97. package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -0
  98. package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +99 -0
  99. package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -0
  100. package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -0
  101. package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +433 -0
  102. package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -0
  103. package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +789 -0
  104. package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -0
  105. package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -0
  106. package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -0
  107. package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -0
  108. package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +234 -0
  109. package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +103 -0
  110. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -0
  111. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -0
  112. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +108 -0
  113. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -0
  114. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -0
  115. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -0
  116. package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -0
  117. package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -0
  118. package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +392 -0
  119. package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -0
  120. package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +313 -0
  121. package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -0
  122. package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +166 -0
  123. package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +309 -0
  124. package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -0
  125. package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -0
  126. package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +361 -0
  127. package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +146 -0
  128. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +253 -0
  129. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +115 -0
  130. package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +263 -0
  131. package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -0
  132. package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -0
  133. package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -0
  134. package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -0
  135. package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +519 -0
  136. package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -0
  137. package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +93 -0
  138. package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -0
  139. package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -0
  140. package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +433 -0
  141. package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -0
  142. package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +789 -0
  143. package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -0
  144. package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +229 -0
  145. package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -0
  146. package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -0
  147. package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +576 -0
  148. package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +575 -0
  149. package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -0
  150. package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +491 -0
  151. package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -0
  152. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -0
  153. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +433 -0
  154. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -0
  155. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +789 -0
  156. package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -0
  157. package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +312 -0
  158. package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -0
  159. package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +134 -0
  160. package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -0
  161. package/vendor/Server/Skills/flutter-interface/README.md +75 -0
  162. package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -0
  163. package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -0
  164. package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -0
  165. package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -0
  166. package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -0
  167. package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +518 -0
  168. package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +382 -0
  169. package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +342 -0
  170. package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -0
  171. package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +519 -0
  172. package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +407 -0
  173. package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +653 -0
  174. package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +397 -0
  175. package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +745 -0
  176. package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +721 -0
  177. package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -0
  178. package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -0
  179. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -0
  180. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -0
  181. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -0
  182. package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -0
  183. package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -0
  184. package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -0
  185. package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -0
  186. package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +301 -0
  187. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +105 -0
  188. package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +127 -0
  189. package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +208 -0
  190. package/vendor/Server/Skills/rn-code-check/SKILL.md +321 -0
  191. package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +235 -0
  192. package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +189 -0
  193. package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +247 -0
  194. package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -0
  195. package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -0
  196. package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -0
  197. package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -0
  198. package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -0
  199. package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -0
  200. package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -0
  201. package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -0
  202. package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -0
  203. package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -0
  204. package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -0
  205. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -0
  206. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -0
  207. package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -0
  208. package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -0
  209. package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -0
  210. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -0
  211. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -0
  212. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -0
  213. package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -0
  214. package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -0
  215. package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -0
  216. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -0
  217. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -0
  218. package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -0
  219. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -0
  220. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +684 -0
  221. package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -0
  222. package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -0
  223. package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -0
  224. package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -0
  225. package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -0
  226. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -0
  227. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -0
  228. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -0
  229. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -0
  230. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -0
  231. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -0
  232. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -0
  233. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -0
  234. package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -0
  235. package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -0
  236. package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -0
  237. package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -0
  238. package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -0
  239. package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -0
  240. package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -0
  241. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -0
  242. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -0
  243. package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -0
  244. package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -0
  245. package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -0
  246. package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -0
  247. package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -0
  248. package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +58 -0
  249. package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -0
  250. package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -0
  251. package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +75 -0
  252. package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -0
  253. package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +339 -0
  254. package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +83 -0
  255. package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +859 -0
  256. package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +122 -0
  257. package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +279 -0
  258. package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -0
  259. package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -0
  260. package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -0
  261. package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -0
  262. package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -0
  263. package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +506 -0
  264. package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +280 -0
  265. package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -0
  266. package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +209 -0
  267. package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -0
  268. package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -0
  269. package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -0
  270. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -0
  271. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -0
  272. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -0
  273. package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -0
  274. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -0
  275. package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -0
  276. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -0
  277. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -0
  278. package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -0
  279. package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -0
  280. package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -0
  281. package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -0
  282. package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -0
  283. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -0
  284. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -0
  285. package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -0
  286. package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -0
  287. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -0
  288. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -0
  289. package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -0
  290. package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -0
  291. package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -0
  292. package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -0
  293. package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -0
  294. package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -0
  295. package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -0
  296. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -0
  297. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -0
  298. package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -0
  299. package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -0
  300. package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -0
  301. package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -0
  302. package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +498 -0
  303. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -0
  304. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -0
  305. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -0
  306. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -0
  307. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -0
  308. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -0
  309. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -0
  310. package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -0
  311. package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -0
  312. package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -0
  313. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -0
  314. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -0
  315. package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -0
  316. package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -0
  317. package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -0
  318. package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -0
  319. package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -0
  320. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -0
  321. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -0
  322. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -0
  323. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -0
  324. package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -0
  325. package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -0
  326. package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -0
  327. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -0
  328. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -0
  329. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -0
  330. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -0
  331. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -0
  332. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -0
  333. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -0
  334. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -0
  335. package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -0
  336. package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -0
  337. package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -0
  338. package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -0
  339. package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -0
  340. package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -0
  341. package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +255 -0
  342. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +77 -0
  343. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -0
  344. package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +174 -0
  345. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -0
  346. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -0
  347. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -0
  348. package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +137 -0
  349. package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -0
  350. package/vendor/Server/Skills/skill-generator/SKILL.md +365 -0
  351. package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -0
  352. package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -0
  353. package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -0
  354. package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -0
  355. package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -0
  356. package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -0
  357. package/vendor/Server/Skills/task-analysis/SKILL.md +234 -0
  358. package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -0
  359. package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -0
  360. package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -0
  361. package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -0
  362. package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -0
  363. package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -0
  364. package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -0
  365. package/vendor/Server/Skills/task-decomposition/SKILL.md +529 -0
  366. package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -0
  367. package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -0
  368. package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -0
  369. package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -0
  370. package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -0
  371. package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -0
  372. package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -0
  373. package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -0
  374. package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -0
  375. package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -0
  376. package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -0
  377. package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +425 -0
  378. package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -0
  379. package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -0
  380. package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -0
  381. package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -0
  382. package/vendor/Server/TestCheck/TestCheck.js +775 -0
  383. package/vendor/Server/TestCheck/index.js +11 -0
  384. package/vendor/Server/library/McpToolGuide.js +280 -0
  385. package/vendor/Server/library/StatsService.js +127 -0
  386. package/vendor/Server/library/cstTime.js +16 -0
  387. package/vendor/Server/package.json +17 -0
  388. package/vendor/VERSION +3 -0
  389. package/workflows/pr-check.mjs +106 -0
@@ -0,0 +1,52 @@
1
+ # Phase 1:产物收集指南
2
+
3
+ ## 工作目录结构
4
+
5
+ 任务工作目录(`workDir`)通常包含以下文件:
6
+
7
+ ```
8
+ {workDir}/
9
+ ├── stepId1_result_0.md ← 步骤1第0次执行结果
10
+ ├── stepId1_Summary_0.md ← 步骤1第0次执行摘要
11
+ ├── stepId2_result_0.md ← 步骤2第0次执行结果
12
+ ├── stepId2_Summary_0.md ← 步骤2第0次执行摘要
13
+ ├── stepId1_result_1.md ← 步骤1第1次执行结果(重试)
14
+ └── ...
15
+ ```
16
+
17
+ ## 收集策略
18
+
19
+ 1. **按 stepId 分组**:将同一步骤的所有产物归为一组
20
+ 2. **取最新 loopCount**:同一步骤多次执行时,取最后一次(loopCount 最大)的结果
21
+ 3. **结果文件优先**:result .md 包含执行状态和结论,是评估的主要依据
22
+ 4. **摘要文件辅助**:Summary .md 包含经验总结,可作为补充证据
23
+
24
+ ## 文件内容解析
25
+
26
+ ### result .md 格式
27
+
28
+ ```markdown
29
+ ## 执行状态
30
+ 成功 / 失败
31
+
32
+ ## 执行结果
33
+ {具体执行内容和分析}
34
+ ```
35
+
36
+ 关键字段:
37
+ - `## 执行状态` — 判断该步骤是否成功完成
38
+ - `## 执行结果` — 获取步骤的产出内容
39
+
40
+ ### Summary .md 格式
41
+
42
+ ```markdown
43
+ ## 摘要
44
+ {关键信息和经验总结}
45
+ ```
46
+
47
+ ## 产物完整性检查
48
+
49
+ 收集完成后,检查:
50
+ - 每个步骤是否都有对应的 result 文件
51
+ - 文件内容是否完整(非空)
52
+ - 是否有步骤缺失产物(可能执行失败未生成)
@@ -0,0 +1,77 @@
1
+ # Phase 2:验收标准评估指南
2
+
3
+ ## 评估原则
4
+
5
+ 1. **证据驱动**:每条标准的评估结论必须基于产物中的实际证据
6
+ 2. **逐条独立**:每条标准独立评估,不因其他标准通过/未通过而影响
7
+ 3. **可追溯**:记录评估依据,便于后续复核
8
+
9
+ ## 按 type 分类的评估策略
10
+
11
+ ### output(产物检查)
12
+
13
+ 验证目标:确认预期的产物文件/内容是否存在且完整。
14
+
15
+ 评估方法:
16
+ - 检查产物文件是否存在
17
+ - 检查文件内容是否非空
18
+ - 检查内容是否包含预期的章节/维度
19
+ - 检查格式是否符合要求
20
+
21
+ 示例:
22
+ - 标准要求"产出完整的质量检查报告" → 检查报告文件是否存在、是否包含所有维度章节
23
+
24
+ ### quality(质量要求)
25
+
26
+ 验证目标:确认产物的质量是否达标。
27
+
28
+ 评估方法:
29
+ - 检查分析深度是否足够
30
+ - 检查覆盖范围是否完整
31
+ - 检查结论是否有数据支撑
32
+ - 检查建议是否具体可操作
33
+
34
+ 示例:
35
+ - 标准要求"对高优先级问题提供具体代码位置和修复建议" → 检查报告中是否包含文件名、行号、修复方案
36
+
37
+ ### performance(性能指标)
38
+
39
+ 验证目标:确认性能相关指标是否满足要求。
40
+
41
+ 评估方法:
42
+ - 检查扫描覆盖率
43
+ - 检查执行时间是否在合理范围
44
+ - 检查资源使用是否达标
45
+
46
+ 示例:
47
+ - 标准要求"使用至少一种主流静态分析工具" → 检查报告中是否标注了工具名称和版本
48
+
49
+ ### compliance(合规性)
50
+
51
+ 验证目标:确认产物是否符合特定规范或标准。
52
+
53
+ 评估方法:
54
+ - 检查是否引用了正确的规范标准
55
+ - 检查是否符合规范的具体要求
56
+ - 检查合规性检查项是否完整
57
+
58
+ 示例:
59
+ - 标准要求"符合 OpenHarmony 编码规范" → 检查报告中是否引用了 OpenHarmony 社区规范
60
+
61
+ ## 评估结论记录
62
+
63
+ 每条标准的评估结果应包含:
64
+
65
+ | 字段 | 说明 |
66
+ |------|------|
67
+ | id | 验收标准 ID |
68
+ | criterion | 标准描述 |
69
+ | satisfied | 是否满足(true/false) |
70
+ | evidence | 支持结论的证据 |
71
+ | note | 补充说明 |
72
+
73
+ ## 常见问题处理
74
+
75
+ 1. **产物缺失**:如果某个步骤的产物不存在,相关标准标记为"未满足"
76
+ 2. **产物不完整**:如果产物内容不完整,根据缺失程度判断
77
+ 3. **无法判断**:如果产物信息不足以判断,标记为"未满足"并说明原因
@@ -0,0 +1,314 @@
1
+ ---
2
+ name: arkts-code-check
3
+ description: 自动化检视 ArkTS 三方库 Pull Request,包括获取 PR 差异、深度分析代码变更、生成结构化检视报告。当用户需要对 ArkTS/OpenHarmony 三方库 PR 进行代码检视时调用。支持 GitCode、Gitee、GitHub、GitLab 平台。
4
+ license: Apache-2.0
5
+ compatibility: 需要 git、curl、网络访问代码仓库平台 API
6
+ metadata:
7
+ version: "1.0.0"
8
+ ---
9
+
10
+ # ArkTsCodeCheckSkill — ArkTS 三方库 PR 代码检视
11
+
12
+ ## 任务参数
13
+
14
+ | 参数 | 必需 | 说明 |
15
+ |------|------|------|
16
+ | `prUrl` | ✅ | PR 地址,如 `https://gitee.com/openharmony-tpc/community/pulls/123` |
17
+ | `outputDir` | ✅ | 输出目录绝对路径,如 `/path/to/codecheck/owner_repo_pr123` |
18
+ | `branch` | ❌ | 目标分支名;若提供则优先使用 |
19
+ | `accessToken` | ❌ | 平台 API 访问令牌 |
20
+
21
+ ---
22
+
23
+ ## 工作流程概览
24
+
25
+ ```
26
+ Phase 1: 信息收集(含范围识别) → Phase 2: 差异分析 → Phase 3: 代码检视 → Phase 4: 影响分析 → Phase 5: 报告生成
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Phase 1:信息收集
32
+
33
+ ### 1.1 解析 PR 地址
34
+
35
+ 从 `prUrl` 提取:`platform`、`owner`、`repo`、`prNumber`。
36
+
37
+ > 详细步骤参见 [信息收集指南](references/PHASE1_INFO_COLLECTION.md)
38
+
39
+ ### 1.2 获取 PR 元数据
40
+
41
+ ```bash
42
+ curl -s "https://api.gitcode.com/api/v5/repos/{owner}/{repo}/pulls/{prNumber}?access_token={accessToken}"
43
+ ```
44
+
45
+ 提取:`title`、`base.ref`、`head.sha`、`user.name`、`created_at`、`state`
46
+
47
+ ### 1.3 获取 Commit Patch(仅供参考)
48
+
49
+ ```bash
50
+ curl -s "https://api.gitcode.com/api/v5/repos/{owner}/{repo}/commit/{head.sha}/patch?access_token={accessToken}" -o {outputDir}/pr.patch
51
+ ```
52
+
53
+ 返回最新 commit 的 patch,包含 commit 元数据(作者、日期、message)和单次 commit 的文件变更。
54
+
55
+ > **注意**:
56
+ > - 路径使用 `commit`(单数),不是 `commits`
57
+ > - 此 patch 仅包含 PR **最新一次 commit** 的差异,不代表 PR 全量变更
58
+ > - PR 若包含多个 commit,需使用 1.5 步骤的累积 diff 进行检视
59
+
60
+ ### 1.4 克隆仓库(必须)
61
+
62
+ ```bash
63
+ git clone --depth=50 --branch {targetBranch} https://gitcode.com/{owner}/{repo}.git {outputDir}/source/
64
+ ```
65
+
66
+ 克隆后必须 fetch PR HEAD 并生成累积 diff(见 1.5)。
67
+
68
+ ### 1.5 获取 PR 累积差异(检视依据)
69
+
70
+ > **核心步骤**:必须基于累积 diff 进行检视,而非单次 commit patch。
71
+
72
+ ```bash
73
+ # 1. fetch PR HEAD 到本地分支
74
+ cd {outputDir}/source/
75
+ git fetch origin refs/merge-requests/{prNumber}/head:pr{prNumber}
76
+
77
+ # 2. checkout PR 分支
78
+ git checkout pr{prNumber}
79
+
80
+ # 3. 生成累积 diff(base 分支 vs PR HEAD)
81
+ git diff {targetBranch}..pr{prNumber} > {outputDir}/pr-diff-raw.txt
82
+ ```
83
+
84
+ **为什么需要累积 diff**:
85
+ - PR 可能包含多个 commit,单次 commit patch 无法反映全量变更
86
+ - 本次检视中,head.sha patch 仅 1 个文件,但累积 diff 实际包含 21 个文件
87
+ - 累积 diff 才是 PR 的真实变更范围
88
+
89
+ **PR 更新检测**:
90
+ - PR 推送新 commit 后 `head.sha` 会变化
91
+ - 若 1.2 步骤获取的 `head.sha` 与上次不同,必须重新 fetch 并重新生成 `pr-diff.txt`
92
+ - 已生成的报告文件也需重新生成
93
+
94
+ ### 1.6 识别 PR 检视范围(关键步骤)
95
+
96
+ > **⚠️ 此步骤防止检视范围污染,是本次迭代新增的核心改进。**
97
+
98
+ Monorepo(如 `openharmony_tpc_samples` 包含多个三方库子目录)中,fork 分支的 master 通常通过 merge commit 合入了其他 PR 的变更。此时 `git diff {targetBranch}..pr{prNumber}` 的累积 diff 会包含**不属于本 PR 意图范围**的文件变更(其他库的修改、删除等),导致检视误判。
99
+
100
+ **识别方法**:
101
+
102
+ 1. 从 PR 标题提取目标库名称(如 `eventsource: fix: ...` → 目标库为 `eventsource`)
103
+ 2. 若标题不含库名,从 PR body(描述)或 commit message 中提取
104
+ 3. 若仍无法确定,取 PR 标题中第一个冒号前的部分,或取变更文件中最深层公共父目录
105
+
106
+ **范围过滤**:
107
+
108
+ ```bash
109
+ # 仅保留目标库目录下的 diff(关键:避免检视范围污染)
110
+ git diff {targetBranch}..pr{prNumber} -- {targetLibraryDir}/ > {outputDir}/pr-diff.txt
111
+
112
+ # 同时生成全量 diff 供参考(不用于检视,仅用于记录)
113
+ # pr-diff-raw.txt 已在 1.5 中生成
114
+ ```
115
+
116
+ **实际案例**:
117
+ - PR #3042 标题为 `eventsource: fix: ...`,目标库为 `eventsource`
118
+ - 累积 diff 包含 113 个文件(ohos_rive、ohos_7zip、spinec、GstreamerDemo 等),但仅 18 个 eventsource 文件属于本 PR
119
+ - 若不过滤,ohos_rive 的内存安全回归会被误判为本 PR 的 Blocker,导致错误的 REJECT 结论
120
+ - 过滤后仅检视 18 个 eventsource 文件,结果为 PASS
121
+
122
+ **过滤后更新统计**:
123
+
124
+ ```bash
125
+ # 重新统计(基于过滤后的 diff)
126
+ git diff --stat {targetBranch}..pr{prNumber} -- {targetLibraryDir}/
127
+
128
+ # 重新生成 changed-files.txt(基于过滤后的 diff)
129
+ grep "^diff --git" {outputDir}/pr-diff.txt | sed 's/diff --git a\/.* b\/\//' > {outputDir}/changed-files.txt
130
+ ```
131
+
132
+ > **原则**:检视应聚焦于 PR 的意图范围(单次提交涉及的目标库),不应将 fork 分支 divergent master 上的其他变更纳入检视和分级。
133
+
134
+ ---
135
+
136
+ ## Phase 2:差异分析
137
+
138
+ > **必须基于 `pr-diff.txt`(经过范围过滤的累积 diff)进行分析,而非 `pr-diff-raw.txt`(全量累积 diff)或 `pr.patch`(单次 commit patch)**
139
+
140
+ ### 2.1 统计改动规模
141
+
142
+ - 文件数、新增/删除行数:从 `pr-diff.txt` 统计,或使用 `git diff --stat {targetBranch}..pr{prNumber}`
143
+
144
+ ### 2.2 识别文件类型
145
+
146
+ | 扩展名 | 类型 | 检视重点 |
147
+ |--------|------|----------|
148
+ | `.ets` | ArkTS | 语言约束、装饰器、UI |
149
+ | `.ts` | TypeScript | 类型安全、异步 |
150
+ | `oh-package.json5` | 配置 | 依赖版本 |
151
+ | `module.json5` | 配置 | 权限、API Level |
152
+
153
+ > 完整分类参见 [文件类型指南](references/FILE_TYPE_GUIDE.md)
154
+
155
+ ### 2.3 理解改动意图
156
+
157
+ 结合 PR 标题、commit message、diff 上下文分析修改目的。
158
+
159
+ ---
160
+
161
+ ## Phase 3:代码深度检视
162
+
163
+ 对每个 `.ets` / `.ts` 文件逐项检查。
164
+
165
+ ### 3.1 核心检视维度
166
+
167
+ | 维度 | 检查要点 |
168
+ |------|----------|
169
+ | 非兼容变更 | 删除/修改公开 API、函数签名变更 |
170
+ | ArkTS 约束 | 无 `any`、无动态代码、装饰器正确 |
171
+ | API 兼容性 | minAPIVersion 匹配、权限正确 |
172
+ | 异步处理 | await 不遗漏、try/catch 完整 |
173
+ | 事件监听 | on/off 对称、生命周期正确 |
174
+ | 错误处理 | 错误码完整、return/break 正确 |
175
+ | 内存管理 | 监听器清理、定时器清除 |
176
+ | 安全性 | 无硬编码密钥、输入校验 |
177
+
178
+ > 完整检查清单参见 [代码检视指南](references/CODE_CHECK_GUIDE.md)
179
+
180
+ ### 3.2 问题严重程度
181
+
182
+ | 级别 | 标识 | 说明 |
183
+ |------|------|------|
184
+ | Blocker | 🔴 | 必须修复,影响功能/安全/兼容 |
185
+ | Major | 🟡 | 建议修复,存在风险 |
186
+ | Minor | 🔵 | 优化建议 |
187
+
188
+ ---
189
+
190
+ ## Phase 4:影响分析
191
+
192
+ 综合评估:
193
+ - **功能影响**:新功能或行为变更
194
+ - **兼容性影响**:接口向后兼容性
195
+ - **性能影响**:异步优化、对象创建等
196
+ - **安全影响**:修复或引入安全问题
197
+
198
+ ---
199
+
200
+ ## Phase 5:生成报告
201
+
202
+ 输出文件:
203
+ - `{outputDir}/check-report.md` — 检视报告
204
+ - `{outputDir}/changed-files.txt` — 修改文件列表(基于范围过滤后的 diff 生成)
205
+ - `{outputDir}/pr-diff.txt` — PR 累积差异(目标库目录范围内,检视核心依据)
206
+ - `{outputDir}/pr-diff-raw.txt` — PR 全量累积差异(base → PR HEAD,仅供参考,不用于检视)
207
+ - `{outputDir}/pr.patch` — 最新 commit patch(仅供 commit 元数据参考)
208
+ - `{outputDir}/result.txt` — 合入建议分级结果
209
+
210
+ > 报告模板参见 [报告模板](references/REPORT_TEMPLATE.md)
211
+
212
+ ### 5.1 合入建议分级标准
213
+
214
+ 根据代码检视结果,将合入建议分为四个等级:
215
+
216
+ | 等级 | 标识 | 颜色建议 | 判断标准 | 举例场景 |
217
+ |------|------|----------|----------|----------|
218
+ | **建议合入** | ✅ `PASS` | 绿色 | 无或极少(≤2 Minor)修改引入问题,改动风险低,功能验证充分 | 纯文档更新、配置优化、已验证的 Bug 修复 |
219
+ | **条件合入** | ⚠️ `CONDITIONAL` | 黄色 | 存在少量(≤3 Major)可修复问题,在特定条件下可合入 | 需补充测试用例、需调整文档说明、非核心路径兼容性问题 |
220
+ | **修改后合入** | 🔧 `NEED_FIX` | 橙色 | 存在较多问题(≥1 Blocker 或 ≥4 Major),需修复后方可合入 | API 兼容性破坏、性能风险、内存泄漏、异步逻辑缺陷 |
221
+ | **不允许合入** | ❌ `REJECT` | 红色 | 存在严重问题(≥2 Blocker),影响功能/安全/稳定性,不建议合入 | 安全漏洞、严重兼容性破坏、架构缺陷、未验证的重大变更 |
222
+
223
+ **分级判断流程**:
224
+
225
+ ```
226
+ 统计问题数量:
227
+ - Blocker 级别问题数
228
+ - Major 级别问题数
229
+ - Minor 级别问题数
230
+
231
+ 判断逻辑:
232
+ IF Blocker ≥ 2 → ❌ REJECT
233
+ IF Blocker ≥ 1 → 🔧 NEED_FIX
234
+ IF Major ≥ 4 → 🔧 NEED_FIX
235
+ IF Major ≥ 1 → ⚠️ CONDITIONAL
236
+ IF Minor ≤ 2 → ✅ PASS
237
+ ELSE → ⚠️ CONDITIONAL
238
+ ```
239
+
240
+ ### 5.2 result.txt 文件格式
241
+
242
+ `result.txt` 用于存储分级结果和统计信息,格式如下:
243
+
244
+ ```txt
245
+ === 合入建议分级报告 ===
246
+ PR 地址:{prUrl}
247
+ 仓库:{owner}/{repo}
248
+ PR 编号:#{prNumber}
249
+ 生成时间:{YYYY-MM-DD HH:mm:ss}
250
+
251
+ 【合入建议】:✅ 建议合入
252
+
253
+ 【问题统计】
254
+ - Blocker 级别:0 个
255
+ - Major 级别:0 个
256
+ - Minor 级别:2 个
257
+
258
+ 【分级理由】
259
+ 本次修改仅包含少量 Minor 级别优化建议,无功能性问题,改动风险低,建议直接合入。
260
+
261
+ 【详细分析】
262
+ ━━━ Minor 级别问题 ━━━
263
+ 1. [文件类型:代码质量] 删除了无用变量 `pairFlag`,代码更简洁
264
+ 2. [文件类型:可观测性] 错误信息从模糊描述改为包含 `e.code` 和 `e.message` 的格式
265
+
266
+ ━━━ 合入建议 ━━━
267
+ 建议合入:本次修改质量良好,无功能性风险。
268
+
269
+ === 分级结束 ===
270
+ ```
271
+
272
+ ### 5.3 结构化指标输出(必须执行)
273
+
274
+ 执行环境会在任务 prompt 中下发一个**结构化指标文件输出路径**(`stepId{X}_loop{L}_meta_{N}.json`)。
275
+ 检视完成后,**必须**将分级结果以下述 JSON 对象写入该路径:
276
+
277
+ ```json
278
+ {
279
+ "mergeLevel": "PASS | CONDITIONAL | NEED_FIX | REJECT",
280
+ "blocker": 0,
281
+ "major": 0,
282
+ "minor": 0
283
+ }
284
+ ```
285
+
286
+ | 字段 | 类型 | 说明 |
287
+ |------|------|------|
288
+ | `mergeLevel` | string | 合入等级:PASS / CONDITIONAL / NEED_FIX / REJECT |
289
+ | `blocker` | number | Blocker 级别问题数 |
290
+ | `major` | number | Major 级别问题数 |
291
+ | `minor` | number | Minor 级别问题数 |
292
+
293
+ **说明**:该文件由执行框架自动收割入库(前端/历史列表直接读取,无需解析报告文本);详细的统计与理由已在 `result.txt` 中完整记录。若 prompt 未下发该路径则跳过本节。
294
+
295
+ ---
296
+
297
+ ## 注意事项
298
+
299
+ 1. **必须克隆仓库**:用于深度检视和跨文件引用分析,不可仅凭 diff 下结论
300
+ 2. **必须使用累积 diff 进行检视**:`pr.patch`(单次 commit patch)可能仅包含部分变更,必须使用 `git diff {targetBranch}..pr{prNumber}` 生成的累积 diff。实际案例中 pr.patch 仅 1 个文件,但累积 diff 有 21 个文件
301
+ 3. **必须识别 PR 检视范围**(新增):Monorepo 中 fork 分支的累积 diff 可能包含不属于本 PR 的其他库变更,必须根据 PR 标题/描述识别目标库目录,将 diff 限定在该范围内。实际案例:PR #3042 标题为 `eventsource: fix:`,但累积 diff 包含 113 个文件(含 ohos_rive、ohos_7zip 等),不过滤会导致误判 REJECT
302
+ 4. **克隆失败处理**:在报告中注明,继续基于 diff 完成分析
303
+ 5. **Patch 过大**:优先分析 `.ets`/`.ts` 文件,其余按改动量排序
304
+ 6. **PR 更新检测**:每次检视前重新获取 PR 元数据,对比 head.sha 是否变化;若变化,必须重新 fetch 并重新生成 pr-diff.txt 和所有报告
305
+ 7. **所有操作记录日志**:方便问题排查
306
+
307
+ ---
308
+
309
+ ## 快速参考
310
+
311
+ - [信息收集详细指南](references/PHASE1_INFO_COLLECTION.md)
312
+ - [代码检视检查清单](references/CODE_CHECK_GUIDE.md)
313
+ - [检视报告模板](references/REPORT_TEMPLATE.md)
314
+ - [文件类型识别指南](references/FILE_TYPE_GUIDE.md)
@@ -0,0 +1,160 @@
1
+ # Phase 3:代码检视详细检查清单
2
+
3
+ 本文档包含 ArkTS 代码深度检视的完整检查项。
4
+
5
+ ---
6
+
7
+ ## 3.1 非兼容变更(Breaking Changes)
8
+
9
+ **判断依据**:改动前的接口若有外部调用方,则为破坏性变更。
10
+
11
+ 检查项:
12
+ - [ ] 是否删除或重命名了公开 API / 导出符号 / 接口方法
13
+ - [ ] 是否修改了函数签名(参数数量、类型、顺序、返回类型)
14
+ - [ ] 是否修改了数据结构的字段类型或字段名
15
+ - [ ] 是否修改了错误码或返回值语义
16
+ - [ ] 是否修改了配置文件格式(`oh-package.json5`、`module.json5`)
17
+
18
+ ---
19
+
20
+ ## 3.2 ArkTS 语言约束(严格模式合规性)
21
+
22
+ - [ ] 无 `any` 类型使用(ArkTS 禁止 `as any`、隐式 any)
23
+ - [ ] 无 `eval()`、`Function()` 动态代码执行
24
+ - [ ] 无 `with` 语句
25
+ - [ ] 无 `prototype` 动态修改
26
+ - [ ] 无动态属性访问(`obj[dynamicKey]`)替代类型化接口
27
+ - [ ] 接口声明使用 `interface` / `class`,非对象字面量类型构造函数
28
+ - [ ] 枚举值使用 `enum`,非字符串字面量联合
29
+ - [ ] 装饰器使用正确(`@Component`、`@State`、`@Prop`、`@Link`、`@Builder`、`@Observed` 等)
30
+ - [ ] 泛型类型参数明确,避免推导歧义
31
+ - [ ] 是否使用已废弃的 API(`@deprecated` 标注的接口)
32
+
33
+ ---
34
+
35
+ ## 3.3 OpenHarmony API 兼容性
36
+
37
+ - [ ] 新增 API 使用是否超出工程 `minAPIVersion`(通常 API 12+)
38
+ - [ ] 是否使用了 OHOS 专有 API 但未做平台判断(`deviceInfo.deviceType` 等)
39
+ - [ ] 权限申请是否正确(`requestPermissionsFromUser`)
40
+ - [ ] `OH_*` 系列 C API 的返回值是否有检查(Native 模块场景)
41
+
42
+ ---
43
+
44
+ ## 3.4 异步处理
45
+
46
+ - [ ] 所有 `await` 调用不遗漏(BLE、网络、存储等异步 API)
47
+ - [ ] try/catch 覆盖所有 `await` 调用,catch 块有实质性错误处理(非空 catch)
48
+ - [ ] 嵌套 async 函数调用链中,返回的 Promise 均被正确 await
49
+ - [ ] 未处理的 Promise rejection(`.catch()` 或 `try/catch` 必须存在)
50
+ - [ ] 并行异步操作使用 `Promise.all`,避免不必要的顺序 await(性能)
51
+
52
+ ---
53
+
54
+ ## 3.5 事件监听器管理(on/off 对称性)
55
+
56
+ ### 通用检查项
57
+
58
+ - [ ] 每个 `on('eventName', handler)` 有对应 `off('eventName', handler)` 或 `off('eventName')`
59
+ - [ ] 监听器在组件/连接销毁时(`aboutToDisappear`、设备断开、`close` 前)被移除
60
+ - [ ] 重连场景中同一事件多次调用 `on` 不会造成监听器堆积
61
+ - [ ] 新增的事件监听类型在 `close` / `disconnect` 前有对应 `off`
62
+
63
+ ### BLE / 蓝牙特有检视点
64
+
65
+ - [ ] `GattClientDevice` 对象不跨连接复用(重连时创建新实例)
66
+ - [ ] 连接失败路径中所有注册的监听器均被清除
67
+ - [ ] 多设备并发时,Map key 使用设备地址(`remoteId`)而非类成员变量
68
+ - [ ] 状态变更回调使用正确的设备标识(`key`),而非可能过期的实例变量
69
+
70
+ ---
71
+
72
+ ## 3.6 索引变量与边界问题
73
+
74
+ **索引变量误用示例**:
75
+ ```typescript
76
+ // ❌ 错误
77
+ for (let i = 0; i < services.length; i++) {
78
+ for (let j = 0; j < includeServices.length; j++) {
79
+ if (includeServices[i].uuid === target) { ... } // 应为 j
80
+ }
81
+ }
82
+ ```
83
+
84
+ 检查项:
85
+ - [ ] 嵌套循环中内层循环使用正确的索引变量
86
+ - [ ] 查找逻辑中 null/undefined 判断方向正确(`== null` vs `!= null`)
87
+ - [ ] 数组访问是否有越界风险(空数组判断)
88
+
89
+ ---
90
+
91
+ ## 3.7 错误处理
92
+
93
+ - [ ] 错误信息包含错误码(`e.code`)和错误描述(`e.message`)
94
+ - [ ] `result.error()` / `result.success()` 调用后有 `return`,避免后续代码继续执行
95
+ - [ ] switch-case 中每个 case 末尾有 `break`(避免 fall-through)
96
+ - [ ] 提前 `return` / `break` 不会跳过必要的资源清理
97
+
98
+ ---
99
+
100
+ ## 3.8 内存与资源管理
101
+
102
+ - [ ] 事件监听器在适当时机 `off`(组件销毁、设备断开等)
103
+ - [ ] 定时器(`setInterval`/`setTimeout`)有对应 `clearInterval`/`clearTimeout`
104
+ - [ ] `ArrayBuffer` / `Uint8Array` 大数据用完后无强引用持有
105
+ - [ ] Map / Set 数据结构在不再需要时及时 `delete` / `clear`
106
+
107
+ ---
108
+
109
+ ## 3.9 并发与线程安全
110
+
111
+ - [ ] 是否在非 UI 线程访问 UI 组件(需通过 `TaskPool`/`Worker` 隔离)
112
+ - [ ] async/await 使用正确,无遗漏 await 导致的竞态条件
113
+ - [ ] 多设备并发连接场景下,变量为实例级而非全局/类级共享
114
+
115
+ ---
116
+
117
+ ## 3.10 性能问题
118
+
119
+ - [ ] 列表渲染是否使用 `LazyForEach` + `@Reusable` 优化(大列表场景)
120
+ - [ ] 是否有同步阻塞主线程的操作(应改用 `TaskPool`/`Worker`)
121
+ - [ ] 是否存在不必要的全局变量或重复对象创建
122
+ - [ ] 图片资源是否合理使用缓存,避免重复加载
123
+
124
+ ---
125
+
126
+ ## 3.11 安全性
127
+
128
+ - [ ] 无硬编码的密钥、Token、密码、MAC 地址等敏感信息
129
+ - [ ] 网络请求是否校验 HTTPS 证书(禁止忽略证书错误)
130
+ - [ ] 用户输入是否有校验和过滤(防注入)
131
+ - [ ] 文件路径是否有安全校验(防路径穿越)
132
+ - [ ] 敏感数据是否在日志中输出(蓝牙配对码、账户信息等)
133
+
134
+ ---
135
+
136
+ ## 3.12 依赖与配置
137
+
138
+ - [ ] `oh-package.json5` 新增依赖是否合理,来源是否可信
139
+ - [ ] 版本号是否符合语义化版本规范(`^x.y.z`)
140
+ - [ ] `minAPIVersion` / `targetAPIVersion` 变更是否合理
141
+ - [ ] 是否存在不必要的依赖或版本锁定过死
142
+
143
+ ---
144
+
145
+ ## 3.13 代码规范
146
+
147
+ - [ ] 命名遵循驼峰命名规则(变量/方法小驼峰,类/接口大驼峰)
148
+ - [ ] 无冗余的 `console.log` 调试代码遗留
149
+ - [ ] 公共 API 有完整 JSDoc 注释
150
+ - [ ] 文件头版权声明完整
151
+
152
+ ---
153
+
154
+ ## 问题严重程度分级
155
+
156
+ | 级别 | 标识 | 说明 |
157
+ |------|------|------|
158
+ | Blocker | 🔴 | 必须修复,会导致功能异常、崩溃、安全漏洞或破坏向后兼容性 |
159
+ | Major | 🟡 | 强烈建议修复,存在潜在风险或明显质量问题 |
160
+ | Minor | 🔵 | 优化建议,不影响功能,属于代码质量/可读性改进 |
@@ -0,0 +1,29 @@
1
+ # 文件类型识别指南
2
+
3
+ 本文档说明如何识别和分类 PR 中修改的文件类型。
4
+
5
+ ---
6
+
7
+ ## 文件类型分类
8
+
9
+ | 扩展名 | 类型 | 检视重点 |
10
+ |--------|------|----------|
11
+ | `.ets` | ArkTS 源文件 | 语言约束、装饰器、UI 逻辑 |
12
+ | `.ts` | TypeScript | 类型安全、异步、事件监听 |
13
+ | `CMakeLists.txt` / `*.cmake` | 构建系统 | Native 模块构建依赖 |
14
+ | `build-profile.json5` | 工程配置 | API Level、签名 |
15
+ | `oh-package.json5` | 包依赖 | 依赖版本、新增依赖合理性 |
16
+ | `module.json5` / `app.json5` | 模块配置 | 权限申请、minAPIVersion |
17
+
18
+ ---
19
+
20
+ ## 改动性质分类
21
+
22
+ | 性质 | 说明 |
23
+ |------|------|
24
+ | 新增功能 | 新增 API、组件、模块 |
25
+ | 功能修复 | Bug 修复、逻辑修正 |
26
+ | 功能优化 | 性能优化、重构 |
27
+ | 配置更新 | 依赖、版本、权限变更 |
28
+ | 文档更新 | 注释、README、文档 |
29
+ | 测试补充 | 单元测试、集成测试 |