@ohos-cpf/3rdloop 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +245 -425
- package/bin/3rdloop.mjs +46 -46
- package/lib/cli.js +781 -740
- package/lib/config-cmd.js +452 -0
- package/lib/config.js +318 -317
- package/lib/doctor.js +113 -113
- package/lib/exit-codes.js +30 -30
- package/lib/opencode.js +155 -155
- package/lib/orch.js +426 -426
- package/lib/queries.js +263 -263
- package/lib/step.js +325 -325
- package/lib/ui.js +222 -222
- package/lib/update.js +280 -0
- package/lib/workflow.js +308 -290
- package/lib/workflows.js +131 -131
- package/package.json +50 -50
- package/vendor/Server/Agent/SkillSelector/README.md +343 -343
- package/vendor/Server/Agent/SkillSelector/core/Agent.js +207 -207
- package/vendor/Server/Agent/SkillSelector/index.js +14 -14
- package/vendor/Server/Agent/SkillSelector/llm/llmClient.js +313 -313
- package/vendor/Server/Agent/SkillSelector/llm/prompts.js +161 -161
- package/vendor/Server/Agent/SkillSelector/llm/reactSteps.js +144 -144
- package/vendor/Server/Agent/SkillSelector/matcher/fuzzyMatcher.js +433 -433
- package/vendor/Server/Agent/SkillSelector/scanner/skillScanner.js +382 -382
- package/vendor/Server/Agent/SkillSelector/utils/actionWords.js +59 -59
- package/vendor/Server/Brain/AnalysisStrategies.js +422 -422
- package/vendor/Server/Brain/Brain.js +686 -686
- package/vendor/Server/Brain/DecompositionStrategies.js +621 -621
- package/vendor/Server/Brain/PlanPersistence.js +196 -196
- package/vendor/Server/Brain/SkillExecutor.js +251 -251
- package/vendor/Server/Brain/index.js +11 -11
- package/vendor/Server/CLI/cli.js +275 -243
- package/vendor/Server/CLI/deveco-code/index.js +71 -0
- package/vendor/Server/CLI/deveco-code.js +5 -0
- package/vendor/Server/CLI/opencode/index.js +817 -804
- package/vendor/Server/CLI/opencode.js +5 -5
- package/vendor/Server/DbUse/MessageArchive.js +61 -61
- package/vendor/Server/DbUse/StorageManager.js +107 -107
- package/vendor/Server/DbUse/adapters/BaseAdapter.js +94 -94
- package/vendor/Server/DbUse/adapters/FileAdapter.js +138 -138
- package/vendor/Server/DbUse/adapters/JsonAdapter.js +138 -138
- package/vendor/Server/DbUse/adapters/JsonlAdapter.js +114 -114
- package/vendor/Server/DbUse/adapters/SqliteAdapter.js +157 -157
- package/vendor/Server/DbUse/index.js +160 -160
- package/vendor/Server/DbUse/stores/SessionStore.js +279 -279
- package/vendor/Server/DbUse/stores/TaskExecutionStore.js +133 -133
- package/vendor/Server/DbUse/stores/TaskRegistryStore.js +262 -262
- package/vendor/Server/DbUse/stores/TaskStepStore.js +279 -279
- package/vendor/Server/FlexRunner/FlexRunner.js +1759 -1759
- package/vendor/Server/FlexRunner/index.js +12 -12
- package/vendor/Server/Knowledge/KnowledgeImporter.js +523 -523
- package/vendor/Server/Knowledge/KnowledgeManager.js +341 -341
- package/vendor/Server/Knowledge/index.js +33 -33
- package/vendor/Server/LoopEngine/LoopEngine.js +1133 -1133
- package/vendor/Server/LoopEngine/index.js +11 -11
- package/vendor/Server/Orchestrator/Orchestrator.js +0 -3
- package/vendor/Server/Orchestrator/StepNode.js +312 -312
- package/vendor/Server/Orchestrator/index.js +13 -13
- package/vendor/Server/Routes/controllers/BrainController.js +241 -241
- package/vendor/Server/Routes/controllers/FlexRunnerController.js +1125 -1125
- package/vendor/Server/Routes/controllers/HealthController.js +44 -44
- package/vendor/Server/Routes/controllers/KnowledgeImportController.js +355 -355
- package/vendor/Server/Routes/controllers/LoopEngineController.js +788 -788
- package/vendor/Server/Routes/controllers/StatsController.js +57 -57
- package/vendor/Server/Routes/controllers/StreamController.js +67 -67
- package/vendor/Server/Routes/library/logger.js +179 -179
- package/vendor/Server/Routes/library/zipArchive.js +172 -172
- package/vendor/Server/Routes/router/Router.js +204 -204
- package/vendor/Server/Routes/routes/brain.js +47 -47
- package/vendor/Server/Routes/routes/flexrunner.js +72 -72
- package/vendor/Server/Routes/routes/health.js +28 -28
- package/vendor/Server/Routes/routes/index.js +57 -57
- package/vendor/Server/Routes/routes/knowledge.js +55 -55
- package/vendor/Server/Routes/routes/loopengine.js +58 -58
- package/vendor/Server/Routes/routes/orchestrator.js +61 -61
- package/vendor/Server/Routes/routes/registry.js +97 -97
- package/vendor/Server/Routes/routes/stats.js +23 -23
- package/vendor/Server/Routes/routes/stream.js +30 -30
- package/vendor/Server/Routes/server.js +203 -202
- package/vendor/Server/Routes/sse/SseHub.js +308 -308
- package/vendor/Server/Skills/acceptance-check/SKILL.md +191 -174
- package/vendor/Server/Skills/acceptance-check/references/PHASE1_ARTIFACT_COLLECTION.md +52 -52
- package/vendor/Server/Skills/acceptance-check/references/PHASE2_CRITERIA_EVALUATION.md +77 -77
- package/vendor/Server/Skills/acceptance-check/references/PHASE2_EVIDENCE_VERIFICATION.md +70 -0
- package/vendor/Server/Skills/arkts-code-check/SKILL.md +320 -313
- package/vendor/Server/Skills/arkts-code-check/references/CODE_CHECK_GUIDE.md +210 -159
- package/vendor/Server/Skills/arkts-code-check/references/FILE_TYPE_GUIDE.md +28 -28
- package/vendor/Server/Skills/arkts-code-check/references/PHASE1_INFO_COLLECTION.md +233 -222
- package/vendor/Server/Skills/arkts-code-check/references/REPORT_TEMPLATE.md +219 -219
- package/vendor/Server/Skills/arkts-library-compile-validate/SKILL.md +328 -328
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-compile-validate/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-demo-code/SKILL.md +291 -291
- package/vendor/Server/Skills/arkts-library-demo-code/references/API_SIGNATURE_CHECKS.md +68 -68
- package/vendor/Server/Skills/arkts-library-demo-code/references/BUILD_VALIDATION.md +184 -184
- package/vendor/Server/Skills/arkts-library-demo-code/references/CODE_STANDARDS.md +337 -337
- package/vendor/Server/Skills/arkts-library-demo-code/references/EXAMPLES.md +400 -400
- package/vendor/Server/Skills/arkts-library-demo-code/references/SYSTEM_API_LOOKUP.md +98 -98
- package/vendor/Server/Skills/arkts-library-demo-code/references/TEMPLATE.md +544 -544
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-demo-code/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-demo-coverage/SKILL.md +174 -174
- package/vendor/Server/Skills/arkts-library-demo-scenario/SKILL.md +321 -321
- package/vendor/Server/Skills/arkts-library-demo-scenario/references/EXAMPLES.md +100 -100
- package/vendor/Server/Skills/arkts-library-demo-scenario/references/TEMPLATE.md +185 -185
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/SKILL.md +233 -233
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +102 -102
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/CHECK_DIMENSIONS.md +89 -89
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/COMPLIANCE_CHECKLIST.md +62 -62
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/KB_QUERY_GUIDE.md +107 -107
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/MCP_TOOL_DISCOVERY.md +124 -124
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/REPORT_TEMPLATE.md +90 -90
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/references/SCORING_FORMULA.md +57 -57
- package/vendor/Server/Skills/arkts-library-documentation-quality-check/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/arkts-library-interface-spec/SKILL.md +97 -97
- package/vendor/Server/Skills/arkts-library-memory-leak-check/SKILL.md +391 -391
- package/vendor/Server/Skills/arkts-library-source-clone/SKILL.md +113 -113
- package/vendor/Server/Skills/arkts-library-stability-check/SKILL.md +312 -312
- package/vendor/Server/Skills/arkts-library-stability-check/assets/REPORT_TEMPLATE.md +154 -154
- package/vendor/Server/Skills/arkts-library-stability-check/references/CHECKLIST.md +165 -165
- package/vendor/Server/Skills/arkts-library-stability-check/references/CODE_EXAMPLES.md +308 -308
- package/vendor/Server/Skills/arkts-library-stability-check/references/SCORING_RULES.md +90 -90
- package/vendor/Server/Skills/arkts-library-stability-check/scripts/validate-skill.cjs +282 -282
- package/vendor/Server/Skills/arkts-library-test-coverage-check/SKILL.md +360 -360
- package/vendor/Server/Skills/arkts-library-test-coverage-check/assets/REPORT_TEMPLATE.md +145 -145
- package/vendor/Server/Skills/arkts-library-test-coverage-check/references/CHECKLIST.md +252 -252
- package/vendor/Server/Skills/arkts-library-test-coverage-check/references/MCP_TOOL_USAGE.md +114 -114
- package/vendor/Server/Skills/arkts-library-test-coverage-check/scripts/validate-skill.cjs +262 -262
- package/vendor/Server/Skills/arkts-library-xts-code/SKILL.md +455 -455
- package/vendor/Server/Skills/arkts-library-xts-code/assets/report-template.md +60 -60
- package/vendor/Server/Skills/arkts-library-xts-code/references/ACCESS_MODIFIER_PRECHECK.md +76 -76
- package/vendor/Server/Skills/arkts-library-xts-code/references/BUILD_VERIFICATION.md +200 -200
- package/vendor/Server/Skills/arkts-library-xts-code/references/CODE_STANDARDS.md +518 -518
- package/vendor/Server/Skills/arkts-library-xts-code/references/SUBAGENT_PROMPT_TEMPLATE.md +276 -276
- package/vendor/Server/Skills/arkts-library-xts-code/references/SYSTEM_API_LOOKUP.md +92 -92
- package/vendor/Server/Skills/arkts-library-xts-code/references/XTS_TEMPLATE.md +767 -767
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/arkts-library-xts-code/scripts/precheck-access-modifiers.cjs +221 -221
- package/vendor/Server/Skills/arkts-library-xts-code-fix/SKILL.md +228 -228
- package/vendor/Server/Skills/arkts-library-xts-coverage/SKILL.md +97 -97
- package/vendor/Server/Skills/arkts-library-xts-doc/SKILL.md +194 -194
- package/vendor/Server/Skills/arkts-library-xts-doc/references/EXAMPLES.md +575 -575
- package/vendor/Server/Skills/arkts-library-xts-doc/references/TEMPLATE.md +574 -574
- package/vendor/Server/Skills/arkts-library-xts-doc/references/TESTABILITY_GUIDE.md +182 -182
- package/vendor/Server/Skills/arkts-library-xts-execution/SKILL.md +490 -490
- package/vendor/Server/Skills/arkts-library-xts-execution/references/error-fixing-examples.md +217 -217
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/build.ps1 +93 -93
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/code-linter.cjs +432 -432
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/migrate.cjs +851 -851
- package/vendor/Server/Skills/arkts-library-xts-execution/scripts/ohpm-switch.cjs +788 -788
- package/vendor/Server/Skills/flutter-code-check/SKILL.md +299 -299
- package/vendor/Server/Skills/flutter-code-check/assets/OUTPUT_TEMPLATE.md +311 -311
- package/vendor/Server/Skills/flutter-code-check/references/CHECKLIST.md +190 -190
- package/vendor/Server/Skills/flutter-code-check/references/PLATFORMS.md +133 -133
- package/vendor/Server/Skills/flutter-code-check/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/flutter-interface/README.md +75 -75
- package/vendor/Server/Skills/flutter-interface/SKILL.md +291 -291
- package/vendor/Server/Skills/flutter-interface/references/EXAMPLES.md +336 -336
- package/vendor/Server/Skills/flutter-interface/references/GIT_CLONE_GUIDE.md +190 -190
- package/vendor/Server/Skills/flutter-interface/references/SCRIPT_REFERENCE.md +258 -258
- package/vendor/Server/Skills/flutter-interface/references/TEMPLATE.md +254 -254
- package/vendor/Server/Skills/flutter-library-consistency-check/SKILL.md +517 -517
- package/vendor/Server/Skills/flutter-library-consistency-check/references/CHECKLIST.md +381 -381
- package/vendor/Server/Skills/flutter-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +341 -341
- package/vendor/Server/Skills/flutter-library-consistency-check/references/PLATFORM_LIMITATION_GUIDE.md +71 -71
- package/vendor/Server/Skills/flutter-library-documentation-quality-check/SKILL.md +518 -518
- package/vendor/Server/Skills/flutter-library-documentation-quality-check/references/CHECKLIST.md +406 -406
- package/vendor/Server/Skills/flutter-library-memory-leak-check/SKILL.md +652 -652
- package/vendor/Server/Skills/flutter-library-memory-leak-check/references/CHECKLIST.md +396 -396
- package/vendor/Server/Skills/flutter-library-stability-check/SKILL.md +744 -744
- package/vendor/Server/Skills/flutter-library-stability-check/references/CHECKLIST.md +720 -720
- package/vendor/Server/Skills/flutter-library-test-coverage-check/SKILL.md +414 -414
- package/vendor/Server/Skills/flutter-library-test-coverage-check/assets/REPORT_TEMPLATE.md +150 -150
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/CHECKLIST.md +304 -304
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCORING_RULES.md +265 -265
- package/vendor/Server/Skills/flutter-library-test-coverage-check/references/SCRIPT_USAGE.md +286 -286
- package/vendor/Server/Skills/knowledge-import/SKILL.md +383 -383
- package/vendor/Server/Skills/knowledge-import/references/MCP_TOOL_USAGE.md +165 -165
- package/vendor/Server/Skills/knowledge-import/references/SKILL_LOCATOR_GUIDE.md +91 -91
- package/vendor/Server/Skills/knowledge-import/references/SKILL_OPTIMIZATION_GUIDE.md +127 -127
- package/vendor/Server/Skills/ohos-lib-pr-push/SKILL.md +453 -301
- package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_CHECKLIST.md +151 -0
- package/vendor/Server/Skills/ohos-lib-pr-push/assets/PR_ISSUE_TEMPLATE.md +257 -105
- package/vendor/Server/Skills/ohos-lib-pr-push/references/GITCODE_API.md +191 -127
- package/vendor/Server/Skills/ohos-lib-pr-push/scripts/gitcode-api.cjs +317 -208
- package/vendor/Server/Skills/rn-code-check/SKILL.md +320 -320
- package/vendor/Server/Skills/rn-code-check/references/API-GUIDE.md +234 -234
- package/vendor/Server/Skills/rn-code-check/references/CHECKLIST.md +188 -188
- package/vendor/Server/Skills/rn-code-check/references/REPORT-TEMPLATE.md +246 -246
- package/vendor/Server/Skills/rn-lib-add-example/SKILL.md +198 -198
- package/vendor/Server/Skills/rn-lib-add-example/references/APP_RENAME_GUIDE.md +40 -40
- package/vendor/Server/Skills/rn-lib-add-example/references/SHELL_ADAPTATION_CHECKLIST.md +78 -78
- package/vendor/Server/Skills/rn-lib-add-example/references/TEMPLATE_REPO_GUIDE.md +70 -70
- package/vendor/Server/Skills/rn-lib-add-example/references/VERIFICATION_GUIDE.md +47 -47
- package/vendor/Server/Skills/rn-lib-add-example/scripts/create-example.cjs +252 -252
- package/vendor/Server/Skills/rn-lib-update-doc/SKILL.md +176 -176
- package/vendor/Server/Skills/rn-lib-update-doc/config.json +5 -5
- package/vendor/Server/Skills/rn-lib-update-doc/references/changelog-template.md +35 -35
- package/vendor/Server/Skills/rn-lib-update-doc/references/format-diff.md +137 -137
- package/vendor/Server/Skills/rn-lib-update-doc/references/link-registry.json +33 -33
- package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2-overview.md +40 -40
- package/vendor/Server/Skills/rn-lib-update-doc/references/model-0.4.2.md +429 -429
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/detect-readme-format.cjs +105 -105
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/find-usage-doc.cjs +90 -90
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/link-verify.cjs +213 -213
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-changelog.cjs +73 -73
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-package-meta.cjs +258 -258
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/normalize-readme-links.cjs +341 -341
- package/vendor/Server/Skills/rn-lib-update-doc/scripts/resolve-usage-docs.cjs +67 -67
- package/vendor/Server/Skills/rn-library-consistency-check/SKILL.md +299 -299
- package/vendor/Server/Skills/rn-library-consistency-check/assets/REPORT_TEMPLATE.md +293 -293
- package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_COMPONENT_CHECK_GUIDE.md +857 -857
- package/vendor/Server/Skills/rn-library-consistency-check/references/ARKTS_TURBOMODULE_CHECK_GUIDE.md +856 -856
- package/vendor/Server/Skills/rn-library-consistency-check/references/CHECKLIST.md +157 -157
- package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_COMPONENT_CHECK_GUIDE.md +801 -801
- package/vendor/Server/Skills/rn-library-consistency-check/references/CPP_TURBOMODULE_CHECK_GUIDE.md +683 -683
- package/vendor/Server/Skills/rn-library-consistency-check/references/FUNCTION_COMPARISON_GUIDE.md +233 -233
- package/vendor/Server/Skills/rn-library-consistency-check/references/NATIVE_COMPONENT_IDENTIFICATION.md +1373 -1373
- package/vendor/Server/Skills/rn-library-consistency-check/references/SCORING_STANDARD.md +220 -220
- package/vendor/Server/Skills/rn-library-consistency-check/scripts/validate-skill.py +245 -245
- package/vendor/Server/Skills/rn-library-documentation-quality-check/SKILL.md +263 -263
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL.md +414 -414
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/MODEL_en.md +413 -413
- package/vendor/Server/Skills/rn-library-documentation-quality-check/assets/REPORT_TEMPLATE.md +311 -311
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CHECK_CHECKLIST.md +355 -355
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/CROSS_VALIDATION_GUIDE.md +115 -115
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/DOC_COLLECTION_GUIDE.md +139 -139
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/EXAMPLES.md +586 -586
- package/vendor/Server/Skills/rn-library-documentation-quality-check/references/GOTCHAS.md +57 -57
- package/vendor/Server/Skills/rn-library-documentation-quality-check/scripts/validate-skill.py +259 -259
- package/vendor/Server/Skills/rn-library-interface-analyzer/SKILL.md +301 -301
- package/vendor/Server/Skills/rn-library-interface-analyzer/assets/REPORT_TEMPLATE.md +148 -148
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/DOC_ANNOTATION_GUIDE.md +118 -118
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/SCRIPT_USAGE_GUIDE.md +168 -168
- package/vendor/Server/Skills/rn-library-interface-analyzer/references/URL_PARSING_RULES.md +176 -176
- package/vendor/Server/Skills/rn-library-issue-generalizer/SKILL.md +274 -274
- package/vendor/Server/Skills/rn-library-issue-generalizer/assets/case-template.md +45 -45
- package/vendor/Server/Skills/rn-library-issue-generalizer/assets/rule-template.md +25 -25
- package/vendor/Server/Skills/rn-library-issue-generalizer/references/PR_FETCH_GUIDE.md +61 -61
- package/vendor/Server/Skills/rn-library-issue-generalizer/references/RULE_TEMPLATE_GUIDE.md +165 -165
- package/vendor/Server/Skills/rn-library-issue-generalizer/scripts/fetch-pr-info.py +239 -239
- package/vendor/Server/Skills/rn-library-known-issue-check/SKILL.md +263 -263
- package/vendor/Server/Skills/rn-library-known-issue-check/assets/REPORT_TEMPLATE.md +96 -96
- package/vendor/Server/Skills/rn-library-known-issue-check/references/COMPLIANCE_CHECKLIST.md +57 -57
- package/vendor/Server/Skills/rn-library-known-issue-check/references/INSPECTION_GUIDE.md +99 -99
- package/vendor/Server/Skills/rn-library-known-issue-check/references/PRESCREEN_GUIDE.md +64 -64
- package/vendor/Server/Skills/rn-library-known-issue-check/references/SOURCE_PREP_GUIDE.md +74 -74
- package/vendor/Server/Skills/rn-library-known-issue-check/scripts/validate-known-issue-report.py +164 -164
- package/vendor/Server/Skills/rn-library-memory-leak-check/SKILL.md +356 -339
- package/vendor/Server/Skills/rn-library-memory-leak-check/assets/REPORT_TEMPLATE.md +85 -83
- package/vendor/Server/Skills/rn-library-memory-leak-check/references/CHECKLIST.md +905 -859
- package/vendor/Server/Skills/rn-library-memory-leak-check/references/HARMONY_CODE_PATTERNS.md +124 -122
- package/vendor/Server/Skills/rn-library-memory-leak-check/scripts/scan_harmony_code.py +287 -279
- package/vendor/Server/Skills/rn-library-stability-check/SKILL.md +273 -273
- package/vendor/Server/Skills/rn-library-stability-check/assets/REPORT_TEMPLATE.md +129 -129
- package/vendor/Server/Skills/rn-library-stability-check/references/CHECKLIST.md +581 -581
- package/vendor/Server/Skills/rn-library-stability-check/references/SCORING_RULES.md +138 -138
- package/vendor/Server/Skills/rn-library-stability-check/scripts/scan-harmony-code.py +168 -168
- package/vendor/Server/Skills/rn-library-test-coverage-check/SKILL.md +526 -506
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/CHECKLIST.md +321 -280
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/DEMO_LOCATION.md +221 -221
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/REPORT_TEMPLATE.md +220 -209
- package/vendor/Server/Skills/rn-library-test-coverage-check/references/SCRIPT_USAGE.md +325 -325
- package/vendor/Server/Skills/rn-ohos-xts-generator/SKILL.md +279 -279
- package/vendor/Server/Skills/rn-ohos-xts-generator/assets/TEST_FILE_TEMPLATES.md +404 -404
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_TROUBLESHOOTING.md +185 -185
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/BUILD_WORKFLOW.md +265 -265
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/COMMON_CONFIG.md +189 -189
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/CONFIG_GUIDE.md +203 -203
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/COVERAGE_ANALYZER.md +147 -147
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/DESIGN_DOC_GUIDE.md +148 -148
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_FLOW.md +165 -165
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/GENERATION_STRATEGY.md +195 -195
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/HARMONY_SCANNER.md +249 -249
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/JEST_FRAMEWORK.md +235 -235
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/PLATFORM_COMPAT.md +161 -161
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/RN_TEST_PATTERNS.md +413 -413
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/SOURCE_PARSER.md +235 -235
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/TEST_CONVENTIONS.md +245 -245
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/TROUBLESHOOTING.md +282 -282
- package/vendor/Server/Skills/rn-ohos-xts-generator/references/USAGE_GUIDE.md +251 -251
- package/vendor/Server/Skills/rnoh-cptf-api-test/SKILL.md +469 -469
- package/vendor/Server/Skills/rnoh-cptf-api-test/assets/CPTF_TEST_TEMPLATE.md +310 -310
- package/vendor/Server/Skills/rnoh-cptf-api-test/assets/DEMO_PAGE_TEMPLATE.md +303 -303
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/CPTF_TEST_GENERATION_GUIDE.md +421 -421
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/DEMO_GENERATION_GUIDE.md +358 -358
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/QUALITY_CHECKLIST.md +114 -114
- package/vendor/Server/Skills/rnoh-cptf-api-test/references/SPEC_PARSING_GUIDE.md +274 -274
- package/vendor/Server/Skills/rnoh-cptf-api-test/scripts/validate-rnoh-cptf-api-test.sh +185 -185
- package/vendor/Server/Skills/rnoh-cptf-demo-test/SKILL.md +191 -191
- package/vendor/Server/Skills/rnoh-cptf-demo-test/assets/TEST_TEMPLATE.md +216 -216
- package/vendor/Server/Skills/rnoh-cptf-demo-test/references/CPTF_SETUP.md +107 -107
- package/vendor/Server/Skills/rnoh-cptf-demo-test/references/DEMO_ANALYSIS.md +120 -120
- package/vendor/Server/Skills/rnoh-cptf-demo-test/scripts/validate-rnoh-cptf-test.sh +108 -108
- package/vendor/Server/Skills/rnoh-cptf-test-run/SKILL.md +237 -237
- package/vendor/Server/Skills/rnoh-cptf-test-run/references/DEBUG_PLAYBOOK.md +261 -261
- package/vendor/Server/Skills/rnoh-cptf-test-run/scripts/validate-run-env.sh +112 -112
- package/vendor/Server/Skills/rnoh-lib-code-adapt/SKILL.md +497 -497
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/adapt-checklist.md +270 -270
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/api-migration-checklist.md +164 -164
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/common-compile-errors.md +556 -556
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/deveco-cli-tools.md +459 -459
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/edge-cases.md +65 -65
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/har-tgz-build.md +512 -512
- package/vendor/Server/Skills/rnoh-lib-code-adapt/references/version-compat-matrix.md +132 -132
- package/vendor/Server/Skills/rnoh-lib-code-adapt/scripts/auto-integrate.sh +424 -424
- package/vendor/Server/Skills/rnoh-lib-demo-coverage/SKILL.md +137 -137
- package/vendor/Server/Skills/rnoh-lib-demo-create/SKILL.md +306 -306
- package/vendor/Server/Skills/rnoh-lib-demo-create/assets/DEMO_PAGE_TEMPLATE.md +485 -485
- package/vendor/Server/Skills/rnoh-lib-demo-create/assets/INDEX_TEMPLATE.md +172 -172
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/DEMO_CODE_RULES.md +422 -422
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/QUALITY_CHECKLIST.md +95 -95
- package/vendor/Server/Skills/rnoh-lib-demo-create/references/SOURCE_EXPLORATION.md +169 -169
- package/vendor/Server/Skills/rnoh-lib-demo-doc/SKILL.md +554 -554
- package/vendor/Server/Skills/rnoh-lib-demo-doc/assets/DEMO_DOC_TEMPLATE.md +106 -106
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/COVERAGE_INCREMENTAL.md +216 -216
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/DEMO_DESIGN_RULES.md +413 -413
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/OUTPUT_FORMAT.md +269 -269
- package/vendor/Server/Skills/rnoh-lib-demo-doc/references/QUALITY_CHECKLIST.md +98 -98
- package/vendor/Server/Skills/rnoh-lib-func-test/SKILL.md +337 -337
- package/vendor/Server/Skills/rnoh-lib-rnt-search/SKILL.md +722 -722
- package/vendor/Server/Skills/rnoh-lib-rnt-search/assets/PORT_REPORT_TEMPLATE.md +219 -219
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/DEMO_PORTING_GUIDE.md +345 -345
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/PORT_VERIFICATION.md +269 -269
- package/vendor/Server/Skills/rnoh-lib-rnt-search/references/RNT_PROJECT_STRUCTURE.md +173 -173
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/analyze-demo-deps.cjs +267 -267
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/detect-rnoh-version.cjs +174 -174
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/find-rnt-demo.sh +111 -111
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/port-demo.sh +186 -186
- package/vendor/Server/Skills/rnoh-lib-rnt-search/scripts/read-lib-meta.cjs +150 -150
- package/vendor/Server/Skills/rnoh-lib-test-align/SKILL.md +296 -296
- package/vendor/Server/Skills/rnoh-lib-test-align/references/jest-troubleshooting.md +371 -371
- package/vendor/Server/Skills/rnoh-lib-test-align/references/port-test-demo-guide.md +212 -212
- package/vendor/Server/Skills/rnoh-lib-test-align/references/runtime-troubleshooting.md +345 -345
- package/vendor/Server/Skills/rnoh-lib-test-align/references/unit-test-template.md +223 -223
- package/vendor/Server/Skills/rnoh-lib-test-align/scripts/port-test-demo.sh +1053 -1053
- package/vendor/Server/Skills/rnoh-lib-version-diff/SKILL.md +295 -255
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_ADAPTATION.md +82 -77
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/OHOS_API_LOOKUP.md +224 -224
- package/vendor/Server/Skills/rnoh-lib-version-diff/references/script-reference.md +175 -174
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/detect-upstream-version.js +967 -967
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/generate-diff.js +1798 -1798
- package/vendor/Server/Skills/rnoh-lib-version-diff/scripts/package.json +5 -5
- package/vendor/Server/Skills/rnoh-lib-version-diff/templates/report-template.md +180 -137
- package/vendor/Server/Skills/rnoh-lib-xts-coverage/SKILL.md +145 -145
- package/vendor/Server/Skills/skill-generator/SKILL.md +365 -365
- package/vendor/Server/Skills/skill-generator/assets/SKILL_TEMPLATE.md +183 -183
- package/vendor/Server/Skills/skill-generator/references/COMPLIANCE_CHECKLIST.md +82 -82
- package/vendor/Server/Skills/skill-generator/references/KB_QUERY_GUIDE.md +110 -110
- package/vendor/Server/Skills/skill-generator/references/MCP_TOOL_DISCOVERY.md +122 -122
- package/vendor/Server/Skills/skill-generator/references/SKILL_SPEC.md +121 -121
- package/vendor/Server/Skills/skill-generator/scripts/validate-skill.cjs +259 -259
- package/vendor/Server/Skills/task-analysis/SKILL.md +234 -234
- package/vendor/Server/Skills/task-analysis/assets/OUTPUT_EXAMPLES.md +160 -160
- package/vendor/Server/Skills/task-analysis/references/ACCEPTANCE_CRITERIA_GUIDE.md +190 -190
- package/vendor/Server/Skills/task-analysis/references/ANALYSIS_SCHEMA.md +224 -224
- package/vendor/Server/Skills/task-analysis/references/INTEGRATION_CONTEXT.md +162 -162
- package/vendor/Server/Skills/task-analysis/references/LESSONS_LEARNED.md +55 -55
- package/vendor/Server/Skills/task-analysis/references/REPLAN_CONTEXT_GUIDE.md +126 -126
- package/vendor/Server/Skills/task-analysis/scripts/validate-analysis-output.sh +256 -256
- package/vendor/Server/Skills/task-decomposition/SKILL.md +528 -528
- package/vendor/Server/Skills/task-decomposition/assets/OUTPUT_EXAMPLES.md +451 -451
- package/vendor/Server/Skills/task-decomposition/references/ACCEPTANCE_CRITERIA_GUIDE.md +179 -179
- package/vendor/Server/Skills/task-decomposition/references/DEPENDENCY_GRAPH_GUIDE.md +152 -152
- package/vendor/Server/Skills/task-decomposition/references/INTEGRATION_CONTEXT.md +175 -175
- package/vendor/Server/Skills/task-decomposition/references/REPLAN_CONTEXT_GUIDE.md +195 -195
- package/vendor/Server/Skills/task-decomposition/references/TASK_DECOMPOSITION_TEMPLATES.md +226 -226
- package/vendor/Server/Skills/task-decomposition/scripts/list-available-skills.cjs +263 -263
- package/vendor/Server/Skills/task-decomposition/scripts/skill-blacklist.json +29 -29
- package/vendor/Server/Skills/task-decomposition/scripts/validate-decomposition-output.cjs +376 -376
- package/vendor/Server/Skills/task-decomposition/scripts/validate-param-consistency.cjs +259 -259
- package/vendor/Server/Skills/task-decomposition/scripts/validate-specified-skills.cjs +216 -216
- package/vendor/Server/Skills/task-decomposition/scripts/validate-step-graph.cjs +424 -424
- package/vendor/Server/Skills/tpc-cpp-check/SKILL.md +427 -427
- package/vendor/Server/Skills/tpc-cpp-check/references/CHECKLIST.md +214 -214
- package/vendor/Server/Skills/tpc-cpp-check/references/HPKBUILD_GUIDE.md +235 -235
- package/vendor/Server/Skills/tpc-cpp-check/references/REPORT_TEMPLATE.md +250 -250
- package/vendor/Server/TestCheck/TestCheck.js +775 -775
- package/vendor/Server/TestCheck/index.js +11 -11
- package/vendor/Server/library/McpToolGuide.js +280 -280
- package/vendor/Server/library/StatsService.js +126 -126
- package/vendor/Server/library/cstTime.js +16 -16
- package/vendor/VERSION +3 -3
- package/workflows/pr-check.mjs +105 -105
- package/workflows/pr-push.mjs +193 -0
- package/vendor/Server/Agent/SkillSelector/types.js +0 -63
|
@@ -1,301 +1,301 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rn-library-interface-analyzer
|
|
3
|
-
description: RN 三方库双仓库接口分析,下载鸿蒙化仓库与上游原库,使用脚本自动提取上游原库的对外接口规格(JS/TS API + TurboModule Spec),生成结构化接口规格说明文档,并对照鸿蒙 RN 三方库使用文档标注差异接口的文档覆盖情况。当需要对 RN 三方库进行接口分析、生成 API 规格文档、或启动 RN 仓库检视流程时使用。作为 RN 仓库检视流程的第一阶段。
|
|
4
|
-
license: Apache-2.0
|
|
5
|
-
compatibility: 需要访问 Git 仓库、需要 git 命令(≥ 2.25.0 支持 Sparse Checkout)、需要 Node.js ≥ 14 和 npm(运行接口提取脚本)、需要网络访问
|
|
6
|
-
metadata:
|
|
7
|
-
version: "1.0.0"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# RNLibraryInterfaceAnalyzer
|
|
11
|
-
|
|
12
|
-
RN 三方库**双仓库接口分析** SKILL,负责下载鸿蒙化仓库与上游原库,以**脚本驱动**方式提取对外公开接口规格,生成结构化接口规格说明文档。
|
|
13
|
-
|
|
14
|
-
> ⚠️ **核心定位与原则**:
|
|
15
|
-
> 1. **上游原库接口为权威基准**:鸿蒙化库的接口默认与原库一致,因此以原库导出接口为主体
|
|
16
|
-
> 2. **鸿蒙化仓库仅补充标注差异**:仅记录鸿蒙化版本新增、缺失或签名变更的接口
|
|
17
|
-
> 3. 本 SKILL 是 RN 仓库检视流程的**第一阶段**,输出供后续稳定性检视、一致性检视等 SKILL 使用
|
|
18
|
-
> 4. **只分析对外公开导出的接口**,不关注内部实现细节
|
|
19
|
-
> 5. **差异接口需标注文档覆盖情况**:对照鸿蒙 RN 三方库使用文档标注差异接口的覆盖情况
|
|
20
|
-
> 6. **所有文件必须存放在 outputDir 下**:禁止将文件写入系统临时目录或其他外部路径
|
|
21
|
-
> 7. **接口提取使用脚本自动化**:通过 `rn-extract-interfaces.cjs` 和 `rn-render-spec-doc.cjs` 脚本完成接口提取和文档渲染,AI 负责差异标注和原生模块补充分析
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## 任务参数
|
|
26
|
-
|
|
27
|
-
| 参数 | 必需 | 说明 |
|
|
28
|
-
|------|------|------|
|
|
29
|
-
| `upstreamRepoUrl` | ✅ | 上游原社区仓库地址(支持 Git URL / 本地路径 / npm 包名) |
|
|
30
|
-
| `ohosRepoUrl` | ✅ | 鸿蒙化仓库地址(支持 Git URL / 本地路径) |
|
|
31
|
-
| `outputDir` | ✅ | 输出目录绝对路径,存放检视报告和源码 |
|
|
32
|
-
| `libraryName` | ✅ | 仓库名称(用于报告标识) |
|
|
33
|
-
| `rndocUrl` | ❌ | 鸿蒙 RN 三方库使用文档地址。若未提供,则使用鸿蒙化仓库根目录 `README.md` |
|
|
34
|
-
|
|
35
|
-
> 💡 分支和子路径从 URL 中自动解析,无需单独指定。详细 URL 格式参见 [URL 格式解析规则](references/URL_PARSING_RULES.md)
|
|
36
|
-
|
|
37
|
-
**派生变量**:
|
|
38
|
-
- `skillDir`:本 SKILL 所在目录
|
|
39
|
-
- `mcpScriptsDir`:分析脚本所在目录 = `{{skillDir}}/../../../MCP/scripts`(即 `3rdLibraryLoop/MCP/scripts`)
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 输入依赖
|
|
44
|
-
|
|
45
|
-
无前置 SKILL。可作为独立任务调用。
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## 脚本依赖
|
|
50
|
-
|
|
51
|
-
接口提取与文档渲染脚本统一存放在 MCP 脚本目录,**本 SKILL 目录内不保存脚本副本**:
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
3rdLibraryLoop/MCP/scripts/rn-extract-interfaces.cjs
|
|
55
|
-
3rdLibraryLoop/MCP/scripts/rn-render-spec-doc.cjs
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
**调用方式**:通过 `node` 命令行直接执行,使用 `{{skillDir}}/../../../MCP/scripts/` 相对路径定位脚本。
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## 目录结构约定
|
|
63
|
-
|
|
64
|
-
> ⚠️ **所有新增文件**都必须存放在 `{outputDir}` 内。
|
|
65
|
-
|
|
66
|
-
```
|
|
67
|
-
{outputDir}/
|
|
68
|
-
├── 接口规格说明.md # 最终输出报告(脚本生成基础 + AI 补充差异)
|
|
69
|
-
├── interface-spec.json # 脚本生成的接口规格 JSON(中间产物)
|
|
70
|
-
├── clone-info.json # 双仓库克隆元信息
|
|
71
|
-
├── source/
|
|
72
|
-
│ ├── RN/ # 上游原库源码
|
|
73
|
-
│ └── ohos/ # 鸿蒙化仓库源码
|
|
74
|
-
└── tmp/
|
|
75
|
-
└── rndoc/ # 使用文档参考(仅当 rndocUrl 为 Git URL 时)
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## 工作流程概览
|
|
81
|
-
|
|
82
|
-
```
|
|
83
|
-
Phase 1: 双仓库获取(Git 克隆 / 本地链接 / npm 解包)
|
|
84
|
-
↓
|
|
85
|
-
Phase 2: 接口提取(脚本驱动 — rn-extract-interfaces.cjs)
|
|
86
|
-
↓
|
|
87
|
-
Phase 3: 鸿蒙化仓库差异标注(AI 对比 + 文档覆盖查询)
|
|
88
|
-
↓
|
|
89
|
-
Phase 4: 文档生成(脚本渲染 + AI 补充差异章节)
|
|
90
|
-
↓
|
|
91
|
-
Phase 5: 最终输出
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## Phase 1:双仓库获取
|
|
97
|
-
|
|
98
|
-
### 1.1 解析 URL 参数
|
|
99
|
-
|
|
100
|
-
对每个仓库 URL,按 [URL 格式解析规则](references/URL_PARSING_RULES.md) 提取仓库基础 URL、分支/commit、子路径。
|
|
101
|
-
|
|
102
|
-
### 1.2 检查环境
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
git --version # 确认 Git ≥ 2.25.0
|
|
106
|
-
node --version # 确认 Node.js ≥ 14
|
|
107
|
-
npm --version # 确认 npm 可用(接口提取脚本依赖)
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### 1.3 获取上游原库
|
|
111
|
-
|
|
112
|
-
根据输入类型分别处理(Git URL 克隆 / 本地路径 / npm 包名),克隆命令参见 [URL 格式解析规则](references/URL_PARSING_RULES.md) 中的"克隆命令参考"。
|
|
113
|
-
|
|
114
|
-
### 1.4 获取鸿蒙化仓库
|
|
115
|
-
|
|
116
|
-
同上游获取流程(不支持 npm 包名)。克隆到 `{outputDir}/source/ohos`。
|
|
117
|
-
|
|
118
|
-
### 1.5 验证获取结果
|
|
119
|
-
|
|
120
|
-
- `{outputDir}/source/ohos/` 包含鸿蒙化源码文件
|
|
121
|
-
- `{outputDir}/source/RN/` 包含上游原库源码文件
|
|
122
|
-
|
|
123
|
-
### 1.6 记录获取信息
|
|
124
|
-
|
|
125
|
-
将克隆元信息写入 `{outputDir}/clone-info.json`,包含 ohos、upstream、rndoc 三部分的 baseUrl、branch、commit、subpath、inputType 等字段。
|
|
126
|
-
|
|
127
|
-
### 1.7 确定分析路径
|
|
128
|
-
|
|
129
|
-
- 鸿蒙化仓库:`ohosAnalysisRoot = {outputDir}/source/ohos` (有子路径时追加)
|
|
130
|
-
- 上游原库:`upstreamAnalysisRoot = {outputDir}/source/RN` (有子路径时追加)
|
|
131
|
-
|
|
132
|
-
### 1.8 获取失败处理
|
|
133
|
-
|
|
134
|
-
参见 [URL 格式解析规则](references/URL_PARSING_RULES.md) 中的"获取失败处理"表。
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Phase 2:接口提取(脚本驱动)
|
|
139
|
-
|
|
140
|
-
> ⚠️ **这是本 SKILL 的核心工作**,使用脚本自动提取接口,替代人工逐文件分析。
|
|
141
|
-
|
|
142
|
-
### 2.1 分析库的 README
|
|
143
|
-
|
|
144
|
-
读取 `upstreamAnalysisRoot` 下的 README.md,提取库的名称、功能描述、主要特性、支持的平台。此信息用于最终报告的概述章节。
|
|
145
|
-
|
|
146
|
-
### 2.2 运行接口提取脚本
|
|
147
|
-
|
|
148
|
-
在 `ohosAnalysisRoot` 目录上运行 `rn-extract-interfaces.cjs` 脚本:
|
|
149
|
-
|
|
150
|
-
```bash
|
|
151
|
-
node "{{skillDir}}/../../../MCP/scripts/rn-extract-interfaces.cjs" \
|
|
152
|
-
--repoDir "{ohosAnalysisRoot}" \
|
|
153
|
-
--output "{outputDir}/interface-spec.json"
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
> 💡 脚本会自动完成以下工作:
|
|
157
|
-
> - 从 `ohosAnalysisRoot` 的 `package.json` 推断上游库名和版本
|
|
158
|
-
> - 通过 `npm pack` 拉取上游 npm 源码(index.js / index.d.ts)
|
|
159
|
-
> - 从鸿蒙化仓库本地提取 TurboModule Spec(`Native*.ts`)
|
|
160
|
-
> - 解析 JS 层导出(CommonJS / ES Module / Side-effect)
|
|
161
|
-
> - 解析类型定义(index.d.ts 中的 class / interface)
|
|
162
|
-
> - 输出结构化 JSON 接口规格
|
|
163
|
-
|
|
164
|
-
> ⚠️ 如需指定上游版本,添加 `--version "x.x.x"` 参数。版本推断逻辑详见 [脚本使用指南](references/SCRIPT_USAGE_GUIDE.md)。
|
|
165
|
-
|
|
166
|
-
### 2.3 验证提取结果
|
|
167
|
-
|
|
168
|
-
读取 `{outputDir}/interface-spec.json`,确认:
|
|
169
|
-
- `interfaces` 数组非空
|
|
170
|
-
- `summary` 字段包含合理的接口统计
|
|
171
|
-
- `upstream` 字段记录了拉取的包名和版本
|
|
172
|
-
|
|
173
|
-
### 2.4 原生模块补充分析(按需)
|
|
174
|
-
|
|
175
|
-
> 脚本仅提取 JS/TS 层和 TurboModule Spec。旧式原生模块需 AI 手动补充。
|
|
176
|
-
|
|
177
|
-
如果库包含 iOS(`RCT_EXPORT_MODULE`)或 Android(`ReactPackage`)原生模块代码,AI 手动提取:
|
|
178
|
-
|
|
179
|
-
**iOS 原生模块**(主体):
|
|
180
|
-
- 模块名(`RCT_EXPORT_MODULE()` 宏)
|
|
181
|
-
- 导出方法(`RCT_EXPORT_METHOD` / `RCT_REMAP_METHOD`)
|
|
182
|
-
- 导出常量、事件支持
|
|
183
|
-
|
|
184
|
-
**Android 原生模块**(补充差异):
|
|
185
|
-
- 仅列出与 iOS 差异的方法、常量、事件
|
|
186
|
-
|
|
187
|
-
> 💡 如果库仅使用 JS/TS 层和 TurboModule(新架构),可跳过此步骤。
|
|
188
|
-
|
|
189
|
-
### 2.5 提取失败处理
|
|
190
|
-
|
|
191
|
-
| 问题 | 解决方案 |
|
|
192
|
-
|------|----------|
|
|
193
|
-
| `npm pack` 失败 | 检查网络、确认包名。脚本会自动降级到 `latest` |
|
|
194
|
-
| `index.d.ts` 未找到 | 脚本会跳过类型定义提取,仅从 JS 层导出 |
|
|
195
|
-
| 导出模式为 `unknown` | 检查 `package.json` 的 `main`/`module` 字段 |
|
|
196
|
-
| Node.js 未安装 | 提示用户安装 Node.js ≥ 14 |
|
|
197
|
-
|
|
198
|
-
详细问题排查参见 [脚本使用指南](references/SCRIPT_USAGE_GUIDE.md)。
|
|
199
|
-
|
|
200
|
-
---
|
|
201
|
-
|
|
202
|
-
## Phase 3:鸿蒙化仓库差异标注
|
|
203
|
-
|
|
204
|
-
> ⚠️ 鸿蒙化库的接口默认与原库一致,此阶段仅**补充标注差异**。
|
|
205
|
-
|
|
206
|
-
### 3.1 扫描鸿蒙化仓库结构
|
|
207
|
-
|
|
208
|
-
快速扫描 `ohosAnalysisRoot` 识别入口文件(`Index.ets`、`index.ts`)、`oh-package.json5`、鸿蒙特有文件。
|
|
209
|
-
|
|
210
|
-
### 3.2 标注差异接口
|
|
211
|
-
|
|
212
|
-
基于 Phase 2 提取的接口清单(`interface-spec.json`),对比鸿蒙化版本:
|
|
213
|
-
|
|
214
|
-
- ❌ **缺失接口**:原库有但鸿蒙化版本未实现的接口
|
|
215
|
-
- 🆕 **新增接口**:鸿蒙化版本特有的接口
|
|
216
|
-
- ⚠️ **签名变更**:参数类型、返回值类型有调整的接口
|
|
217
|
-
|
|
218
|
-
> 💡 差异标注应简洁,每个差异项一行说明即可。
|
|
219
|
-
|
|
220
|
-
### 3.3 查询使用文档标注情况
|
|
221
|
-
|
|
222
|
-
为每个差异接口补充"文档是否标注"信息。详细的文档来源确定、文件定位、判定规则参见 [文档标注查询指南](references/DOC_ANNOTATION_GUIDE.md)。
|
|
223
|
-
|
|
224
|
-
**核心流程**:
|
|
225
|
-
1. 确定文档来源(`rndocUrl` > 鸿蒙化仓库 README.md)
|
|
226
|
-
2. 定位文档文件
|
|
227
|
-
3. 通读文档,定位 "HarmonyOS Support" 列表格
|
|
228
|
-
4. 逐项核对标注(名称归一化匹配 → 判定规则)
|
|
229
|
-
|
|
230
|
-
> 💡 文档来源为 Git URL 时,克隆到 `{outputDir}/tmp/rndoc`。
|
|
231
|
-
|
|
232
|
-
---
|
|
233
|
-
|
|
234
|
-
## Phase 4:文档生成(脚本驱动)
|
|
235
|
-
|
|
236
|
-
### 4.1 运行文档渲染脚本
|
|
237
|
-
|
|
238
|
-
使用 `rn-render-spec-doc.cjs` 从 `interface-spec.json` 生成基础接口规格文档:
|
|
239
|
-
|
|
240
|
-
```bash
|
|
241
|
-
node "{{skillDir}}/../../../MCP/scripts/rn-render-spec-doc.cjs" \
|
|
242
|
-
--spec "{outputDir}/interface-spec.json" \
|
|
243
|
-
--output "{outputDir}/接口规格说明.md"
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
> 💡 脚本自动生成:基本信息、接口统计、按层级分布、按类分组的接口详情、源文件列表。
|
|
247
|
-
|
|
248
|
-
> ⚠️ 脚本依赖 `rn-extract-interfaces.cjs`(通过相对路径 `require`),两个脚本同位于 `MCP/scripts/` 目录。详见 [脚本使用指南](references/SCRIPT_USAGE_GUIDE.md)。
|
|
249
|
-
|
|
250
|
-
### 4.2 AI 补充差异章节
|
|
251
|
-
|
|
252
|
-
在脚本生成的文档末尾,AI 补充以下章节(基于 Phase 3 的差异分析结果):
|
|
253
|
-
|
|
254
|
-
- **原生模块导出接口**(如有,来自 Phase 2.4)
|
|
255
|
-
- **鸿蒙化接口差异**:
|
|
256
|
-
- 缺失接口 ❌ 表格(接口名、原库位置、文档是否标注、说明)
|
|
257
|
-
- 新增接口 🆕 表格(接口名、鸿蒙化位置、文档是否标注、说明)
|
|
258
|
-
- 签名变更 ⚠️ 表格(接口名、原库签名、鸿蒙化签名、文档是否标注、变更说明)
|
|
259
|
-
|
|
260
|
-
### 4.3 完善概述章节
|
|
261
|
-
|
|
262
|
-
在文档开头补充概述信息:
|
|
263
|
-
- 上游原库地址
|
|
264
|
-
- 鸿蒙化仓库地址
|
|
265
|
-
- 库功能描述(来自 Phase 2.1 的 README 分析)
|
|
266
|
-
|
|
267
|
-
> 💡 最终文档结构参见 [报告模板](assets/REPORT_TEMPLATE.md)。
|
|
268
|
-
|
|
269
|
-
---
|
|
270
|
-
|
|
271
|
-
## Phase 5:最终输出
|
|
272
|
-
|
|
273
|
-
确认输出目录包含所有文件:
|
|
274
|
-
|
|
275
|
-
```
|
|
276
|
-
{outputDir}/
|
|
277
|
-
├── 接口规格说明.md # ✅ 最终报告(脚本生成 + AI 补充)
|
|
278
|
-
├── interface-spec.json # ✅ 接口规格 JSON(中间产物,供后续 SKILL 使用)
|
|
279
|
-
├── clone-info.json # ✅ 克隆元信息
|
|
280
|
-
├── source/ohos/ # ✅ 鸿蒙化仓库源码
|
|
281
|
-
├── source/RN/ # ✅ 上游原库源码
|
|
282
|
-
└── tmp/rndoc/ # 使用文档参考(如有)
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
## 输出产物
|
|
288
|
-
|
|
289
|
-
| 文件 | 路径 | 说明 |
|
|
290
|
-
|------|------|------|
|
|
291
|
-
| 接口规格说明.md | `{outputDir}/接口规格说明.md` | 以上游原库为基准的接口规格文档(脚本生成 + AI 补充差异) |
|
|
292
|
-
| interface-spec.json | `{outputDir}/interface-spec.json` | 脚本生成的结构化接口规格 JSON |
|
|
293
|
-
| clone-info.json | `{outputDir}/clone-info.json` | 双仓库及文档克隆元信息 |
|
|
294
|
-
| source/ohos/ | `{outputDir}/source/ohos/` | 鸿蒙化仓库源码 |
|
|
295
|
-
| source/RN/ | `{outputDir}/source/RN/` | 上游原库源码 |
|
|
296
|
-
|
|
297
|
-
---
|
|
298
|
-
|
|
299
|
-
## 评分
|
|
300
|
-
|
|
301
|
-
本阶段不产出评分,仅产出接口规格说明文档,供后续检视 SKILL 参考。
|
|
1
|
+
---
|
|
2
|
+
name: rn-library-interface-analyzer
|
|
3
|
+
description: RN 三方库双仓库接口分析,下载鸿蒙化仓库与上游原库,使用脚本自动提取上游原库的对外接口规格(JS/TS API + TurboModule Spec),生成结构化接口规格说明文档,并对照鸿蒙 RN 三方库使用文档标注差异接口的文档覆盖情况。当需要对 RN 三方库进行接口分析、生成 API 规格文档、或启动 RN 仓库检视流程时使用。作为 RN 仓库检视流程的第一阶段。
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
compatibility: 需要访问 Git 仓库、需要 git 命令(≥ 2.25.0 支持 Sparse Checkout)、需要 Node.js ≥ 14 和 npm(运行接口提取脚本)、需要网络访问
|
|
6
|
+
metadata:
|
|
7
|
+
version: "1.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# RNLibraryInterfaceAnalyzer
|
|
11
|
+
|
|
12
|
+
RN 三方库**双仓库接口分析** SKILL,负责下载鸿蒙化仓库与上游原库,以**脚本驱动**方式提取对外公开接口规格,生成结构化接口规格说明文档。
|
|
13
|
+
|
|
14
|
+
> ⚠️ **核心定位与原则**:
|
|
15
|
+
> 1. **上游原库接口为权威基准**:鸿蒙化库的接口默认与原库一致,因此以原库导出接口为主体
|
|
16
|
+
> 2. **鸿蒙化仓库仅补充标注差异**:仅记录鸿蒙化版本新增、缺失或签名变更的接口
|
|
17
|
+
> 3. 本 SKILL 是 RN 仓库检视流程的**第一阶段**,输出供后续稳定性检视、一致性检视等 SKILL 使用
|
|
18
|
+
> 4. **只分析对外公开导出的接口**,不关注内部实现细节
|
|
19
|
+
> 5. **差异接口需标注文档覆盖情况**:对照鸿蒙 RN 三方库使用文档标注差异接口的覆盖情况
|
|
20
|
+
> 6. **所有文件必须存放在 outputDir 下**:禁止将文件写入系统临时目录或其他外部路径
|
|
21
|
+
> 7. **接口提取使用脚本自动化**:通过 `rn-extract-interfaces.cjs` 和 `rn-render-spec-doc.cjs` 脚本完成接口提取和文档渲染,AI 负责差异标注和原生模块补充分析
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 任务参数
|
|
26
|
+
|
|
27
|
+
| 参数 | 必需 | 说明 |
|
|
28
|
+
|------|------|------|
|
|
29
|
+
| `upstreamRepoUrl` | ✅ | 上游原社区仓库地址(支持 Git URL / 本地路径 / npm 包名) |
|
|
30
|
+
| `ohosRepoUrl` | ✅ | 鸿蒙化仓库地址(支持 Git URL / 本地路径) |
|
|
31
|
+
| `outputDir` | ✅ | 输出目录绝对路径,存放检视报告和源码 |
|
|
32
|
+
| `libraryName` | ✅ | 仓库名称(用于报告标识) |
|
|
33
|
+
| `rndocUrl` | ❌ | 鸿蒙 RN 三方库使用文档地址。若未提供,则使用鸿蒙化仓库根目录 `README.md` |
|
|
34
|
+
|
|
35
|
+
> 💡 分支和子路径从 URL 中自动解析,无需单独指定。详细 URL 格式参见 [URL 格式解析规则](references/URL_PARSING_RULES.md)
|
|
36
|
+
|
|
37
|
+
**派生变量**:
|
|
38
|
+
- `skillDir`:本 SKILL 所在目录
|
|
39
|
+
- `mcpScriptsDir`:分析脚本所在目录 = `{{skillDir}}/../../../MCP/scripts`(即 `3rdLibraryLoop/MCP/scripts`)
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 输入依赖
|
|
44
|
+
|
|
45
|
+
无前置 SKILL。可作为独立任务调用。
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 脚本依赖
|
|
50
|
+
|
|
51
|
+
接口提取与文档渲染脚本统一存放在 MCP 脚本目录,**本 SKILL 目录内不保存脚本副本**:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
3rdLibraryLoop/MCP/scripts/rn-extract-interfaces.cjs
|
|
55
|
+
3rdLibraryLoop/MCP/scripts/rn-render-spec-doc.cjs
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**调用方式**:通过 `node` 命令行直接执行,使用 `{{skillDir}}/../../../MCP/scripts/` 相对路径定位脚本。
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 目录结构约定
|
|
63
|
+
|
|
64
|
+
> ⚠️ **所有新增文件**都必须存放在 `{outputDir}` 内。
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
{outputDir}/
|
|
68
|
+
├── 接口规格说明.md # 最终输出报告(脚本生成基础 + AI 补充差异)
|
|
69
|
+
├── interface-spec.json # 脚本生成的接口规格 JSON(中间产物)
|
|
70
|
+
├── clone-info.json # 双仓库克隆元信息
|
|
71
|
+
├── source/
|
|
72
|
+
│ ├── RN/ # 上游原库源码
|
|
73
|
+
│ └── ohos/ # 鸿蒙化仓库源码
|
|
74
|
+
└── tmp/
|
|
75
|
+
└── rndoc/ # 使用文档参考(仅当 rndocUrl 为 Git URL 时)
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## 工作流程概览
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
Phase 1: 双仓库获取(Git 克隆 / 本地链接 / npm 解包)
|
|
84
|
+
↓
|
|
85
|
+
Phase 2: 接口提取(脚本驱动 — rn-extract-interfaces.cjs)
|
|
86
|
+
↓
|
|
87
|
+
Phase 3: 鸿蒙化仓库差异标注(AI 对比 + 文档覆盖查询)
|
|
88
|
+
↓
|
|
89
|
+
Phase 4: 文档生成(脚本渲染 + AI 补充差异章节)
|
|
90
|
+
↓
|
|
91
|
+
Phase 5: 最终输出
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Phase 1:双仓库获取
|
|
97
|
+
|
|
98
|
+
### 1.1 解析 URL 参数
|
|
99
|
+
|
|
100
|
+
对每个仓库 URL,按 [URL 格式解析规则](references/URL_PARSING_RULES.md) 提取仓库基础 URL、分支/commit、子路径。
|
|
101
|
+
|
|
102
|
+
### 1.2 检查环境
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
git --version # 确认 Git ≥ 2.25.0
|
|
106
|
+
node --version # 确认 Node.js ≥ 14
|
|
107
|
+
npm --version # 确认 npm 可用(接口提取脚本依赖)
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### 1.3 获取上游原库
|
|
111
|
+
|
|
112
|
+
根据输入类型分别处理(Git URL 克隆 / 本地路径 / npm 包名),克隆命令参见 [URL 格式解析规则](references/URL_PARSING_RULES.md) 中的"克隆命令参考"。
|
|
113
|
+
|
|
114
|
+
### 1.4 获取鸿蒙化仓库
|
|
115
|
+
|
|
116
|
+
同上游获取流程(不支持 npm 包名)。克隆到 `{outputDir}/source/ohos`。
|
|
117
|
+
|
|
118
|
+
### 1.5 验证获取结果
|
|
119
|
+
|
|
120
|
+
- `{outputDir}/source/ohos/` 包含鸿蒙化源码文件
|
|
121
|
+
- `{outputDir}/source/RN/` 包含上游原库源码文件
|
|
122
|
+
|
|
123
|
+
### 1.6 记录获取信息
|
|
124
|
+
|
|
125
|
+
将克隆元信息写入 `{outputDir}/clone-info.json`,包含 ohos、upstream、rndoc 三部分的 baseUrl、branch、commit、subpath、inputType 等字段。
|
|
126
|
+
|
|
127
|
+
### 1.7 确定分析路径
|
|
128
|
+
|
|
129
|
+
- 鸿蒙化仓库:`ohosAnalysisRoot = {outputDir}/source/ohos` (有子路径时追加)
|
|
130
|
+
- 上游原库:`upstreamAnalysisRoot = {outputDir}/source/RN` (有子路径时追加)
|
|
131
|
+
|
|
132
|
+
### 1.8 获取失败处理
|
|
133
|
+
|
|
134
|
+
参见 [URL 格式解析规则](references/URL_PARSING_RULES.md) 中的"获取失败处理"表。
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Phase 2:接口提取(脚本驱动)
|
|
139
|
+
|
|
140
|
+
> ⚠️ **这是本 SKILL 的核心工作**,使用脚本自动提取接口,替代人工逐文件分析。
|
|
141
|
+
|
|
142
|
+
### 2.1 分析库的 README
|
|
143
|
+
|
|
144
|
+
读取 `upstreamAnalysisRoot` 下的 README.md,提取库的名称、功能描述、主要特性、支持的平台。此信息用于最终报告的概述章节。
|
|
145
|
+
|
|
146
|
+
### 2.2 运行接口提取脚本
|
|
147
|
+
|
|
148
|
+
在 `ohosAnalysisRoot` 目录上运行 `rn-extract-interfaces.cjs` 脚本:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
node "{{skillDir}}/../../../MCP/scripts/rn-extract-interfaces.cjs" \
|
|
152
|
+
--repoDir "{ohosAnalysisRoot}" \
|
|
153
|
+
--output "{outputDir}/interface-spec.json"
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
> 💡 脚本会自动完成以下工作:
|
|
157
|
+
> - 从 `ohosAnalysisRoot` 的 `package.json` 推断上游库名和版本
|
|
158
|
+
> - 通过 `npm pack` 拉取上游 npm 源码(index.js / index.d.ts)
|
|
159
|
+
> - 从鸿蒙化仓库本地提取 TurboModule Spec(`Native*.ts`)
|
|
160
|
+
> - 解析 JS 层导出(CommonJS / ES Module / Side-effect)
|
|
161
|
+
> - 解析类型定义(index.d.ts 中的 class / interface)
|
|
162
|
+
> - 输出结构化 JSON 接口规格
|
|
163
|
+
|
|
164
|
+
> ⚠️ 如需指定上游版本,添加 `--version "x.x.x"` 参数。版本推断逻辑详见 [脚本使用指南](references/SCRIPT_USAGE_GUIDE.md)。
|
|
165
|
+
|
|
166
|
+
### 2.3 验证提取结果
|
|
167
|
+
|
|
168
|
+
读取 `{outputDir}/interface-spec.json`,确认:
|
|
169
|
+
- `interfaces` 数组非空
|
|
170
|
+
- `summary` 字段包含合理的接口统计
|
|
171
|
+
- `upstream` 字段记录了拉取的包名和版本
|
|
172
|
+
|
|
173
|
+
### 2.4 原生模块补充分析(按需)
|
|
174
|
+
|
|
175
|
+
> 脚本仅提取 JS/TS 层和 TurboModule Spec。旧式原生模块需 AI 手动补充。
|
|
176
|
+
|
|
177
|
+
如果库包含 iOS(`RCT_EXPORT_MODULE`)或 Android(`ReactPackage`)原生模块代码,AI 手动提取:
|
|
178
|
+
|
|
179
|
+
**iOS 原生模块**(主体):
|
|
180
|
+
- 模块名(`RCT_EXPORT_MODULE()` 宏)
|
|
181
|
+
- 导出方法(`RCT_EXPORT_METHOD` / `RCT_REMAP_METHOD`)
|
|
182
|
+
- 导出常量、事件支持
|
|
183
|
+
|
|
184
|
+
**Android 原生模块**(补充差异):
|
|
185
|
+
- 仅列出与 iOS 差异的方法、常量、事件
|
|
186
|
+
|
|
187
|
+
> 💡 如果库仅使用 JS/TS 层和 TurboModule(新架构),可跳过此步骤。
|
|
188
|
+
|
|
189
|
+
### 2.5 提取失败处理
|
|
190
|
+
|
|
191
|
+
| 问题 | 解决方案 |
|
|
192
|
+
|------|----------|
|
|
193
|
+
| `npm pack` 失败 | 检查网络、确认包名。脚本会自动降级到 `latest` |
|
|
194
|
+
| `index.d.ts` 未找到 | 脚本会跳过类型定义提取,仅从 JS 层导出 |
|
|
195
|
+
| 导出模式为 `unknown` | 检查 `package.json` 的 `main`/`module` 字段 |
|
|
196
|
+
| Node.js 未安装 | 提示用户安装 Node.js ≥ 14 |
|
|
197
|
+
|
|
198
|
+
详细问题排查参见 [脚本使用指南](references/SCRIPT_USAGE_GUIDE.md)。
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## Phase 3:鸿蒙化仓库差异标注
|
|
203
|
+
|
|
204
|
+
> ⚠️ 鸿蒙化库的接口默认与原库一致,此阶段仅**补充标注差异**。
|
|
205
|
+
|
|
206
|
+
### 3.1 扫描鸿蒙化仓库结构
|
|
207
|
+
|
|
208
|
+
快速扫描 `ohosAnalysisRoot` 识别入口文件(`Index.ets`、`index.ts`)、`oh-package.json5`、鸿蒙特有文件。
|
|
209
|
+
|
|
210
|
+
### 3.2 标注差异接口
|
|
211
|
+
|
|
212
|
+
基于 Phase 2 提取的接口清单(`interface-spec.json`),对比鸿蒙化版本:
|
|
213
|
+
|
|
214
|
+
- ❌ **缺失接口**:原库有但鸿蒙化版本未实现的接口
|
|
215
|
+
- 🆕 **新增接口**:鸿蒙化版本特有的接口
|
|
216
|
+
- ⚠️ **签名变更**:参数类型、返回值类型有调整的接口
|
|
217
|
+
|
|
218
|
+
> 💡 差异标注应简洁,每个差异项一行说明即可。
|
|
219
|
+
|
|
220
|
+
### 3.3 查询使用文档标注情况
|
|
221
|
+
|
|
222
|
+
为每个差异接口补充"文档是否标注"信息。详细的文档来源确定、文件定位、判定规则参见 [文档标注查询指南](references/DOC_ANNOTATION_GUIDE.md)。
|
|
223
|
+
|
|
224
|
+
**核心流程**:
|
|
225
|
+
1. 确定文档来源(`rndocUrl` > 鸿蒙化仓库 README.md)
|
|
226
|
+
2. 定位文档文件
|
|
227
|
+
3. 通读文档,定位 "HarmonyOS Support" 列表格
|
|
228
|
+
4. 逐项核对标注(名称归一化匹配 → 判定规则)
|
|
229
|
+
|
|
230
|
+
> 💡 文档来源为 Git URL 时,克隆到 `{outputDir}/tmp/rndoc`。
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Phase 4:文档生成(脚本驱动)
|
|
235
|
+
|
|
236
|
+
### 4.1 运行文档渲染脚本
|
|
237
|
+
|
|
238
|
+
使用 `rn-render-spec-doc.cjs` 从 `interface-spec.json` 生成基础接口规格文档:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
node "{{skillDir}}/../../../MCP/scripts/rn-render-spec-doc.cjs" \
|
|
242
|
+
--spec "{outputDir}/interface-spec.json" \
|
|
243
|
+
--output "{outputDir}/接口规格说明.md"
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
> 💡 脚本自动生成:基本信息、接口统计、按层级分布、按类分组的接口详情、源文件列表。
|
|
247
|
+
|
|
248
|
+
> ⚠️ 脚本依赖 `rn-extract-interfaces.cjs`(通过相对路径 `require`),两个脚本同位于 `MCP/scripts/` 目录。详见 [脚本使用指南](references/SCRIPT_USAGE_GUIDE.md)。
|
|
249
|
+
|
|
250
|
+
### 4.2 AI 补充差异章节
|
|
251
|
+
|
|
252
|
+
在脚本生成的文档末尾,AI 补充以下章节(基于 Phase 3 的差异分析结果):
|
|
253
|
+
|
|
254
|
+
- **原生模块导出接口**(如有,来自 Phase 2.4)
|
|
255
|
+
- **鸿蒙化接口差异**:
|
|
256
|
+
- 缺失接口 ❌ 表格(接口名、原库位置、文档是否标注、说明)
|
|
257
|
+
- 新增接口 🆕 表格(接口名、鸿蒙化位置、文档是否标注、说明)
|
|
258
|
+
- 签名变更 ⚠️ 表格(接口名、原库签名、鸿蒙化签名、文档是否标注、变更说明)
|
|
259
|
+
|
|
260
|
+
### 4.3 完善概述章节
|
|
261
|
+
|
|
262
|
+
在文档开头补充概述信息:
|
|
263
|
+
- 上游原库地址
|
|
264
|
+
- 鸿蒙化仓库地址
|
|
265
|
+
- 库功能描述(来自 Phase 2.1 的 README 分析)
|
|
266
|
+
|
|
267
|
+
> 💡 最终文档结构参见 [报告模板](assets/REPORT_TEMPLATE.md)。
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Phase 5:最终输出
|
|
272
|
+
|
|
273
|
+
确认输出目录包含所有文件:
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
{outputDir}/
|
|
277
|
+
├── 接口规格说明.md # ✅ 最终报告(脚本生成 + AI 补充)
|
|
278
|
+
├── interface-spec.json # ✅ 接口规格 JSON(中间产物,供后续 SKILL 使用)
|
|
279
|
+
├── clone-info.json # ✅ 克隆元信息
|
|
280
|
+
├── source/ohos/ # ✅ 鸿蒙化仓库源码
|
|
281
|
+
├── source/RN/ # ✅ 上游原库源码
|
|
282
|
+
└── tmp/rndoc/ # 使用文档参考(如有)
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## 输出产物
|
|
288
|
+
|
|
289
|
+
| 文件 | 路径 | 说明 |
|
|
290
|
+
|------|------|------|
|
|
291
|
+
| 接口规格说明.md | `{outputDir}/接口规格说明.md` | 以上游原库为基准的接口规格文档(脚本生成 + AI 补充差异) |
|
|
292
|
+
| interface-spec.json | `{outputDir}/interface-spec.json` | 脚本生成的结构化接口规格 JSON |
|
|
293
|
+
| clone-info.json | `{outputDir}/clone-info.json` | 双仓库及文档克隆元信息 |
|
|
294
|
+
| source/ohos/ | `{outputDir}/source/ohos/` | 鸿蒙化仓库源码 |
|
|
295
|
+
| source/RN/ | `{outputDir}/source/RN/` | 上游原库源码 |
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## 评分
|
|
300
|
+
|
|
301
|
+
本阶段不产出评分,仅产出接口规格说明文档,供后续检视 SKILL 参考。
|