@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,427 @@
1
+ ---
2
+ name: tpc-cpp-check
3
+ description: 检视 tpc_c_cplusplus 仓库适配库 PR 的规范性,包括编译脚本(HPKBUILD)、文档格式、目录结构、SHA512SUM 等,并输出结构化检视报告。当用户需要对 C/C++ 三方库 PR 进行规范性检视时调用。支持 GitCode 平台。仅基于 PR 差异和 API 获取文件内容进行检视,无需克隆整个仓库。
4
+ license: Apache-2.0
5
+ compatibility: 需要 curl、网络访问 GitCode API 的权限,无需 git clone
6
+ metadata:
7
+ version: "1.0.0"
8
+ platform: gitcode
9
+ libraryType: tpccplus
10
+ ---
11
+ # TpcCheckSkill — tpc_c_cplusplus 适配库 PR 规范性检视
12
+
13
+ ## 概述
14
+
15
+ 本 Skill 负责对 tpc_c_cplusplus 仓库中适配库 PR 进行规范性检视,包括编译脚本(HPKBUILD)、文档格式(README_zh.md、hap_integrate.md)、目录结构、SHA512SUM、README.OpenSource 等的合规性检查,输出结构化检视报告。
16
+
17
+ **核心设计原则:仅基于 PR 内容进行检视,不克隆整个仓库。** 所有文件内容通过 GitCode API 按需获取,只审查 PR 中实际变更的文件。
18
+
19
+ **关键特性**:
20
+ - **零克隆**:通过 GitCode API 获取 PR diff 和文件内容,无需 `git clone`,大幅减少时间和资源消耗
21
+ - 支持**增量检视**(已有库修改)和**全量检视**(新增库)两种模式
22
+ - 重点检查 HPKBUILD 编译脚本的字段完整性、函数规范性、构建类型合规性
23
+ - 检查文档格式与内容、SHA512SUM 校验、Patch 命名等
24
+ - 输出按严重程度分级的结构化报告
25
+
26
+ **重要:所有输出文档必须使用中文。**
27
+
28
+ ---
29
+
30
+ ## 任务参数
31
+
32
+ | 参数 | 必需 | 说明 |
33
+ |------|------|------|
34
+ | `prUrl` | ✅ | PR 地址,如 `https://gitcode.com/tpc_c_cplusplus/thirdparty/pulls/123` |
35
+ | `outputDir` | ✅ | 输出目录绝对路径,如 `/path/to/codecheck/owner_repo_pr123` |
36
+ | `libraryType` | ❌ | 固定为 `tpccplus` |
37
+ | `accessToken` | ❌ | GitCode API 访问令牌;GitCode API 强烈建议提供 |
38
+ | `branch` | ❌ | 目标分支名;若提供则优先使用 |
39
+
40
+ ---
41
+
42
+ ## 工作流程
43
+
44
+ ### Phase 1:信息收集(仅 API 调用,不克隆仓库)
45
+
46
+ #### 1.1 解析 PR 地址
47
+
48
+ 从 `prUrl` 提取:`platform`、`owner`、`repo`、`prNumber`。
49
+
50
+ | 平台 | URL 模式 | API 支持 |
51
+ |------|----------|----------|
52
+ | GitCode | `https://gitcode.com/{owner}/{repo}/pulls/{num}` | ✅ **API 优先** |
53
+ | Gitee | `https://gitee.com/{owner}/{repo}/pulls/{num}` | 部分 API |
54
+ | GitHub | `https://github.com/{owner}/{repo}/pull/{num}` | API diff |
55
+ | GitLab | `https://gitlab.com/{owner}/{repo}/-/merge_requests/{num}` | API diff |
56
+
57
+ #### 1.2 获取 PR 元数据
58
+
59
+ ```bash
60
+ curl -s "https://api.gitcode.com/api/v5/repos/{owner}/{repo}/pulls/{prNumber}?access_token={accessToken}"
61
+ ```
62
+
63
+ 提取:`title`、`base.ref`(目标分支)、`head.sha`、`user.name`、`created_at`、`state`
64
+
65
+ #### 1.3 获取 PR 文件变更列表
66
+
67
+ ```bash
68
+ curl -s "https://api.gitcode.com/api/v5/repos/{owner}/{repo}/pulls/{prNumber}/files?access_token={accessToken}&per_page=100"
69
+ ```
70
+
71
+ 返回 PR 中所有变更文件的列表,每个条目包含:
72
+ - `filename`:文件路径
73
+ - `status`:变更类型(added / modified / removed / renamed)
74
+ - `additions`:新增行数
75
+ - `deletions`:删除行数
76
+ - `patch`:文件 diff 内容(若文件不大)
77
+
78
+ > **分页处理**:若文件数超过 100,使用 `page` 参数翻页获取全部。
79
+
80
+ #### 1.4 获取 PR Diff(完整补丁)
81
+
82
+ ```bash
83
+ curl -s "https://api.gitcode.com/api/v5/repos/{owner}/{repo}/pulls/{prNumber}/diff?access_token={accessToken}" -o {outputDir}/pr.diff
84
+ ```
85
+
86
+ 或通过 commit patch 获取(适用于 squash merge 场景):
87
+
88
+ ```bash
89
+ curl -s "https://api.gitcode.com/api/v5/repos/{owner}/{repo}/commit/{head.sha}/patch?access_token={accessToken}" -o {outputDir}/pr.patch
90
+ ```
91
+
92
+ > **注意**:commit 路径使用 `commit`(单数),不是 `commits`
93
+
94
+ 将 diff/patch 保存到 `{outputDir}/pr.diff` 供后续分析。
95
+
96
+ #### 1.5 按需获取文件内容(替代 git clone)
97
+
98
+ **核心机制:只获取 PR 中变更的文件内容,不克隆整个仓库。**
99
+
100
+ 对 PR 中每个变更的文件,通过 API 获取其内容:
101
+
102
+ ```bash
103
+ # 获取 PR head 分支上的文件内容(变更后的版本)
104
+ curl -s "https://api.gitcode.com/api/v5/repos/{owner}/{repo}/contents/{filePath}?ref={head.sha}&access_token={accessToken}"
105
+ ```
106
+
107
+ 返回 JSON 包含 `content` 字段(Base64 编码),解码后得到文件内容:
108
+
109
+ ```bash
110
+ echo "{content}" | base64 -d > {outputDir}/files/{filePath}
111
+ ```
112
+
113
+ > **大文件处理**:若文件超过 1MB,API 可能返回错误,此时使用 `?ref={head.sha}&download=true` 参数直接获取原始内容。
114
+
115
+ 对于需要对比的情况(检查删除/修改的旧内容),可获取 base 分支上的文件:
116
+
117
+ ```bash
118
+ # 获取目标分支上的文件内容(变更前的版本)
119
+ curl -s "https://api.gitcode.com/api/v5/repos/{owner}/{repo}/contents/{filePath}?ref={base.ref}&access_token={accessToken}"
120
+ ```
121
+
122
+ #### 1.6 获取适配库目录结构(仅目录列表,不下载文件)
123
+
124
+ 判断检视策略时需要知道 base 分支上是否已存在该库目录:
125
+
126
+ ```bash
127
+ # 查询 base 分支上的目录结构
128
+ curl -s "https://api.gitcode.com/api/v5/repos/{owner}/{repo}/contents/{libDir}?ref={base.ref}&access_token={accessToken}"
129
+ ```
130
+
131
+ 返回目录下的文件和子目录列表(仅名称和类型,不下载内容),用于:
132
+ - 判断是**增量检视**还是**全量检视**
133
+ - 增量检视时了解未变更文件是否存在(不获取其内容)
134
+
135
+ > **注意**:API 返回的目录列表可能不完整(子目录深度有限),若需检查深层目录(如 `docs/pic/`),可单独请求子目录。
136
+
137
+ ---
138
+
139
+ ### Phase 2:差异分析与检视策略判断
140
+
141
+ #### 2.1 识别变更的适配库目录
142
+
143
+ 从 PR 文件变更列表(1.3 的返回结果)中提取变更文件路径,识别涉及的适配库目录:
144
+ - `thirdparty/<libname>/` → thirdparty 类型的适配库
145
+ - `community/<libname>/` → community 类型的适配库
146
+
147
+ 若 PR 涉及多个适配库目录,需分别对每个库独立检视。
148
+
149
+ #### 2.2 判断检视策略:增量 vs 全量
150
+
151
+ **判断方法**:通过 1.6 步骤获取的 base 分支目录列表,判断该库目录是否已存在:
152
+
153
+ - **目录存在** → 已有库的修改 → **增量检视**:仅检查 PR 中变更的文件的规范性
154
+ - **目录不存在** → 新增库 → **全量检视**:对所有必需文件和可选文件进行完整合规性检查
155
+
156
+ > **全量检视时的文件获取**:全量检视需要检查所有必需文件,对 PR 中未变更的必需文件,需通过 API 单独获取其内容进行审查。但若某必需文件既不在 PR 变更中,也不在 base 分支上,则记录为"缺失"问题。
157
+
158
+ #### 2.3 统计改动规模
159
+
160
+ 从 PR 文件变更列表统计:文件数、新增/删除行数、变更类型分布。
161
+
162
+ #### 2.4 获取变更文件的完整内容
163
+
164
+ 对 Phase 3 检视需要审查的每个文件,按 1.5 的方法获取其完整内容并保存到 `{outputDir}/files/` 目录下。
165
+
166
+ **按需获取原则**:
167
+ - HPKBUILD:必须获取完整内容
168
+ - SHA512SUM:必须获取完整内容
169
+ - README.OpenSource:必须获取完整内容
170
+ - README_zh.md:必须获取完整内容
171
+ - docs/hap_integrate.md:若 PR 变更了此文件或为全量检视,获取完整内容
172
+ - HPKCHECK:若存在,获取完整内容
173
+ - OAT.xml:仅检查是否存在,不获取内容
174
+ - Patch 文件:若 PR 变更了 patch,获取完整内容
175
+
176
+ ---
177
+
178
+ ### Phase 3:规范性检视
179
+
180
+ > 详细检查项参见 [references/CHECKLIST.md](references/CHECKLIST.md)
181
+
182
+ #### 3.1 目录结构检查
183
+
184
+ **thirdparty 适配库必需文件**:
185
+
186
+ | 文件 | 必需性 | 检查方式 |
187
+ |------|--------|----------|
188
+ | HPKBUILD | **必需** | PR 变更内容 + API |
189
+ | SHA512SUM | **必需** | PR 变更内容 + API |
190
+ | README.OpenSource | **必需** | PR 变更内容 + API |
191
+ | README_zh.md | **必需** | PR 变更内容 + API |
192
+ | docs/ | **必需** | 目录列表 API |
193
+ | docs/hap_integrate.md | **必需** | PR 变更内容 + API |
194
+ | docs/pic/ | 有文档时必需 | 目录列表 API |
195
+ | HPKCHECK | 建议 | 目录列表 API |
196
+ | OAT.xml | 建议 | 目录列表 API |
197
+
198
+ **community 适配库必需文件**:
199
+
200
+ | 文件 | 必需性 | 检查方式 |
201
+ |------|--------|----------|
202
+ | HPKBUILD | **必需** | PR 变更内容 + API |
203
+ | SHA512SUM | **必需** | PR 变更内容 + API |
204
+
205
+ 其余文件为可选但建议有。
206
+
207
+ > **增量检视**:仅检查 PR 中变更的文件是否存在规范性问题,不对未变更的文件提出缺失问题。
208
+ >
209
+ > **全量检视**:对所有必需文件进行完整性检查,缺失的必需文件记为 Critical 问题。
210
+
211
+ #### 3.2 HPKBUILD 检查(重点维度)
212
+
213
+ 读取通过 API 获取的 HPKBUILD 文件完整内容,逐项检查。
214
+
215
+ **必需字段**:
216
+
217
+ | 字段 | 必需 | 说明 |
218
+ |------|------|------|
219
+ | `pkgname` | 必需 | 与目录名一致 |
220
+ | `pkgver` | 必需 | 上游版本号,与上游 tag 一致;**不能是 `master`** |
221
+ | `pkgrel` | 必需 | 发布号,默认 0 |
222
+ | `pkgdesc` | 必需 | 简短描述 |
223
+ | `url` | 必需 | 上游官网链接 |
224
+ | `archs` | 必需 | 必须包含 `armeabi-v7a` `arm64-v8a` `x86_64` |
225
+ | `license` | 必需 | 许可证数组 |
226
+ | `depends` | 必需 | 依赖库名数组 |
227
+ | `makedepends` | 必需 | 构建依赖数组 |
228
+ | `source` | 必需 | 源码下载链接 |
229
+ | `downloadpackage` | 必需 | true/false |
230
+ | `autounpack` | 必需 | true/false |
231
+ | `builddir` | 必需 | 解压后目录名 |
232
+ | `packagename` | 必需 | 压缩包名 |
233
+
234
+ **pkgver 版本号规范**:
235
+ 1. 必须与上游 tag 名称一致(含 `v` 前缀)
236
+ 2. 不能是 `master`,无合适 release tag 时应使用 commit hash
237
+ 3. commit hash 作为 pkgver 时,不应使用额外的 `commitid` 变量
238
+ 4. pkgver 与 builddir 的关系:不带 `v` → `builddir=$pkgname-${pkgver}`;带 `v` → `builddir=$pkgname-${pkgver:1}`
239
+
240
+ **必需函数**:`prepare()`、`build()`、`package()`、`check()`、`cleanbuild()`
241
+
242
+ **构建类型检查**:
243
+
244
+ | buildtools | 必须包含 |
245
+ |------------|----------|
246
+ | cmake | 使用 `${OHOS_SDK}/native/build-tools/cmake/bin/cmake`,`-DOHOS_ARCH=$ARCH` |
247
+ | configure | `source envset.sh`,`setXXXENV`/`unsetXXXENV` |
248
+ | automake | `source envset.sh`,`setXXXENV`/`unsetXXXENV` |
249
+ | make | `source envset.sh`,使用 `$CC` |
250
+ | meson | `source envset.sh`,`--cross-file`,`ninja -C` |
251
+
252
+ **必需头部**:Apache 2.0 许可证头部 + Contributor/Maintainer 信息
253
+
254
+ > 详细检查项参见 [references/HPKBUILD_GUIDE.md](references/HPKBUILD_GUIDE.md)
255
+
256
+ #### 3.3 SHA512SUM 检查
257
+
258
+ 读取通过 API 获取的 SHA512SUM 文件完整内容,检查:
259
+
260
+ - 每行格式:`<128字符SHA512哈希> <文件名>`
261
+ - 必须包含源码压缩包校验值
262
+ - 如有 patch 文件,也必须包含其校验值
263
+
264
+ #### 3.4 README.OpenSource 检查
265
+
266
+ 读取通过 API 获取的 README.OpenSource 文件完整内容,检查:
267
+
268
+ - 必须是合法 JSON 数组
269
+ - 每个对象必须包含:Name、License、License File、Version Number、Owner、Upstream URL、Description
270
+ - Name 应与 pkgname 一致,Version Number 应与 pkgver 对应
271
+
272
+ #### 3.5 README_zh.md 检查
273
+
274
+ 读取通过 API 获取的 README_zh.md 文件完整内容,检查:
275
+
276
+ 必须包含章节:功能简介、三方库版本、已适配功能、使用约束(链接到 `../../docs/constraint.md`)、集成方式(链接到 `docs/hap_integrate.md`)
277
+
278
+ #### 3.6 docs/hap_integrate.md 检查
279
+
280
+ 读取通过 API 获取的 docs/hap_integrate.md 文件完整内容,检查:
281
+
282
+ 必须包含章节:准备应用工程、准备应用开发环境(链接到 `../../../docs/hap_integrate_environment.md`)、增加构建脚本及配置文件、准备三方库源码、应用中使用三方库、编译工程、运行效果、参考资料
283
+
284
+ #### 3.7 可选文件检查
285
+
286
+ - **OAT.xml**:仅通过目录列表 API 检查文件是否存在
287
+ - **HPKCHECK**:若存在,通过 API 获取完整内容,检查 `source HPKBUILD` 行、`openharmonycheck()` 函数名、`cd $OLDPWD` 和 `return $res`
288
+ - **Patch 文件**:命名格式 `<libname>_oh_pkg.patch` / `<libname>_oh_test.patch`,SHA512SUM 中有校验值
289
+
290
+ ---
291
+
292
+ ### Phase 4:问题分级与影响分析
293
+
294
+ #### 4.1 严重程度定义
295
+
296
+ | 级别 | 含义 | 合入影响 |
297
+ |------|------|----------|
298
+ | **严重 (Critical)** | 缺失必需文件、JSON/XML 格式错误、构建脚本核心函数缺失或错误 | **阻断合入** |
299
+ | **重要 (Major)** | 必需字段缺失或值不正确、文档章节缺失、链接路径错误 | **阻断合入** |
300
+ | **一般 (Minor)** | 建议项缺失(如 HPKCHECK、OAT.xml)、描述不够详尽 | 可后续迭代 |
301
+ | **表面 (Cosmetic)** | 拼写小错误、格式风格不一致 | 可后续迭代 |
302
+
303
+ #### 4.2 合入阻断规则
304
+
305
+ **严重 (Critical) 和重要 (Major) 问题为合入前置条件,必须在 PR 合入前全部修复,否则不予批准合入。**
306
+
307
+ ---
308
+
309
+ ### Phase 5:生成检视报告
310
+
311
+ 输出文件:
312
+ - `{outputDir}/check-report.md` — 检视报告
313
+ - `{outputDir}/changed-files.txt` — 修改文件列表
314
+ - `{outputDir}/result.txt` — 合入建议分级结果
315
+
316
+ > 报告格式参见 [references/REPORT_TEMPLATE.md](references/REPORT_TEMPLATE.md)
317
+
318
+ #### 5.1 合入建议分级标准
319
+
320
+ 根据检视结果,将合入建议分为四个等级:
321
+
322
+ | 等级 | 标识 | 颜色建议 | 判断标准 | 举例场景 |
323
+ |------|------|----------|----------|----------|
324
+ | **建议合入** | ✅ `PASS` | 绿色 | 无或极少(≤2 Minor)问题,改动风险低 | 纯文档更新、配置优化 |
325
+ | **条件合入** | ⚠️ `CONDITIONAL` | 黄色 | 存在少量(≤3 Major)可修复问题 | 需补充文档章节、链接路径错误 |
326
+ | **修改后合入** | 🔧 `NEED_FIX` | 橙色 | 存在较多问题(≥1 Critical 或 ≥4 Major),需修复后方可合入 | HPKBUILD 核心函数缺失、必需文件缺失 |
327
+ | **不允许合入** | ❌ `REJECT` | 红色 | 存在严重问题(≥2 Critical),影响构建/功能/安全 | 多个必需文件缺失、构建脚本严重错误 |
328
+
329
+ **分级判断流程**:
330
+
331
+ ```
332
+ 统计问题数量:
333
+ - Critical 级别问题数
334
+ - Major 级别问题数
335
+ - Minor 级别问题数
336
+
337
+ 判断逻辑:
338
+ IF Critical ≥ 2 → ❌ REJECT
339
+ IF Critical ≥ 1 → 🔧 NEED_FIX
340
+ IF Major ≥ 4 → 🔧 NEED_FIX
341
+ IF Major ≥ 1 → ⚠️ CONDITIONAL
342
+ IF Minor ≤ 2 → ✅ PASS
343
+ ELSE → ⚠️ CONDITIONAL
344
+ ```
345
+
346
+ #### 5.2 result.txt 文件格式
347
+
348
+ `result.txt` 用于存储分级结果和统计信息,格式如下:
349
+
350
+ ```txt
351
+ === 合入建议分级报告 ===
352
+ PR 地址:{prUrl}
353
+ 仓库:{owner}/{repo}
354
+ PR 编号:#{prNumber}
355
+ 生成时间:{YYYY-MM-DD HH:mm:ss}
356
+
357
+ 【合入建议】:✅ 建议合入
358
+
359
+ 【问题统计】
360
+ - Critical 级别:0 个
361
+ - Major 级别:0 个
362
+ - Minor 级别:2 个
363
+
364
+ 【分级理由】
365
+ 本次修改仅包含少量 Minor 级别优化建议,无功能性问题,改动风险低,建议直接合入。
366
+
367
+ 【详细分析】
368
+ ━━━ Critical 级别问题 ━━━
369
+ {列出所有 Critical 问题,每个占一行}
370
+
371
+ ━━━ Major 级别问题 ━━━
372
+ {列出所有 Major 问题,每个占一行}
373
+
374
+ ━━━ Minor 级别问题 ━━━
375
+ 1. [文件类型:建议项] 缺少 HPKCHECK 测试脚本(建议补充)
376
+ 2. [文件类型:建议项] 缺少 OAT.xml 合规审计配置(建议补充)
377
+
378
+ ━━━ 合入建议 ━━━
379
+ 建议合入:本次修改质量良好,无功能性风险。
380
+
381
+ === 分级结束 ===
382
+ ```
383
+
384
+ #### 5.3 结构化指标输出(必须执行)
385
+
386
+ 执行环境会在任务 prompt 中下发一个**结构化指标文件输出路径**(`stepId{X}_loop{L}_meta_{N}.json`)。
387
+ 检视完成后,**必须**将分级结果以下述 JSON 对象写入该路径:
388
+
389
+ ```json
390
+ {
391
+ "mergeLevel": "PASS | CONDITIONAL | NEED_FIX | REJECT",
392
+ "critical": 0,
393
+ "major": 0,
394
+ "minor": 0
395
+ }
396
+ ```
397
+
398
+ | 字段 | 类型 | 说明 |
399
+ |------|------|------|
400
+ | `mergeLevel` | string | 合入等级:PASS / CONDITIONAL / NEED_FIX / REJECT |
401
+ | `critical` | number | Critical 级别问题数 |
402
+ | `major` | number | Major 级别问题数 |
403
+ | `minor` | number | Minor 级别问题数 |
404
+
405
+ **说明**:该文件由执行框架自动收割入库(前端/历史列表直接读取,无需解析报告文本);详细的统计与理由已在 `result.txt` 中完整记录。若 prompt 未下发该路径则跳过本节。
406
+
407
+ ---
408
+
409
+ ## 注意事项
410
+
411
+ 1. **不克隆仓库**:所有文件内容通过 GitCode API 按需获取,只获取 PR 中变更的文件和检视必需的文件,大幅减少时间和资源消耗
412
+ 2. **API 限流**:GitCode API 有调用频率限制,建议提供 `accessToken` 以提高限额;无 Token 时注意控制请求频率
413
+ 3. **增量检视范围**:仅检查 PR 变更的文件,不对未修改的文件提出缺失问题
414
+ 4. **预存问题不在增量检视范围内**:增量检视不纳入仓库中已存在的问题
415
+ 5. **报告文件名必须是 `check-report.md`**,路径在 `{outputDir}` 下
416
+ 6. **所有输出文档必须使用中文**
417
+ 7. **pkgver 不能是 `master`**:这是历史遗留模式,新增或修改的适配库不应再使用
418
+ 8. **大文件处理**:若 API 返回的文件内容为 Base64 编码且超过 1MB,应使用 download 参数获取原始内容
419
+ 9. **Base64 解码**:GitCode API contents 端点返回的 `content` 字段为 Base64 编码,需解码后才是文件原始内容
420
+
421
+ ---
422
+
423
+ ## 参考文档
424
+
425
+ - [规范性检查清单](references/CHECKLIST.md)
426
+ - [HPKBUILD 详细检查指南](references/HPKBUILD_GUIDE.md)
427
+ - [检视报告模板](references/REPORT_TEMPLATE.md)
@@ -0,0 +1,214 @@
1
+ # tpc_c_cplusplus 适配库规范性检查清单
2
+
3
+ 本清单用于 TpcCheckSkill Phase 3 的逐项检查。
4
+
5
+ **数据获取原则**:所有文件内容通过 GitCode API 按需获取,不克隆整个仓库。
6
+ - `contents` API:获取文件内容(Base64 编码,需解码)或目录列表
7
+ - `pulls/{num}/files` API:获取 PR 变更文件列表
8
+ - `pulls/{num}/diff` API:获取 PR 完整 diff
9
+
10
+ ---
11
+
12
+ ## 1. 目录结构检查
13
+
14
+ ### 1.1 thirdparty 适配库
15
+
16
+ | # | 检查项 | 必需性 | 严重程度(缺失时) | 检查方式 |
17
+ |---|--------|--------|-------------------|----------|
18
+ | 1 | HPKBUILD 存在 | 必需 | Critical | PR 变更 + API contents |
19
+ | 2 | SHA512SUM 存在 | 必需 | Critical | PR 变更 + API contents |
20
+ | 3 | README.OpenSource 存在 | 必需 | Critical | PR 变更 + API contents |
21
+ | 4 | README_zh.md 存在 | 必需 | Critical | PR 变更 + API contents |
22
+ | 5 | docs/ 目录存在 | 必需 | Major | API 目录列表 |
23
+ | 6 | docs/hap_integrate.md 存在 | 必需 | Major | PR 变更 + API contents |
24
+ | 7 | docs/pic/ 目录存在 | 有文档时必需 | Minor | API 目录列表 |
25
+ | 8 | HPKCHECK 存在 | 建议 | Minor | API 目录列表 |
26
+ | 9 | OAT.xml 存在 | 建议 | Minor | API 目录列表 |
27
+
28
+ ### 1.2 community 适配库
29
+
30
+ | # | 检查项 | 必需性 | 严重程度(缺失时) | 检查方式 |
31
+ |---|--------|--------|-------------------|----------|
32
+ | 1 | HPKBUILD 存在 | 必需 | Critical | PR 变更 + API contents |
33
+ | 2 | SHA512SUM 存在 | 必需 | Critical | PR 变更 + API contents |
34
+ | 3 | README.OpenSource 存在 | 建议 | Minor | API 目录列表 |
35
+ | 4 | README_zh.md 存在 | 建议 | Minor | API 目录列表 |
36
+ | 5 | HPKCHECK 存在 | 建议 | Minor | API 目录列表 |
37
+ | 6 | OAT.xml 存在 | 建议 | Minor | API 目录列表 |
38
+
39
+ ### 1.3 文件名拼写
40
+
41
+ | # | 检查项 | 严重程度 |
42
+ |---|--------|----------|
43
+ | 1 | hap_integrate.md 拼写正确(不是 hap_ingtegrate.md) | Critical(若拼错) |
44
+
45
+ ---
46
+
47
+ ## 2. HPKBUILD 检查
48
+
49
+ ### 2.1 必需字段
50
+
51
+ | # | 字段 | 严重程度(缺失时) |
52
+ |---|------|-------------------|
53
+ | 1 | pkgname | Critical |
54
+ | 2 | pkgver | Critical |
55
+ | 3 | pkgrel | Critical |
56
+ | 4 | pkgdesc | Major |
57
+ | 5 | url | Major |
58
+ | 6 | archs | Critical |
59
+ | 7 | license | Critical |
60
+ | 8 | depends | Major |
61
+ | 9 | makedepends | Minor |
62
+ | 10 | source | Critical |
63
+ | 11 | downloadpackage | Major |
64
+ | 12 | autounpack | Major |
65
+ | 13 | builddir | Critical |
66
+ | 14 | packagename | Major |
67
+
68
+ ### 2.2 字段值检查
69
+
70
+ | # | 检查项 | 严重程度 |
71
+ |---|--------|----------|
72
+ | 1 | pkgname 与目录名一致 | Major |
73
+ | 2 | pkgver 不是 `master` | Critical |
74
+ | 3 | pkgver 不使用 `commitid` 变量(应直接用 hash) | Major |
75
+ | 4 | pkgver 带 `v` 前缀时 builddir 使用 `${pkgver:1}` | Major |
76
+ | 5 | archs 包含 `armeabi-v7a`、`arm64-v8a`、`x86_64` | Critical |
77
+ | 6 | buildtools 值合法(cmake/configure/automake/make/meson/jamfile) | Major |
78
+
79
+ ### 2.3 必需函数
80
+
81
+ | # | 函数 | 严重程度(缺失时) |
82
+ |---|------|-------------------|
83
+ | 1 | prepare() | Critical |
84
+ | 2 | build() | Critical |
85
+ | 3 | package() | Critical |
86
+ | 4 | check() | Critical |
87
+ | 5 | cleanbuild() | Critical |
88
+
89
+ ### 2.4 build() 函数规范
90
+
91
+ | # | 检查项 | 构建类型 | 严重程度 |
92
+ |---|--------|----------|----------|
93
+ | 1 | cmake 使用 `${OHOS_SDK}/native/build-tools/cmake/bin/cmake` | cmake | Critical |
94
+ | 2 | cmake 包含 `-DOHOS_ARCH=$ARCH` | cmake | Critical |
95
+ | 3 | cmake 包含 `-B$ARCH-build -S./` | cmake | Major |
96
+ | 4 | 输出重定向到 `$buildlog` | cmake/make | Minor |
97
+ | 5 | 有 `source envset.sh` 行 | configure/automake/make | Critical |
98
+ | 6 | prepare() 中根据 `$ARCH` 设置 `host` 变量 | configure/automake | Major |
99
+ | 7 | prepare() 中调用 `setXXXENV` | configure/automake/make | Major |
100
+ | 8 | package() 中调用 `unsetXXXENV` | configure/automake/make | Major |
101
+ | 9 | meson 包含 `--cross-file` 参数 | meson | Critical |
102
+ | 10 | meson 使用 `ninja -C $ARCH-build` | meson | Major |
103
+ | 11 | `cd $OLDPWD` 并 `return $ret` | 所有类型 | Major |
104
+
105
+ ### 2.5 头部检查
106
+
107
+ | # | 检查项 | 严重程度 |
108
+ |---|--------|----------|
109
+ | 1 | Apache 2.0 许可证头部 | Minor |
110
+ | 2 | Contributor 信息 | Minor |
111
+ | 3 | Maintainer 信息 | Minor |
112
+
113
+ ### 2.6 check() 函数
114
+
115
+ | # | 检查项 | 严重程度 |
116
+ |---|--------|----------|
117
+ | 1 | 至少包含 `echo "The test must be on an OpenHarmony device!"` | Major |
118
+
119
+ ---
120
+
121
+ ## 3. SHA512SUM 检查
122
+
123
+ | # | 检查项 | 严重程度 |
124
+ |---|--------|----------|
125
+ | 1 | 文件非空 | Critical |
126
+ | 2 | 每行格式为 `<128字符哈希> <文件名>` | Major |
127
+ | 3 | 哈希值为 128 个十六进制字符 | Major |
128
+ | 4 | 包含源码压缩包的校验值 | Critical |
129
+ | 5 | Patch 文件有对应校验值 | Major |
130
+
131
+ ---
132
+
133
+ ## 4. README.OpenSource 检查
134
+
135
+ | # | 检查项 | 严重程度 |
136
+ |---|--------|----------|
137
+ | 1 | 是合法 JSON | Critical |
138
+ | 2 | 是 JSON 数组 | Critical |
139
+ | 3 | 数组非空 | Major |
140
+ | 4 | 每个对象包含 Name 字段 | Major |
141
+ | 5 | 每个对象包含 License 字段 | Major |
142
+ | 6 | 每个对象包含 License File 字段 | Major |
143
+ | 7 | 每个对象包含 Version Number 字段 | Major |
144
+ | 8 | 每个对象包含 Owner 字段 | Major |
145
+ | 9 | 每个对象包含 Upstream URL 字段 | Major |
146
+ | 10 | 每个对象包含 Description 字段 | Major |
147
+ | 11 | Name 与 pkgname 一致 | Minor |
148
+ | 12 | Version Number 与 pkgver 对应 | Minor |
149
+ | 13 | License 与 HPKBUILD 中 license 字段对应 | Minor |
150
+
151
+ ---
152
+
153
+ ## 5. README_zh.md 检查
154
+
155
+ | # | 检查项 | 严重程度 |
156
+ |---|--------|----------|
157
+ | 1 | 标题格式 `# <libname>三方库说明` | Major |
158
+ | 2 | 包含"功能简介"章节 | Major |
159
+ | 3 | 包含"三方库版本"章节 | Major |
160
+ | 4 | 包含"已适配功能"章节 | Major |
161
+ | 5 | 包含"使用约束"章节 | Major |
162
+ | 6 | 包含"集成方式"章节 | Major |
163
+ | 7 | "使用约束"链接到 `../../docs/constraint.md` | Major |
164
+ | 8 | "集成方式"链接到 `docs/hap_integrate.md` | Major |
165
+
166
+ ---
167
+
168
+ ## 6. docs/hap_integrate.md 检查
169
+
170
+ | # | 检查项 | 严重程度 |
171
+ |---|--------|----------|
172
+ | 1 | 标题格式 `# <libname>如何集成到应用hap` | Major |
173
+ | 2 | 包含"准备应用工程"章节 | Major |
174
+ | 3 | 包含"准备应用开发环境"章节 | Major |
175
+ | 4 | 包含"增加构建脚本及配置文件"章节 | Major |
176
+ | 5 | 包含"准备三方库源码"章节 | Major |
177
+ | 6 | 包含"应用中使用三方库"章节 | Major |
178
+ | 7 | 包含"编译工程"章节 | Major |
179
+ | 8 | 包含"运行效果"章节 | Major |
180
+ | 9 | 包含"参考资料"章节 | Minor |
181
+ | 10 | 开发环境链接指向 `../../../docs/hap_integrate_environment.md` | Major |
182
+ | 11 | 包含 CMakeLists.txt 引用(`target_link_libraries`) | Minor |
183
+ | 12 | 包含截图引用(`![...](pic/...`) | Minor |
184
+
185
+ ---
186
+
187
+ ## 7. HPKCHECK 检查(当存在时)
188
+
189
+ | # | 检查项 | 严重程度 |
190
+ |---|--------|----------|
191
+ | 1 | 包含 `source HPKBUILD` 行 | Major |
192
+ | 2 | 函数名为 `openharmonycheck()` | Major |
193
+ | 3 | 包含 `cd $OLDPWD` | Major |
194
+ | 4 | 包含 `return $res` | Major |
195
+
196
+ ---
197
+
198
+ ## 8. Patch 文件检查
199
+
200
+ | # | 检查项 | 严重程度 |
201
+ |---|--------|----------|
202
+ | 1 | 命名格式 `<libname>_oh_pkg.patch` 或 `<libname>_oh_test.patch` | Minor |
203
+ | 2 | SHA512SUM 中有 patch 的校验值 | Major |
204
+ | 3 | 在 prepare() 中应用 patch | Major |
205
+
206
+ ---
207
+
208
+ ## 9. 通用规范检查
209
+
210
+ | # | 检查项 | 严重程度 |
211
+ |---|--------|----------|
212
+ | 1 | 不应包含源码压缩包本身 | Critical(若包含) |
213
+ | 2 | 不应引入与上游无关的二进制文件 | Critical(若包含) |
214
+ | 3 | depends 依赖库的 archs 是当前库 archs 的超集 | Major |