@ohos-cpf/3rdloop 0.0.2 → 0.0.4

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 +290 -244
  2. package/bin/3rdloop.mjs +46 -46
  3. package/lib/cli.js +781 -781
  4. package/lib/config-cmd.js +451 -451
  5. package/lib/config.js +318 -318
  6. package/lib/doctor.js +113 -113
  7. package/lib/exit-codes.js +30 -30
  8. package/lib/opencode.js +155 -155
  9. package/lib/orch.js +426 -426
  10. package/lib/queries.js +263 -263
  11. package/lib/step.js +325 -325
  12. package/lib/ui.js +222 -222
  13. package/lib/update.js +279 -279
  14. package/lib/workflow.js +308 -308
  15. package/lib/workflows.js +131 -131
  16. package/package.json +50 -50
  17. package/vendor/Server/Agent/SkillSelector/README.md +343 -343
  18. package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -207
  19. package/vendor/Server/Agent/SkillSelector/index.js +14 -14
  20. package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -313
  21. package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -161
  22. package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -144
  23. package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -433
  24. package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -382
  25. package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +59 -59
  26. package/vendor/Server/Brain/AnalysisStrategies.js +422 -422
  27. package/vendor/Server/Brain/Brain.js +686 -686
  28. package/vendor/Server/Brain/DecompositionStrategies.js +621 -621
  29. package/vendor/Server/Brain/PlanPersistence.js +196 -196
  30. package/vendor/Server/Brain/SkillExecutor.js +251 -251
  31. package/vendor/Server/Brain/index.js +11 -11
  32. package/vendor/Server/CLI/cli.js +275 -275
  33. package/vendor/Server/CLI/deveco-code/index.js +71 -71
  34. package/vendor/Server/CLI/deveco-code.js +5 -5
  35. package/vendor/Server/CLI/opencode/index.js +817 -818
  36. package/vendor/Server/CLI/opencode.js +5 -5
  37. package/vendor/Server/DbUse/MessageArchive.js +61 -61
  38. package/vendor/Server/DbUse/StorageManager.js +107 -107
  39. package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -94
  40. package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -138
  41. package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -138
  42. package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -114
  43. package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -157
  44. package/vendor/Server/DbUse/index.js +160 -160
  45. package/vendor/Server/DbUse/stores/SessionStore.js +279 -279
  46. package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -133
  47. package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -262
  48. package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -279
  49. package/vendor/Server/FlexRunner/FlexRunner.js +1759 -1759
  50. package/vendor/Server/FlexRunner/index.js +12 -12
  51. package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -523
  52. package/vendor/Server/Knowledge/KnowledgeManager.js +341 -341
  53. package/vendor/Server/Knowledge/index.js +33 -33
  54. package/vendor/Server/LoopEngine/LoopEngine.js +1133 -1133
  55. package/vendor/Server/LoopEngine/index.js +11 -11
  56. package/vendor/Server/Orchestrator/Orchestrator.js +0 -3
  57. package/vendor/Server/Orchestrator/StepNode.js +312 -312
  58. package/vendor/Server/Orchestrator/index.js +13 -13
  59. package/vendor/Server/Routes/controllers/BrainController.js +241 -241
  60. package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -1125
  61. package/vendor/Server/Routes/controllers/HealthController.js +44 -44
  62. package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -355
  63. package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -788
  64. package/vendor/Server/Routes/controllers/StatsController.js +57 -57
  65. package/vendor/Server/Routes/controllers/StreamController.js +67 -67
  66. package/vendor/Server/Routes/library/logger.js +179 -179
  67. package/vendor/Server/Routes/library/zipArchive.js +172 -172
  68. package/vendor/Server/Routes/router/Router.js +204 -204
  69. package/vendor/Server/Routes/routes/brain.js +47 -47
  70. package/vendor/Server/Routes/routes/flexrunner.js +72 -72
  71. package/vendor/Server/Routes/routes/health.js +28 -28
  72. package/vendor/Server/Routes/routes/index.js +57 -57
  73. package/vendor/Server/Routes/routes/knowledge.js +55 -55
  74. package/vendor/Server/Routes/routes/loopengine.js +58 -58
  75. package/vendor/Server/Routes/routes/orchestrator.js +61 -61
  76. package/vendor/Server/Routes/routes/registry.js +97 -97
  77. package/vendor/Server/Routes/routes/stats.js +23 -23
  78. package/vendor/Server/Routes/routes/stream.js +30 -30
  79. package/vendor/Server/Routes/server.js +203 -203
  80. package/vendor/Server/Routes/sse/SseHub.js +308 -308
  81. package/vendor/Server/Skills/acceptance-check/SKILL.md +191 -191
  82. package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -52
  83. package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -77
  84. package/vendor/Server/Skills/acceptance-check/references/PHASE2_EVIDENCE_VERIFICATION.md +70 -70
  85. package/vendor/Server/Skills/arkts-code-check/SKILL.md +320 -320
  86. package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +210 -210
  87. package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +28 -28
  88. package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +233 -233
  89. package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +219 -219
  90. package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +328 -328
  91. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -93
  92. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +432 -432
  93. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -851
  94. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +788 -788
  95. package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -291
  96. package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -68
  97. package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -184
  98. package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -337
  99. package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -400
  100. package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +98 -98
  101. package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -544
  102. package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -93
  103. package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +432 -432
  104. package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -851
  105. package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +788 -788
  106. package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -174
  107. package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -321
  108. package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -100
  109. package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -185
  110. package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +233 -233
  111. package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +102 -102
  112. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -89
  113. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -62
  114. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +107 -107
  115. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -124
  116. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -90
  117. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -57
  118. package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -259
  119. package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -97
  120. package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +391 -391
  121. package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -113
  122. package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +312 -312
  123. package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -154
  124. package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +165 -165
  125. package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +308 -308
  126. package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -90
  127. package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -282
  128. package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +360 -360
  129. package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +145 -145
  130. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +252 -252
  131. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +114 -114
  132. package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +262 -262
  133. package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -455
  134. package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -60
  135. package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -76
  136. package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -200
  137. package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +518 -518
  138. package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -276
  139. package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +92 -92
  140. package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -767
  141. package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -93
  142. package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +432 -432
  143. package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -851
  144. package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +788 -788
  145. package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -221
  146. package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +228 -228
  147. package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -97
  148. package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -194
  149. package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +575 -575
  150. package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +574 -574
  151. package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -182
  152. package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +490 -490
  153. package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -217
  154. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -93
  155. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +432 -432
  156. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -851
  157. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +788 -788
  158. package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -299
  159. package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +311 -311
  160. package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -190
  161. package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +133 -133
  162. package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -259
  163. package/vendor/Server/Skills/flutter-interface/README.md +75 -75
  164. package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -291
  165. package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -336
  166. package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -190
  167. package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -258
  168. package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -254
  169. package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +517 -517
  170. package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +381 -381
  171. package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +341 -341
  172. package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -71
  173. package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +518 -518
  174. package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +406 -406
  175. package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +652 -652
  176. package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +396 -396
  177. package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +744 -744
  178. package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +720 -720
  179. package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -414
  180. package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -150
  181. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -304
  182. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -265
  183. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -286
  184. package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -383
  185. package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -165
  186. package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -91
  187. package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -127
  188. package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +453 -301
  189. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_CHECKLIST.md +151 -0
  190. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +257 -105
  191. package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +191 -127
  192. package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +317 -208
  193. package/vendor/Server/Skills/rn-code-check/SKILL.md +320 -320
  194. package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +234 -234
  195. package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +188 -188
  196. package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +246 -246
  197. package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -198
  198. package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -40
  199. package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -78
  200. package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -70
  201. package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -47
  202. package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -252
  203. package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -176
  204. package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -5
  205. package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -35
  206. package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -137
  207. package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -33
  208. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -40
  209. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -429
  210. package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -105
  211. package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -90
  212. package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -213
  213. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -73
  214. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -258
  215. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -341
  216. package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -67
  217. package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -299
  218. package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -293
  219. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -857
  220. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -856
  221. package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -157
  222. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -801
  223. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +683 -683
  224. package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -233
  225. package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -1373
  226. package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -220
  227. package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -245
  228. package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -263
  229. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -414
  230. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -413
  231. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -311
  232. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -355
  233. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -115
  234. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -139
  235. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -586
  236. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -57
  237. package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -259
  238. package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -301
  239. package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -148
  240. package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -118
  241. package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -168
  242. package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -176
  243. package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -274
  244. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -45
  245. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -25
  246. package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -61
  247. package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -165
  248. package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -239
  249. package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -263
  250. package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -96
  251. package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +57 -57
  252. package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -99
  253. package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -64
  254. package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +74 -74
  255. package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -164
  256. package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +356 -339
  257. package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +85 -83
  258. package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +905 -859
  259. package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +124 -122
  260. package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +287 -279
  261. package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -273
  262. package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -129
  263. package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -581
  264. package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -138
  265. package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -168
  266. package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +526 -506
  267. package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +321 -280
  268. package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -221
  269. package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +220 -209
  270. package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -325
  271. package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -279
  272. package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -404
  273. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -185
  274. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -265
  275. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -189
  276. package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -203
  277. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -147
  278. package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -148
  279. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -165
  280. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -195
  281. package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -249
  282. package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -235
  283. package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -161
  284. package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -413
  285. package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -235
  286. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -245
  287. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -282
  288. package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -251
  289. package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -469
  290. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -310
  291. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -303
  292. package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -421
  293. package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -358
  294. package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -114
  295. package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -274
  296. package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -185
  297. package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -191
  298. package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -216
  299. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -107
  300. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -120
  301. package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -108
  302. package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -237
  303. package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -261
  304. package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -112
  305. package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +497 -497
  306. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -270
  307. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -164
  308. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -556
  309. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -459
  310. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -65
  311. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -512
  312. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -132
  313. package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -424
  314. package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -137
  315. package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -306
  316. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -485
  317. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -172
  318. package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -422
  319. package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -95
  320. package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -169
  321. package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -554
  322. package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -106
  323. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -216
  324. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -413
  325. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -269
  326. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -98
  327. package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -337
  328. package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -722
  329. package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -219
  330. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -345
  331. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -269
  332. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -173
  333. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -267
  334. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -174
  335. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -111
  336. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -186
  337. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -150
  338. package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -296
  339. package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -371
  340. package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -212
  341. package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -345
  342. package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -223
  343. package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -1053
  344. package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +295 -255
  345. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +82 -77
  346. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -224
  347. package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +175 -174
  348. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -967
  349. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -1798
  350. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -5
  351. package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +180 -137
  352. package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -145
  353. package/vendor/Server/Skills/skill-generator/SKILL.md +365 -365
  354. package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -183
  355. package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -82
  356. package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -110
  357. package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -122
  358. package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -121
  359. package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -259
  360. package/vendor/Server/Skills/task-analysis/SKILL.md +234 -234
  361. package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -160
  362. package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -190
  363. package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -224
  364. package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -162
  365. package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -55
  366. package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -126
  367. package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -256
  368. package/vendor/Server/Skills/task-decomposition/SKILL.md +528 -528
  369. package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -451
  370. package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -179
  371. package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -152
  372. package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -175
  373. package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -195
  374. package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -226
  375. package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -263
  376. package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -29
  377. package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -376
  378. package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -259
  379. package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -216
  380. package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +424 -424
  381. package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -427
  382. package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -214
  383. package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -235
  384. package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -250
  385. package/vendor/Server/TestCheck/TestCheck.js +775 -775
  386. package/vendor/Server/TestCheck/index.js +11 -11
  387. package/vendor/Server/library/McpToolGuide.js +280 -280
  388. package/vendor/Server/library/StatsService.js +126 -126
  389. package/vendor/Server/library/cstTime.js +16 -16
  390. package/vendor/VERSION +3 -3
  391. package/workflows/pr-check.mjs +105 -105
  392. package/workflows/pr-push.mjs +192 -192
  393. package/vendor/Server/Agent/SkillSelector/types.js +0 -63
@@ -1,586 +1,586 @@
1
- # 文档质量检视示例
2
-
3
- 本文档展示基于一个假设的 RN 鸿蒙化三方库 `@react-native-ohos/community-netinfo` 的文档质量检视过程和输出示例。
4
-
5
- > 说明:本示例为虚构场景,仅用于演示检视流程和报告格式。
6
-
7
- ---
8
-
9
- ## 一、输入场景
10
-
11
- ### 1.1 仓库结构
12
-
13
- ```
14
- @react-native-ohos/community-netinfo/
15
- ├── README.md # 仅含安装命令,无功能说明
16
- ├── src/
17
- │ ├── index.ts # 入口文件,export 无注释
18
- │ ├── NetInfo.ts # 核心实现
19
- │ └── types.ts # 类型定义,部分有注释
20
- ├── ohos/
21
- │ ├── NetInfoTurboModule.ets # TurboModule 实现
22
- │ ├── module.json5 # 权限声明
23
- │ └── oh-package.json5
24
- ├── turbo/
25
- │ └── NetInfoNativeComponent.d.ts # 类型声明,无注释
26
- ├── example/ # 示例目录
27
- │ └── App.tsx # 示例代码
28
- └── package.json # 无 CHANGELOG
29
- ```
30
-
31
- ### 1.2 README.md 内容
32
-
33
- ```markdown
34
- # @react-native-ohos/community-netinfo
35
-
36
- ## Installation
37
-
38
- ```bash
39
- npm install @react-native-ohos/community-netinfo
40
- ```
41
-
42
- ## Usage
43
-
44
- ```typescript
45
- import NetInfo from '@react-native-ohos/community-netinfo';
46
-
47
- NetInfo.fetch().then(state => {
48
- console.log(state.type);
49
- });
50
- ```
51
- ```
52
-
53
- ### 1.3 源码片段
54
-
55
- ```typescript
56
- // src/index.ts
57
- export { default as NetInfo } from './NetInfo';
58
- export { NetInfoState, NetInfoSubscription } from './types';
59
-
60
- // src/NetInfo.ts
61
- export default class NetInfo {
62
- static fetch(): Promise<NetInfoState> {
63
- return NetInfoTurboModule.getCurrentState();
64
- }
65
-
66
- static addEventListener(type: string, listener: (state: NetInfoState) => void): NetInfoSubscription {
67
- // ...
68
- }
69
-
70
- static configure(configuration: NetInfoConfiguration): void {
71
- // ...
72
- }
73
- }
74
-
75
- // src/types.ts
76
- export interface NetInfoState {
77
- type: string;
78
- isConnected: boolean;
79
- isInternetReachable: boolean | null;
80
- details: NetInfoDetails | null;
81
- }
82
-
83
- export type NetInfoSubscription = () => void;
84
- ```
85
-
86
- ```typescript
87
- // turbo/NetInfoNativeComponent.d.ts
88
- export interface Spec extends TurboModule {
89
- getCurrentState(): Promise<NetInfoState>;
90
- addListener(eventName: string): void;
91
- removeListeners(count: number): void;
92
- }
93
- ```
94
-
95
- ```json5
96
- // ohos/module.json5
97
- {
98
- "module": {
99
- "requestPermissions": [
100
- { "name": "ohos.permission.GET_NETWORK_INFO" }
101
- ]
102
- }
103
- }
104
- ```
105
-
106
- ---
107
-
108
- ## 二、检视结果示例
109
-
110
- ### 2.1 各维度评分明细
111
-
112
- | 检视维度 | 权重 | 扣分 | 维度得分 | Critical数 | Major数 | Minor数 |
113
- |----------|------|------|----------|-----------|---------|---------|
114
- | API 文档完整性 | 20% | -20 | 0 | 1 | 4 | 1 |
115
- | 鸿蒙化适配说明 | 20% | -20 | 0 | 1 | 3 | 0 |
116
- | 代码仓基础信息 | 15% | -12 | 3 | 0 | 3 | 0 |
117
- | 代码示例质量 | 10% | -8 | 2 | 0 | 2 | 0 |
118
- | 变更记录与版本规范 | 10% | -4 | 6 | 0 | 1 | 0 |
119
- | 文档与代码交叉验证 | 15% | -15 | 0 | 1 | 2 | 0 |
120
- | 文档准确性与国际化 | 10% | -1 | 9 | 0 | 0 | 1 |
121
-
122
- ### 2.2 综合评分
123
-
124
- **综合评分:20/100**
125
-
126
- 评分等级:极差
127
-
128
- ### 2.3 问题清单(摘要)
129
-
130
- | # | 文件 | 行号 | 严重度 | 检视维度 | 编号 | 描述 |
131
- |---|------|------|--------|----------|------|------|
132
- | 1 | `src/NetInfo.ts` | L1 | 🔴 Critical | API 文档完整性 | AD-001 | `NetInfo` 类及所有方法无任何文档注释 |
133
- | 2 | `turbo/NetInfoNativeComponent.d.ts` | L1 | 🟡 Major | API 文档完整性 | DT-001 | `.d.ts` 中 `Spec` 接口无注释 |
134
- | 3 | `turbo/NetInfoNativeComponent.d.ts` | L2 | 🟡 Major | API 文档完整性 | DT-002 | `getCurrentState` 等方法无 TSDoc |
135
- | 4 | `src/NetInfo.ts` | L3 | 🟡 Major | API 文档完整性 | TG-001, TG-002 | `fetch()` 缺少 `@param` 和 `@returns` |
136
- | 5 | `src/NetInfo.ts` | L7 | 🟡 Major | API 文档完整性 | TG-006 | `addEventListener` 缺少 `@example` |
137
- | 6 | `src/types.ts` | L1 | 🔵 Minor | API 文档完整性 | AD-004 | `NetInfoState` 注释中英混杂 |
138
- | 7 | `README.md` | — | 🔴 Critical | 鸿蒙化适配说明 | HA-001 | 无任何鸿蒙化适配说明文档 |
139
- | 8 | `README.md` | — | 🟡 Major | 鸿蒙化适配说明 | HA-006 | 缺少下载安装章节 |
140
- | 9 | `ohos/module.json5` | L3 | 🟡 Major | 鸿蒙化适配说明 | HA-021 | `GET_NETWORK_INFO` 权限未在文档中说明 |
141
- | 10 | — | — | 🟡 Major | 鸿蒙化适配说明 | HA-025 | TurboModule 库未说明 Codegen 配置 |
142
- | 11 | `package.json` | — | 🟡 Major | 代码仓基础信息 | RM-005 | description 为空或缺失 |
143
- | 12 | `package.json` | — | 🟡 Major | 代码仓基础信息 | RM-010 | homepage 指向上游 GitHub |
144
- | 13 | `package.json` | — | 🟡 Major | 代码仓基础信息 | RM-008 | version 与 oh-package.json5 不一致 |
145
- | 14 | `README.md` | — | 🟡 Major | 代码示例质量 | EX-006 | 示例未覆盖鸿蒙特有用法 |
146
- | 15 | `example/App.tsx` | — | 🟡 Major | 代码示例质量 | EX-010 | 示例 import 路径可能错误 |
147
- | 16 | — | — | 🟡 Major | 变更记录与版本规范 | CL-001 | 缺少 CHANGELOG.md |
148
- | 17 | — | — | 🔵 Minor | 文档准确性与国际化 | AC-003 | 缺少中文文档 |
149
-
150
- ---
151
-
152
- ## 三、检视过程详解
153
-
154
- ### 3.1 Phase 1:文件收集
155
-
156
- ```bash
157
- find {outputDir}/source/ohos -type f \( -name "*.md" -o -name "*.d.ts" -o -name "*.json5" -o -name "*.txt" \)
158
- ```
159
-
160
- 收集到的文件:
161
- - `README.md`(项目入口文档)
162
- - `turbo/NetInfoNativeComponent.d.ts`(类型声明)
163
- - `ohos/module.json5`(配置文件)
164
- - `ohos/oh-package.json5`(包配置)
165
- - 无 `CHANGELOG.md` → 记录 CL-001 Major 问题
166
-
167
- ### 3.2 Phase 2:逐维度检视
168
-
169
- #### 维度 1:API 文档完整性
170
-
171
- 扫描 `src/` 下所有 `.ts` 文件的 `export` 语句:
172
-
173
- | 文件 | 导出项 | 有无注释 | 问题编号 | 严重度 |
174
- |------|--------|---------|----------|--------|
175
- | `src/index.ts` | `NetInfo` (default) | ❌ | AD-001 | Critical |
176
- | `src/index.ts` | `NetInfoState` | ❌ | AD-001 | Critical |
177
- | `src/index.ts` | `NetInfoSubscription` | ❌ | AD-001 | Critical |
178
- | `src/NetInfo.ts` | `NetInfo.fetch()` | ❌ | TG-001, TG-002 | Major |
179
- | `src/NetInfo.ts` | `NetInfo.addEventListener()` | ❌ | TG-001, TG-006 | Major |
180
- | `src/NetInfo.ts` | `NetInfo.configure()` | ❌ | TG-001, TG-002 | Major |
181
- | `turbo/...d.ts` | `Spec` 接口 | ❌ | DT-001 | Major |
182
- | `turbo/...d.ts` | `getCurrentState()` | ❌ | DT-002 | Major |
183
-
184
- 维度扣分计算:
185
- - Critical: AD-001 出现 3 次 → -8 × 3 = -24
186
- - Major: 4 项 × -4 = -16
187
- - Minor: 1 项 × -1 = -1
188
- - 合计 = -24 + (-16) + (-1) = -41
189
- - 扣分上限 = -20
190
- - 维度实际扣分 = min(-20, -41) = **-20**
191
- - 维度得分 = 20 + (-20) = **0**
192
-
193
- > 注:3 个 Critical 合并为 1 条记录(AD-001),但扣分按实际发现次数计算(此处演示合并记录但扣分不合并的场景)。实际执行中,同文件多个同类 Critical 可合并为一条,扣分取该严重度的上限。
194
-
195
- #### 维度 2:鸿蒙化适配说明
196
-
197
- | 检查项 | 发现 | 问题编号 | 严重度 |
198
- |--------|------|----------|--------|
199
- | 鸿蒙化适配说明/迁移指南 | README 无任何鸿蒙化内容 | HA-001 | Critical |
200
- | 下载安装章节 | 无 ohpm 集成步骤 | HA-006 | Major |
201
- | 权限要求说明 | `GET_NETWORK_INFO` 未文档化 | HA-021 | Major |
202
- | TurboModule 配置说明 | 未说明 Codegen 配置 | HA-025 | Major |
203
-
204
- 维度扣分:
205
- - Critical: 1 × -8 = -8
206
- - Major: 3 × -4 = -12
207
- - 合计 = -20
208
- - 扣分上限 = -20
209
- - 维度实际扣分 = **-20**
210
- - 维度得分 = 20 - 20 = **0**
211
-
212
- #### 维度 3-6(同理计算,此处略)
213
-
214
- ### 3.3 Phase 3:评分计算
215
-
216
- ```
217
- 归零检查:
218
- - 文档非完全空白(有 README,有少量示例)→ 不触发归零
219
- - 核心 TurboModule 接口(Spec)无文档 → 触发归零?
220
-
221
- 判定:Spec 接口虽无注释,但 README 有基本使用示例,且接口较为简单。
222
- 不触发"核心接口无任何文档说明"归零规则(因 README 有用法说明)。
223
-
224
- 各维度扣分汇总:
225
- - API 文档完整性: -25
226
- - 鸿蒙化适配说明: -20
227
- - 代码仓基础信息: -12
228
- - 代码示例质量: -8
229
- - 变更记录与版本规范: -4
230
- - 文档准确性与国际化: -1
231
-
232
- 最终分 = max(0, 100 - 25 - 20 - 12 - 8 - 4 - 1) = max(0, 30) = 30
233
- ```
234
-
235
- ### 3.4 Phase 4:报告生成
236
-
237
- 生成 `文档质量检视报告.md`,格式参考 [REPORT_TEMPLATE.md](../assets/REPORT_TEMPLATE.md)。
238
-
239
- ---
240
-
241
- ## 四、常见检视场景
242
-
243
- ### 4.1 场景:文档完全空白
244
-
245
- ```
246
- 仓库状态:
247
- - 无 README.md
248
- - 无 CHANGELOG.md
249
- - 源码无任何注释
250
- - 无示例代码
251
-
252
- → 触发归零规则:文档完全空白
253
- → 最终分 = 0
254
- ```
255
-
256
- ### 4.2 场景:核心 TurboModule 无文档
257
-
258
- ```
259
- 仓库状态:
260
- - 有 README.md(含安装说明)
261
- - 有 CHANGELOG.md
262
- - 源码有部分注释
263
- - 但核心 TurboModule Spec 接口完全无注释,README 也未描述
264
-
265
- → 触发归零规则:核心 TurboModule/NAPI 接口无任何文档说明
266
- → 最终分 = 0
267
- ```
268
-
269
- ### 4.3 场景:文档质量优秀
270
-
271
- ```
272
- 仓库状态:
273
- - README.md 结构完整(功能简介、安装、使用、API 参考、许可证)
274
- - CHANGELOG.md 使用 Keep a Changelog 格式,记录了鸿蒙化变更
275
- - 所有 export API 有完整 TSDoc 注释(@param/@returns/@example)
276
- - .d.ts 文件注释完整
277
- - 有 example/ 目录,示例代码可运行
278
- - 有鸿蒙化适配说明章节
279
- - 双语文档(中英文同步)
280
-
281
- 检视发现:
282
- - Minor: 2 个方法缺少 @since 标注 → -1 × 2 = -2
283
- - Minor: CHANGELOG 格式略有偏差 → -1
284
-
285
- 最终分 = max(0, 100 - 2 - 1) = 97
286
- 评分等级:优秀
287
- ```
288
-
289
- ### 4.4 场景:示例代码使用已废弃 API
290
-
291
- ```
292
- 仓库状态:
293
- - README 示例代码调用 NetInfo.getConnectionInfo()
294
- - 但源码中该方法已标记 @deprecated,替代方法为 NetInfo.fetch()
295
-
296
- → 检查项 EX-002 (Critical): 示例代码使用已废弃 API
297
- → 扣分 -8
298
- → 修复建议:更新示例代码使用 NetInfo.fetch()
299
- ```
300
-
301
- ### 4.5 场景:跳转文档模式(极简 README + 外部 usage-docs)
302
-
303
- ```
304
- 仓库:rntpc_react-native-network-info
305
- 文档模式:跳转文档
306
-
307
- 仓库本地文件:
308
- - README.md:仅含包名 + "文档"章节(链接指向 usage-docs)+ 许可证,约 20 行
309
- - README_zh.md:不存在(中英文在同一 README 中以链接形式提供)
310
- - CHANGELOG.md:不存在
311
- - NetworkInfo.d.ts:类型声明文件
312
- - harmony/:鸿蒙化实现代码
313
- - src/:JS/TS 层代码
314
-
315
- 外部文档(usage-docs):
316
- - 中文:https://gitcode.com/OpenHarmony-RN/usage-docs/blob/master/zh-cn/react-native-network-info.md
317
- - 英文:https://gitcode.com/OpenHarmony-RN/usage-docs/blob/master/en/react-native-network-info.md
318
- - 外部文档包含:安装与使用、Link、约束与限制、静态方法 API 表格、遗留问题
319
-
320
- 检视过程:
321
-
322
- Phase 1 识别:
323
- - README 中包含 `OpenHarmony-RN/usage-docs` 链接 → 跳转模式
324
- - 收集本地文件 + 获取外部文档
325
-
326
- Phase 2 检视要点:
327
- - README.md 极简**不是问题**,这是跳转模式的设计选择,不记录 RM-002/RM-004
328
- - 主要检视对象转为外部 usage-docs 内容
329
- - 检查外部文档是否包含标准章节:安装、链接、约束与限制、接口说明
330
- - 检查外部文档的 API 支持矩阵与本地代码实现的一致性
331
- - CHANGELOG 缺失仍需记录(CL-001 Major),因为 CHANGELOG 是本地文件
332
- - 源码注释检查仍需进行(AD/DT/NP/NC/CE/TG 系列检查项仍适用)
333
-
334
- 检视发现:
335
- | # | 文件 | 严重度 | 编号 | 描述 |
336
- |---|------|--------|------|------|
337
- | 1 | README.md | Minor | RM-003 | 缺少独立中文 README(README_zh.md) |
338
- | 2 | — | Major | CL-001 | 缺少 CHANGELOG.md |
339
- | 3 | NetworkInfo.d.ts | Major | DT-001 | TurboModule Spec 接口缺少注释 |
340
- | 4 | external-docs | Major | HA-019 | 外部文档约束与限制中缺少编译运行 API 版本要求 |
341
- | 5 | external-docs | Minor | HA-023 | 外部文档遗留问题章节为空 |
342
-
343
- 评分影响分析:
344
- - 跳转模式下的外部文档提供了完整的安装、链接、接口说明 → README 维度不扣大分
345
- - 但外部文档的约束与限制不够完整 → 鸿蒙化适配说明维度扣分
346
- - 源码注释和 CHANGELOG 问题仍需独立计算
347
-
348
- 注意:
349
- - ❌ 错误做法:因 README 极简直接记录 RM-002/RM-004 Major 扣分
350
- - ✅ 正确做法:识别为跳转模式后,转而检视外部文档的完整性
351
- ```
352
-
353
- ### 4.6 场景:内嵌文档模式(完整 README_zh.md)
354
-
355
- ```
356
- 仓库:rntpc_react-native-svg
357
- 文档模式:内嵌文档
358
-
359
- 仓库本地文件:
360
- - README.md:英文版完整文档(7+ 章节:简介、安装、链接、约束、示例、接口说明、开源协议)
361
- - README_zh.md:中文版完整文档,内容与英文版对应
362
- - CHANGELOG.md:存在
363
- - harmony/:鸿蒙化实现代码(含 C++)
364
-
365
- 检视过程:
366
-
367
- Phase 1 识别:
368
- - README.md 长度超过 200 行,含完整章节和代码示例 → 内嵌模式
369
- - 不需要获取外部文档
370
-
371
- Phase 2 检视要点:
372
- - README.md 和 README_zh.md 是主要检视对象
373
- - 检查中英文版本内容是否同步
374
- - 检查"接口说明"中的 API 支持矩阵与源码实现是否一致
375
- - 检查"约束与限制"中的兼容性和 API 版本要求
376
- - 检查"链接"章节中的 CMakeLists/PackageProvider 配置步骤
377
-
378
- 典型发现:
379
- - README 中接口表格可能标记 `Yes` 但源码实际未实现 → AD-013
380
- - 中英文版本不同步(英文版缺少某些新增内容)→ AC-003/AC-003
381
- - CMakeLists 配置步骤描述与实际文件不匹配 → AC-001
382
- ```
383
-
384
- ---
385
-
386
- ## 五、检视技巧
387
-
388
- ### 5.1 快速识别文档覆盖率
389
-
390
- ```bash
391
- # 统计 export 数量
392
- grep -rn "export " src/ ohos/ --include="*.ts" --include="*.ets" | wc -l
393
-
394
- # 统计有注释的 export 数量(注释通常在 export 前一行或前几行)
395
- # 手动检查:逐个 export 项检查上方是否有 /** */ 注释
396
- ```
397
-
398
- ### 5.2 高效检视顺序
399
-
400
- 1. **先看 README** → 建立整体认知,快速判断文档完善程度
401
- 2. **再看 .d.ts** → 理解 API 表面,检查类型声明注释
402
- 3. **然后看源码注释** → 深入实现细节,检查 TSDoc 标签
403
- 4. **最后看 CHANGELOG 和 example** → 验证变更记录和示例质量
404
-
405
- ### 5.3 识别常见问题模式
406
-
407
- | 问题模式 | 特征 | 快速检测方法 |
408
- |----------|------|-------------|
409
- | 注释占位符 | `/** TODO */` `/** xxx */` | grep 搜索 TODO/xxx/FIXME |
410
- | 废弃 API 未标注 | 源码注释含 "deprecated" 但无 `@deprecated` 标签 | grep "deprecated" 对比 `@deprecated` |
411
- | 版本号不一致 | README 版本 ≠ package.json 版本 | 对比两处版本号 |
412
- | 示例无 await | 异步方法示例直接使用返回值 | 检查 Promise 返回的方法示例是否含 await |
413
- | 权限未说明 | module.json5 有权限但 README 未提及 | 对比 module.json5 权限列表与 README 说明 |
414
- | 跳转模式误判 | 极简 README 被错误扣分为"文档缺失" | 先检查 README 是否含 usage-docs 链接 |
415
- | 外部文档滞后 | usage-docs 版本落后于代码仓库 | 对比外部文档版本号与 package.json 版本 |
416
- | 接口矩阵不准确 | API 支持矩阵标记 `Yes` 但源码未实现 | 抽查外部文档中的 Yes/No 标记与源码实现 |
417
-
418
- ### 5.4 跳转文档模式快速判定流程
419
-
420
- ```
421
- 1. 读取 README.md
422
- 2. 搜索 "usage-docs" 或 "OpenHarmony-RN"
423
- ├─ 找到 → 跳转模式
424
- │ ├─ 提取中英文链接
425
- │ ├─ 获取外部文档内容(保存到 external-docs/)
426
- │ ├─ 以外部文档为主要检视对象
427
- │ └─ README 极简不算缺陷
428
- └─ 未找到 → 内嵌模式
429
- ├─ 以本地 README.md/README_zh.md 为主要检视对象
430
- └─ 按 CHECK_CHECKLIST 常规流程检视
431
- ```
432
-
433
- ---
434
-
435
- ## 六、Phase 2.5 交叉验证场景示例
436
-
437
- > 以下场景均以 `接口规格说明.md` 为权威基准,与用户文档(README/外部 usage-docs)进行双向比对。
438
-
439
- ### 6.1 场景:文档描述的方法在接口规格中不存在
440
-
441
- ```
442
- 仓库:@react-native-ohos/community-netinfo
443
- 文档模式:跳转文档
444
-
445
- 外部 usage-docs 描述:
446
- - 静态方法表格列出 `getConnectionInfo()` → 返回 `NetInfoState`
447
- - 静态方法表格列出 `fetch()` → 返回 `Promise<NetInfoState>`
448
-
449
- 接口规格说明文档(第3章 JS/TS 导出):
450
- - fetch(): Promise<NetInfoState> ✅
451
- - addEventListener(): NetInfoSubscription ✅
452
- - 无 `getConnectionInfo()` ❌
453
-
454
- 交叉验证结果:
455
- | # | API 名称 | 差异类型 | 接口规格 | 文档描述 | 编号 | 严重度 |
456
- |---|----------|----------|----------|----------|------|--------|
457
- | 1 | `getConnectionInfo()` | 文档→规格:API 不存在 | 无定义 | 有描述 | XC-003 | Critical |
458
-
459
- → 修复建议:从外部文档删除 `getConnectionInfo()` 描述,或在代码中补充实现
460
- ```
461
-
462
- ### 6.2 场景:返回类型不一致(同步 vs 异步)
463
-
464
- ```
465
- 仓库:@react-native-ohos/react-native-svg
466
- 文档模式:内嵌文档
467
-
468
- README 接口表格描述:
469
- - `getSvgData(): SvgData` → 标注为同步返回
470
-
471
- 接口规格说明文档(第3章):
472
- - `getSvgData(): Promise<SvgData>` → 定义为异步方法
473
-
474
- 交叉验证结果:
475
- | # | API 名称 | 差异类型 | 接口规格 | 文档描述 | 编号 | 严重度 |
476
- |---|----------|----------|----------|----------|------|--------|
477
- | 1 | `getSvgData()` | 返回类型不一致 | Promise\<SvgData\> | SvgData | XC-006 | Critical |
478
-
479
- → 这是最常见的准确性问题:文档遗漏了 async/Promise 标注,用户按同步方式调用会导致运行时错误
480
- → 修复建议:文档更新为 `getSvgData(): Promise<SvgData>`,示例代码添加 await
481
- ```
482
-
483
- ### 6.3 场景:权限声明与文档不一致
484
-
485
- ```
486
- 仓库:@react-native-ohos/react-native-network-info
487
- 文档模式:跳转文档
488
-
489
- module.json5 实际声明:
490
- - ohos.permission.GET_NETWORK_INFO
491
- - ohos.permission.GET_WIFI_INFO
492
-
493
- 外部 usage-docs"约束与限制"章节:
494
- - 仅说明"需要网络权限"
495
- - 未说明需要 WiFi 信息权限
496
-
497
- 交叉验证结果:
498
- | # | 差异类型 | 文档描述 | module.json5 实际 | 编号 | 严重度 |
499
- |---|----------|----------|-------------------|------|--------|
500
- | 1 | 权限未说明 | 文档仅提及网络权限 | 还声明了 GET_WIFI_INFO | HA-021 | Major |
501
-
502
- → 修复建议:在文档"约束与限制"中补充说明需要 WiFi 信息权限
503
- ```
504
-
505
- ### 6.4 场景:接口规格中的 API 在用户文档中无描述
506
-
507
- ```
508
- 仓库:@react-native-ohos/react-native-device-info
509
- 文档模式:跳转文档
510
-
511
- 接口规格说明文档定义的 API(第3章 JS/TS 导出):
512
- - getDeviceId() → 文档有描述 ✅
513
- - getSystemName() → 文档有描述 ✅
514
- - getBuildId() → 文档无描述 ❌
515
- - isTablet() → 文档无描述 ❌
516
- - getInstallerPackageName() → 文档无描述 ❌
517
-
518
- 外部 usage-docs API 表格:
519
- - 仅列出 getDeviceId() 和 getSystemName()
520
-
521
- 交叉验证结果:
522
- | # | API 名称 | 差异类型 | 编号 | 严重度 |
523
- |---|----------|----------|------|--------|
524
- | 1 | `getBuildId()` | 规格→文档:无描述 | XC-002 | Major |
525
- | 2 | `isTablet()` | 规格→文档:无描述 | XC-002 | Major |
526
- | 3 | `getInstallerPackageName()` | 规格→文档:无描述 | XC-002 | Major |
527
-
528
- → 修复建议:在外部文档 API 表格中补充这三个方法的描述和支持状态
529
- ```
530
-
531
- ### 6.5 场景:鸿蒙化差异与文档不一致
532
-
533
- ```
534
- 仓库:@react-native-ohos/community-netinfo
535
- 文档模式:跳转文档
536
-
537
- 接口规格说明文档第5章鸿蒙化差异:
538
- - 第5.1节缺失接口:useNetInfo() ❌、getDefaultInterface() ❌
539
- - 第5.2节新增接口:isDefaultNetwork() 🆕
540
- - 签名变更:fetch(type?: string) → 鸿蒙版 fetch()(缺少 type 参数)
541
-
542
- 外部 usage-docs API 表格:
543
- - fetch() → 描述为无参数 ✅(与鸿蒙化签名一致)
544
- - useNetInfo() → 仍标记为支持 ❌(接口规格标记为缺失)
545
- - getDefaultInterface() → 仍标记为支持 ❌(接口规格标记为缺失)
546
- - isDefaultNetwork() → 无描述 ❌(接口规格标记为新增)
547
-
548
- 交叉验证结果:
549
- | # | API 名称 | 差异类型 | 接口规格 | 文档描述 | 编号 | 严重度 |
550
- |---|----------|----------|----------|----------|------|--------|
551
- | 1 | `useNetInfo()` | 鸿蒙化差异不一致 | 第5.1节标记缺失 | 标记为支持 | XC-008 | Critical |
552
- | 2 | `getDefaultInterface()` | 鸿蒙化差异不一致 | 第5.1节标记缺失 | 标记为支持 | XC-008 | Critical |
553
- | 3 | `isDefaultNetwork()` | 新增接口未描述 | 第5.2节标记新增 | 无描述 | XC-009 | Major |
554
-
555
- → 修复建议:更新外部文档,useNetInfo/getDefaultInterface 标记为不支持,补充 isDefaultNetwork 描述
556
- ```
557
-
558
- ### 6.6 场景:外部文档接口支持矩阵与接口规格不一致
559
-
560
- ```
561
- 仓库:@react-native-ohos/react-native-svg
562
- 文档模式:跳转文档
563
-
564
- 外部 usage-docs API 支持矩阵(部分):
565
- | 属性 | HarmonyOS Support |
566
- |------|-------------------|
567
- | Circle | Yes |
568
- | Ellipse | Yes |
569
- | TextPath | Yes |
570
- | Marker | No |
571
- | ForeignObject | No |
572
-
573
- 接口规格说明文档第5.1节缺失接口:
574
- - TextPath ❌(文档标记 Yes 但接口规格标记缺失)
575
-
576
- 接口规格说明文档第3章导出:
577
- - ForeignObject → 有定义(文档标记 No 但接口规格有导出)
578
-
579
- 交叉验证结果:
580
- | # | API 名称 | 差异类型 | 接口规格 | 文档标记 | 编号 | 严重度 |
581
- |---|----------|----------|----------|----------|------|--------|
582
- | 1 | TextPath | 支持矩阵不一致 | 第5.1节标记缺失 | Yes | XC-008 | Critical |
583
- | 2 | ForeignObject | 支持矩阵不一致 | 第3章有导出 | No | AD-013 | Major |
584
-
585
- → 修复建议:更新外部文档支持矩阵,TextPath 改为 No,ForeignObject 改为 Yes
586
- ```
1
+ # 文档质量检视示例
2
+
3
+ 本文档展示基于一个假设的 RN 鸿蒙化三方库 `@react-native-ohos/community-netinfo` 的文档质量检视过程和输出示例。
4
+
5
+ > 说明:本示例为虚构场景,仅用于演示检视流程和报告格式。
6
+
7
+ ---
8
+
9
+ ## 一、输入场景
10
+
11
+ ### 1.1 仓库结构
12
+
13
+ ```
14
+ @react-native-ohos/community-netinfo/
15
+ ├── README.md # 仅含安装命令,无功能说明
16
+ ├── src/
17
+ │ ├── index.ts # 入口文件,export 无注释
18
+ │ ├── NetInfo.ts # 核心实现
19
+ │ └── types.ts # 类型定义,部分有注释
20
+ ├── ohos/
21
+ │ ├── NetInfoTurboModule.ets # TurboModule 实现
22
+ │ ├── module.json5 # 权限声明
23
+ │ └── oh-package.json5
24
+ ├── turbo/
25
+ │ └── NetInfoNativeComponent.d.ts # 类型声明,无注释
26
+ ├── example/ # 示例目录
27
+ │ └── App.tsx # 示例代码
28
+ └── package.json # 无 CHANGELOG
29
+ ```
30
+
31
+ ### 1.2 README.md 内容
32
+
33
+ ```markdown
34
+ # @react-native-ohos/community-netinfo
35
+
36
+ ## Installation
37
+
38
+ ```bash
39
+ npm install @react-native-ohos/community-netinfo
40
+ ```
41
+
42
+ ## Usage
43
+
44
+ ```typescript
45
+ import NetInfo from '@react-native-ohos/community-netinfo';
46
+
47
+ NetInfo.fetch().then(state => {
48
+ console.log(state.type);
49
+ });
50
+ ```
51
+ ```
52
+
53
+ ### 1.3 源码片段
54
+
55
+ ```typescript
56
+ // src/index.ts
57
+ export { default as NetInfo } from './NetInfo';
58
+ export { NetInfoState, NetInfoSubscription } from './types';
59
+
60
+ // src/NetInfo.ts
61
+ export default class NetInfo {
62
+ static fetch(): Promise<NetInfoState> {
63
+ return NetInfoTurboModule.getCurrentState();
64
+ }
65
+
66
+ static addEventListener(type: string, listener: (state: NetInfoState) => void): NetInfoSubscription {
67
+ // ...
68
+ }
69
+
70
+ static configure(configuration: NetInfoConfiguration): void {
71
+ // ...
72
+ }
73
+ }
74
+
75
+ // src/types.ts
76
+ export interface NetInfoState {
77
+ type: string;
78
+ isConnected: boolean;
79
+ isInternetReachable: boolean | null;
80
+ details: NetInfoDetails | null;
81
+ }
82
+
83
+ export type NetInfoSubscription = () => void;
84
+ ```
85
+
86
+ ```typescript
87
+ // turbo/NetInfoNativeComponent.d.ts
88
+ export interface Spec extends TurboModule {
89
+ getCurrentState(): Promise<NetInfoState>;
90
+ addListener(eventName: string): void;
91
+ removeListeners(count: number): void;
92
+ }
93
+ ```
94
+
95
+ ```json5
96
+ // ohos/module.json5
97
+ {
98
+ "module": {
99
+ "requestPermissions": [
100
+ { "name": "ohos.permission.GET_NETWORK_INFO" }
101
+ ]
102
+ }
103
+ }
104
+ ```
105
+
106
+ ---
107
+
108
+ ## 二、检视结果示例
109
+
110
+ ### 2.1 各维度评分明细
111
+
112
+ | 检视维度 | 权重 | 扣分 | 维度得分 | Critical数 | Major数 | Minor数 |
113
+ |----------|------|------|----------|-----------|---------|---------|
114
+ | API 文档完整性 | 20% | -20 | 0 | 1 | 4 | 1 |
115
+ | 鸿蒙化适配说明 | 20% | -20 | 0 | 1 | 3 | 0 |
116
+ | 代码仓基础信息 | 15% | -12 | 3 | 0 | 3 | 0 |
117
+ | 代码示例质量 | 10% | -8 | 2 | 0 | 2 | 0 |
118
+ | 变更记录与版本规范 | 10% | -4 | 6 | 0 | 1 | 0 |
119
+ | 文档与代码交叉验证 | 15% | -15 | 0 | 1 | 2 | 0 |
120
+ | 文档准确性与国际化 | 10% | -1 | 9 | 0 | 0 | 1 |
121
+
122
+ ### 2.2 综合评分
123
+
124
+ **综合评分:20/100**
125
+
126
+ 评分等级:极差
127
+
128
+ ### 2.3 问题清单(摘要)
129
+
130
+ | # | 文件 | 行号 | 严重度 | 检视维度 | 编号 | 描述 |
131
+ |---|------|------|--------|----------|------|------|
132
+ | 1 | `src/NetInfo.ts` | L1 | 🔴 Critical | API 文档完整性 | AD-001 | `NetInfo` 类及所有方法无任何文档注释 |
133
+ | 2 | `turbo/NetInfoNativeComponent.d.ts` | L1 | 🟡 Major | API 文档完整性 | DT-001 | `.d.ts` 中 `Spec` 接口无注释 |
134
+ | 3 | `turbo/NetInfoNativeComponent.d.ts` | L2 | 🟡 Major | API 文档完整性 | DT-002 | `getCurrentState` 等方法无 TSDoc |
135
+ | 4 | `src/NetInfo.ts` | L3 | 🟡 Major | API 文档完整性 | TG-001, TG-002 | `fetch()` 缺少 `@param` 和 `@returns` |
136
+ | 5 | `src/NetInfo.ts` | L7 | 🟡 Major | API 文档完整性 | TG-006 | `addEventListener` 缺少 `@example` |
137
+ | 6 | `src/types.ts` | L1 | 🔵 Minor | API 文档完整性 | AD-004 | `NetInfoState` 注释中英混杂 |
138
+ | 7 | `README.md` | — | 🔴 Critical | 鸿蒙化适配说明 | HA-001 | 无任何鸿蒙化适配说明文档 |
139
+ | 8 | `README.md` | — | 🟡 Major | 鸿蒙化适配说明 | HA-006 | 缺少下载安装章节 |
140
+ | 9 | `ohos/module.json5` | L3 | 🟡 Major | 鸿蒙化适配说明 | HA-021 | `GET_NETWORK_INFO` 权限未在文档中说明 |
141
+ | 10 | — | — | 🟡 Major | 鸿蒙化适配说明 | HA-025 | TurboModule 库未说明 Codegen 配置 |
142
+ | 11 | `package.json` | — | 🟡 Major | 代码仓基础信息 | RM-005 | description 为空或缺失 |
143
+ | 12 | `package.json` | — | 🟡 Major | 代码仓基础信息 | RM-010 | homepage 指向上游 GitHub |
144
+ | 13 | `package.json` | — | 🟡 Major | 代码仓基础信息 | RM-008 | version 与 oh-package.json5 不一致 |
145
+ | 14 | `README.md` | — | 🟡 Major | 代码示例质量 | EX-006 | 示例未覆盖鸿蒙特有用法 |
146
+ | 15 | `example/App.tsx` | — | 🟡 Major | 代码示例质量 | EX-010 | 示例 import 路径可能错误 |
147
+ | 16 | — | — | 🟡 Major | 变更记录与版本规范 | CL-001 | 缺少 CHANGELOG.md |
148
+ | 17 | — | — | 🔵 Minor | 文档准确性与国际化 | AC-003 | 缺少中文文档 |
149
+
150
+ ---
151
+
152
+ ## 三、检视过程详解
153
+
154
+ ### 3.1 Phase 1:文件收集
155
+
156
+ ```bash
157
+ find {outputDir}/source/ohos -type f \( -name "*.md" -o -name "*.d.ts" -o -name "*.json5" -o -name "*.txt" \)
158
+ ```
159
+
160
+ 收集到的文件:
161
+ - `README.md`(项目入口文档)
162
+ - `turbo/NetInfoNativeComponent.d.ts`(类型声明)
163
+ - `ohos/module.json5`(配置文件)
164
+ - `ohos/oh-package.json5`(包配置)
165
+ - 无 `CHANGELOG.md` → 记录 CL-001 Major 问题
166
+
167
+ ### 3.2 Phase 2:逐维度检视
168
+
169
+ #### 维度 1:API 文档完整性
170
+
171
+ 扫描 `src/` 下所有 `.ts` 文件的 `export` 语句:
172
+
173
+ | 文件 | 导出项 | 有无注释 | 问题编号 | 严重度 |
174
+ |------|--------|---------|----------|--------|
175
+ | `src/index.ts` | `NetInfo` (default) | ❌ | AD-001 | Critical |
176
+ | `src/index.ts` | `NetInfoState` | ❌ | AD-001 | Critical |
177
+ | `src/index.ts` | `NetInfoSubscription` | ❌ | AD-001 | Critical |
178
+ | `src/NetInfo.ts` | `NetInfo.fetch()` | ❌ | TG-001, TG-002 | Major |
179
+ | `src/NetInfo.ts` | `NetInfo.addEventListener()` | ❌ | TG-001, TG-006 | Major |
180
+ | `src/NetInfo.ts` | `NetInfo.configure()` | ❌ | TG-001, TG-002 | Major |
181
+ | `turbo/...d.ts` | `Spec` 接口 | ❌ | DT-001 | Major |
182
+ | `turbo/...d.ts` | `getCurrentState()` | ❌ | DT-002 | Major |
183
+
184
+ 维度扣分计算:
185
+ - Critical: AD-001 出现 3 次 → -8 × 3 = -24
186
+ - Major: 4 项 × -4 = -16
187
+ - Minor: 1 项 × -1 = -1
188
+ - 合计 = -24 + (-16) + (-1) = -41
189
+ - 扣分上限 = -20
190
+ - 维度实际扣分 = min(-20, -41) = **-20**
191
+ - 维度得分 = 20 + (-20) = **0**
192
+
193
+ > 注:3 个 Critical 合并为 1 条记录(AD-001),但扣分按实际发现次数计算(此处演示合并记录但扣分不合并的场景)。实际执行中,同文件多个同类 Critical 可合并为一条,扣分取该严重度的上限。
194
+
195
+ #### 维度 2:鸿蒙化适配说明
196
+
197
+ | 检查项 | 发现 | 问题编号 | 严重度 |
198
+ |--------|------|----------|--------|
199
+ | 鸿蒙化适配说明/迁移指南 | README 无任何鸿蒙化内容 | HA-001 | Critical |
200
+ | 下载安装章节 | 无 ohpm 集成步骤 | HA-006 | Major |
201
+ | 权限要求说明 | `GET_NETWORK_INFO` 未文档化 | HA-021 | Major |
202
+ | TurboModule 配置说明 | 未说明 Codegen 配置 | HA-025 | Major |
203
+
204
+ 维度扣分:
205
+ - Critical: 1 × -8 = -8
206
+ - Major: 3 × -4 = -12
207
+ - 合计 = -20
208
+ - 扣分上限 = -20
209
+ - 维度实际扣分 = **-20**
210
+ - 维度得分 = 20 - 20 = **0**
211
+
212
+ #### 维度 3-6(同理计算,此处略)
213
+
214
+ ### 3.3 Phase 3:评分计算
215
+
216
+ ```
217
+ 归零检查:
218
+ - 文档非完全空白(有 README,有少量示例)→ 不触发归零
219
+ - 核心 TurboModule 接口(Spec)无文档 → 触发归零?
220
+
221
+ 判定:Spec 接口虽无注释,但 README 有基本使用示例,且接口较为简单。
222
+ 不触发"核心接口无任何文档说明"归零规则(因 README 有用法说明)。
223
+
224
+ 各维度扣分汇总:
225
+ - API 文档完整性: -25
226
+ - 鸿蒙化适配说明: -20
227
+ - 代码仓基础信息: -12
228
+ - 代码示例质量: -8
229
+ - 变更记录与版本规范: -4
230
+ - 文档准确性与国际化: -1
231
+
232
+ 最终分 = max(0, 100 - 25 - 20 - 12 - 8 - 4 - 1) = max(0, 30) = 30
233
+ ```
234
+
235
+ ### 3.4 Phase 4:报告生成
236
+
237
+ 生成 `文档质量检视报告.md`,格式参考 [REPORT_TEMPLATE.md](../assets/REPORT_TEMPLATE.md)。
238
+
239
+ ---
240
+
241
+ ## 四、常见检视场景
242
+
243
+ ### 4.1 场景:文档完全空白
244
+
245
+ ```
246
+ 仓库状态:
247
+ - 无 README.md
248
+ - 无 CHANGELOG.md
249
+ - 源码无任何注释
250
+ - 无示例代码
251
+
252
+ → 触发归零规则:文档完全空白
253
+ → 最终分 = 0
254
+ ```
255
+
256
+ ### 4.2 场景:核心 TurboModule 无文档
257
+
258
+ ```
259
+ 仓库状态:
260
+ - 有 README.md(含安装说明)
261
+ - 有 CHANGELOG.md
262
+ - 源码有部分注释
263
+ - 但核心 TurboModule Spec 接口完全无注释,README 也未描述
264
+
265
+ → 触发归零规则:核心 TurboModule/NAPI 接口无任何文档说明
266
+ → 最终分 = 0
267
+ ```
268
+
269
+ ### 4.3 场景:文档质量优秀
270
+
271
+ ```
272
+ 仓库状态:
273
+ - README.md 结构完整(功能简介、安装、使用、API 参考、许可证)
274
+ - CHANGELOG.md 使用 Keep a Changelog 格式,记录了鸿蒙化变更
275
+ - 所有 export API 有完整 TSDoc 注释(@param/@returns/@example)
276
+ - .d.ts 文件注释完整
277
+ - 有 example/ 目录,示例代码可运行
278
+ - 有鸿蒙化适配说明章节
279
+ - 双语文档(中英文同步)
280
+
281
+ 检视发现:
282
+ - Minor: 2 个方法缺少 @since 标注 → -1 × 2 = -2
283
+ - Minor: CHANGELOG 格式略有偏差 → -1
284
+
285
+ 最终分 = max(0, 100 - 2 - 1) = 97
286
+ 评分等级:优秀
287
+ ```
288
+
289
+ ### 4.4 场景:示例代码使用已废弃 API
290
+
291
+ ```
292
+ 仓库状态:
293
+ - README 示例代码调用 NetInfo.getConnectionInfo()
294
+ - 但源码中该方法已标记 @deprecated,替代方法为 NetInfo.fetch()
295
+
296
+ → 检查项 EX-002 (Critical): 示例代码使用已废弃 API
297
+ → 扣分 -8
298
+ → 修复建议:更新示例代码使用 NetInfo.fetch()
299
+ ```
300
+
301
+ ### 4.5 场景:跳转文档模式(极简 README + 外部 usage-docs)
302
+
303
+ ```
304
+ 仓库:rntpc_react-native-network-info
305
+ 文档模式:跳转文档
306
+
307
+ 仓库本地文件:
308
+ - README.md:仅含包名 + "文档"章节(链接指向 usage-docs)+ 许可证,约 20 行
309
+ - README_zh.md:不存在(中英文在同一 README 中以链接形式提供)
310
+ - CHANGELOG.md:不存在
311
+ - NetworkInfo.d.ts:类型声明文件
312
+ - harmony/:鸿蒙化实现代码
313
+ - src/:JS/TS 层代码
314
+
315
+ 外部文档(usage-docs):
316
+ - 中文:https://gitcode.com/OpenHarmony-RN/usage-docs/blob/master/zh-cn/react-native-network-info.md
317
+ - 英文:https://gitcode.com/OpenHarmony-RN/usage-docs/blob/master/en/react-native-network-info.md
318
+ - 外部文档包含:安装与使用、Link、约束与限制、静态方法 API 表格、遗留问题
319
+
320
+ 检视过程:
321
+
322
+ Phase 1 识别:
323
+ - README 中包含 `OpenHarmony-RN/usage-docs` 链接 → 跳转模式
324
+ - 收集本地文件 + 获取外部文档
325
+
326
+ Phase 2 检视要点:
327
+ - README.md 极简**不是问题**,这是跳转模式的设计选择,不记录 RM-002/RM-004
328
+ - 主要检视对象转为外部 usage-docs 内容
329
+ - 检查外部文档是否包含标准章节:安装、链接、约束与限制、接口说明
330
+ - 检查外部文档的 API 支持矩阵与本地代码实现的一致性
331
+ - CHANGELOG 缺失仍需记录(CL-001 Major),因为 CHANGELOG 是本地文件
332
+ - 源码注释检查仍需进行(AD/DT/NP/NC/CE/TG 系列检查项仍适用)
333
+
334
+ 检视发现:
335
+ | # | 文件 | 严重度 | 编号 | 描述 |
336
+ |---|------|--------|------|------|
337
+ | 1 | README.md | Minor | RM-003 | 缺少独立中文 README(README_zh.md) |
338
+ | 2 | — | Major | CL-001 | 缺少 CHANGELOG.md |
339
+ | 3 | NetworkInfo.d.ts | Major | DT-001 | TurboModule Spec 接口缺少注释 |
340
+ | 4 | external-docs | Major | HA-019 | 外部文档约束与限制中缺少编译运行 API 版本要求 |
341
+ | 5 | external-docs | Minor | HA-023 | 外部文档遗留问题章节为空 |
342
+
343
+ 评分影响分析:
344
+ - 跳转模式下的外部文档提供了完整的安装、链接、接口说明 → README 维度不扣大分
345
+ - 但外部文档的约束与限制不够完整 → 鸿蒙化适配说明维度扣分
346
+ - 源码注释和 CHANGELOG 问题仍需独立计算
347
+
348
+ 注意:
349
+ - ❌ 错误做法:因 README 极简直接记录 RM-002/RM-004 Major 扣分
350
+ - ✅ 正确做法:识别为跳转模式后,转而检视外部文档的完整性
351
+ ```
352
+
353
+ ### 4.6 场景:内嵌文档模式(完整 README_zh.md)
354
+
355
+ ```
356
+ 仓库:rntpc_react-native-svg
357
+ 文档模式:内嵌文档
358
+
359
+ 仓库本地文件:
360
+ - README.md:英文版完整文档(7+ 章节:简介、安装、链接、约束、示例、接口说明、开源协议)
361
+ - README_zh.md:中文版完整文档,内容与英文版对应
362
+ - CHANGELOG.md:存在
363
+ - harmony/:鸿蒙化实现代码(含 C++)
364
+
365
+ 检视过程:
366
+
367
+ Phase 1 识别:
368
+ - README.md 长度超过 200 行,含完整章节和代码示例 → 内嵌模式
369
+ - 不需要获取外部文档
370
+
371
+ Phase 2 检视要点:
372
+ - README.md 和 README_zh.md 是主要检视对象
373
+ - 检查中英文版本内容是否同步
374
+ - 检查"接口说明"中的 API 支持矩阵与源码实现是否一致
375
+ - 检查"约束与限制"中的兼容性和 API 版本要求
376
+ - 检查"链接"章节中的 CMakeLists/PackageProvider 配置步骤
377
+
378
+ 典型发现:
379
+ - README 中接口表格可能标记 `Yes` 但源码实际未实现 → AD-013
380
+ - 中英文版本不同步(英文版缺少某些新增内容)→ AC-003/AC-003
381
+ - CMakeLists 配置步骤描述与实际文件不匹配 → AC-001
382
+ ```
383
+
384
+ ---
385
+
386
+ ## 五、检视技巧
387
+
388
+ ### 5.1 快速识别文档覆盖率
389
+
390
+ ```bash
391
+ # 统计 export 数量
392
+ grep -rn "export " src/ ohos/ --include="*.ts" --include="*.ets" | wc -l
393
+
394
+ # 统计有注释的 export 数量(注释通常在 export 前一行或前几行)
395
+ # 手动检查:逐个 export 项检查上方是否有 /** */ 注释
396
+ ```
397
+
398
+ ### 5.2 高效检视顺序
399
+
400
+ 1. **先看 README** → 建立整体认知,快速判断文档完善程度
401
+ 2. **再看 .d.ts** → 理解 API 表面,检查类型声明注释
402
+ 3. **然后看源码注释** → 深入实现细节,检查 TSDoc 标签
403
+ 4. **最后看 CHANGELOG 和 example** → 验证变更记录和示例质量
404
+
405
+ ### 5.3 识别常见问题模式
406
+
407
+ | 问题模式 | 特征 | 快速检测方法 |
408
+ |----------|------|-------------|
409
+ | 注释占位符 | `/** TODO */` `/** xxx */` | grep 搜索 TODO/xxx/FIXME |
410
+ | 废弃 API 未标注 | 源码注释含 "deprecated" 但无 `@deprecated` 标签 | grep "deprecated" 对比 `@deprecated` |
411
+ | 版本号不一致 | README 版本 ≠ package.json 版本 | 对比两处版本号 |
412
+ | 示例无 await | 异步方法示例直接使用返回值 | 检查 Promise 返回的方法示例是否含 await |
413
+ | 权限未说明 | module.json5 有权限但 README 未提及 | 对比 module.json5 权限列表与 README 说明 |
414
+ | 跳转模式误判 | 极简 README 被错误扣分为"文档缺失" | 先检查 README 是否含 usage-docs 链接 |
415
+ | 外部文档滞后 | usage-docs 版本落后于代码仓库 | 对比外部文档版本号与 package.json 版本 |
416
+ | 接口矩阵不准确 | API 支持矩阵标记 `Yes` 但源码未实现 | 抽查外部文档中的 Yes/No 标记与源码实现 |
417
+
418
+ ### 5.4 跳转文档模式快速判定流程
419
+
420
+ ```
421
+ 1. 读取 README.md
422
+ 2. 搜索 "usage-docs" 或 "OpenHarmony-RN"
423
+ ├─ 找到 → 跳转模式
424
+ │ ├─ 提取中英文链接
425
+ │ ├─ 获取外部文档内容(保存到 external-docs/)
426
+ │ ├─ 以外部文档为主要检视对象
427
+ │ └─ README 极简不算缺陷
428
+ └─ 未找到 → 内嵌模式
429
+ ├─ 以本地 README.md/README_zh.md 为主要检视对象
430
+ └─ 按 CHECK_CHECKLIST 常规流程检视
431
+ ```
432
+
433
+ ---
434
+
435
+ ## 六、Phase 2.5 交叉验证场景示例
436
+
437
+ > 以下场景均以 `接口规格说明.md` 为权威基准,与用户文档(README/外部 usage-docs)进行双向比对。
438
+
439
+ ### 6.1 场景:文档描述的方法在接口规格中不存在
440
+
441
+ ```
442
+ 仓库:@react-native-ohos/community-netinfo
443
+ 文档模式:跳转文档
444
+
445
+ 外部 usage-docs 描述:
446
+ - 静态方法表格列出 `getConnectionInfo()` → 返回 `NetInfoState`
447
+ - 静态方法表格列出 `fetch()` → 返回 `Promise<NetInfoState>`
448
+
449
+ 接口规格说明文档(第3章 JS/TS 导出):
450
+ - fetch(): Promise<NetInfoState> ✅
451
+ - addEventListener(): NetInfoSubscription ✅
452
+ - 无 `getConnectionInfo()` ❌
453
+
454
+ 交叉验证结果:
455
+ | # | API 名称 | 差异类型 | 接口规格 | 文档描述 | 编号 | 严重度 |
456
+ |---|----------|----------|----------|----------|------|--------|
457
+ | 1 | `getConnectionInfo()` | 文档→规格:API 不存在 | 无定义 | 有描述 | XC-003 | Critical |
458
+
459
+ → 修复建议:从外部文档删除 `getConnectionInfo()` 描述,或在代码中补充实现
460
+ ```
461
+
462
+ ### 6.2 场景:返回类型不一致(同步 vs 异步)
463
+
464
+ ```
465
+ 仓库:@react-native-ohos/react-native-svg
466
+ 文档模式:内嵌文档
467
+
468
+ README 接口表格描述:
469
+ - `getSvgData(): SvgData` → 标注为同步返回
470
+
471
+ 接口规格说明文档(第3章):
472
+ - `getSvgData(): Promise<SvgData>` → 定义为异步方法
473
+
474
+ 交叉验证结果:
475
+ | # | API 名称 | 差异类型 | 接口规格 | 文档描述 | 编号 | 严重度 |
476
+ |---|----------|----------|----------|----------|------|--------|
477
+ | 1 | `getSvgData()` | 返回类型不一致 | Promise\<SvgData\> | SvgData | XC-006 | Critical |
478
+
479
+ → 这是最常见的准确性问题:文档遗漏了 async/Promise 标注,用户按同步方式调用会导致运行时错误
480
+ → 修复建议:文档更新为 `getSvgData(): Promise<SvgData>`,示例代码添加 await
481
+ ```
482
+
483
+ ### 6.3 场景:权限声明与文档不一致
484
+
485
+ ```
486
+ 仓库:@react-native-ohos/react-native-network-info
487
+ 文档模式:跳转文档
488
+
489
+ module.json5 实际声明:
490
+ - ohos.permission.GET_NETWORK_INFO
491
+ - ohos.permission.GET_WIFI_INFO
492
+
493
+ 外部 usage-docs"约束与限制"章节:
494
+ - 仅说明"需要网络权限"
495
+ - 未说明需要 WiFi 信息权限
496
+
497
+ 交叉验证结果:
498
+ | # | 差异类型 | 文档描述 | module.json5 实际 | 编号 | 严重度 |
499
+ |---|----------|----------|-------------------|------|--------|
500
+ | 1 | 权限未说明 | 文档仅提及网络权限 | 还声明了 GET_WIFI_INFO | HA-021 | Major |
501
+
502
+ → 修复建议:在文档"约束与限制"中补充说明需要 WiFi 信息权限
503
+ ```
504
+
505
+ ### 6.4 场景:接口规格中的 API 在用户文档中无描述
506
+
507
+ ```
508
+ 仓库:@react-native-ohos/react-native-device-info
509
+ 文档模式:跳转文档
510
+
511
+ 接口规格说明文档定义的 API(第3章 JS/TS 导出):
512
+ - getDeviceId() → 文档有描述 ✅
513
+ - getSystemName() → 文档有描述 ✅
514
+ - getBuildId() → 文档无描述 ❌
515
+ - isTablet() → 文档无描述 ❌
516
+ - getInstallerPackageName() → 文档无描述 ❌
517
+
518
+ 外部 usage-docs API 表格:
519
+ - 仅列出 getDeviceId() 和 getSystemName()
520
+
521
+ 交叉验证结果:
522
+ | # | API 名称 | 差异类型 | 编号 | 严重度 |
523
+ |---|----------|----------|------|--------|
524
+ | 1 | `getBuildId()` | 规格→文档:无描述 | XC-002 | Major |
525
+ | 2 | `isTablet()` | 规格→文档:无描述 | XC-002 | Major |
526
+ | 3 | `getInstallerPackageName()` | 规格→文档:无描述 | XC-002 | Major |
527
+
528
+ → 修复建议:在外部文档 API 表格中补充这三个方法的描述和支持状态
529
+ ```
530
+
531
+ ### 6.5 场景:鸿蒙化差异与文档不一致
532
+
533
+ ```
534
+ 仓库:@react-native-ohos/community-netinfo
535
+ 文档模式:跳转文档
536
+
537
+ 接口规格说明文档第5章鸿蒙化差异:
538
+ - 第5.1节缺失接口:useNetInfo() ❌、getDefaultInterface() ❌
539
+ - 第5.2节新增接口:isDefaultNetwork() 🆕
540
+ - 签名变更:fetch(type?: string) → 鸿蒙版 fetch()(缺少 type 参数)
541
+
542
+ 外部 usage-docs API 表格:
543
+ - fetch() → 描述为无参数 ✅(与鸿蒙化签名一致)
544
+ - useNetInfo() → 仍标记为支持 ❌(接口规格标记为缺失)
545
+ - getDefaultInterface() → 仍标记为支持 ❌(接口规格标记为缺失)
546
+ - isDefaultNetwork() → 无描述 ❌(接口规格标记为新增)
547
+
548
+ 交叉验证结果:
549
+ | # | API 名称 | 差异类型 | 接口规格 | 文档描述 | 编号 | 严重度 |
550
+ |---|----------|----------|----------|----------|------|--------|
551
+ | 1 | `useNetInfo()` | 鸿蒙化差异不一致 | 第5.1节标记缺失 | 标记为支持 | XC-008 | Critical |
552
+ | 2 | `getDefaultInterface()` | 鸿蒙化差异不一致 | 第5.1节标记缺失 | 标记为支持 | XC-008 | Critical |
553
+ | 3 | `isDefaultNetwork()` | 新增接口未描述 | 第5.2节标记新增 | 无描述 | XC-009 | Major |
554
+
555
+ → 修复建议:更新外部文档,useNetInfo/getDefaultInterface 标记为不支持,补充 isDefaultNetwork 描述
556
+ ```
557
+
558
+ ### 6.6 场景:外部文档接口支持矩阵与接口规格不一致
559
+
560
+ ```
561
+ 仓库:@react-native-ohos/react-native-svg
562
+ 文档模式:跳转文档
563
+
564
+ 外部 usage-docs API 支持矩阵(部分):
565
+ | 属性 | HarmonyOS Support |
566
+ |------|-------------------|
567
+ | Circle | Yes |
568
+ | Ellipse | Yes |
569
+ | TextPath | Yes |
570
+ | Marker | No |
571
+ | ForeignObject | No |
572
+
573
+ 接口规格说明文档第5.1节缺失接口:
574
+ - TextPath ❌(文档标记 Yes 但接口规格标记缺失)
575
+
576
+ 接口规格说明文档第3章导出:
577
+ - ForeignObject → 有定义(文档标记 No 但接口规格有导出)
578
+
579
+ 交叉验证结果:
580
+ | # | API 名称 | 差异类型 | 接口规格 | 文档标记 | 编号 | 严重度 |
581
+ |---|----------|----------|----------|----------|------|--------|
582
+ | 1 | TextPath | 支持矩阵不一致 | 第5.1节标记缺失 | Yes | XC-008 | Critical |
583
+ | 2 | ForeignObject | 支持矩阵不一致 | 第3章有导出 | No | AD-013 | Major |
584
+
585
+ → 修复建议:更新外部文档支持矩阵,TextPath 改为 No,ForeignObject 改为 Yes
586
+ ```