@ohos-cpf/3rdloop 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/README.md +425 -0
  2. package/bin/3rdloop.mjs +48 -0
  3. package/lib/cli.js +741 -0
  4. package/lib/config.js +318 -0
  5. package/lib/doctor.js +114 -0
  6. package/lib/exit-codes.js +31 -0
  7. package/lib/opencode.js +156 -0
  8. package/lib/orch.js +427 -0
  9. package/lib/queries.js +264 -0
  10. package/lib/runner.js +979 -0
  11. package/lib/step.js +326 -0
  12. package/lib/ui.js +223 -0
  13. package/lib/workflow.js +291 -0
  14. package/lib/workflows.js +132 -0
  15. package/package.json +50 -0
  16. package/vendor/Server/Agent/SkillSelector/README.md +344 -0
  17. package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -0
  18. package/vendor/Server/Agent/SkillSelector/index.js +14 -0
  19. package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -0
  20. package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -0
  21. package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -0
  22. package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -0
  23. package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -0
  24. package/vendor/Server/Agent/SkillSelector/types.js +63 -0
  25. package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +60 -0
  26. package/vendor/Server/Brain/AnalysisStrategies.js +422 -0
  27. package/vendor/Server/Brain/Brain.js +686 -0
  28. package/vendor/Server/Brain/DecompositionStrategies.js +621 -0
  29. package/vendor/Server/Brain/PlanPersistence.js +196 -0
  30. package/vendor/Server/Brain/SkillExecutor.js +251 -0
  31. package/vendor/Server/Brain/index.js +11 -0
  32. package/vendor/Server/CLI/cli.js +243 -0
  33. package/vendor/Server/CLI/opencode/index.js +804 -0
  34. package/vendor/Server/CLI/opencode.js +5 -0
  35. package/vendor/Server/DbUse/MessageArchive.js +61 -0
  36. package/vendor/Server/DbUse/StorageManager.js +107 -0
  37. package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -0
  38. package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -0
  39. package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -0
  40. package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -0
  41. package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -0
  42. package/vendor/Server/DbUse/index.js +160 -0
  43. package/vendor/Server/DbUse/stores/SessionStore.js +279 -0
  44. package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -0
  45. package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -0
  46. package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -0
  47. package/vendor/Server/FlexRunner/FlexRunner.js +1759 -0
  48. package/vendor/Server/FlexRunner/index.js +12 -0
  49. package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -0
  50. package/vendor/Server/Knowledge/KnowledgeManager.js +341 -0
  51. package/vendor/Server/Knowledge/index.js +33 -0
  52. package/vendor/Server/LoopEngine/LoopEngine.js +1133 -0
  53. package/vendor/Server/LoopEngine/index.js +11 -0
  54. package/vendor/Server/Orchestrator/Orchestrator.js +1425 -0
  55. package/vendor/Server/Orchestrator/StepNode.js +312 -0
  56. package/vendor/Server/Orchestrator/index.js +13 -0
  57. package/vendor/Server/Routes/controllers/BrainController.js +241 -0
  58. package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -0
  59. package/vendor/Server/Routes/controllers/HealthController.js +44 -0
  60. package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -0
  61. package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -0
  62. package/vendor/Server/Routes/controllers/OrchestratorController.js +911 -0
  63. package/vendor/Server/Routes/controllers/StatsController.js +57 -0
  64. package/vendor/Server/Routes/controllers/StreamController.js +67 -0
  65. package/vendor/Server/Routes/library/logger.js +179 -0
  66. package/vendor/Server/Routes/library/zipArchive.js +172 -0
  67. package/vendor/Server/Routes/router/Router.js +204 -0
  68. package/vendor/Server/Routes/routes/brain.js +47 -0
  69. package/vendor/Server/Routes/routes/flexrunner.js +72 -0
  70. package/vendor/Server/Routes/routes/health.js +28 -0
  71. package/vendor/Server/Routes/routes/index.js +57 -0
  72. package/vendor/Server/Routes/routes/knowledge.js +55 -0
  73. package/vendor/Server/Routes/routes/loopengine.js +58 -0
  74. package/vendor/Server/Routes/routes/orchestrator.js +61 -0
  75. package/vendor/Server/Routes/routes/registry.js +98 -0
  76. package/vendor/Server/Routes/routes/stats.js +23 -0
  77. package/vendor/Server/Routes/routes/stream.js +30 -0
  78. package/vendor/Server/Routes/server.js +202 -0
  79. package/vendor/Server/Routes/sse/SseHub.js +308 -0
  80. package/vendor/Server/Skills/acceptance-check/SKILL.md +174 -0
  81. package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -0
  82. package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -0
  83. package/vendor/Server/Skills/arkts-code-check/SKILL.md +314 -0
  84. package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +160 -0
  85. package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +29 -0
  86. package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +222 -0
  87. package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +220 -0
  88. package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +329 -0
  89. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -0
  90. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +433 -0
  91. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -0
  92. package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +789 -0
  93. package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -0
  94. package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -0
  95. package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -0
  96. package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -0
  97. package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -0
  98. package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +99 -0
  99. package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -0
  100. package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -0
  101. package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +433 -0
  102. package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -0
  103. package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +789 -0
  104. package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -0
  105. package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -0
  106. package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -0
  107. package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -0
  108. package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +234 -0
  109. package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +103 -0
  110. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -0
  111. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -0
  112. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +108 -0
  113. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -0
  114. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -0
  115. package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -0
  116. package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -0
  117. package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -0
  118. package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +392 -0
  119. package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -0
  120. package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +313 -0
  121. package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -0
  122. package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +166 -0
  123. package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +309 -0
  124. package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -0
  125. package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -0
  126. package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +361 -0
  127. package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +146 -0
  128. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +253 -0
  129. package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +115 -0
  130. package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +263 -0
  131. package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -0
  132. package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -0
  133. package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -0
  134. package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -0
  135. package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +519 -0
  136. package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -0
  137. package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +93 -0
  138. package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -0
  139. package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -0
  140. package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +433 -0
  141. package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -0
  142. package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +789 -0
  143. package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -0
  144. package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +229 -0
  145. package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -0
  146. package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -0
  147. package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +576 -0
  148. package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +575 -0
  149. package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -0
  150. package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +491 -0
  151. package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -0
  152. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -0
  153. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +433 -0
  154. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -0
  155. package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +789 -0
  156. package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -0
  157. package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +312 -0
  158. package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -0
  159. package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +134 -0
  160. package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -0
  161. package/vendor/Server/Skills/flutter-interface/README.md +75 -0
  162. package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -0
  163. package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -0
  164. package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -0
  165. package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -0
  166. package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -0
  167. package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +518 -0
  168. package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +382 -0
  169. package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +342 -0
  170. package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -0
  171. package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +519 -0
  172. package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +407 -0
  173. package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +653 -0
  174. package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +397 -0
  175. package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +745 -0
  176. package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +721 -0
  177. package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -0
  178. package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -0
  179. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -0
  180. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -0
  181. package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -0
  182. package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -0
  183. package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -0
  184. package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -0
  185. package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -0
  186. package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +301 -0
  187. package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +105 -0
  188. package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +127 -0
  189. package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +208 -0
  190. package/vendor/Server/Skills/rn-code-check/SKILL.md +321 -0
  191. package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +235 -0
  192. package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +189 -0
  193. package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +247 -0
  194. package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -0
  195. package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -0
  196. package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -0
  197. package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -0
  198. package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -0
  199. package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -0
  200. package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -0
  201. package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -0
  202. package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -0
  203. package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -0
  204. package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -0
  205. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -0
  206. package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -0
  207. package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -0
  208. package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -0
  209. package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -0
  210. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -0
  211. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -0
  212. package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -0
  213. package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -0
  214. package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -0
  215. package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -0
  216. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -0
  217. package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -0
  218. package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -0
  219. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -0
  220. package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +684 -0
  221. package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -0
  222. package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -0
  223. package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -0
  224. package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -0
  225. package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -0
  226. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -0
  227. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -0
  228. package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -0
  229. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -0
  230. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -0
  231. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -0
  232. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -0
  233. package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -0
  234. package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -0
  235. package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -0
  236. package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -0
  237. package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -0
  238. package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -0
  239. package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -0
  240. package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -0
  241. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -0
  242. package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -0
  243. package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -0
  244. package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -0
  245. package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -0
  246. package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -0
  247. package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -0
  248. package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +58 -0
  249. package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -0
  250. package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -0
  251. package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +75 -0
  252. package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -0
  253. package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +339 -0
  254. package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +83 -0
  255. package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +859 -0
  256. package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +122 -0
  257. package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +279 -0
  258. package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -0
  259. package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -0
  260. package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -0
  261. package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -0
  262. package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -0
  263. package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +506 -0
  264. package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +280 -0
  265. package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -0
  266. package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +209 -0
  267. package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -0
  268. package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -0
  269. package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -0
  270. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -0
  271. package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -0
  272. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -0
  273. package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -0
  274. package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -0
  275. package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -0
  276. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -0
  277. package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -0
  278. package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -0
  279. package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -0
  280. package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -0
  281. package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -0
  282. package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -0
  283. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -0
  284. package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -0
  285. package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -0
  286. package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -0
  287. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -0
  288. package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -0
  289. package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -0
  290. package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -0
  291. package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -0
  292. package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -0
  293. package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -0
  294. package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -0
  295. package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -0
  296. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -0
  297. package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -0
  298. package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -0
  299. package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -0
  300. package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -0
  301. package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -0
  302. package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +498 -0
  303. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -0
  304. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -0
  305. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -0
  306. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -0
  307. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -0
  308. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -0
  309. package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -0
  310. package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -0
  311. package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -0
  312. package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -0
  313. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -0
  314. package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -0
  315. package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -0
  316. package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -0
  317. package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -0
  318. package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -0
  319. package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -0
  320. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -0
  321. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -0
  322. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -0
  323. package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -0
  324. package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -0
  325. package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -0
  326. package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -0
  327. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -0
  328. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -0
  329. package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -0
  330. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -0
  331. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -0
  332. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -0
  333. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -0
  334. package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -0
  335. package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -0
  336. package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -0
  337. package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -0
  338. package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -0
  339. package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -0
  340. package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -0
  341. package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +255 -0
  342. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +77 -0
  343. package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -0
  344. package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +174 -0
  345. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -0
  346. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -0
  347. package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -0
  348. package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +137 -0
  349. package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -0
  350. package/vendor/Server/Skills/skill-generator/SKILL.md +365 -0
  351. package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -0
  352. package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -0
  353. package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -0
  354. package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -0
  355. package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -0
  356. package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -0
  357. package/vendor/Server/Skills/task-analysis/SKILL.md +234 -0
  358. package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -0
  359. package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -0
  360. package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -0
  361. package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -0
  362. package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -0
  363. package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -0
  364. package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -0
  365. package/vendor/Server/Skills/task-decomposition/SKILL.md +529 -0
  366. package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -0
  367. package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -0
  368. package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -0
  369. package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -0
  370. package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -0
  371. package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -0
  372. package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -0
  373. package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -0
  374. package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -0
  375. package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -0
  376. package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -0
  377. package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +425 -0
  378. package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -0
  379. package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -0
  380. package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -0
  381. package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -0
  382. package/vendor/Server/TestCheck/TestCheck.js +775 -0
  383. package/vendor/Server/TestCheck/index.js +11 -0
  384. package/vendor/Server/library/McpToolGuide.js +280 -0
  385. package/vendor/Server/library/StatsService.js +127 -0
  386. package/vendor/Server/library/cstTime.js +16 -0
  387. package/vendor/Server/package.json +17 -0
  388. package/vendor/VERSION +3 -0
  389. package/workflows/pr-check.mjs +106 -0
@@ -0,0 +1,148 @@
1
+ # 接口规格说明文档模板
2
+
3
+ 本模板定义 RNLibraryInterfaceAnalyzer 最终输出的 `接口规格说明.md` 文档结构。
4
+
5
+ > 脚本 `rn-render-spec-doc.cjs` 生成基础接口规格部分(第 1~4 节),AI 在此基础上补充第 5 节(鸿蒙化接口差异)。
6
+
7
+ ---
8
+
9
+ ## 文档结构
10
+
11
+ ```markdown
12
+ # {libraryName} 接口规格说明
13
+
14
+ ## 1. 概述
15
+ - 上游原库地址:{upstreamRepoUrl}
16
+ - 鸿蒙化仓库地址:{ohosRepoUrl}
17
+ - 库功能描述:(从 README 提取)
18
+
19
+ ## 2. 入口文件与分析范围
20
+
21
+ **上游原库入口文件:** `index.js`(或实际路径,由脚本自动检测)
22
+
23
+ **分析涉及的源文件:**
24
+ - `src/index.ts`
25
+ - `android/src/main/java/.../MyModule.java`
26
+ - `ios/MyModule.m`
27
+ - ...(脚本输出的 sources 列表)
28
+
29
+ **鸿蒙化仓库入口文件:** `Index.ets`(或实际路径)
30
+
31
+ ## 3. JS/TS 层导出接口
32
+
33
+ > 以下由 `rn-render-spec-doc.cjs` 自动生成,按类/模块分组
34
+
35
+ ### 3.1 类 (Classes)
36
+
37
+ #### ClassName
38
+
39
+ | 序号 | 类名/成员 | 方法/属性 | 功能描述 |
40
+ |------|-----------|-----------|----------|
41
+ | 1 | ClassName | constructor(param1: type1) | 构造函数 |
42
+ | 2 | | methodName(param: type): returnType | 方法描述 |
43
+ | 3 | | static staticMethod(): returnType | 静态方法 |
44
+ | 4 | | propertyName: type | 公开属性 |
45
+
46
+ ### 3.2 接口/类型 (Interfaces/Types)
47
+
48
+ #### InterfaceName
49
+
50
+ | 序号 | 字段名 | 类型 | 必填 | 描述 |
51
+ |------|--------|------|------|------|
52
+ | 1 | field1 | string | 是 | 字段描述 |
53
+ | 2 | field2? | number | 否 | 可选字段 |
54
+
55
+ ### 3.3 枚举 (Enums)
56
+
57
+ #### EnumName
58
+
59
+ | 序号 | 成员名 | 值 | 描述 |
60
+ |------|--------|-----|------|
61
+ | 1 | MEMBER_A | 'A' | 描述 |
62
+
63
+ ### 3.4 函数 (Functions)
64
+
65
+ | 序号 | 函数名 | 参数 | 返回值 | 描述 |
66
+ |------|--------|------|--------|------|
67
+ | 1 | funcName | (param: type) | returnType | 函数描述 |
68
+
69
+ ### 3.5 变量/常量 (Variables)
70
+
71
+ | 序号 | 变量名 | 类型 | 描述 |
72
+ |------|--------|------|------|
73
+ | 1 | CONST_NAME | type | 常量描述 |
74
+
75
+ ### 3.6 TurboModule Spec
76
+
77
+ > 如果库使用 TurboModule 架构,脚本会自动提取 Native*.ts 中的 Spec 接口
78
+
79
+ #### ModuleName
80
+
81
+ | 序号 | 方法名 | 参数 | 返回值 | 事件 | 说明 |
82
+ |------|--------|------|--------|------|------|
83
+ | 1 | nativeMethod | (param: type) | Promise<void> | 否 | 方法描述 |
84
+
85
+ ## 4. 原生模块导出接口(AI 补充)
86
+
87
+ > 脚本仅提取 JS/TS 层和 TurboModule Spec。如果库包含旧式原生模块(iOS RCT_EXPORT_MODULE / Android ReactPackage),AI 需手动补充此节。
88
+
89
+ ### 4.1 iOS 原生模块
90
+
91
+ #### ModuleName
92
+
93
+ | 序号 | 方法名 | 参数 | 返回值 | 描述 |
94
+ |------|--------|------|--------|------|
95
+ | 1 | nativeMethod | (param: type) | Promise<void> | 方法描述 |
96
+
97
+ ### 4.2 Android 原生模块(与 iOS 差异)
98
+
99
+ > 以下仅列出与 iOS 端差异的接口
100
+
101
+ | 序号 | 方法名 | iOS 签名 | Android 签名 | 差异说明 |
102
+ |------|--------|----------|--------------|----------|
103
+ | 1 | methodName | (param: String) | (param: String, extra: String) | Android 端多一个参数 |
104
+
105
+ ## 5. 鸿蒙化接口差异(AI 补充)
106
+
107
+ > 鸿蒙化库接口默认与原库一致,以下仅列出差异项
108
+ >
109
+ > **文档来源说明**:{说明文档来源}
110
+
111
+ ### 5.1 缺失接口 ❌
112
+
113
+ | 序号 | 接口名 | 原库位置 | 文档是否标注 | 说明 |
114
+ |------|--------|----------|--------------|------|
115
+ | 1 | methodName | ClassName.methodName | ✅ 已标注 | 鸿蒙化版本未实现,文档标注为 No |
116
+
117
+ ### 5.2 新增接口 🆕
118
+
119
+ | 序号 | 接口名 | 鸿蒙化位置 | 文档是否标注 | 说明 |
120
+ |------|--------|------------|--------------|------|
121
+ | 1 | ohosMethod | Index.ets | ✅ 已标注 | 鸿蒙平台特有 API |
122
+
123
+ ### 5.3 签名变更 ⚠️
124
+
125
+ | 序号 | 接口名 | 原库签名 | 鸿蒙化签名 | 文档是否标注 | 变更说明 |
126
+ |------|--------|----------|------------|--------------|----------|
127
+ | 1 | methodName | (param: string): void | (param: number): void | ⚠️ 部分标注 | 参数类型变更 |
128
+
129
+ > 💡 **文档是否标注列取值**:
130
+ > - ✅ 已标注:文档已列出该接口,HarmonyOS Support 列为 `No`/`partially`
131
+ > - ⚠️ 部分标注:文档列出接口但未说明差异
132
+ > - ❌ 未标注:文档中完全未提及该接口
133
+ > - — 不适用:该库无使用文档文件
134
+
135
+ (若无差异,注明"鸿蒙化版本接口与上游原库完全一致")
136
+ ```
137
+
138
+ ## 文档生成流程
139
+
140
+ ```
141
+ rn-extract-interfaces.cjs → interface-spec.json
142
+
143
+ rn-render-spec-doc.cjs → 接口规格说明_基础.md(第 1~3 节)
144
+
145
+ AI 补充第 4 节(原生模块,如需) + 第 5 节(鸿蒙化差异)
146
+
147
+ 接口规格说明.md(最终文档)
148
+ ```
@@ -0,0 +1,118 @@
1
+ # 文档标注查询指南
2
+
3
+ 本文档详细说明如何对照鸿蒙 RN 三方库使用文档,标注差异接口的文档覆盖情况。
4
+
5
+ ## 文档来源确定
6
+
7
+ **文档来源优先级**:
8
+
9
+ 1. **用户传入 `rndocUrl`**:若 `rndocUrl` 不为 null/空,使用该地址作为文档来源
10
+ 2. **鸿蒙化仓库 README.md**(默认回退):若 `rndocUrl` 未提供,直接使用 `{ohosAnalysisRoot}/README.md`
11
+
12
+ 根据 `rndocUrl` 的输入类型,分别处理:
13
+
14
+ | rndocUrl 输入类型 | 判断规则 | 处理方式 | 文档读取路径 |
15
+ |----------|----------|----------|----------|
16
+ | Git URL | 以 `http://`、`https://`、`git://`、`ssh://` 开头,或以 `.git` 结尾 | 克隆到 `{outputDir}/tmp/rndoc`,按 URL 格式解析规则提取分支/commit/子路径后 checkout | `{outputDir}/tmp/rndoc/{subpath}/` 下的 `.md` 文件 |
17
+ | 本地路径 | 路径存在且非 Git URL | 直接读取目录文件 | `rndocUrl` 指向的目录下的 `.md` 文件 |
18
+ | Web URL | 以 `http://` 或 `https://` 开头但非 Git 仓库地址(不含 `.git`、`/tree/`、`/blob/`) | 使用 web fetch 获取页面内容 | web fetch 返回的 Markdown 内容 |
19
+ | 未提供(null/空) | — | 直接使用鸿蒙化仓库根目录 `README.md` | `{ohosAnalysisRoot}/README.md` |
20
+
21
+ > ⚠️ 当 `rndocUrl` 为 Git URL 时,克隆必须存放到 `{outputDir}/tmp/rndoc`,禁止克隆到系统临时目录或其他外部路径。
22
+
23
+ ## 定位文档文件
24
+
25
+ 根据文档来源类型,在对应路径中查找匹配的 `.md` 文件:
26
+
27
+ **rndocUrl 为 Git URL 或本地路径时**:
28
+
29
+ - 优先精确匹配:`{libraryName}.md`(如 `react-native-touch-id` → `react-native-touch-id.md`)
30
+ - 若未命中,尝试去除 `@scope/` 前缀后匹配
31
+ - 若仍未命中,列出目录下所有 `.md` 文件,按名称相似度选取最接近的文件
32
+ - 若无匹配的 `.md` 文件,列出目录下所有 `.md` 文件,选取最相关的(如 `README.md`)
33
+
34
+ **rndocUrl 为 Web URL 时**:直接使用 web fetch 获取的内容作为文档。
35
+
36
+ **rndocUrl 未提供时**:直接读取 `{ohosAnalysisRoot}/README.md`。
37
+
38
+ **无文档可用**:若以上所有方式均无法获取到文档内容,则所有差异项的"文档是否标注"列统一填 `—`(无文档),并在差异表上方注明"该库暂无使用文档",**跳过后续查询步骤**。
39
+
40
+ ## 文档结构说明(必读)
41
+
42
+ 文档的章节编号、标题用词、数量都因库而异,**不要假设固定结构**。所有判断都必须基于文档**实际内容**,而非预设的章节编号或关键词。
43
+
44
+ **定位接口标注的唯一可靠依据**:表格中是否存在 **"HarmonyOS Support" 列**。凡是包含该列的表格,都是接口标注表;不含该列的表格(如纯说明性表格)不携带标注信息。
45
+
46
+ - 文档中可能有一张或多张包含 "HarmonyOS Support" 列的表格(不同库的表格数量和划分方式不同,需逐张检查)。
47
+ - 该列通常为表格最后一列,取值为(大小写不统一):`yes` / `No` / `no` / `NO` / `partially`。
48
+ - 接口章节开头通常有一段固定说明文字,解释上述取值含义:
49
+ > "HarmonyOS Support"列为 yes 表示 HarmonyOS 平台支持该属性;no 则表示不支持;partially 表示部分支持。
50
+ - 除接口表格外,文档还可能包含"遗留问题"/"已知问题"类章节(通过 issue 链接补充提及某些接口的已知缺陷),编号和位置不固定,识别时同样以实际内容为准。
51
+
52
+ > ⚠️ **关键**:文档通过 **"HarmonyOS Support" 列** 标注每个接口在鸿蒙平台的支持情况:
53
+ > - `yes` —— 鸿蒙支持
54
+ > - `No` / `no` / `NO` —— **鸿蒙不支持**(这就是对"缺失接口"的标注!)
55
+ > - `partially` —— 部分支持(这就是对"签名变更/功能差异"的标注!)
56
+ >
57
+ > **该列的 `No` / `partially` 本身就是差异说明,等同于"已标注差异",不要再去寻找额外的"不支持"文字描述。**
58
+
59
+ > ⚠️ **无 "HarmonyOS Support" 列的文档处理**:若文档(如鸿蒙化仓库 README.md)中不包含 "HarmonyOS Support" 列表格,则无法通过表格列进行精确标注判定。此时应通读文档全文,检查文档是否以文字描述、已知问题列表、或其他形式提及差异接口。若文档以任意形式明确提及某接口的差异或不支持,记为 ⚠️ 部分标注;若完全未提及,记为 ❌ 未标注。
60
+
61
+ ## 查询步骤
62
+
63
+ ### 步骤 1:获取文档内容
64
+
65
+ - **rndocUrl 为 Git URL**:克隆到 `{outputDir}/tmp/rndoc` 后读取本地文件
66
+ - **rndocUrl 为本地路径**:直接读取本地文件
67
+ - **rndocUrl 为 Web URL**:使用 web fetch 获取内容
68
+ - **rndocUrl 未提供**:直接读取 `{ohosAnalysisRoot}/README.md`
69
+
70
+ > ⚠️ **优先使用本地文件读取**,避免 web fetch。gitcode.com 等平台网页通常只渲染页面框架而不返回 Markdown 原文,web fetch 可靠性低。
71
+
72
+ ### 步骤 2:定位文档文件
73
+
74
+ 按上述规则定位具体的 `.md` 文件。若定位到多个相关文件,合并阅读所有文件内容。
75
+
76
+ ### 步骤 3:读取文档内容
77
+
78
+ **通读全部内容**,定位所有包含 "HarmonyOS Support" 列的表格行(按列名定位,不依赖章节标题或编号)。逐行判断每行的 "HarmonyOS Support" 列取值。
79
+
80
+ 若文档不包含 "HarmonyOS Support" 列表格,则通读全文检查文字描述形式的差异标注。
81
+
82
+ ### 步骤 4:逐项核对标注
83
+
84
+ **4a. 名称归一化匹配**
85
+
86
+ 文档中的接口名与源码提取的接口名格式可能不同,匹配前需归一化:
87
+ - 方法名:文档写 `clearFormData()`,源码提取 `clearFormData` → 去除 `()` 后缀匹配
88
+ - 可选属性:文档写 `saveFormDataDisabled?`,源码提取 `saveFormDataDisabled` → 去除 `?` 后缀匹配
89
+ - 版本标记:文档写 `paymentRequestEnabled<sup>13.15.1+</sup>`,源码提取 `paymentRequestEnabled` → 去除 `<sup>...</sup>` 后匹配
90
+ - 匹配方式:在文档全文中搜索归一化后的接口名(子串匹配即可)
91
+
92
+ **4b. 判定规则**
93
+
94
+ **有 "HarmonyOS Support" 列的文档**:
95
+
96
+ | 差异类型 | HarmonyOS Support 列值 | 判定结果 |
97
+ |----------|----------------------|----------|
98
+ | 缺失接口 | `No` / `no` / `NO` | ✅ 已标注(文档明确标注不支持) |
99
+ | 缺失接口 | `partially` | ⚠️ 部分标注(文档标注部分支持,但未说明完全缺失) |
100
+ | 缺失接口 | `yes` | ⚠️ 部分标注(文档标注支持,与分析结论矛盾,可能文档过时) |
101
+ | 新增接口 | 文档中提及且标注为 Harmony 特有 / `yes` | ✅ 已标注 |
102
+ | 新增接口 | 文档中提及但未说明为 Harmony 特有 | ⚠️ 部分标注 |
103
+ | 签名变更 | `partially` | ✅ 已标注(文档标注部分支持,通常对应签名/功能差异) |
104
+ | 签名变更 | `yes` 且文档描述了鸿蒙侧行为差异 | ✅ 已标注 |
105
+ | 签名变更 | `yes` 但未描述差异 | ⚠️ 部分标注 |
106
+ | 任意类型 | 接口在文档中完全未出现 | ❌ 未标注 |
107
+
108
+ **无 "HarmonyOS Support" 列的文档(如 README.md)**:
109
+
110
+ | 差异类型 | 文档中是否提及 | 判定结果 |
111
+ |----------|--------------|----------|
112
+ | 任意类型 | 文档明确提及该接口在鸿蒙平台不支持/有差异 | ⚠️ 部分标注(文字描述不如表格列精确) |
113
+ | 任意类型 | 文档提及该接口但未说明鸿蒙差异 | ⚠️ 部分标注 |
114
+ | 任意类型 | 文档完全未提及该接口 | ❌ 未标注 |
115
+
116
+ **额外检查**:若接口在接口表格中未找到,还需检查标题含「遗留问题」/「已知问题」的章节是否通过 issue 链接提及该接口。若遗留问题中提及,记为 ⚠️ 部分标注。
117
+
118
+ > 💡 **示例**:`clearFormData` 是缺失接口,在文档「静态方法」章节的表格中找到行 `| clearFormData() | ... | function | No | Android | No |`,HarmonyOS Support 列为 `No` → 判定为 **✅ 已标注**。
@@ -0,0 +1,168 @@
1
+ # 脚本使用指南
2
+
3
+ 本文档说明 `rn-extract-interfaces.cjs` 和 `rn-render-spec-doc.cjs` 两个脚本的使用方法。
4
+
5
+ > 📌 两个脚本统一存放于 `3rdLibraryLoop/MCP/scripts/` 目录(SKILL 目录内不保存副本)。下文命令中的 `{mcpScriptsDir}` 指该目录,可从 SKILL 目录通过 `../../../MCP/scripts` 相对定位。
6
+
7
+ ## 脚本概览
8
+
9
+ | 脚本 | 功能 | 输入 | 输出 |
10
+ |------|------|------|------|
11
+ | `rn-extract-interfaces.cjs` | 从 RN 三方库鸿蒙化仓库提取接口规格 | 库根目录路径 | JSON 接口规格文件 |
12
+ | `rn-render-spec-doc.cjs` | 将接口规格渲染为 Markdown 文档 | JSON 规格文件或库根目录 | Markdown 文档 |
13
+
14
+ ## rn-extract-interfaces.cjs
15
+
16
+ ### 功能
17
+
18
+ 从 React Native 三方库的鸿蒙化仓库提取接口规格,自动完成以下工作:
19
+
20
+ 1. **拉取上游 npm 源码**:通过 `npm pack` 下载上游原库的已发布包(index.js / index.d.ts)
21
+ 2. **提取 TurboModule Spec**:从鸿蒙化仓库本地扫描 `Native*.ts` 文件,提取 TurboModule 接口定义
22
+ 3. **解析 JS 层导出**:自动检测导出模式(CommonJS / ES Module / Side-effect),提取类、接口、函数、变量等导出
23
+ 4. **解析类型定义**:从上游 `index.d.ts` 提取类和接口的方法签名
24
+
25
+ ### 参数
26
+
27
+ | 参数 | 类型 | 必填 | 说明 |
28
+ |------|------|------|------|
29
+ | `libroot` (或 `repoDir`) | string | ✅ | 库根目录路径(鸿蒙化仓库目录,包含 package.json) |
30
+ | `output` | string | ❌ | 输出 JSON 文件路径(不指定则输出到 stdout) |
31
+ | `version` | string | ❌ | 上游 npm 版本号(如 "2.2.0",不指定则自动从 dependencies/README 推断) |
32
+
33
+ ### CLI 调用方式
34
+
35
+ ```bash
36
+ node "{mcpScriptsDir}/rn-extract-interfaces.cjs" \
37
+ --repoDir "{ohosAnalysisRoot}" \
38
+ --output "{outputDir}/interface-spec.json" \
39
+ --version "2.2.0"
40
+ ```
41
+
42
+ ### 版本推断逻辑
43
+
44
+ 脚本按以下优先级自动推断上游版本号:
45
+
46
+ 1. 用户通过 `--version` 显式指定
47
+ 2. `package.json` 的 `dependencies` 中与库名匹配的依赖版本
48
+ 3. `README.md` 中的版本声明(如 `[react-native-xxx@2.2.0]`)
49
+ 4. 从鸿蒙化仓库自身版本号推断(去除 `-beta`/`-rc` 后缀)
50
+ 5. 降级到 `npm latest`
51
+
52
+ ### 输出 JSON 结构
53
+
54
+ ```json
55
+ {
56
+ "libraryName": "react-native-xxx",
57
+ "libraryAlias": "xxx",
58
+ "entryFile": "upstream:react-native-xxx@2.2.0/index.js",
59
+ "exportStyle": "commonjs | es-module | side-effect | unknown",
60
+ "upstream": { "pkgName": "react-native-xxx", "version": "2.2.0", "isUpstream": true },
61
+ "extractedAt": "2026-08-15T...",
62
+ "summary": { "S": 3, "N": 15, "M": 0, "methods": 10, "properties": 0, "fields": 0 },
63
+ "sources": ["upstream:.../index.js", "upstream:.../index.d.ts"],
64
+ "interfaces": [
65
+ {
66
+ "className": "ModuleName",
67
+ "memberName": "methodName",
68
+ "fullName": "ModuleName.methodName",
69
+ "kind": "method | function | type | variable",
70
+ "isStatic": false,
71
+ "isReadonly": false,
72
+ "isOptional": false,
73
+ "isEvent": false,
74
+ "type": "turbo-module | es-export | commonjs-export | type-decl",
75
+ "layer": "turbo | js",
76
+ "signature": "methodName(param: type): returnType",
77
+ "params": [{ "name": "param", "type": "type", "optional": false, "description": "-" }],
78
+ "returnType": "returnType",
79
+ "description": "方法描述",
80
+ "source": "upstream:.../index.js:42",
81
+ "startLine": 42
82
+ }
83
+ ]
84
+ }
85
+ ```
86
+
87
+ ### 接口类型说明
88
+
89
+ | type 值 | 说明 | 来源 |
90
+ |---------|------|------|
91
+ | `turbo-module` | TurboModule Spec 方法 | 鸿蒙化仓库 `Native*.ts` |
92
+ | `es-export` | ES Module 导出 | 上游 `index.js`/`index.ts` |
93
+ | `commonjs-export` | CommonJS 导出 | 上游 `index.js` |
94
+ | `side-effect` | 全局补丁 | 上游 `index.js` |
95
+ | `type-decl` | 类型声明 | 上游 `index.d.ts` |
96
+
97
+ ## rn-render-spec-doc.cjs
98
+
99
+ ### 功能
100
+
101
+ 将接口规格数据渲染为 Markdown 格式的接口规格说明书文档。支持两种输入方式:
102
+
103
+ 1. **从 JSON 中间件渲染**:读取 `rn-extract-interfaces.cjs` 生成的 JSON 文件
104
+ 2. **直接从源码提取并渲染**:一步到位(内部调用 `generateRNSpec`)
105
+
106
+ ### 参数
107
+
108
+ | 参数 | 类型 | 必填 | 说明 |
109
+ |------|------|------|------|
110
+ | `spec` | string | ⚠️ | 已有的 interface-spec.json 路径(与 libroot 二选一) |
111
+ | `libroot` (或 `repoDir`) | string | ⚠️ | 库根目录路径(直接从源码提取,与 spec 二选一) |
112
+ | `output` | string | ❌ | 输出 Markdown 文件路径(不指定则输出到 stdout) |
113
+ | `version` | string | ❌ | 上游 npm 版本号(仅 libroot 模式有效) |
114
+
115
+ ### CLI 调用方式
116
+
117
+ **方式一:从 JSON 中间件渲染(推荐)**
118
+
119
+ ```bash
120
+ node "{mcpScriptsDir}/rn-render-spec-doc.cjs" \
121
+ --spec "{outputDir}/interface-spec.json" \
122
+ --output "{outputDir}/接口规格说明.md"
123
+ ```
124
+
125
+ **方式二:直接从源码提取并渲染(一步到位)**
126
+
127
+ ```bash
128
+ node "{mcpScriptsDir}/rn-render-spec-doc.cjs" \
129
+ --libroot "{ohosAnalysisRoot}" \
130
+ --output "{outputDir}/接口规格说明.md" \
131
+ --version "2.2.0"
132
+ ```
133
+
134
+ ### 生成文档结构
135
+
136
+ 脚本生成的 Markdown 文档包含以下章节:
137
+
138
+ 1. **基本信息**:库名、导入别名、入口文件、导出模式、生成时间、源文件数
139
+ 2. **接口统计**:类/接口/模块总数、方法/属性/字段数量
140
+ 3. **按层级分布**:TurboModule 层 vs JS 层接口数量
141
+ 4. **按类分组的接口详情**:每个类/模块下分方法、函数、属性、字段、变量、类型别名、事件方法
142
+ 5. **源文件列表**:所有分析的源文件路径
143
+
144
+ ### 依赖关系
145
+
146
+ ```
147
+ rn-render-spec-doc.cjs
148
+ └── require('./rn-extract-interfaces.cjs') (loadSpec / generateRNSpec)
149
+ ```
150
+
151
+ > ⚠️ 两个脚本同位于 `MCP/scripts/` 目录。`rn-render-spec-doc.cjs` 通过相对路径 `require('./rn-extract-interfaces.cjs')` 依赖提取脚本。
152
+
153
+ ## 环境要求
154
+
155
+ - Node.js ≥ 14
156
+ - npm(用于 `npm pack` 拉取上游源码)
157
+ - 网络访问(npm registry)
158
+ - 可选:TypeScript(用于 AST 级别的类型解析,脚本会自动尝试加载)
159
+
160
+ ## 常见问题
161
+
162
+ | 问题 | 原因 | 解决方案 |
163
+ |------|------|----------|
164
+ | `npm pack` 失败 | 网络问题或包名错误 | 检查网络连接,确认包名正确 |
165
+ | 上游版本不存在 | 版本号错误 | 脚本会自动降级到 `latest`,或通过 `--version` 指定正确版本 |
166
+ | `index.d.ts` 未找到 | 上游包未包含类型声明 | 脚本会跳过类型定义提取,仅从 JS 层导出提取 |
167
+ | TurboModule Spec 未找到 | 鸿蒙化仓库无 `Native*.ts` 文件 | 脚本会跳过 TurboModule 提取,仅从 JS 层导出提取 |
168
+ | 导出模式为 `unknown` | 入口文件无法识别导出模式 | 检查 `package.json` 的 `main`/`module`/`source` 字段是否正确 |
@@ -0,0 +1,176 @@
1
+ # URL 格式解析规则
2
+
3
+ 本文档详细说明 RNLibraryInterfaceAnalyzer 支持的输入 URL 格式与解析规则。
4
+
5
+ ## 输入形式
6
+
7
+ | 输入形式 | 示例 | 获取方式 |
8
+ |----------|------|----------|
9
+ | **Git 仓库地址(完整 URL)** | `https://github.com/org/repo.git` | git clone 到指定目录后分析 |
10
+ | **Git 仓库地址(带分支)** | `https://gitcode.com/org/repo/tree/branch_name` | 自动解析分支并切换 |
11
+ | **Git 仓库地址(带分支和子路径)** | `https://gitcode.com/org/repo/tree/branch/subpath` | 使用 Sparse Checkout 只克隆指定子目录 |
12
+ | **Git 仓库地址(带 commit)** | `https://github.com/org/repo/blob/913e7da456a6` | 克隆仓库后 checkout 到指定 commit |
13
+ | **Git 仓库地址(带 commit 和子路径)** | `https://github.com/org/repo/blob/913e7da456a6/src` | 克隆仓库、checkout commit、Sparse Checkout 子目录 |
14
+ | **本地路径** | `/path/to/some-library`、`node_modules/axios` | 直接读取目录文件 |
15
+ | **npm 包名**(仅 upstreamRepoUrl) | `axios`、`lodash` | 查阅 `node_modules/` 或运行 `npm pack <包名>` 解包 |
16
+
17
+ > ⚠️ `ohosRepoUrl` 不支持 npm 包名形式,鸿蒙化仓库必须通过 Git 或本地路径提供
18
+
19
+ ## URL 格式解析
20
+
21
+ 支持从 Web 页面 URL 直接复制使用,自动解析以下格式:
22
+
23
+ ### 格式 1:仅分支
24
+
25
+ ```
26
+ https://gitcode.com/openharmony-sig/react-native-localization-settings/tree/ohos
27
+ ```
28
+
29
+ 解析为:
30
+ - 仓库地址:`https://gitcode.com/openharmony-sig/react-native-localization-settings.git`
31
+ - 分支:`ohos`
32
+ - 子路径:无(分析整个仓库)
33
+
34
+ ### 格式 2:分支 + 子路径
35
+
36
+ ```
37
+ https://gitcode.com/openharmony-sig/react-native-touch-id/tree/ohos/harmony
38
+ ```
39
+
40
+ 解析为:
41
+ - 仓库地址:`https://gitcode.com/openharmony-sig/react-native-touch-id.git`
42
+ - 分支:`ohos`
43
+ - 子路径:`harmony`(只分析这个文件夹)
44
+
45
+ ### 格式 3:标准 Git URL(支持扩展参数)
46
+
47
+ ```
48
+ https://github.com/org/repo.git#branch=develop
49
+ https://github.com/org/repo.git#subpath=packages/core
50
+ https://github.com/org/repo.git#branch=develop&subpath=packages/core
51
+ ```
52
+
53
+ ### 格式 4:Commit Hash
54
+
55
+ ```
56
+ https://github.com/TencentCloud/cos-sdk-react-native-plugin/blob/913e7da456a653e8a910fa9c6d488cef41bcf37e
57
+ ```
58
+
59
+ 解析为:
60
+ - 仓库地址:`https://github.com/TencentCloud/cos-sdk-react-native-plugin.git`
61
+ - commit:`913e7da456a653e8a910fa9c6d488cef41bcf37e`
62
+ - 子路径:无(分析整个仓库)
63
+
64
+ > 识别规则:URL 中 `/blob/` 或 `/tree/` 或 `/commit/` 后的第一段,如果匹配正则 `[0-9a-f]{7,40}`(7~40 位十六进制字符),则判定为 commit hash 而非分支名。
65
+
66
+ ### 格式 5:Commit Hash + 子路径
67
+
68
+ ```
69
+ https://github.com/TencentCloud/cos-sdk-react-native-plugin/blob/913e7da456a653e8a910fa9c6d488cef41bcf37e/src
70
+ ```
71
+
72
+ 解析为:
73
+ - 仓库地址:`https://github.com/TencentCloud/cos-sdk-react-native-plugin.git`
74
+ - commit:`913e7da456a653e8a910fa9c6d488cef41bcf37e`
75
+ - 子路径:`src`(只分析这个文件夹)
76
+
77
+ ### 格式 6:GitHub Commit 页面 URL
78
+
79
+ ```
80
+ https://github.com/org/repo/commit/913e7da456a6
81
+ ```
82
+
83
+ 解析为:
84
+ - 仓库地址:`https://github.com/org/repo.git`
85
+ - commit:`913e7da456a6`
86
+ - 子路径:无
87
+
88
+ ## 判断输入类型
89
+
90
+ 根据参数值的格式判断输入类型:
91
+
92
+ | 输入类型 | 判断规则 | 处理方式 |
93
+ |----------|----------|----------|
94
+ | Git URL | 以 `http://`、`https://`、`git://`、`ssh://` 开头,或以 `.git` 结尾 | 执行 Git 克隆流程 |
95
+ | 本地路径 | 以 `/` 开头或包含路径分隔符且路径存在 | 直接作为 analysisRoot |
96
+ | npm 包名 | 不以 `/` 或 `http` 开头的纯字母数字字符串 | npm 解包流程 |
97
+
98
+ ## 克隆命令参考
99
+
100
+ ### 按分支克隆(无 commit hash)
101
+
102
+ ```bash
103
+ # 无子路径(完整克隆)
104
+ mkdir -p {outputDir}/source/{target}
105
+ git clone --depth=1 -b {branch} {baseUrl} {outputDir}/source/{target}
106
+
107
+ # 有子路径(Sparse Checkout)
108
+ mkdir -p {outputDir}/source/{target}
109
+ cd {outputDir}/source/{target}
110
+ git init
111
+ git sparse-checkout init --cone
112
+ git remote add origin {baseUrl}
113
+ git sparse-checkout set {subpath}
114
+ git fetch origin {branch} --depth=1
115
+ git checkout {branch}
116
+ ```
117
+
118
+ ### 按 commit hash 克隆
119
+
120
+ > ⚠️ 按 commit checkout 时**不能使用 `--depth=1`**,因为 shallow clone 不包含任意 commit 的历史。必须先完整克隆或 fetch 到该 commit,然后 checkout。
121
+
122
+ ```bash
123
+ # 无子路径
124
+ mkdir -p {outputDir}/source/{target}
125
+ git clone {baseUrl} {outputDir}/source/{target}
126
+ cd {outputDir}/source/{target}
127
+ git checkout {commitHash}
128
+
129
+ # 有子路径(Sparse Checkout + commit checkout)
130
+ mkdir -p {outputDir}/source/{target}
131
+ cd {outputDir}/source/{target}
132
+ git init
133
+ git sparse-checkout init --cone
134
+ git remote add origin {baseUrl}
135
+ git sparse-checkout set {subpath}
136
+ git fetch origin
137
+ git checkout {commitHash}
138
+ ```
139
+
140
+ ### 本地路径
141
+
142
+ ```bash
143
+ ln -s {localPath} {outputDir}/source/{target}
144
+ ```
145
+
146
+ ### npm 包名(仅 upstreamRepoUrl)
147
+
148
+ ```bash
149
+ if [ -d "node_modules/{packageName}" ]; then
150
+ ln -s node_modules/{packageName} {outputDir}/source/RN
151
+ else
152
+ mkdir -p {outputDir}/source/RN
153
+ cd {outputDir}/source/RN
154
+ npm pack {packageName}
155
+ tar -xzf *.tgz
156
+ mv package/* .
157
+ rm -rf package *.tgz
158
+ fi
159
+ ```
160
+
161
+ ## 获取失败处理
162
+
163
+ | 错误类型 | 可能原因 | 解决方案 |
164
+ |----------|----------|----------|
165
+ | 认证失败 | 私有仓库或权限不足 | 提示用户配置 SSH 密钥或 HTTPS Token |
166
+ | 分支不存在 | 分支名称错误 | `git branch -r` 列出远程分支,提示用户选择 |
167
+ | commit 不存在 | commit hash 错误或 abbreviated hash 无法定位 | `git log --oneline -20` 列出近期 commit,提示用户确认;或尝试使用完整 40 位 hash |
168
+ | 子路径不存在 | 路径错误或分支/commit 中无此目录 | 列出仓库根目录内容,提示确认路径 |
169
+ | 网络超时 | 网络问题 | 提示检查网络或使用镜像站点 |
170
+ | Sparse Checkout 失败 | Git 版本过低 | 提示升级 Git 到 2.25+ 或使用完整克隆 |
171
+ | npm 包不存在 | 包名错误 | 提示用户确认包名,尝试 `npm search` |
172
+ | 本地路径不存在 | 路径错误 | 提示用户确认路径 |
173
+ | commit checkout 后仓库内容与预期不符 | commit hash 指向的代码版本不是适配基准 | 提示用户核实 commit hash 是否为鸿蒙化适配时对应的上游版本 |
174
+ | rndocUrl 克隆失败 | Git 仓库不可访问 | 回退使用鸿蒙化仓库 README.md 作为文档来源 |
175
+ | rndocUrl Web fetch 失败 | 页面不可访问或非 Markdown 内容 | 回退使用鸿蒙化仓库 README.md 作为文档来源 |
176
+ | 鸿蒙化仓库无 README.md | 鸿蒙化仓库根目录缺少 README.md | 所有差异项标注 `—`(无文档) |