@ohos-cpf/3rdloop 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/README.md +245 -425
  2. package/bin/3rdloop.mjs +46 -46
  3. package/lib/cli.js +781 -740
  4. package/lib/config-cmd.js +452 -0
  5. package/lib/config.js +318 -317
  6. package/lib/doctor.js +113 -113
  7. package/lib/exit-codes.js +30 -30
  8. package/lib/opencode.js +155 -155
  9. package/lib/orch.js +426 -426
  10. package/lib/queries.js +263 -263
  11. package/lib/step.js +325 -325
  12. package/lib/ui.js +222 -222
  13. package/lib/update.js +280 -0
  14. package/lib/workflow.js +308 -290
  15. package/lib/workflows.js +131 -131
  16. package/package.json +50 -50
  17. package/vendor/Server/Agent/SkillSelector/README.md +343 -343
  18. package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -207
  19. package/vendor/Server/Agent/SkillSelector/index.js +14 -14
  20. package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -313
  21. package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -161
  22. package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -144
  23. package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -433
  24. package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -382
  25. package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +59 -59
  26. package/vendor/Server/Brain/AnalysisStrategies.js +422 -422
  27. package/vendor/Server/Brain/Brain.js +686 -686
  28. package/vendor/Server/Brain/DecompositionStrategies.js +621 -621
  29. package/vendor/Server/Brain/PlanPersistence.js +196 -196
  30. package/vendor/Server/Brain/SkillExecutor.js +251 -251
  31. package/vendor/Server/Brain/index.js +11 -11
  32. package/vendor/Server/CLI/cli.js +275 -243
  33. package/vendor/Server/CLI/deveco-code/index.js +71 -0
  34. package/vendor/Server/CLI/deveco-code.js +5 -0
  35. package/vendor/Server/CLI/opencode/index.js +817 -804
  36. package/vendor/Server/CLI/opencode.js +5 -5
  37. package/vendor/Server/DbUse/MessageArchive.js +61 -61
  38. package/vendor/Server/DbUse/StorageManager.js +107 -107
  39. package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -94
  40. package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -138
  41. package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -138
  42. package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -114
  43. package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -157
  44. package/vendor/Server/DbUse/index.js +160 -160
  45. package/vendor/Server/DbUse/stores/SessionStore.js +279 -279
  46. package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -133
  47. package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -262
  48. package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -279
  49. package/vendor/Server/FlexRunner/FlexRunner.js +1759 -1759
  50. package/vendor/Server/FlexRunner/index.js +12 -12
  51. package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -523
  52. package/vendor/Server/Knowledge/KnowledgeManager.js +341 -341
  53. package/vendor/Server/Knowledge/index.js +33 -33
  54. package/vendor/Server/LoopEngine/LoopEngine.js +1133 -1133
  55. package/vendor/Server/LoopEngine/index.js +11 -11
  56. package/vendor/Server/Orchestrator/Orchestrator.js +0 -3
  57. package/vendor/Server/Orchestrator/StepNode.js +312 -312
  58. package/vendor/Server/Orchestrator/index.js +13 -13
  59. package/vendor/Server/Routes/controllers/BrainController.js +241 -241
  60. package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -1125
  61. package/vendor/Server/Routes/controllers/HealthController.js +44 -44
  62. package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -355
  63. package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -788
  64. package/vendor/Server/Routes/controllers/StatsController.js +57 -57
  65. package/vendor/Server/Routes/controllers/StreamController.js +67 -67
  66. package/vendor/Server/Routes/library/logger.js +179 -179
  67. package/vendor/Server/Routes/library/zipArchive.js +172 -172
  68. package/vendor/Server/Routes/router/Router.js +204 -204
  69. package/vendor/Server/Routes/routes/brain.js +47 -47
  70. package/vendor/Server/Routes/routes/flexrunner.js +72 -72
  71. package/vendor/Server/Routes/routes/health.js +28 -28
  72. package/vendor/Server/Routes/routes/index.js +57 -57
  73. package/vendor/Server/Routes/routes/knowledge.js +55 -55
  74. package/vendor/Server/Routes/routes/loopengine.js +58 -58
  75. package/vendor/Server/Routes/routes/orchestrator.js +61 -61
  76. package/vendor/Server/Routes/routes/registry.js +97 -97
  77. package/vendor/Server/Routes/routes/stats.js +23 -23
  78. package/vendor/Server/Routes/routes/stream.js +30 -30
  79. package/vendor/Server/Routes/server.js +203 -202
  80. package/vendor/Server/Routes/sse/SseHub.js +308 -308
  81. package/vendor/Server/Skills/acceptance-check/SKILL.md +191 -174
  82. package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -52
  83. package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -77
  84. package/vendor/Server/Skills/acceptance-check/references/PHASE2_EVIDENCE_VERIFICATION.md +70 -0
  85. package/vendor/Server/Skills/arkts-code-check/SKILL.md +320 -313
  86. package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +210 -159
  87. package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +28 -28
  88. package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +233 -222
  89. package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +219 -219
  90. package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +328 -328
  91. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -93
  92. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +432 -432
  93. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -851
  94. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +788 -788
  95. package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -291
  96. package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -68
  97. package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -184
  98. package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -337
  99. package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -400
  100. package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +98 -98
  101. package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -544
  102. package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -93
  103. package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +432 -432
  104. package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -851
  105. package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +788 -788
  106. package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -174
  107. package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -321
  108. package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -100
  109. package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -185
  110. package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +233 -233
  111. package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +102 -102
  112. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -89
  113. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -62
  114. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +107 -107
  115. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -124
  116. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -90
  117. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -57
  118. package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -259
  119. package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -97
  120. package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +391 -391
  121. package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -113
  122. package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +312 -312
  123. package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -154
  124. package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +165 -165
  125. package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +308 -308
  126. package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -90
  127. package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -282
  128. package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +360 -360
  129. package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +145 -145
  130. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +252 -252
  131. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +114 -114
  132. package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +262 -262
  133. package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -455
  134. package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -60
  135. package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -76
  136. package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -200
  137. package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +518 -518
  138. package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -276
  139. package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +92 -92
  140. package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -767
  141. package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -93
  142. package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +432 -432
  143. package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -851
  144. package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +788 -788
  145. package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -221
  146. package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +228 -228
  147. package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -97
  148. package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -194
  149. package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +575 -575
  150. package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +574 -574
  151. package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -182
  152. package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +490 -490
  153. package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -217
  154. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -93
  155. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +432 -432
  156. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -851
  157. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +788 -788
  158. package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -299
  159. package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +311 -311
  160. package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -190
  161. package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +133 -133
  162. package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -259
  163. package/vendor/Server/Skills/flutter-interface/README.md +75 -75
  164. package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -291
  165. package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -336
  166. package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -190
  167. package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -258
  168. package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -254
  169. package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +517 -517
  170. package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +381 -381
  171. package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +341 -341
  172. package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -71
  173. package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +518 -518
  174. package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +406 -406
  175. package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +652 -652
  176. package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +396 -396
  177. package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +744 -744
  178. package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +720 -720
  179. package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -414
  180. package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -150
  181. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -304
  182. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -265
  183. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -286
  184. package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -383
  185. package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -165
  186. package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -91
  187. package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -127
  188. package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +453 -301
  189. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_CHECKLIST.md +151 -0
  190. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +257 -105
  191. package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +191 -127
  192. package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +317 -208
  193. package/vendor/Server/Skills/rn-code-check/SKILL.md +320 -320
  194. package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +234 -234
  195. package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +188 -188
  196. package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +246 -246
  197. package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -198
  198. package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -40
  199. package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -78
  200. package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -70
  201. package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -47
  202. package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -252
  203. package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -176
  204. package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -5
  205. package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -35
  206. package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -137
  207. package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -33
  208. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -40
  209. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -429
  210. package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -105
  211. package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -90
  212. package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -213
  213. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -73
  214. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -258
  215. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -341
  216. package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -67
  217. package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -299
  218. package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -293
  219. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -857
  220. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -856
  221. package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -157
  222. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -801
  223. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +683 -683
  224. package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -233
  225. package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -1373
  226. package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -220
  227. package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -245
  228. package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -263
  229. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -414
  230. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -413
  231. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -311
  232. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -355
  233. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -115
  234. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -139
  235. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -586
  236. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -57
  237. package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -259
  238. package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -301
  239. package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -148
  240. package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -118
  241. package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -168
  242. package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -176
  243. package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -274
  244. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -45
  245. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -25
  246. package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -61
  247. package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -165
  248. package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -239
  249. package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -263
  250. package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -96
  251. package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +57 -57
  252. package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -99
  253. package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -64
  254. package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +74 -74
  255. package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -164
  256. package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +356 -339
  257. package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +85 -83
  258. package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +905 -859
  259. package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +124 -122
  260. package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +287 -279
  261. package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -273
  262. package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -129
  263. package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -581
  264. package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -138
  265. package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -168
  266. package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +526 -506
  267. package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +321 -280
  268. package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -221
  269. package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +220 -209
  270. package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -325
  271. package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -279
  272. package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -404
  273. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -185
  274. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -265
  275. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -189
  276. package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -203
  277. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -147
  278. package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -148
  279. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -165
  280. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -195
  281. package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -249
  282. package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -235
  283. package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -161
  284. package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -413
  285. package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -235
  286. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -245
  287. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -282
  288. package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -251
  289. package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -469
  290. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -310
  291. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -303
  292. package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -421
  293. package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -358
  294. package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -114
  295. package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -274
  296. package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -185
  297. package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -191
  298. package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -216
  299. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -107
  300. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -120
  301. package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -108
  302. package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -237
  303. package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -261
  304. package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -112
  305. package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +497 -497
  306. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -270
  307. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -164
  308. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -556
  309. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -459
  310. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -65
  311. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -512
  312. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -132
  313. package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -424
  314. package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -137
  315. package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -306
  316. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -485
  317. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -172
  318. package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -422
  319. package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -95
  320. package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -169
  321. package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -554
  322. package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -106
  323. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -216
  324. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -413
  325. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -269
  326. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -98
  327. package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -337
  328. package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -722
  329. package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -219
  330. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -345
  331. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -269
  332. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -173
  333. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -267
  334. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -174
  335. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -111
  336. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -186
  337. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -150
  338. package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -296
  339. package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -371
  340. package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -212
  341. package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -345
  342. package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -223
  343. package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -1053
  344. package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +295 -255
  345. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +82 -77
  346. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -224
  347. package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +175 -174
  348. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -967
  349. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -1798
  350. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -5
  351. package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +180 -137
  352. package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -145
  353. package/vendor/Server/Skills/skill-generator/SKILL.md +365 -365
  354. package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -183
  355. package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -82
  356. package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -110
  357. package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -122
  358. package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -121
  359. package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -259
  360. package/vendor/Server/Skills/task-analysis/SKILL.md +234 -234
  361. package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -160
  362. package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -190
  363. package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -224
  364. package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -162
  365. package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -55
  366. package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -126
  367. package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -256
  368. package/vendor/Server/Skills/task-decomposition/SKILL.md +528 -528
  369. package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -451
  370. package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -179
  371. package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -152
  372. package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -175
  373. package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -195
  374. package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -226
  375. package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -263
  376. package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -29
  377. package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -376
  378. package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -259
  379. package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -216
  380. package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +424 -424
  381. package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -427
  382. package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -214
  383. package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -235
  384. package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -250
  385. package/vendor/Server/TestCheck/TestCheck.js +775 -775
  386. package/vendor/Server/TestCheck/index.js +11 -11
  387. package/vendor/Server/library/McpToolGuide.js +280 -280
  388. package/vendor/Server/library/StatsService.js +126 -126
  389. package/vendor/Server/library/cstTime.js +16 -16
  390. package/vendor/VERSION +3 -3
  391. package/workflows/pr-check.mjs +105 -105
  392. package/workflows/pr-push.mjs +193 -0
  393. package/vendor/Server/Agent/SkillSelector/types.js +0 -63
@@ -1,355 +1,355 @@
1
- # 文档质量检视检查清单
2
-
3
- 本文件供 `rn-library-documentation-quality-check` 技能在 Phase 2 阶段参考使用,详细定义各维度的检查项和判定标准。
4
-
5
- ---
6
-
7
- ## 一、API 文档完整性检查
8
-
9
- > **定位**:检查文档(README API 表/属性表、外部 usage-docs、`.d.ts` 声明、源码 TSDoc/JSDoc)中描述的**接口清单、类型、签名、平台标记、枚举值**是否与**接口规格说明书**一致。
10
- >
11
- > **与第七章的关系**:本章从"文档完整性"视角检查 API 是否被正确记录;第七章(XC)从"交叉验证"视角做强制复核。两者检查对象相同但目的互补,XC 章节可作为 AD 检查的兜底校验。
12
-
13
- ### 1.1 API 清单一致性
14
-
15
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
16
- |---|--------|---------|--------|-----------|
17
- | AD-001 | 文档 API/属性/参数在规格中不存在(幽灵接口/多列) | 从 README API 表/属性表/参数列表提取所有名称,逐一在规格说明书中检索 | Critical | README 列出 `Database.query()` 但规格无此方法;或文档多列 `onCustomEvent` 属性、多列 `callback` 参数 |
18
- | AD-002 | 规格 API/类/接口/必选参数在文档中无描述 | 从规格说明书提取所有公开 API/类/接口/必选参数,逐一在文档中搜索 | Major | 规格定义 `configure(options)`/`SessionConfig` 接口/必选 `options` 参数,文档均未提及 |
19
- | AD-003 | 文档 API 名称与规格拼写/大小写不一致 | 逐字对比文档 API 名与规格中的方法名 | Major | 文档写 `getSSID()`,规格为 `getWifiSSID()`;或 `insertText` vs `inserttext` |
20
-
21
- ### 1.2 类型与签名一致性
22
-
23
- > 比对文档描述的参数类型、返回类型、联合类型、可选性、参数名/顺序/默认值是否与接口规格说明书一致。
24
-
25
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
26
- |---|--------|---------|--------|-----------|
27
- | AD-004 | 文档参数类型/联合类型与规格不一致 | 对比文档参数类型与规格签名 | Major | 文档写 `type: string`,规格为 `type?: string \| number`;或文档写 `mode: string`,规格为 `mode: 'auto' \| 'manual'` |
28
- | AD-005 | 文档返回类型与规格不一致 | 对比文档返回类型与规格定义 | Major | 文档写 `getConfig(): Config`,规格为 `getConfig(): Promise<Config>` |
29
- | AD-006 | 文档遗漏 async/Promise 标注 | 检查文档标注为同步的方法在规格中是否为异步 | Critical | 文档写 `fetch(): State`,规格为 `fetch(): Promise<State>`,用户不 await 导致错误 |
30
- | AD-007 | 文档可选性标注与规格不一致 | 对比文档标注的必选/可选与规格定义 | Minor | 文档写 `callback: Function`(必选),规格 `callback?: Function`(可选) |
31
- | AD-008 | 文档参数名/顺序与规格不一致 | 对比文档参数名及顺序与规格签名 | Major | 文档写 `f(a, url)`,规格为 `f(b, uri)`,参数名和顺序均不同 |
32
- | AD-009 | 文档参数默认值与规格不一致 | 对比文档标注的默认值与规格定义 | Minor | 文档写 `timeout = 5000`,规格 `timeout = 3000` |
33
-
34
- ### 1.3 平台支持标记准确性(HarmonyOS Support)
35
-
36
- > 比对 README/外部文档 API 支持矩阵中的 HarmonyOS Support(Yes/No/Partial)标记与接口规格说明书的鸿蒙化差异是否一致。
37
-
38
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
39
- |---|--------|---------|--------|-----------|
40
- | AD-010 | 文档标记 Yes 但规格标记为缺失 | 对比文档 Yes 标记与规格第 5.1 节缺失接口 | Critical | 文档标记 `WebViewNativeConfig` 为 Yes,规格标记为鸿蒙缺失 |
41
- | AD-011 | 规格新增的鸿蒙特有 API 文档未标记/未描述 | 对比规格第 5.2 节新增接口与文档描述 | Major | 规格标记 `schemeList` 为新增🆕,文档未提及 |
42
- | AD-012 | 文档标记 Partial 但未说明部分支持的范围 | 检查 Partial 标记是否说明不支持的具体子项/场景 | Major | 文档标 `ScrollView` 为 Partial 但未说明哪些属性不支持 |
43
- | AD-013 | 文档平台支持矩阵与规格鸿蒙化差异整体不一致 | 对比文档 Yes/No/Partial 矩阵与规格第 5 章差异记录 | Major | 文档标记多个属性为 Yes 但规格记录为缺失或签名变更 |
44
-
45
- ### 1.4 属性/枚举/常量值完整性
46
-
47
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
48
- |---|--------|---------|--------|-----------|
49
- | AD-014 | 文档遗漏规格中的枚举成员/常量/配置项 | 对比规格枚举/常量与文档说明 | Major | 规格 enum 有 `A/B/C`,文档只列 `A/B`;规格有 `DEFAULT_TIMEOUT` 常量,文档未提及 |
50
- | AD-015 | 文档枚举值/常量值与规格不一致 | 对比文档值与规格定义的值 | Major | 文档写 `ERROR = 1`,规格 `ERROR = 0` |
51
-
52
- ---
53
-
54
- ## 二、鸿蒙化适配说明检查
55
-
56
- > **定位**:以 [MODEL.md](../assets/MODEL.md) 文档模板为基准,检查鸿蒙化适配说明文档中每个章节是否合理存在且内容完整。
57
- >
58
- > 其中"简介""使用示例""使用说明""接口说明""贡献代码""开源协议"等通用章节的质量检查分别由第一章(API 文档完整性)、第五章(代码仓基础信息)、第三章(代码示例质量)、第七章(交叉验证)覆盖。本章聚焦**鸿蒙化适配特有**的章节。
59
-
60
- ### 2.1 鸿蒙化适配说明整体存在性
61
-
62
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
63
- |---|--------|---------|--------|-----------|
64
- | HA-001 | 缺少鸿蒙化适配说明 | 检查是否存在任何鸿蒙化适配相关文档(README 章节/独立文档/外部 usage-docs) | Critical | 无任何鸿蒙化适配文档 |
65
-
66
- ### 2.2 版本所属关系表格检查
67
-
68
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
69
- |---|--------|---------|--------|-----------|
70
- | HA-002 | 缺少版本所属关系表格 | 检查文档头部是否存在版本信息表格 | Major | 文档无版本所属关系表格 |
71
- | HA-003 | 版本表格列不完整 | 检查表格是否包含:库名称、版本、发布信息、支持RN版本、Autolink、编译API版本、社区基线版本、npm地址 | Major | 表格缺少"编译API版本"或"社区基线版本"列 |
72
- | HA-004 | 鸿蒙化包名不规范 | 检查包名是否使用 `@react-native-ohos/` 或 `@react-native-oh-tpl/` 前缀 | Major | 包名使用原库名而非鸿蒙化前缀 |
73
- | HA-005 | 未标记废弃版本 | 检查已废弃的旧版本是否标注 `@deprecated` | Minor | 旧版本仍列为推荐版本,未标注废弃 |
74
-
75
- ### 2.3 下载安装检查
76
-
77
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
78
- |---|--------|---------|--------|-----------|
79
- | HA-006 | 缺少下载安装章节 | 检查是否存在"下载安装"章节 | Major | 无"下载安装"章节 |
80
- | HA-007 | 安装命令包名错误 | 检查 npm/yarn install 命令是否使用鸿蒙化包名 | Major | 安装命令使用原库名而非 `@react-native-ohos/xxx` |
81
- | HA-008 | 缺少多种安装方式 | 检查是否提供 npm 和 yarn 安装命令 | Minor | 仅提供 npm 命令无 yarn |
82
-
83
- ### 2.4 Link 检查
84
-
85
- > **前置跳过条件**:检查 2.2 节版本表格中的 Autolink 列,若**所有版本均标记为"否"**,则跳过本节全部检查项(HA-009~HA-018),在报告中注明"该库所有版本均不支持 AutoLink,Link 章节不适用"。
86
-
87
- **AutoLink 矩阵**
88
-
89
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
90
- |---|--------|---------|--------|-----------|
91
- | HA-009 | 缺少 AutoLink 支持矩阵 | 检查 Link 章节是否包含 AutoLink 支持矩阵表格 | Major | 无 AutoLink 是否支持及对应 RN 版本的矩阵 |
92
- | HA-010 | AutoLink 矩阵与版本表格不一致 | 对比 AutoLink 矩阵的版本/支持情况与文档头部版本表格 | Major | 版本表格标记某版本 Autolink=否,矩阵标记为是 |
93
-
94
- **ManualLink 步骤**
95
-
96
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
97
- |---|--------|---------|--------|-----------|
98
- | HA-011 | 缺少 ManualLink 配置说明 | 检查是否提供手动配置原生依赖项的指导 | Major | 无 ManualLink 步骤说明 |
99
- | HA-012 | 缺少 Overrides RN SDK 配置 | 检查是否说明 oh-package.json5 中 overrides 字段配置 | Major | 未说明如何 overrides RN SDK 版本 |
100
- | HA-013 | 缺少引入原生端代码说明 | 检查是否说明通过 har 包或源码引入原生端代码 | Major | 未说明 har 包路径或源码链接方法 |
101
- | HA-014 | 缺少 CMakeLists 构建配置说明 | 检查是否说明 CMakeLists.txt 中 add_subdirectory 和 target_link_libraries 配置 | Major | 无 CMakeLists 配置说明或 diff 示例 |
102
- | HA-015 | 缺少 PackageProvider 注册说明 | 检查是否说明 PackageProvider.cpp 中引入和注册 Package | Major | 未说明 PackageProvider 中如何注册原生 Package |
103
- | HA-016 | 缺少 ArkTs 侧组件引入说明 | 若含混合方案组件,检查是否说明 ArkTs 侧引入组件和组件名注册 | Major | 未说明 buildCustomRNComponent 和 arkTsComponentNames 配置 |
104
- | HA-017 | 缺少 ArkTs 侧 Package 引入说明 | 检查是否说明 RNPackagesFactory.ts 中引入和创建 Package | Major | 未说明 RNPackagesFactory 中如何创建 RN Package |
105
-
106
- **运行**
107
-
108
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
109
- |---|--------|---------|--------|-----------|
110
- | HA-018 | 缺少运行说明 | 检查是否提供 sync/ohpm install 及编译运行步骤 | Minor | 无运行说明 |
111
-
112
- ### 2.5 约束与限制检查
113
-
114
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
115
- |---|--------|---------|--------|-----------|
116
- | HA-019 | 缺少约束与限制章节 | 检查是否存在"约束与限制"章节 | Major | 无"约束与限制"章节 |
117
- | HA-020 | 缺少兼容性说明 | 检查是否说明验证通过的 RNOH/SDK/IDE/ROM 版本 | Major | 未说明兼容的 RNOH 或 SDK 版本 |
118
- | HA-021 | 权限说明与实际声明不一致(双向比对) | 对比文档说明的权限与 module.json5 实际声明,双向检查:声明的权限未说明用途 / 文档说明的权限未声明 | Major | 声明了 `ohos.permission.INTERNET` 但文档未说明用途;或文档说明需要网络权限但 module.json5 未声明 |
119
- | HA-022 | 缺少资源文件放置说明 | 若使用 rawfile 等资源,检查是否说明放置路径 | Minor | 未说明图片资源需放置到 rawfile 路径 |
120
-
121
- ### 2.6 遗留问题与目录结构检查
122
-
123
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
124
- |---|--------|---------|--------|-----------|
125
- | HA-023 | 遗留问题章节缺失或未记录已知问题 | 检查是否存在"遗留问题"章节并记录已知问题及 issue 链接 | Minor | "遗留问题"章节为空、仅写"无"或不存在该章节 |
126
- | HA-024 | 目录结构缺失或与实际不符 | 检查是否存在"目录结构"章节,并对比文档目录树与实际项目文件组织 | Minor | 文档列出 `harmony/lottie.har` 但实际不存在;或无"目录结构"章节 |
127
-
128
- ### 2.7 跳转文档完整性检查(跳转模式专属)
129
-
130
- > 以下检查项仅在识别为"跳转文档模式"(README 指向 `OpenHarmony-RN/usage-docs`)时适用。内嵌文档模式不适用本节。
131
-
132
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
133
- |---|--------|---------|--------|-----------|
134
- | HA-025 | 跳转文档链接失效或内容为空 | 检查外部 usage-docs 链接是否可访问且内容非空 | Critical | 外部文档链接 404 或页面内容空白 |
135
- | HA-026 | 跳转文档未覆盖鸿蒙特有内容 | 检查外部文档是否包含鸿蒙化适配内容而非仅复制原库文档 | Major | 外部文档完全复制原库文档,无任何鸿蒙化内容 |
136
- | HA-027 | 跳转文档缺少使用示例章节 | 检查外部 usage-docs 是否包含"使用示例"章节 | Major | 外部文档无"使用示例"章节 |
137
- | HA-028 | 跳转文档缺少接口说明章节 | 检查外部 usage-docs 是否包含鸿蒙平台 API 支持矩阵(组件/属性/API 表格) | Major | 外部文档无"接口说明"或 API 属性表格 |
138
-
139
- ---
140
-
141
- ## 三、代码示例质量检查
142
-
143
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
144
- |---|--------|---------|--------|-----------|
145
- | EX-001 | 跳转文档示例与本地代码不一致 | 检查外部 usage-docs 中的示例代码与本地仓库源码接口签名是否匹配 | Major | 外部文档示例调用 `getSSID()`,但本地代码实际导出为 `getWifiSSID()` |
146
- | EX-002 | 跳转文档示例 import 路径错误 | 检查外部 usage-docs 中示例的 import 是否使用正确的包名 | Major | 外部文档示例应从社区库导入 `import { Foo } from 'original-lib'`,不应为 `@react-native-ohos/original-lib` |
147
-
148
- ---
149
-
150
- ## 四、变更记录与版本规范检查
151
-
152
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
153
- |---|--------|---------|--------|-----------|
154
- | CL-001 | 缺少 CHANGELOG.md | 检查仓库是否存在变更记录文件 | Major | 无 `CHANGELOG.md` 或 `CHANGES.md` |
155
- | CL-002 | CHANGELOG 未记录鸿蒙化变更 | 检查变更记录中是否标注鸿蒙化适配相关变更 | Major | CHANGELOG 有版本记录但无鸿蒙化条目 |
156
- | CL-003 | 版本号不符合语义化版本规范 | 检查版本号是否遵循 semver 规范 | Major | 版本号 `1.2` 或 `v1.2.3-beta` 不符合 semver |
157
- | CL-004 | 破坏性变更未标注 | 检查不兼容的 API 变更是否标注 BREAKING CHANGE | Major | 删除了公开 API 但未标注 BREAKING |
158
- | CL-005 | CHANGELOG 格式不规范 | 检查是否使用 Keep a Changelog 格式 | Minor | 无标准格式,自由文本记录 |
159
-
160
- ---
161
-
162
- ## 五、代码仓基础信息检查
163
-
164
- > **定位**:检查鸿蒙化仓库的**基础元数据规范性与链接正确性**——package.json 元数据、仓库链接地址、harmony 字段配置、发布配置、README 存在性、LICENSE 等基础文件完整性。
165
- >
166
- > **核心原则**:鸿蒙化仓库是独立维护的项目,package.json 中所有链接字段应指向当前 GitCode 仓库而非上游原库的 GitHub 地址。
167
-
168
- ### 5.1 README 存在性与基础结构
169
-
170
- > 注意区分**内嵌文档模式**和**跳转文档模式**——跳转模式的 README 极简是设计选择,不应当作"内容缺失"扣分,转为检查外部 usage-docs 内容(见 2.7 节 HA-025~HA-028)。
171
-
172
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
173
- |---|--------|---------|--------|-----------|
174
- | RM-001 | 缺少 README.md | 检查仓库根目录是否存在 `README.md` | Critical | 无 `README.md` 文件 |
175
- | RM-002 | README 内容为空或仅有标题(内嵌模式) | 内嵌模式下检查 README 是否有实质内容 | Major | README 仅一行标题,无任何说明内容(非跳转模式) |
176
- | RM-003 | 缺少 README_zh.md(中文文档) | 检查是否存在中文 README | Minor | 仅有英文 `README.md`,无 `README_zh.md` |
177
- | RM-004 | README 基础章节不完整(内嵌模式) | 内嵌模式下检查是否包含:简介、下载安装、使用示例、接口说明、约束与限制、贡献代码、开源协议 | Major | 内嵌模式 README 缺少"约束与限制"或"使用示例"章节 |
178
-
179
- > **跳转模式豁免**:若识别为跳转文档模式(README 含 `OpenHarmony-RN/usage-docs` 链接且内容极简),RM-002 和 RM-004 不适用,转为检查外部 usage-docs 内容完整性(见 2.7 节 HA-025~HA-028)。
180
-
181
- ### 5.2 package.json 描述与版本元数据
182
-
183
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
184
- |---|--------|---------|--------|-----------|
185
- | RM-005 | description 为空或缺失 | 检查 `description` 字段是否存在且为非空字符串 | Major | `"description": ""` 或无 description 字段 |
186
- | RM-006 | license 缺失或不规范 | 检查 `license` 字段是否存在且符合 SPDX 标识符规范 | Major | 无 license 字段,或值为非标准文本 `"MIT License"` 而非 `"MIT"` |
187
- | RM-007 | keywords 缺少鸿蒙相关关键词 | 检查 `keywords` 数组是否包含 harmony / ohos / openharmony / rnoh 等关键词 | Minor | keywords 仅含 `react-native`,无鸿蒙关键词 |
188
- | RM-008 | version 与 oh-package.json5 不一致 | 对比 package.json 的 `version` 与 oh-package.json5 的 `version` 字段 | Major | package.json 为 `1.2.0`,oh-package.json5 为 `1.1.0` |
189
- | RM-009 | name 未使用鸿蒙化前缀 | 检查 `name` 是否以 `@react-native-ohos/` 或 `@react-native-oh-tpl/` 开头 | Major | name 为 `react-native-webview` 而非 `@react-native-ohos/react-native-webview` |
190
-
191
- > **注意**:RM-009 与 HA-004(版本表格中包名检查)互补——HA-004 检查文档中标注的包名,RM-009 检查 package.json 中实际的包名字段。
192
-
193
- ### 5.3 仓库链接地址检查(指向当前仓库而非上游)
194
-
195
- > 鸿蒙化仓库是独立 Fork,package.json 中 `homepage`、`repository`、`bugs` 等链接字段及 README 中链接应指向当前 GitCode 鸿蒙化仓库,而非上游原库的 GitHub 地址。
196
-
197
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
198
- |---|--------|---------|--------|-----------|
199
- | RM-010 | package.json 链接字段指向上游仓库 | 对比 `homepage`/`repository.url`/`bugs.url` 与当前仓库地址,若域名为 `github.com` 且路径不含当前仓库 owner/repo 则判定为指向上游 | Major | `"homepage": "https://github.com/xxx/original-lib"`,`"bugs": {"url": "https://github.com/xxx/original-lib/issues"}` |
200
- | RM-011 | README/LICENSE 中链接指向上游 | 检查 README"贡献代码""开源协议"章节及 LICENSE 文件中的 Issue/PR/源码 tree/Releases 链接是否指向当前仓库 | Major | README 写 `[Issue](https://github.com/xxx/original-lib/issues)` 而非当前 gitcode 仓库 |
201
-
202
- ### 5.4 harmony 字段配置检查
203
-
204
- > `harmony.alias` 应指向上游原库的 npm 包名,使 `import xxx from 'original-lib'` 能正确映射到鸿蒙化包。alias 必须等于上游 npm 包名(含 scope),而非鸿蒙化包名自身。
205
-
206
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
207
- |---|--------|---------|--------|-----------|
208
- | RM-012 | 缺少 harmony 字段或 alias 缺失/为空 | 检查 package.json 是否存在 `harmony` 对象且 `harmony.alias` 为非空字符串 | Critical | 无 `harmony` 字段;或有 `harmony` 对象但无 `alias` 字段;或 `"alias": ""` |
209
- | RM-013 | harmony.alias 与上游包名不一致 | 对比 `harmony.alias` 值与上游原库 package.json 的 `name` 字段(含 scope),检查是否指向自身包名或遗漏 scope | Critical | alias 为 `@react-native-ohos/react-native-webview`(自身包名),应为上游 `react-native-webview`;或 alias 为 `async-storage` 但上游实际为 `@react-native-community/async-storage` |
210
-
211
- ### 5.5 发布配置检查
212
-
213
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
214
- |---|--------|---------|--------|-----------|
215
- | RM-014 | 包设置为私有 | 检查 `package.json` 是否包含 `private` 且取值为 `true` | Major | 当前包为私有状态,无法发布 |
216
- | RM-015 | 缺少 publishConfig 或 registry 配置错误 | 检查 `publishConfig` 是否配置了正确的发布 registry | Minor | 无 publishConfig 或 registry 指向非官方源 |
217
-
218
- ### 5.6 LICENSE 与其他基础文件检查
219
-
220
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
221
- |---|--------|---------|--------|-----------|
222
- | RM-016 | 缺少 LICENSE 文件 | 检查仓库根目录是否存在 `LICENSE` / `LICENSE.md` / `LICENSE.txt` 文件 | Major | 无 LICENSE 文件 |
223
- | RM-017 | LICENSE 类型与 package.json license 字段不一致 | 对比 LICENSE 文件实际协议类型与 package.json `license` 字段 | Minor | LICENSE 文件为 Apache-2.0,package.json 写 `"MIT"` |
224
- | RM-018 | 缺少 .gitignore | 检查是否存在 `.gitignore` 文件 | Minor | 无 .gitignore,`node_modules` 等可能被误提交 |
225
- | RM-019 | 缺少 .npmignore 或 files 配置不当 | 检查是否通过 `.npmignore` 或 `files` 字段正确控制发布范围 | Minor | 无 files 也无 .npmignore,发布包含源码和测试文件 |
226
- | RM-020 | 缺少 COMMITTERS.md | 检查仓库根目录是否存在 COMMITTERS 文件 | Major | 无 COMMITTERS.md |
227
-
228
- ---
229
-
230
- ## 六、文档准确性与国际化检查
231
-
232
- > 本章检查文档的**通用准确性**和**国际化**,不重复第一章(AD)和第七章(XC)已覆盖的"文档 vs 规格/代码"逐接口比对,仅保留 AD/XC 未覆盖的通用维度。
233
-
234
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
235
- |---|--------|---------|--------|-----------|
236
- | AC-001 | 文档与代码实现整体不一致 | 对比文档描述的接口签名、参数、行为与实际代码(非逐条比对,检查整体一致性) | Major | 文档写 `getConfig(): Config`,实际 `getConfig(): Promise<Config>` |
237
- | AC-002 | 包含过时/错误信息 | 检查文档中的信息与当前版本是否相符 | Major | 文档写"使用 Legacy Bridge",实际已迁移至 TurboModule |
238
- | AC-003 | 缺少中文或英文文档(未提供双语本地化) | 检查是否同时提供中文和英文文档 | Minor | 仅有英文 README,无中文;或仅有中文无英文 |
239
- | AC-004 | 术语翻译不准确 | 检查鸿蒙特有术语翻译是否规范 | Minor | "TurboModule" 翻译为"涡轮模块" |
240
- | AC-005 | 文档截图与实际 UI 不符 | 检查文档中的截图是否与当前版本 UI 一致 | Minor | 截图为旧版界面 |
241
- | AC-006 | 文档外部链接失效 | 检查文档中的外部链接(非跳转文档链接)是否可访问 | Minor | 引用的官方文档链接已失效 |
242
-
243
- > **已移至其他章节的检查项**:API 不存在 → 见 AD-001;示例 import 路径 → 见 EX-002;版本号不一致 → 见 XC-012;跳转文档支持矩阵不符 → 见 AD-013。
244
-
245
- ---
246
-
247
- ## 七、文档与接口规格交叉验证检查
248
-
249
- > 本维度为 Phase 2.5 强制环节。以 `接口规格说明.md` 为权威基准,与用户文档进行比对。
250
- >
251
- > **与第一章的关系**:第一章(AD)从"文档完整性"视角逐项检查;本章从"交叉验证"视角做双向强制复核。两者检查对象相同但目的互补。本章合并了方向性检查(规格→文档 / 文档→规格)以减少冗余。
252
-
253
- ### 7.1 接口规格文档可用性检查
254
-
255
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
256
- |---|--------|---------|--------|-----------|
257
- | XC-001 | 接口规格说明文档不存在 | 检查 `{outputDir}/接口规格说明.md` 是否存在 | Critical | 前置 SKILL 未执行,无接口规格说明文档 |
258
-
259
- > 若 XC-001 命中,跳过后续 XC-002~XC-013 检查项,在报告中注明"前置接口规格文档缺失,无法进行交叉验证"。
260
-
261
- ### 7.2 接口清单双向比对(规格↔文档)
262
-
263
- > 合并规格→文档和文档→规格两个方向的检查。每个方向发现的问题分别记录。
264
-
265
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
266
- |---|--------|---------|--------|-----------|
267
- | XC-002 | 接口规格中的 API/类/TurboModule 方法在文档中无描述(规格→文档方向) | 从接口规格提取所有公开 API/类/TurboModule 方法,逐一在用户文档中搜索 | Major | 接口规格定义 `configure()`/`SessionConfig`/`getCurrentState()` 但文档均未提及 |
268
- | XC-003 | 文档中描述的 API 或示例引用了接口规格中不存在的方法(文档→规格方向) | 从用户文档提取所有 API 名称,在接口规格中搜索;检查示例中的方法调用是否在规格中有定义 | Critical | 文档描述 `Database.query(sql)` 或示例调用 `NetInfo.getConnectionInfo()` 但接口规格无此方法 |
269
- | XC-004 | 文档方法名与接口规格不一致 | 对比文档 API 名称与接口规格中的方法名 | Major | 文档写 `getSSID()`,接口规格为 `getWifiSSID()` |
270
-
271
- ### 7.3 签名与类型比对
272
-
273
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
274
- |---|--------|---------|--------|-----------|
275
- | XC-005 | 文档参数/返回类型与接口规格不一致 | 对比文档中的参数名/类型/返回类型与接口规格中的签名 | Major | 文档写 `fetch(type: string)`,接口规格为 `fetch(type?: string)`;文档写 `getConfig(): Config`,接口规格为 `getConfig(): Promise<Config>` |
276
- | XC-006 | 文档遗漏 async/Promise 标注 | 检查文档描述的同步方法在接口规格中是否为异步 | Critical | 文档写 `fetch(): NetInfoState`,接口规格为 `fetch(): Promise<NetInfoState>` |
277
- | XC-007 | 文档参数可选性/默认值与接口规格不一致 | 对比文档中标注的必选/可选参数及默认值与接口规格定义 | Minor | 文档写 `callback: Function`(必选),接口规格 `callback?: Function`(可选);文档写 `timeout = 5000`,接口规格 `timeout = 3000` |
278
-
279
- ### 7.4 鸿蒙化差异与文档一致性
280
-
281
- > 接口规格说明文档第 5 章记录了鸿蒙化差异(缺失接口、新增接口、签名变更)。
282
-
283
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
284
- |---|--------|---------|--------|-----------|
285
- | XC-008 | 接口规格标记为"缺失"的 API,文档仍标记为支持 | 对比接口规格第 5.1 节缺失接口与文档中的支持状态 | Critical | 接口规格标记 `WebViewNativeConfig` 缺失,外部文档标记 Yes |
286
- | XC-009 | 接口规格标记为"新增"的 API,文档未描述 | 对比接口规格第 5.2 节新增接口与文档描述 | Major | 接口规格标记 `schemeList` 新增🆕,文档未提及 |
287
- | XC-010 | 接口规格记录的签名变更在文档中未反映 | 对比接口规格第 5 章签名差异与文档描述 | Major | 接口规格记录 `OverScrollModeType` 缺少 'content' 值,文档未标注 |
288
-
289
- ### 7.5 配置与版本比对
290
-
291
- > 权限检查已在第二章 HA-021 覆盖,此处不再重复。本节聚焦配置步骤和版本号的一致性。
292
-
293
- | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
294
- |---|--------|---------|--------|-----------|
295
- | XC-011 | 文档描述的配置步骤与实际项目结构不匹配 | 对比文档中的 CMakeLists/PackageProvider 步骤与实际文件 | Major | 文档写"修改 CMakeLists.txt"但项目使用 build-profile.json5 |
296
- | XC-012 | 文档版本号与接口规格/package.json 不一致 | 对比用户文档中标注的版本号与接口规格第 1 章版本号、package.json/oh-package.json5 版本号 | Major | 文档写 v1.0.0,接口规格记录 1.2.0,package.json 版本为 1.2.0 |
297
- | XC-013 | 文档描述的最低 API Version 与代码要求不一致 | 对比文档声明的 API Version 与 module.json5 中的配置 | Minor | 文档写 API 9+,module.json5 配置 API 10 |
298
-
299
- ---
300
-
301
- ## 八、检查结果判定规则
302
-
303
- ### 8.1 严重度定义
304
-
305
- | 严重度 | 单项扣分 | 定义 | 典型场景 |
306
- |--------|----------|------|----------|
307
- | Critical | -8 | 文档严重缺失导致用户无法使用核心功能 | 核心 API 无任何文档、示例使用已废弃 API |
308
- | Major | -4 | 文档缺失或不规范,影响用户理解和使用 | 缺少参数说明、缺少安装步骤、版本不一致 |
309
- | Minor | -1 | 文档轻微不规范,不影响功能使用 | 格式不统一、缺少许可证链接 |
310
-
311
- ### 8.2 归零规则
312
-
313
- - 文档完全空白(无 README、无 API 注释、无任何示例)→ 文档质量评分直接 **0 分**
314
- - 核心 TurboModule/NAPI 接口无任何文档说明 → 文档质量评分直接 **0 分**
315
-
316
- ### 8.3 评分计算
317
-
318
- ```
319
- 基础分 = 100
320
-
321
- 维度权重与扣分上限:
322
- - API 文档完整性(权重 20%):扣分上限 -20
323
- - 鸿蒙化适配说明(权重 20%):扣分上限 -20
324
- - 代码示例质量(权重 10%):扣分上限 -10
325
- - 变更记录与版本规范(权重 10%):扣分上限 -10
326
- - 代码仓基础信息(权重 15%):扣分上限 -15
327
- - 文档与代码交叉验证(权重 15%):扣分上限 -15
328
- - 文档准确性与国际化(权重 10%):扣分上限 -10
329
-
330
- 每个维度内扣分规则:
331
- - Critical 级别问题:每项 -8 分
332
- - Major 级别问题:每项 -4 分
333
- - Minor 级别问题:每项 -1 分
334
-
335
- 维度实际扣分 = min(扣分上限, Critical扣分 + Major扣分 + Minor扣分)
336
-
337
- 最终分 = max(0, 100 - 各维度实际扣分之和)
338
- ```
339
-
340
- ### 8.4 评分等级说明
341
-
342
- | 分数范围 | 等级 | 说明 |
343
- |----------|------|------|
344
- | 90-100 | 优秀 | 文档完善,API 注释规范,适配说明详尽,示例丰富 |
345
- | 80-89 | 良好 | 文档基本完整,存在少量 Minor 问题 |
346
- | 70-79 | 一般 | 存在 Major 级别缺失,部分 API 缺少文档 |
347
- | 60-69 | 较差 | 多个维度存在 Major 问题,用户使用困难 |
348
- | 50-59 | 严重不足 | 核心文档缺失,Critical 级别问题存在 |
349
- | <50 | 极差 | 文档几乎不可用,需全面补充文档 |
350
-
351
- ### 8.5 批量判定简化规则
352
-
353
- - 同一文件中多个同类 Minor 问题(如多个方法缺少 `@since`)可合并为一条记录,但在问题清单中列出所有涉及的文件和方法名
354
- - 同一 API 的多个检查项均为 Critical 时,取最高严重度记录一次,其余在描述中注明
355
- - 同一示例代码存在多个静态问题时,每个问题作为单独行记录
1
+ # 文档质量检视检查清单
2
+
3
+ 本文件供 `rn-library-documentation-quality-check` 技能在 Phase 2 阶段参考使用,详细定义各维度的检查项和判定标准。
4
+
5
+ ---
6
+
7
+ ## 一、API 文档完整性检查
8
+
9
+ > **定位**:检查文档(README API 表/属性表、外部 usage-docs、`.d.ts` 声明、源码 TSDoc/JSDoc)中描述的**接口清单、类型、签名、平台标记、枚举值**是否与**接口规格说明书**一致。
10
+ >
11
+ > **与第七章的关系**:本章从"文档完整性"视角检查 API 是否被正确记录;第七章(XC)从"交叉验证"视角做强制复核。两者检查对象相同但目的互补,XC 章节可作为 AD 检查的兜底校验。
12
+
13
+ ### 1.1 API 清单一致性
14
+
15
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
16
+ |---|--------|---------|--------|-----------|
17
+ | AD-001 | 文档 API/属性/参数在规格中不存在(幽灵接口/多列) | 从 README API 表/属性表/参数列表提取所有名称,逐一在规格说明书中检索 | Critical | README 列出 `Database.query()` 但规格无此方法;或文档多列 `onCustomEvent` 属性、多列 `callback` 参数 |
18
+ | AD-002 | 规格 API/类/接口/必选参数在文档中无描述 | 从规格说明书提取所有公开 API/类/接口/必选参数,逐一在文档中搜索 | Major | 规格定义 `configure(options)`/`SessionConfig` 接口/必选 `options` 参数,文档均未提及 |
19
+ | AD-003 | 文档 API 名称与规格拼写/大小写不一致 | 逐字对比文档 API 名与规格中的方法名 | Major | 文档写 `getSSID()`,规格为 `getWifiSSID()`;或 `insertText` vs `inserttext` |
20
+
21
+ ### 1.2 类型与签名一致性
22
+
23
+ > 比对文档描述的参数类型、返回类型、联合类型、可选性、参数名/顺序/默认值是否与接口规格说明书一致。
24
+
25
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
26
+ |---|--------|---------|--------|-----------|
27
+ | AD-004 | 文档参数类型/联合类型与规格不一致 | 对比文档参数类型与规格签名 | Major | 文档写 `type: string`,规格为 `type?: string \| number`;或文档写 `mode: string`,规格为 `mode: 'auto' \| 'manual'` |
28
+ | AD-005 | 文档返回类型与规格不一致 | 对比文档返回类型与规格定义 | Major | 文档写 `getConfig(): Config`,规格为 `getConfig(): Promise<Config>` |
29
+ | AD-006 | 文档遗漏 async/Promise 标注 | 检查文档标注为同步的方法在规格中是否为异步 | Critical | 文档写 `fetch(): State`,规格为 `fetch(): Promise<State>`,用户不 await 导致错误 |
30
+ | AD-007 | 文档可选性标注与规格不一致 | 对比文档标注的必选/可选与规格定义 | Minor | 文档写 `callback: Function`(必选),规格 `callback?: Function`(可选) |
31
+ | AD-008 | 文档参数名/顺序与规格不一致 | 对比文档参数名及顺序与规格签名 | Major | 文档写 `f(a, url)`,规格为 `f(b, uri)`,参数名和顺序均不同 |
32
+ | AD-009 | 文档参数默认值与规格不一致 | 对比文档标注的默认值与规格定义 | Minor | 文档写 `timeout = 5000`,规格 `timeout = 3000` |
33
+
34
+ ### 1.3 平台支持标记准确性(HarmonyOS Support)
35
+
36
+ > 比对 README/外部文档 API 支持矩阵中的 HarmonyOS Support(Yes/No/Partial)标记与接口规格说明书的鸿蒙化差异是否一致。
37
+
38
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
39
+ |---|--------|---------|--------|-----------|
40
+ | AD-010 | 文档标记 Yes 但规格标记为缺失 | 对比文档 Yes 标记与规格第 5.1 节缺失接口 | Critical | 文档标记 `WebViewNativeConfig` 为 Yes,规格标记为鸿蒙缺失 |
41
+ | AD-011 | 规格新增的鸿蒙特有 API 文档未标记/未描述 | 对比规格第 5.2 节新增接口与文档描述 | Major | 规格标记 `schemeList` 为新增🆕,文档未提及 |
42
+ | AD-012 | 文档标记 Partial 但未说明部分支持的范围 | 检查 Partial 标记是否说明不支持的具体子项/场景 | Major | 文档标 `ScrollView` 为 Partial 但未说明哪些属性不支持 |
43
+ | AD-013 | 文档平台支持矩阵与规格鸿蒙化差异整体不一致 | 对比文档 Yes/No/Partial 矩阵与规格第 5 章差异记录 | Major | 文档标记多个属性为 Yes 但规格记录为缺失或签名变更 |
44
+
45
+ ### 1.4 属性/枚举/常量值完整性
46
+
47
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
48
+ |---|--------|---------|--------|-----------|
49
+ | AD-014 | 文档遗漏规格中的枚举成员/常量/配置项 | 对比规格枚举/常量与文档说明 | Major | 规格 enum 有 `A/B/C`,文档只列 `A/B`;规格有 `DEFAULT_TIMEOUT` 常量,文档未提及 |
50
+ | AD-015 | 文档枚举值/常量值与规格不一致 | 对比文档值与规格定义的值 | Major | 文档写 `ERROR = 1`,规格 `ERROR = 0` |
51
+
52
+ ---
53
+
54
+ ## 二、鸿蒙化适配说明检查
55
+
56
+ > **定位**:以 [MODEL.md](../assets/MODEL.md) 文档模板为基准,检查鸿蒙化适配说明文档中每个章节是否合理存在且内容完整。
57
+ >
58
+ > 其中"简介""使用示例""使用说明""接口说明""贡献代码""开源协议"等通用章节的质量检查分别由第一章(API 文档完整性)、第五章(代码仓基础信息)、第三章(代码示例质量)、第七章(交叉验证)覆盖。本章聚焦**鸿蒙化适配特有**的章节。
59
+
60
+ ### 2.1 鸿蒙化适配说明整体存在性
61
+
62
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
63
+ |---|--------|---------|--------|-----------|
64
+ | HA-001 | 缺少鸿蒙化适配说明 | 检查是否存在任何鸿蒙化适配相关文档(README 章节/独立文档/外部 usage-docs) | Critical | 无任何鸿蒙化适配文档 |
65
+
66
+ ### 2.2 版本所属关系表格检查
67
+
68
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
69
+ |---|--------|---------|--------|-----------|
70
+ | HA-002 | 缺少版本所属关系表格 | 检查文档头部是否存在版本信息表格 | Major | 文档无版本所属关系表格 |
71
+ | HA-003 | 版本表格列不完整 | 检查表格是否包含:库名称、版本、发布信息、支持RN版本、Autolink、编译API版本、社区基线版本、npm地址 | Major | 表格缺少"编译API版本"或"社区基线版本"列 |
72
+ | HA-004 | 鸿蒙化包名不规范 | 检查包名是否使用 `@react-native-ohos/` 或 `@react-native-oh-tpl/` 前缀 | Major | 包名使用原库名而非鸿蒙化前缀 |
73
+ | HA-005 | 未标记废弃版本 | 检查已废弃的旧版本是否标注 `@deprecated` | Minor | 旧版本仍列为推荐版本,未标注废弃 |
74
+
75
+ ### 2.3 下载安装检查
76
+
77
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
78
+ |---|--------|---------|--------|-----------|
79
+ | HA-006 | 缺少下载安装章节 | 检查是否存在"下载安装"章节 | Major | 无"下载安装"章节 |
80
+ | HA-007 | 安装命令包名错误 | 检查 npm/yarn install 命令是否使用鸿蒙化包名 | Major | 安装命令使用原库名而非 `@react-native-ohos/xxx` |
81
+ | HA-008 | 缺少多种安装方式 | 检查是否提供 npm 和 yarn 安装命令 | Minor | 仅提供 npm 命令无 yarn |
82
+
83
+ ### 2.4 Link 检查
84
+
85
+ > **前置跳过条件**:检查 2.2 节版本表格中的 Autolink 列,若**所有版本均标记为"否"**,则跳过本节全部检查项(HA-009~HA-018),在报告中注明"该库所有版本均不支持 AutoLink,Link 章节不适用"。
86
+
87
+ **AutoLink 矩阵**
88
+
89
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
90
+ |---|--------|---------|--------|-----------|
91
+ | HA-009 | 缺少 AutoLink 支持矩阵 | 检查 Link 章节是否包含 AutoLink 支持矩阵表格 | Major | 无 AutoLink 是否支持及对应 RN 版本的矩阵 |
92
+ | HA-010 | AutoLink 矩阵与版本表格不一致 | 对比 AutoLink 矩阵的版本/支持情况与文档头部版本表格 | Major | 版本表格标记某版本 Autolink=否,矩阵标记为是 |
93
+
94
+ **ManualLink 步骤**
95
+
96
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
97
+ |---|--------|---------|--------|-----------|
98
+ | HA-011 | 缺少 ManualLink 配置说明 | 检查是否提供手动配置原生依赖项的指导 | Major | 无 ManualLink 步骤说明 |
99
+ | HA-012 | 缺少 Overrides RN SDK 配置 | 检查是否说明 oh-package.json5 中 overrides 字段配置 | Major | 未说明如何 overrides RN SDK 版本 |
100
+ | HA-013 | 缺少引入原生端代码说明 | 检查是否说明通过 har 包或源码引入原生端代码 | Major | 未说明 har 包路径或源码链接方法 |
101
+ | HA-014 | 缺少 CMakeLists 构建配置说明 | 检查是否说明 CMakeLists.txt 中 add_subdirectory 和 target_link_libraries 配置 | Major | 无 CMakeLists 配置说明或 diff 示例 |
102
+ | HA-015 | 缺少 PackageProvider 注册说明 | 检查是否说明 PackageProvider.cpp 中引入和注册 Package | Major | 未说明 PackageProvider 中如何注册原生 Package |
103
+ | HA-016 | 缺少 ArkTs 侧组件引入说明 | 若含混合方案组件,检查是否说明 ArkTs 侧引入组件和组件名注册 | Major | 未说明 buildCustomRNComponent 和 arkTsComponentNames 配置 |
104
+ | HA-017 | 缺少 ArkTs 侧 Package 引入说明 | 检查是否说明 RNPackagesFactory.ts 中引入和创建 Package | Major | 未说明 RNPackagesFactory 中如何创建 RN Package |
105
+
106
+ **运行**
107
+
108
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
109
+ |---|--------|---------|--------|-----------|
110
+ | HA-018 | 缺少运行说明 | 检查是否提供 sync/ohpm install 及编译运行步骤 | Minor | 无运行说明 |
111
+
112
+ ### 2.5 约束与限制检查
113
+
114
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
115
+ |---|--------|---------|--------|-----------|
116
+ | HA-019 | 缺少约束与限制章节 | 检查是否存在"约束与限制"章节 | Major | 无"约束与限制"章节 |
117
+ | HA-020 | 缺少兼容性说明 | 检查是否说明验证通过的 RNOH/SDK/IDE/ROM 版本 | Major | 未说明兼容的 RNOH 或 SDK 版本 |
118
+ | HA-021 | 权限说明与实际声明不一致(双向比对) | 对比文档说明的权限与 module.json5 实际声明,双向检查:声明的权限未说明用途 / 文档说明的权限未声明 | Major | 声明了 `ohos.permission.INTERNET` 但文档未说明用途;或文档说明需要网络权限但 module.json5 未声明 |
119
+ | HA-022 | 缺少资源文件放置说明 | 若使用 rawfile 等资源,检查是否说明放置路径 | Minor | 未说明图片资源需放置到 rawfile 路径 |
120
+
121
+ ### 2.6 遗留问题与目录结构检查
122
+
123
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
124
+ |---|--------|---------|--------|-----------|
125
+ | HA-023 | 遗留问题章节缺失或未记录已知问题 | 检查是否存在"遗留问题"章节并记录已知问题及 issue 链接 | Minor | "遗留问题"章节为空、仅写"无"或不存在该章节 |
126
+ | HA-024 | 目录结构缺失或与实际不符 | 检查是否存在"目录结构"章节,并对比文档目录树与实际项目文件组织 | Minor | 文档列出 `harmony/lottie.har` 但实际不存在;或无"目录结构"章节 |
127
+
128
+ ### 2.7 跳转文档完整性检查(跳转模式专属)
129
+
130
+ > 以下检查项仅在识别为"跳转文档模式"(README 指向 `OpenHarmony-RN/usage-docs`)时适用。内嵌文档模式不适用本节。
131
+
132
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
133
+ |---|--------|---------|--------|-----------|
134
+ | HA-025 | 跳转文档链接失效或内容为空 | 检查外部 usage-docs 链接是否可访问且内容非空 | Critical | 外部文档链接 404 或页面内容空白 |
135
+ | HA-026 | 跳转文档未覆盖鸿蒙特有内容 | 检查外部文档是否包含鸿蒙化适配内容而非仅复制原库文档 | Major | 外部文档完全复制原库文档,无任何鸿蒙化内容 |
136
+ | HA-027 | 跳转文档缺少使用示例章节 | 检查外部 usage-docs 是否包含"使用示例"章节 | Major | 外部文档无"使用示例"章节 |
137
+ | HA-028 | 跳转文档缺少接口说明章节 | 检查外部 usage-docs 是否包含鸿蒙平台 API 支持矩阵(组件/属性/API 表格) | Major | 外部文档无"接口说明"或 API 属性表格 |
138
+
139
+ ---
140
+
141
+ ## 三、代码示例质量检查
142
+
143
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
144
+ |---|--------|---------|--------|-----------|
145
+ | EX-001 | 跳转文档示例与本地代码不一致 | 检查外部 usage-docs 中的示例代码与本地仓库源码接口签名是否匹配 | Major | 外部文档示例调用 `getSSID()`,但本地代码实际导出为 `getWifiSSID()` |
146
+ | EX-002 | 跳转文档示例 import 路径错误 | 检查外部 usage-docs 中示例的 import 是否使用正确的包名 | Major | 外部文档示例应从社区库导入 `import { Foo } from 'original-lib'`,不应为 `@react-native-ohos/original-lib` |
147
+
148
+ ---
149
+
150
+ ## 四、变更记录与版本规范检查
151
+
152
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
153
+ |---|--------|---------|--------|-----------|
154
+ | CL-001 | 缺少 CHANGELOG.md | 检查仓库是否存在变更记录文件 | Major | 无 `CHANGELOG.md` 或 `CHANGES.md` |
155
+ | CL-002 | CHANGELOG 未记录鸿蒙化变更 | 检查变更记录中是否标注鸿蒙化适配相关变更 | Major | CHANGELOG 有版本记录但无鸿蒙化条目 |
156
+ | CL-003 | 版本号不符合语义化版本规范 | 检查版本号是否遵循 semver 规范 | Major | 版本号 `1.2` 或 `v1.2.3-beta` 不符合 semver |
157
+ | CL-004 | 破坏性变更未标注 | 检查不兼容的 API 变更是否标注 BREAKING CHANGE | Major | 删除了公开 API 但未标注 BREAKING |
158
+ | CL-005 | CHANGELOG 格式不规范 | 检查是否使用 Keep a Changelog 格式 | Minor | 无标准格式,自由文本记录 |
159
+
160
+ ---
161
+
162
+ ## 五、代码仓基础信息检查
163
+
164
+ > **定位**:检查鸿蒙化仓库的**基础元数据规范性与链接正确性**——package.json 元数据、仓库链接地址、harmony 字段配置、发布配置、README 存在性、LICENSE 等基础文件完整性。
165
+ >
166
+ > **核心原则**:鸿蒙化仓库是独立维护的项目,package.json 中所有链接字段应指向当前 GitCode 仓库而非上游原库的 GitHub 地址。
167
+
168
+ ### 5.1 README 存在性与基础结构
169
+
170
+ > 注意区分**内嵌文档模式**和**跳转文档模式**——跳转模式的 README 极简是设计选择,不应当作"内容缺失"扣分,转为检查外部 usage-docs 内容(见 2.7 节 HA-025~HA-028)。
171
+
172
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
173
+ |---|--------|---------|--------|-----------|
174
+ | RM-001 | 缺少 README.md | 检查仓库根目录是否存在 `README.md` | Critical | 无 `README.md` 文件 |
175
+ | RM-002 | README 内容为空或仅有标题(内嵌模式) | 内嵌模式下检查 README 是否有实质内容 | Major | README 仅一行标题,无任何说明内容(非跳转模式) |
176
+ | RM-003 | 缺少 README_zh.md(中文文档) | 检查是否存在中文 README | Minor | 仅有英文 `README.md`,无 `README_zh.md` |
177
+ | RM-004 | README 基础章节不完整(内嵌模式) | 内嵌模式下检查是否包含:简介、下载安装、使用示例、接口说明、约束与限制、贡献代码、开源协议 | Major | 内嵌模式 README 缺少"约束与限制"或"使用示例"章节 |
178
+
179
+ > **跳转模式豁免**:若识别为跳转文档模式(README 含 `OpenHarmony-RN/usage-docs` 链接且内容极简),RM-002 和 RM-004 不适用,转为检查外部 usage-docs 内容完整性(见 2.7 节 HA-025~HA-028)。
180
+
181
+ ### 5.2 package.json 描述与版本元数据
182
+
183
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
184
+ |---|--------|---------|--------|-----------|
185
+ | RM-005 | description 为空或缺失 | 检查 `description` 字段是否存在且为非空字符串 | Major | `"description": ""` 或无 description 字段 |
186
+ | RM-006 | license 缺失或不规范 | 检查 `license` 字段是否存在且符合 SPDX 标识符规范 | Major | 无 license 字段,或值为非标准文本 `"MIT License"` 而非 `"MIT"` |
187
+ | RM-007 | keywords 缺少鸿蒙相关关键词 | 检查 `keywords` 数组是否包含 harmony / ohos / openharmony / rnoh 等关键词 | Minor | keywords 仅含 `react-native`,无鸿蒙关键词 |
188
+ | RM-008 | version 与 oh-package.json5 不一致 | 对比 package.json 的 `version` 与 oh-package.json5 的 `version` 字段 | Major | package.json 为 `1.2.0`,oh-package.json5 为 `1.1.0` |
189
+ | RM-009 | name 未使用鸿蒙化前缀 | 检查 `name` 是否以 `@react-native-ohos/` 或 `@react-native-oh-tpl/` 开头 | Major | name 为 `react-native-webview` 而非 `@react-native-ohos/react-native-webview` |
190
+
191
+ > **注意**:RM-009 与 HA-004(版本表格中包名检查)互补——HA-004 检查文档中标注的包名,RM-009 检查 package.json 中实际的包名字段。
192
+
193
+ ### 5.3 仓库链接地址检查(指向当前仓库而非上游)
194
+
195
+ > 鸿蒙化仓库是独立 Fork,package.json 中 `homepage`、`repository`、`bugs` 等链接字段及 README 中链接应指向当前 GitCode 鸿蒙化仓库,而非上游原库的 GitHub 地址。
196
+
197
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
198
+ |---|--------|---------|--------|-----------|
199
+ | RM-010 | package.json 链接字段指向上游仓库 | 对比 `homepage`/`repository.url`/`bugs.url` 与当前仓库地址,若域名为 `github.com` 且路径不含当前仓库 owner/repo 则判定为指向上游 | Major | `"homepage": "https://github.com/xxx/original-lib"`,`"bugs": {"url": "https://github.com/xxx/original-lib/issues"}` |
200
+ | RM-011 | README/LICENSE 中链接指向上游 | 检查 README"贡献代码""开源协议"章节及 LICENSE 文件中的 Issue/PR/源码 tree/Releases 链接是否指向当前仓库 | Major | README 写 `[Issue](https://github.com/xxx/original-lib/issues)` 而非当前 gitcode 仓库 |
201
+
202
+ ### 5.4 harmony 字段配置检查
203
+
204
+ > `harmony.alias` 应指向上游原库的 npm 包名,使 `import xxx from 'original-lib'` 能正确映射到鸿蒙化包。alias 必须等于上游 npm 包名(含 scope),而非鸿蒙化包名自身。
205
+
206
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
207
+ |---|--------|---------|--------|-----------|
208
+ | RM-012 | 缺少 harmony 字段或 alias 缺失/为空 | 检查 package.json 是否存在 `harmony` 对象且 `harmony.alias` 为非空字符串 | Critical | 无 `harmony` 字段;或有 `harmony` 对象但无 `alias` 字段;或 `"alias": ""` |
209
+ | RM-013 | harmony.alias 与上游包名不一致 | 对比 `harmony.alias` 值与上游原库 package.json 的 `name` 字段(含 scope),检查是否指向自身包名或遗漏 scope | Critical | alias 为 `@react-native-ohos/react-native-webview`(自身包名),应为上游 `react-native-webview`;或 alias 为 `async-storage` 但上游实际为 `@react-native-community/async-storage` |
210
+
211
+ ### 5.5 发布配置检查
212
+
213
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
214
+ |---|--------|---------|--------|-----------|
215
+ | RM-014 | 包设置为私有 | 检查 `package.json` 是否包含 `private` 且取值为 `true` | Major | 当前包为私有状态,无法发布 |
216
+ | RM-015 | 缺少 publishConfig 或 registry 配置错误 | 检查 `publishConfig` 是否配置了正确的发布 registry | Minor | 无 publishConfig 或 registry 指向非官方源 |
217
+
218
+ ### 5.6 LICENSE 与其他基础文件检查
219
+
220
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
221
+ |---|--------|---------|--------|-----------|
222
+ | RM-016 | 缺少 LICENSE 文件 | 检查仓库根目录是否存在 `LICENSE` / `LICENSE.md` / `LICENSE.txt` 文件 | Major | 无 LICENSE 文件 |
223
+ | RM-017 | LICENSE 类型与 package.json license 字段不一致 | 对比 LICENSE 文件实际协议类型与 package.json `license` 字段 | Minor | LICENSE 文件为 Apache-2.0,package.json 写 `"MIT"` |
224
+ | RM-018 | 缺少 .gitignore | 检查是否存在 `.gitignore` 文件 | Minor | 无 .gitignore,`node_modules` 等可能被误提交 |
225
+ | RM-019 | 缺少 .npmignore 或 files 配置不当 | 检查是否通过 `.npmignore` 或 `files` 字段正确控制发布范围 | Minor | 无 files 也无 .npmignore,发布包含源码和测试文件 |
226
+ | RM-020 | 缺少 COMMITTERS.md | 检查仓库根目录是否存在 COMMITTERS 文件 | Major | 无 COMMITTERS.md |
227
+
228
+ ---
229
+
230
+ ## 六、文档准确性与国际化检查
231
+
232
+ > 本章检查文档的**通用准确性**和**国际化**,不重复第一章(AD)和第七章(XC)已覆盖的"文档 vs 规格/代码"逐接口比对,仅保留 AD/XC 未覆盖的通用维度。
233
+
234
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
235
+ |---|--------|---------|--------|-----------|
236
+ | AC-001 | 文档与代码实现整体不一致 | 对比文档描述的接口签名、参数、行为与实际代码(非逐条比对,检查整体一致性) | Major | 文档写 `getConfig(): Config`,实际 `getConfig(): Promise<Config>` |
237
+ | AC-002 | 包含过时/错误信息 | 检查文档中的信息与当前版本是否相符 | Major | 文档写"使用 Legacy Bridge",实际已迁移至 TurboModule |
238
+ | AC-003 | 缺少中文或英文文档(未提供双语本地化) | 检查是否同时提供中文和英文文档 | Minor | 仅有英文 README,无中文;或仅有中文无英文 |
239
+ | AC-004 | 术语翻译不准确 | 检查鸿蒙特有术语翻译是否规范 | Minor | "TurboModule" 翻译为"涡轮模块" |
240
+ | AC-005 | 文档截图与实际 UI 不符 | 检查文档中的截图是否与当前版本 UI 一致 | Minor | 截图为旧版界面 |
241
+ | AC-006 | 文档外部链接失效 | 检查文档中的外部链接(非跳转文档链接)是否可访问 | Minor | 引用的官方文档链接已失效 |
242
+
243
+ > **已移至其他章节的检查项**:API 不存在 → 见 AD-001;示例 import 路径 → 见 EX-002;版本号不一致 → 见 XC-012;跳转文档支持矩阵不符 → 见 AD-013。
244
+
245
+ ---
246
+
247
+ ## 七、文档与接口规格交叉验证检查
248
+
249
+ > 本维度为 Phase 2.5 强制环节。以 `接口规格说明.md` 为权威基准,与用户文档进行比对。
250
+ >
251
+ > **与第一章的关系**:第一章(AD)从"文档完整性"视角逐项检查;本章从"交叉验证"视角做双向强制复核。两者检查对象相同但目的互补。本章合并了方向性检查(规格→文档 / 文档→规格)以减少冗余。
252
+
253
+ ### 7.1 接口规格文档可用性检查
254
+
255
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
256
+ |---|--------|---------|--------|-----------|
257
+ | XC-001 | 接口规格说明文档不存在 | 检查 `{outputDir}/接口规格说明.md` 是否存在 | Critical | 前置 SKILL 未执行,无接口规格说明文档 |
258
+
259
+ > 若 XC-001 命中,跳过后续 XC-002~XC-013 检查项,在报告中注明"前置接口规格文档缺失,无法进行交叉验证"。
260
+
261
+ ### 7.2 接口清单双向比对(规格↔文档)
262
+
263
+ > 合并规格→文档和文档→规格两个方向的检查。每个方向发现的问题分别记录。
264
+
265
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
266
+ |---|--------|---------|--------|-----------|
267
+ | XC-002 | 接口规格中的 API/类/TurboModule 方法在文档中无描述(规格→文档方向) | 从接口规格提取所有公开 API/类/TurboModule 方法,逐一在用户文档中搜索 | Major | 接口规格定义 `configure()`/`SessionConfig`/`getCurrentState()` 但文档均未提及 |
268
+ | XC-003 | 文档中描述的 API 或示例引用了接口规格中不存在的方法(文档→规格方向) | 从用户文档提取所有 API 名称,在接口规格中搜索;检查示例中的方法调用是否在规格中有定义 | Critical | 文档描述 `Database.query(sql)` 或示例调用 `NetInfo.getConnectionInfo()` 但接口规格无此方法 |
269
+ | XC-004 | 文档方法名与接口规格不一致 | 对比文档 API 名称与接口规格中的方法名 | Major | 文档写 `getSSID()`,接口规格为 `getWifiSSID()` |
270
+
271
+ ### 7.3 签名与类型比对
272
+
273
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
274
+ |---|--------|---------|--------|-----------|
275
+ | XC-005 | 文档参数/返回类型与接口规格不一致 | 对比文档中的参数名/类型/返回类型与接口规格中的签名 | Major | 文档写 `fetch(type: string)`,接口规格为 `fetch(type?: string)`;文档写 `getConfig(): Config`,接口规格为 `getConfig(): Promise<Config>` |
276
+ | XC-006 | 文档遗漏 async/Promise 标注 | 检查文档描述的同步方法在接口规格中是否为异步 | Critical | 文档写 `fetch(): NetInfoState`,接口规格为 `fetch(): Promise<NetInfoState>` |
277
+ | XC-007 | 文档参数可选性/默认值与接口规格不一致 | 对比文档中标注的必选/可选参数及默认值与接口规格定义 | Minor | 文档写 `callback: Function`(必选),接口规格 `callback?: Function`(可选);文档写 `timeout = 5000`,接口规格 `timeout = 3000` |
278
+
279
+ ### 7.4 鸿蒙化差异与文档一致性
280
+
281
+ > 接口规格说明文档第 5 章记录了鸿蒙化差异(缺失接口、新增接口、签名变更)。
282
+
283
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
284
+ |---|--------|---------|--------|-----------|
285
+ | XC-008 | 接口规格标记为"缺失"的 API,文档仍标记为支持 | 对比接口规格第 5.1 节缺失接口与文档中的支持状态 | Critical | 接口规格标记 `WebViewNativeConfig` 缺失,外部文档标记 Yes |
286
+ | XC-009 | 接口规格标记为"新增"的 API,文档未描述 | 对比接口规格第 5.2 节新增接口与文档描述 | Major | 接口规格标记 `schemeList` 新增🆕,文档未提及 |
287
+ | XC-010 | 接口规格记录的签名变更在文档中未反映 | 对比接口规格第 5 章签名差异与文档描述 | Major | 接口规格记录 `OverScrollModeType` 缺少 'content' 值,文档未标注 |
288
+
289
+ ### 7.5 配置与版本比对
290
+
291
+ > 权限检查已在第二章 HA-021 覆盖,此处不再重复。本节聚焦配置步骤和版本号的一致性。
292
+
293
+ | # | 检查项 | 检查方法 | 严重度 | 不匹配示例 |
294
+ |---|--------|---------|--------|-----------|
295
+ | XC-011 | 文档描述的配置步骤与实际项目结构不匹配 | 对比文档中的 CMakeLists/PackageProvider 步骤与实际文件 | Major | 文档写"修改 CMakeLists.txt"但项目使用 build-profile.json5 |
296
+ | XC-012 | 文档版本号与接口规格/package.json 不一致 | 对比用户文档中标注的版本号与接口规格第 1 章版本号、package.json/oh-package.json5 版本号 | Major | 文档写 v1.0.0,接口规格记录 1.2.0,package.json 版本为 1.2.0 |
297
+ | XC-013 | 文档描述的最低 API Version 与代码要求不一致 | 对比文档声明的 API Version 与 module.json5 中的配置 | Minor | 文档写 API 9+,module.json5 配置 API 10 |
298
+
299
+ ---
300
+
301
+ ## 八、检查结果判定规则
302
+
303
+ ### 8.1 严重度定义
304
+
305
+ | 严重度 | 单项扣分 | 定义 | 典型场景 |
306
+ |--------|----------|------|----------|
307
+ | Critical | -8 | 文档严重缺失导致用户无法使用核心功能 | 核心 API 无任何文档、示例使用已废弃 API |
308
+ | Major | -4 | 文档缺失或不规范,影响用户理解和使用 | 缺少参数说明、缺少安装步骤、版本不一致 |
309
+ | Minor | -1 | 文档轻微不规范,不影响功能使用 | 格式不统一、缺少许可证链接 |
310
+
311
+ ### 8.2 归零规则
312
+
313
+ - 文档完全空白(无 README、无 API 注释、无任何示例)→ 文档质量评分直接 **0 分**
314
+ - 核心 TurboModule/NAPI 接口无任何文档说明 → 文档质量评分直接 **0 分**
315
+
316
+ ### 8.3 评分计算
317
+
318
+ ```
319
+ 基础分 = 100
320
+
321
+ 维度权重与扣分上限:
322
+ - API 文档完整性(权重 20%):扣分上限 -20
323
+ - 鸿蒙化适配说明(权重 20%):扣分上限 -20
324
+ - 代码示例质量(权重 10%):扣分上限 -10
325
+ - 变更记录与版本规范(权重 10%):扣分上限 -10
326
+ - 代码仓基础信息(权重 15%):扣分上限 -15
327
+ - 文档与代码交叉验证(权重 15%):扣分上限 -15
328
+ - 文档准确性与国际化(权重 10%):扣分上限 -10
329
+
330
+ 每个维度内扣分规则:
331
+ - Critical 级别问题:每项 -8 分
332
+ - Major 级别问题:每项 -4 分
333
+ - Minor 级别问题:每项 -1 分
334
+
335
+ 维度实际扣分 = min(扣分上限, Critical扣分 + Major扣分 + Minor扣分)
336
+
337
+ 最终分 = max(0, 100 - 各维度实际扣分之和)
338
+ ```
339
+
340
+ ### 8.4 评分等级说明
341
+
342
+ | 分数范围 | 等级 | 说明 |
343
+ |----------|------|------|
344
+ | 90-100 | 优秀 | 文档完善,API 注释规范,适配说明详尽,示例丰富 |
345
+ | 80-89 | 良好 | 文档基本完整,存在少量 Minor 问题 |
346
+ | 70-79 | 一般 | 存在 Major 级别缺失,部分 API 缺少文档 |
347
+ | 60-69 | 较差 | 多个维度存在 Major 问题,用户使用困难 |
348
+ | 50-59 | 严重不足 | 核心文档缺失,Critical 级别问题存在 |
349
+ | <50 | 极差 | 文档几乎不可用,需全面补充文档 |
350
+
351
+ ### 8.5 批量判定简化规则
352
+
353
+ - 同一文件中多个同类 Minor 问题(如多个方法缺少 `@since`)可合并为一条记录,但在问题清单中列出所有涉及的文件和方法名
354
+ - 同一 API 的多个检查项均为 Critical 时,取最高严重度记录一次,其余在描述中注明
355
+ - 同一示例代码存在多个静态问题时,每个问题作为单独行记录