@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,299 +1,299 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rn-library-consistency-check
|
|
3
|
-
description: 对 RN 三方库的鸿蒙化代码进行一致性检视,对比 source/ohos/ 下的鸿蒙化实现与 source/RN/ 下 Android/iOS 原生模块的函数级实现一致性,检测方法缺失、Stub 实现、参数类型致命错误、返回值异常、TurboModule/NAPI 桥接不一致、原生组件 Props/Commands/事件不一致、Props副作用&关联影响不一致、非rawProps属性默认值不一致等问题,生成严苛评分报告(0-100分)。作为 RN 仓库检视流程的第三阶段,依赖稳定性检视和接口规格文档。Use when 需要对 RN 鸿蒙化库进行实现一致性检视或评估鸿蒙化完成度。
|
|
4
|
-
license: Apache-2.0
|
|
5
|
-
compatibility: 需要访问双仓库源码(ohos + RN 上游)、对比鸿蒙化与 Android/iOS 原生实现
|
|
6
|
-
metadata:
|
|
7
|
-
version: "1.0.0"
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# RNLibraryConsistencyCheckSkill
|
|
11
|
-
|
|
12
|
-
对 RN 三方库的**鸿蒙化实现代码**进行一致性检视,对比 `source/ohos/` 中的鸿蒙化实现与 `source/RN/` 中 Android/iOS 原生模块的实现。按四类型(`cppComp`/`cppTM`/`arktsComp`/`arktsTM`)分类检视:组件类检查 Props/Command/Methods/Callback/Lifecycle 五个关键点 + Props副作用&关联影响 + 非rawProps属性默认值;TurboModule 类检查函数签名/返回值/实现逻辑三个关键点。每个检查点均要求与 Android/iOS 做行为级对比,**最关键检查项为实现逻辑一致性**。扣分按四维度路由,副作用&关联影响、非rawProps默认值采用条件路由(有文档且合理→维度4,其余→维度2)。
|
|
13
|
-
|
|
14
|
-
> ⚠️ **核心定位与原则**:
|
|
15
|
-
> 1. 本 SKILL 同时使用**两个仓库**的源码:`source/ohos/`(鸿蒙化)和 `source/RN/`(上游原库)
|
|
16
|
-
> 2. **一致性对比必须以具体函数为粒度**,禁止使用模糊文字描述(如"连接管理")
|
|
17
|
-
> 3. 每个对比项必须包含:函数名、签名、文件位置、代码片段
|
|
18
|
-
> 4. 检视范围仅限鸿蒙化代码 vs 原库 Android/iOS 原生实现
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## 任务参数
|
|
23
|
-
|
|
24
|
-
| 参数 | 必需 | 说明 |
|
|
25
|
-
|------|------|------|
|
|
26
|
-
| `repoUrl` | ✅ | 鸿蒙化仓库地址 |
|
|
27
|
-
| `outputDir` | ✅ | 输出目录绝对路径 |
|
|
28
|
-
| `interfaceDocPath` | ✅ | 接口规格说明文档路径 |
|
|
29
|
-
| `repoName` | ✅ | 仓库名称 |
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## 输入依赖
|
|
34
|
-
|
|
35
|
-
本 SKILL 是 RN 仓库检视流程的**第三阶段**,依赖:
|
|
36
|
-
|
|
37
|
-
- **前置 SKILL**: `rn-library-interface-check`、`rn-library-stability-check`
|
|
38
|
-
- **输入文件**: `接口规格说明.md`、`稳定性检视报告.md`
|
|
39
|
-
- **仓库源码**: `{outputDir}/source/ohos/`(鸿蒙化)+ `{outputDir}/source/RN/`(原库)
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 工作流程概览
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
Phase 0: 鸿蒙代码智能定位与范围识别(四类型 cppComp/cppTM/arktsComp/arktsTM)
|
|
47
|
-
↓
|
|
48
|
-
Phase 1: cppComp 检视(C++ 组件层)— Props/Command/Methods/Callback/Lifecycle
|
|
49
|
-
↓
|
|
50
|
-
Phase 2: cppTM 检视(C++ TurboModule 层)— 函数签名/返回值/实现逻辑
|
|
51
|
-
↓
|
|
52
|
-
Phase 3: arktsComp 检视(ArkTS @Component 层)— Props/Command/Methods/Callback/Lifecycle
|
|
53
|
-
↓
|
|
54
|
-
Phase 4: arktsTM 检视(ArkTS TurboModule 层)— 函数签名/返回值/实现逻辑 ⚠️最关键
|
|
55
|
-
↓
|
|
56
|
-
Phase 5: 其他架构检视 — NAPI桥接/NativeModule架构/平台差异记录
|
|
57
|
-
↓
|
|
58
|
-
Phase 6: 严苛评分计算 — 四维度加权扣分制(0-100分)
|
|
59
|
-
↓
|
|
60
|
-
Phase 7: 生成报告 — 一致性检视报告.md
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
> 📖 **详细参考文档索引**(渐进式披露,按需加载):
|
|
64
|
-
>
|
|
65
|
-
> | 参考文件 | 内容 | 加载时机 |
|
|
66
|
-
> |----------|------|----------|
|
|
67
|
-
> | [references/SCORING_STANDARD.md](references/SCORING_STANDARD.md) | 完整扣分规则、豁免规则、归零规则、维度加权计算 | Phase 6 评分计算时 |
|
|
68
|
-
> | [references/NATIVE_COMPONENT_IDENTIFICATION.md](references/NATIVE_COMPONENT_IDENTIFICATION.md) | 四类型原生实体识别、注册链路定位流程、搜索模式 | Phase 0 代码定位时 |
|
|
69
|
-
> | [references/CPP_COMPONENT_CHECK_GUIDE.md](references/CPP_COMPONENT_CHECK_GUIDE.md) | C++ 组件层检视:Props/Command/Methods/Callback/Lifecycle 检查点详细操作 | Phase 1 执行时 |
|
|
70
|
-
> | [references/CPP_TURBOMODULE_CHECK_GUIDE.md](references/CPP_TURBOMODULE_CHECK_GUIDE.md) | C++ TurboModule 层检视:函数签名/返回值/实现逻辑 详细操作 | Phase 2 执行时 |
|
|
71
|
-
> | [references/ARKTS_COMPONENT_CHECK_GUIDE.md](references/ARKTS_COMPONENT_CHECK_GUIDE.md) | ArkTS @Component 层检视:Props/Command/Methods/Callback/Lifecycle + 副作用&默认值 | Phase 3 执行时 |
|
|
72
|
-
> | [references/ARKTS_TURBOMODULE_CHECK_GUIDE.md](references/ARKTS_TURBOMODULE_CHECK_GUIDE.md) | ArkTS TurboModule 层检视:函数签名/返回值/实现逻辑 + Stub检测 | Phase 4 执行时 |
|
|
73
|
-
> | [references/FUNCTION_COMPARISON_GUIDE.md](references/FUNCTION_COMPARISON_GUIDE.md) | 函数级对比规范:粒度要求、提取流程、对比表格格式、Stub识别特征 | 各Phase对比时 |
|
|
74
|
-
> | [references/CHECKLIST.md](references/CHECKLIST.md) | RN 一致性检视清单:四维度检查项速查表 | 检视过程参考 |
|
|
75
|
-
> | [assets/REPORT_TEMPLATE.md](assets/REPORT_TEMPLATE.md) | 报告输出模板:完整Markdown格式规范 | Phase 7 生成报告时 |
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## 评分体系摘要
|
|
80
|
-
|
|
81
|
-
采用**严苛扣分制**(从100分开始扣减),按四维度加权:
|
|
82
|
-
|
|
83
|
-
| 维度编号 | 维度 | 权重 | 满分 | 核心检查内容 |
|
|
84
|
-
|----------|------|------|------|-------------|
|
|
85
|
-
| 维度1 | API 契约一致性 | 35% | 35 | 方法签名、参数类型、返回值、事件/回调对比 |
|
|
86
|
-
| 维度2 | 平台实现一致性 | 30% | 30 | Android/iOS vs OHOS 函数级功能对比;副作用&默认值(无文档/不合理部分) |
|
|
87
|
-
| 维度3 | RN 架构一致性 | 20% | 20 | TurboModule/NativeModule/NAPI 桥接一致性 |
|
|
88
|
-
| 维度4 | 平台适配合理性 | 15% | 15 | 合理差异判定;副作用&默认值(有文档且合理部分) |
|
|
89
|
-
|
|
90
|
-
**归零规则**:致命≥4 / 致命≥3+严重≥2 / 累计扣分>60 / 无鸿蒙代码 / 全部Stub → 0分
|
|
91
|
-
|
|
92
|
-
> 📖 完整扣分规则、豁免规则、条件路由规则、评分等级说明详见 [SCORING_STANDARD.md](references/SCORING_STANDARD.md)
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## Phase 0:鸿蒙代码智能定位与范围识别
|
|
97
|
-
|
|
98
|
-
鸿蒙化代码位置**可能不固定**,必须通过智能搜索定位实际实现。
|
|
99
|
-
|
|
100
|
-
### 0.1 四类型原生桥接实体识别
|
|
101
|
-
|
|
102
|
-
RN 库的鸿蒙化代码包含四种类型的原生桥接实体,必须分别识别:
|
|
103
|
-
|
|
104
|
-
| 类型标识 | 全称 | 关键文件特征 |
|
|
105
|
-
|----------|------|-------------|
|
|
106
|
-
| `cppComp` | C++ 组件层 | `*Package.h`、`*JSIBinder.h`、`*NapiBinder.h` |
|
|
107
|
-
| `cppTM` | C++ TurboModule 层 | `*TurboModule*FactoryDelegate*`、`turbo_modules/*JSIBinder.h` |
|
|
108
|
-
| `arktsComp` | ArkTS 组件层 | `@Component struct`、`*EtsProps.ts`、`*EtsCommandPayload.ts` |
|
|
109
|
-
| `arktsTM` | ArkTS TurboModule 层 | `*TurboModule.ets`、`generated/turboModules/*.ts` |
|
|
110
|
-
|
|
111
|
-
### 0.2 搜索流程
|
|
112
|
-
|
|
113
|
-
搜索分两步执行:
|
|
114
|
-
|
|
115
|
-
1. **JS/TS 层扫描与名称提取**:定位 `codegenNativeComponent`(组件注册)和 `TurboModuleRegistry.getEnforcing`(TM注册),提取组件名和TM名清单
|
|
116
|
-
2. **四类桥接层文件识别**:根据名称清单逐一定位各类型的桥接层文件和实现文件
|
|
117
|
-
|
|
118
|
-
> 📖 详细搜索步骤、关键词模式、提取模板详见 [NATIVE_COMPONENT_IDENTIFICATION.md](references/NATIVE_COMPONENT_IDENTIFICATION.md)
|
|
119
|
-
|
|
120
|
-
### 0.3 搜索结果判定
|
|
121
|
-
|
|
122
|
-
| 搜索结果 | 判定 | 下一步 |
|
|
123
|
-
|----------|------|--------|
|
|
124
|
-
| 找到 `*.ets`/`*.cpp`/`*.h`/`@ohos`/NAPI 绑定 | 定位鸿蒙化代码 | 进入对应Phase |
|
|
125
|
-
| 找到 RN 原生组件注册链路 | 按四类型分别定位 | 进入 Phase 1-4 |
|
|
126
|
-
| ❌ 无任何鸿蒙特征 | 未实现鸿蒙化 | **评分 0 分** |
|
|
127
|
-
|
|
128
|
-
> 💡 RN 库可能同时包含四种类型实体,每种类型独立检视、独立扣分。
|
|
129
|
-
|
|
130
|
-
### 0.4 检视范围记录
|
|
131
|
-
|
|
132
|
-
必须在报告中记录实际定位到的鸿蒙代码位置(搜索方法、定位结果、文件数、类型标识)。四类型原生实体定位记录表格式详见 [REPORT_TEMPLATE.md](assets/REPORT_TEMPLATE.md) 第四节。
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## Phase 1:cppComp 检视(C++ 组件层)
|
|
137
|
-
|
|
138
|
-
> ⚠️ **适用条件**:Phase 0 中识别到 `cppComp` 类型文件时必须执行。
|
|
139
|
-
> 📖 **完整检视方法**详见 [CPP_COMPONENT_CHECK_GUIDE.md](references/CPP_COMPONENT_CHECK_GUIDE.md) 第 3 节
|
|
140
|
-
|
|
141
|
-
每个检查点覆盖三个维度:**①契约一致性**、**②平台实现差异**、**③架构桥接一致性**。
|
|
142
|
-
|
|
143
|
-
| 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
|
|
144
|
-
|--------|-------------|---------------|-----------------|
|
|
145
|
-
| **Props** | 传递完整性(-8/个)、类型一致性(-5)、默认值(-4)、NapiBinder桥接(-5) | 实现逻辑一致性(-8~-15);副作用&关联影响(条件路由) | 全链路断桥检测(JS→C++→ArkTS→build()) |
|
|
146
|
-
| **Command** | 注册完整性(-8)、签名一致性(-8/-15) | 实现逻辑一致性(-10~-15)、边界处理(-8) | (已覆盖) |
|
|
147
|
-
| **Methods** | 组件名一致性(-5) | N/A | Package注册(-8)、JSIBinder映射(-8) |
|
|
148
|
-
| **Callback** | 事件注册(-5)、事件名映射(-5)、数据格式(-6) | 回调触发时机一致性(-8) | C++事件名→OHOS映射(-5) |
|
|
149
|
-
| **Lifecycle** | N/A | 构造逻辑(-5)、析构逻辑(-5) | (已覆盖) |
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## Phase 2:cppTM 检视(C++ TurboModule 层)
|
|
154
|
-
|
|
155
|
-
> ⚠️ **适用条件**:Phase 0 中识别到 `cppTM` 类型文件时必须执行。
|
|
156
|
-
> 📖 **完整检视方法**详见 [CPP_TURBOMODULE_CHECK_GUIDE.md](references/CPP_TURBOMODULE_CHECK_GUIDE.md) 第 3 节
|
|
157
|
-
|
|
158
|
-
| 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
|
|
159
|
-
|--------|-------------|---------------|-----------------|
|
|
160
|
-
| **函数签名** | TM名一致性(-5)、方法名(-8)、方法存在性(-10)、参数数量(-8)、参数类型(-10)、参数顺序(-6) | 方法签名vs Android/iOS | TurboModule注册完整性(-10) |
|
|
161
|
-
| **返回值** | 返回值类型(-10)、语义(-8)、Promise(-6)、getConstants()(-5) | 返回值vs Android/iOS | (已覆盖) |
|
|
162
|
-
| **实现逻辑** | N/A | C++→ArkTS映射(-8)、回调绑定(-8)、回调参数类型(-10) | (已覆盖) |
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## Phase 3:arktsComp 检视(ArkTS @Component 层)
|
|
167
|
-
|
|
168
|
-
> ⚠️ **适用条件**:Phase 0 中识别到 `arktsComp` 类型文件时必须执行。
|
|
169
|
-
> 📖 **完整检视方法**详见 [ARKTS_COMPONENT_CHECK_GUIDE.md](references/ARKTS_COMPONENT_CHECK_GUIDE.md) 第 3 节
|
|
170
|
-
|
|
171
|
-
**⚠️ 前置过滤规则**:检视前先检查 JS/TS Spec 注册的 Component 名是否在 ArkTS Package 中注册。未注册 → 致命-15 + ⛔跳过该组件内部逐项检查。
|
|
172
|
-
|
|
173
|
-
| 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
|
|
174
|
-
|--------|-------------|---------------|-----------------|
|
|
175
|
-
| **Props** | rawProps读取完整性(-5/-3)、类型断言(-4)、默认值(-4)、build()断桥(-5/-3) | 实现逻辑一致性(-8~-15);副作用&关联影响(条件路由);非rawProps默认值(-12/-8) | (已覆盖) |
|
|
176
|
-
| **Command** | 注册完整性(-15)、签名(-8)、参数类型(-15)、fall-through(-10) | 实现逻辑一致性(-10~-15)、边界处理(-8) | (已覆盖) |
|
|
177
|
-
| **Methods** | 组件名注册一致性(-5) | N/A | (已覆盖) |
|
|
178
|
-
| **Callback** | Events emit完整性(-8)、Payload完整性(-3/字段) | 回调触发时机一致性(-8) | (已覆盖) |
|
|
179
|
-
| **Lifecycle** | N/A | aboutToAppear(-5)、aboutToDisappear(-5) | (已覆盖) |
|
|
180
|
-
|
|
181
|
-
---
|
|
182
|
-
|
|
183
|
-
## Phase 4:arktsTM 检视(ArkTS TurboModule 层)
|
|
184
|
-
|
|
185
|
-
> ⚠️ **适用条件**:Phase 0 中识别到 `arktsTM` 类型文件时必须执行。
|
|
186
|
-
> 📖 **完整检视方法**详见 [ARKTS_TURBOMODULE_CHECK_GUIDE.md](references/ARKTS_TURBOMODULE_CHECK_GUIDE.md) 第 3 节
|
|
187
|
-
|
|
188
|
-
**⚠️ 前置过滤规则**:检视前先检查 JS/TS Spec 注册的 TurboModule 名是否在 ArkTS Factory 中注册。未注册 → 致命-15 + ⛔跳过该TM内部方法逐项检查。
|
|
189
|
-
|
|
190
|
-
**Stub 识别特征**:方法体仅有 `return` 固定值;未调用 `@ohos` API;未执行实际业务操作。
|
|
191
|
-
|
|
192
|
-
| 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
|
|
193
|
-
|--------|-------------|---------------|-----------------|
|
|
194
|
-
| **函数签名** | NAME常量(-5)、Spec接口实现(-8)、方法存在性(-15)、签名(-8)、参数类型(-10)、参数顺序(-6) | 方法签名vs Android/iOS | (已覆盖) |
|
|
195
|
-
| **返回值** | 返回值类型(-10)、语义(-8)、Promise(-6)、常量导出(-5)、常量值(-3) | 返回值vs Android/iOS | (已覆盖) |
|
|
196
|
-
| **实现逻辑 ⚠️最关键** | N/A | Stub检测(致命-8/合理0)、方法行为跨平台对比(致命-15/严重-12)、边界处理(-8)、错误处理(-6) | 回调/事件机制(-12) |
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## Phase 5:其他架构检视(如适用)
|
|
201
|
-
|
|
202
|
-
### 5.1 NAPI/C++ 桥接层一致性(适用于含 C++ Native 层但非 RN 新架构的库)
|
|
203
|
-
|
|
204
|
-
| 检查项 | 对比对象 | 扣分 |
|
|
205
|
-
|--------|----------|------|
|
|
206
|
-
| NAPI 函数注册 | C++ 导出函数 vs JS 期望方法 | -8 |
|
|
207
|
-
| NAPI 类型转换 | napi_value 类型与 JS 期望类型 | -10 |
|
|
208
|
-
| JSI 绑定一致性 | JSI HostFunction vs 原库实现 | -8 |
|
|
209
|
-
|
|
210
|
-
### 5.2 NativeModule 架构一致性(适用于旧架构库)
|
|
211
|
-
|
|
212
|
-
| 检查项 | 对比对象 | 扣分 |
|
|
213
|
-
|--------|----------|------|
|
|
214
|
-
| 模块名注册 | Android getName() vs OHOS 模块名 | -5 |
|
|
215
|
-
| 方法导出 | @ReactMethod / RCT_EXPORT_METHOD vs OHOS 导出 | -8 |
|
|
216
|
-
| Promise 处理 | Android/iOS Promise vs OHOS Promise | -6 |
|
|
217
|
-
| Callback 处理 | Android/iOS Callback vs OHOS 回调 | -5 |
|
|
218
|
-
| 事件发送 | Android/iOS sendEvent vs OHOS 事件 | -5 |
|
|
219
|
-
|
|
220
|
-
### 5.3 平台差异记录
|
|
221
|
-
|
|
222
|
-
| 检查项 | 检查内容 | 扣分 |
|
|
223
|
-
|--------|----------|------|
|
|
224
|
-
| OHOS 限制标注 | 特有限制是否文档化 | -3 |
|
|
225
|
-
| 平台检测机制 | 是否有 `Platform.OS` 判断 | -2 |
|
|
226
|
-
| 平台差异文档 | 是否有 README 说明差异 | -3 |
|
|
227
|
-
|
|
228
|
-
---
|
|
229
|
-
|
|
230
|
-
## Phase 6:严苛评分计算
|
|
231
|
-
|
|
232
|
-
基于 Phase 1-5 检视结果进行**四维度加权扣分**(0-100分):
|
|
233
|
-
|
|
234
|
-
1. 按检查项维度标签将扣分归入对应维度(①→维度1, ②→维度2, ③→维度3)
|
|
235
|
-
2. 副作用&关联影响、非rawProps默认值采用**条件路由**:无文档/不合理→维度2,有文档且合理→维度4
|
|
236
|
-
3. 各维度实际扣分 = min(扣分上限, 累计扣分)
|
|
237
|
-
4. 执行归零检查(致命≥4 / 致命≥3+严重≥2 / 累计>60 / 无代码 / 全Stub)
|
|
238
|
-
5. 最终分 = max(0, 100 - 各维度实际扣分之和)
|
|
239
|
-
|
|
240
|
-
> 📖 完整扣分规则、条件路由详情、维度扣分来源映射详见 [SCORING_STANDARD.md](references/SCORING_STANDARD.md)
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
## Phase 7:生成报告
|
|
245
|
-
|
|
246
|
-
输出文件:`{outputDir}/一致性检视报告.md`
|
|
247
|
-
|
|
248
|
-
> ⚠️ **评分格式要求**:报告必须包含 `**综合评分:XX/100**`(粗体标记,中文冒号),确保 `_parseRNLibraryScore` 函数正确解析。
|
|
249
|
-
|
|
250
|
-
> ⚠️ **扣分维度标注**:所有检视表格扣分列须标注维度编号,格式 `-X(维度N)`。
|
|
251
|
-
|
|
252
|
-
> 📖 完整报告结构、表格模板详见 [REPORT_TEMPLATE.md](assets/REPORT_TEMPLATE.md)
|
|
253
|
-
|
|
254
|
-
---
|
|
255
|
-
|
|
256
|
-
## 输出产物
|
|
257
|
-
|
|
258
|
-
| 产物 | 文件名 | 说明 |
|
|
259
|
-
|------|--------|------|
|
|
260
|
-
| 一致性检视报告 | `一致性检视报告.md` | 四类型分类检视 + Props副作用&关联影响分析 + 非rawProps属性默认值对比 + 函数级对比表格 + Stub检测 + 全链路Props对比 + 扣分维度标注 + 平台差异记录 |
|
|
261
|
-
|
|
262
|
-
所有产物写入 `{outputDir}` 目录。
|
|
263
|
-
|
|
264
|
-
> ⚠️ **输出文件自检**:写入结果文件前,先确认 `一致性检视报告.md` 已存在且内容完整(**独立文件,禁止只写入 result 执行结果文件**)。若报告内容仅在草稿中,必须先将其保存为上述独立文件。
|
|
265
|
-
|
|
266
|
-
### 结构化指标输出(必须执行)
|
|
267
|
-
|
|
268
|
-
执行环境会在任务 prompt 中下发一个**结构化指标文件输出路径**(`stepId{X}_loop{L}_meta_{N}.json`)。
|
|
269
|
-
检视完成后,**必须**将最终评分以下述 JSON 对象写入该路径:
|
|
270
|
-
|
|
271
|
-
```json
|
|
272
|
-
{
|
|
273
|
-
"consistencyScore": 85,
|
|
274
|
-
"scoreReason": "致命问题2处-30,Stub方法1处-8等(一句话判定依据,≤50字;触发一票否决时必须注明)"
|
|
275
|
-
}
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
| 字段 | 类型 | 说明 |
|
|
279
|
-
|------|------|------|
|
|
280
|
-
| `consistencyScore` | number | 一致性评分(0-100 整数,与报告中 `**综合评分:XX/100**` 的数值一致) |
|
|
281
|
-
| `scoreReason` | string | 评分判定依据摘要(可选,前端悬浮提示展示;0 分时强烈建议写明触发规则,如"全Stub实现触发归零") |
|
|
282
|
-
|
|
283
|
-
**说明**:该文件由执行框架自动收割入库(前端/历史列表直接读取评分,无需解析报告文本)。若 prompt 未下发该路径则跳过本节。
|
|
284
|
-
|
|
285
|
-
---
|
|
286
|
-
|
|
287
|
-
## 评分权重
|
|
288
|
-
|
|
289
|
-
本 SKILL 在 RN 仓库检视综合评分中权重为 **20%**。
|
|
290
|
-
|
|
291
|
-
---
|
|
292
|
-
|
|
293
|
-
## 与前置/后置 SKILL 的衔接
|
|
294
|
-
|
|
295
|
-
| 衔接方向 | SKILL 名称 | 依赖/产出 |
|
|
296
|
-
|----------|-----------|-----------|
|
|
297
|
-
| 前置依赖 | `rn-library-interface-check` | 输入:`接口规格说明.md` |
|
|
298
|
-
| 前置依赖 | `rn-library-stability-check` | 输入:`稳定性检视报告.md` |
|
|
299
|
-
| 后置衔接 | `rn-library-code-quality-check` | 输出:`一致性检视报告.md` 供编码质量检视参考 |
|
|
1
|
+
---
|
|
2
|
+
name: rn-library-consistency-check
|
|
3
|
+
description: 对 RN 三方库的鸿蒙化代码进行一致性检视,对比 source/ohos/ 下的鸿蒙化实现与 source/RN/ 下 Android/iOS 原生模块的函数级实现一致性,检测方法缺失、Stub 实现、参数类型致命错误、返回值异常、TurboModule/NAPI 桥接不一致、原生组件 Props/Commands/事件不一致、Props副作用&关联影响不一致、非rawProps属性默认值不一致等问题,生成严苛评分报告(0-100分)。作为 RN 仓库检视流程的第三阶段,依赖稳定性检视和接口规格文档。Use when 需要对 RN 鸿蒙化库进行实现一致性检视或评估鸿蒙化完成度。
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
compatibility: 需要访问双仓库源码(ohos + RN 上游)、对比鸿蒙化与 Android/iOS 原生实现
|
|
6
|
+
metadata:
|
|
7
|
+
version: "1.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# RNLibraryConsistencyCheckSkill
|
|
11
|
+
|
|
12
|
+
对 RN 三方库的**鸿蒙化实现代码**进行一致性检视,对比 `source/ohos/` 中的鸿蒙化实现与 `source/RN/` 中 Android/iOS 原生模块的实现。按四类型(`cppComp`/`cppTM`/`arktsComp`/`arktsTM`)分类检视:组件类检查 Props/Command/Methods/Callback/Lifecycle 五个关键点 + Props副作用&关联影响 + 非rawProps属性默认值;TurboModule 类检查函数签名/返回值/实现逻辑三个关键点。每个检查点均要求与 Android/iOS 做行为级对比,**最关键检查项为实现逻辑一致性**。扣分按四维度路由,副作用&关联影响、非rawProps默认值采用条件路由(有文档且合理→维度4,其余→维度2)。
|
|
13
|
+
|
|
14
|
+
> ⚠️ **核心定位与原则**:
|
|
15
|
+
> 1. 本 SKILL 同时使用**两个仓库**的源码:`source/ohos/`(鸿蒙化)和 `source/RN/`(上游原库)
|
|
16
|
+
> 2. **一致性对比必须以具体函数为粒度**,禁止使用模糊文字描述(如"连接管理")
|
|
17
|
+
> 3. 每个对比项必须包含:函数名、签名、文件位置、代码片段
|
|
18
|
+
> 4. 检视范围仅限鸿蒙化代码 vs 原库 Android/iOS 原生实现
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 任务参数
|
|
23
|
+
|
|
24
|
+
| 参数 | 必需 | 说明 |
|
|
25
|
+
|------|------|------|
|
|
26
|
+
| `repoUrl` | ✅ | 鸿蒙化仓库地址 |
|
|
27
|
+
| `outputDir` | ✅ | 输出目录绝对路径 |
|
|
28
|
+
| `interfaceDocPath` | ✅ | 接口规格说明文档路径 |
|
|
29
|
+
| `repoName` | ✅ | 仓库名称 |
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 输入依赖
|
|
34
|
+
|
|
35
|
+
本 SKILL 是 RN 仓库检视流程的**第三阶段**,依赖:
|
|
36
|
+
|
|
37
|
+
- **前置 SKILL**: `rn-library-interface-check`、`rn-library-stability-check`
|
|
38
|
+
- **输入文件**: `接口规格说明.md`、`稳定性检视报告.md`
|
|
39
|
+
- **仓库源码**: `{outputDir}/source/ohos/`(鸿蒙化)+ `{outputDir}/source/RN/`(原库)
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 工作流程概览
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Phase 0: 鸿蒙代码智能定位与范围识别(四类型 cppComp/cppTM/arktsComp/arktsTM)
|
|
47
|
+
↓
|
|
48
|
+
Phase 1: cppComp 检视(C++ 组件层)— Props/Command/Methods/Callback/Lifecycle
|
|
49
|
+
↓
|
|
50
|
+
Phase 2: cppTM 检视(C++ TurboModule 层)— 函数签名/返回值/实现逻辑
|
|
51
|
+
↓
|
|
52
|
+
Phase 3: arktsComp 检视(ArkTS @Component 层)— Props/Command/Methods/Callback/Lifecycle
|
|
53
|
+
↓
|
|
54
|
+
Phase 4: arktsTM 检视(ArkTS TurboModule 层)— 函数签名/返回值/实现逻辑 ⚠️最关键
|
|
55
|
+
↓
|
|
56
|
+
Phase 5: 其他架构检视 — NAPI桥接/NativeModule架构/平台差异记录
|
|
57
|
+
↓
|
|
58
|
+
Phase 6: 严苛评分计算 — 四维度加权扣分制(0-100分)
|
|
59
|
+
↓
|
|
60
|
+
Phase 7: 生成报告 — 一致性检视报告.md
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
> 📖 **详细参考文档索引**(渐进式披露,按需加载):
|
|
64
|
+
>
|
|
65
|
+
> | 参考文件 | 内容 | 加载时机 |
|
|
66
|
+
> |----------|------|----------|
|
|
67
|
+
> | [references/SCORING_STANDARD.md](references/SCORING_STANDARD.md) | 完整扣分规则、豁免规则、归零规则、维度加权计算 | Phase 6 评分计算时 |
|
|
68
|
+
> | [references/NATIVE_COMPONENT_IDENTIFICATION.md](references/NATIVE_COMPONENT_IDENTIFICATION.md) | 四类型原生实体识别、注册链路定位流程、搜索模式 | Phase 0 代码定位时 |
|
|
69
|
+
> | [references/CPP_COMPONENT_CHECK_GUIDE.md](references/CPP_COMPONENT_CHECK_GUIDE.md) | C++ 组件层检视:Props/Command/Methods/Callback/Lifecycle 检查点详细操作 | Phase 1 执行时 |
|
|
70
|
+
> | [references/CPP_TURBOMODULE_CHECK_GUIDE.md](references/CPP_TURBOMODULE_CHECK_GUIDE.md) | C++ TurboModule 层检视:函数签名/返回值/实现逻辑 详细操作 | Phase 2 执行时 |
|
|
71
|
+
> | [references/ARKTS_COMPONENT_CHECK_GUIDE.md](references/ARKTS_COMPONENT_CHECK_GUIDE.md) | ArkTS @Component 层检视:Props/Command/Methods/Callback/Lifecycle + 副作用&默认值 | Phase 3 执行时 |
|
|
72
|
+
> | [references/ARKTS_TURBOMODULE_CHECK_GUIDE.md](references/ARKTS_TURBOMODULE_CHECK_GUIDE.md) | ArkTS TurboModule 层检视:函数签名/返回值/实现逻辑 + Stub检测 | Phase 4 执行时 |
|
|
73
|
+
> | [references/FUNCTION_COMPARISON_GUIDE.md](references/FUNCTION_COMPARISON_GUIDE.md) | 函数级对比规范:粒度要求、提取流程、对比表格格式、Stub识别特征 | 各Phase对比时 |
|
|
74
|
+
> | [references/CHECKLIST.md](references/CHECKLIST.md) | RN 一致性检视清单:四维度检查项速查表 | 检视过程参考 |
|
|
75
|
+
> | [assets/REPORT_TEMPLATE.md](assets/REPORT_TEMPLATE.md) | 报告输出模板:完整Markdown格式规范 | Phase 7 生成报告时 |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 评分体系摘要
|
|
80
|
+
|
|
81
|
+
采用**严苛扣分制**(从100分开始扣减),按四维度加权:
|
|
82
|
+
|
|
83
|
+
| 维度编号 | 维度 | 权重 | 满分 | 核心检查内容 |
|
|
84
|
+
|----------|------|------|------|-------------|
|
|
85
|
+
| 维度1 | API 契约一致性 | 35% | 35 | 方法签名、参数类型、返回值、事件/回调对比 |
|
|
86
|
+
| 维度2 | 平台实现一致性 | 30% | 30 | Android/iOS vs OHOS 函数级功能对比;副作用&默认值(无文档/不合理部分) |
|
|
87
|
+
| 维度3 | RN 架构一致性 | 20% | 20 | TurboModule/NativeModule/NAPI 桥接一致性 |
|
|
88
|
+
| 维度4 | 平台适配合理性 | 15% | 15 | 合理差异判定;副作用&默认值(有文档且合理部分) |
|
|
89
|
+
|
|
90
|
+
**归零规则**:致命≥4 / 致命≥3+严重≥2 / 累计扣分>60 / 无鸿蒙代码 / 全部Stub → 0分
|
|
91
|
+
|
|
92
|
+
> 📖 完整扣分规则、豁免规则、条件路由规则、评分等级说明详见 [SCORING_STANDARD.md](references/SCORING_STANDARD.md)
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Phase 0:鸿蒙代码智能定位与范围识别
|
|
97
|
+
|
|
98
|
+
鸿蒙化代码位置**可能不固定**,必须通过智能搜索定位实际实现。
|
|
99
|
+
|
|
100
|
+
### 0.1 四类型原生桥接实体识别
|
|
101
|
+
|
|
102
|
+
RN 库的鸿蒙化代码包含四种类型的原生桥接实体,必须分别识别:
|
|
103
|
+
|
|
104
|
+
| 类型标识 | 全称 | 关键文件特征 |
|
|
105
|
+
|----------|------|-------------|
|
|
106
|
+
| `cppComp` | C++ 组件层 | `*Package.h`、`*JSIBinder.h`、`*NapiBinder.h` |
|
|
107
|
+
| `cppTM` | C++ TurboModule 层 | `*TurboModule*FactoryDelegate*`、`turbo_modules/*JSIBinder.h` |
|
|
108
|
+
| `arktsComp` | ArkTS 组件层 | `@Component struct`、`*EtsProps.ts`、`*EtsCommandPayload.ts` |
|
|
109
|
+
| `arktsTM` | ArkTS TurboModule 层 | `*TurboModule.ets`、`generated/turboModules/*.ts` |
|
|
110
|
+
|
|
111
|
+
### 0.2 搜索流程
|
|
112
|
+
|
|
113
|
+
搜索分两步执行:
|
|
114
|
+
|
|
115
|
+
1. **JS/TS 层扫描与名称提取**:定位 `codegenNativeComponent`(组件注册)和 `TurboModuleRegistry.getEnforcing`(TM注册),提取组件名和TM名清单
|
|
116
|
+
2. **四类桥接层文件识别**:根据名称清单逐一定位各类型的桥接层文件和实现文件
|
|
117
|
+
|
|
118
|
+
> 📖 详细搜索步骤、关键词模式、提取模板详见 [NATIVE_COMPONENT_IDENTIFICATION.md](references/NATIVE_COMPONENT_IDENTIFICATION.md)
|
|
119
|
+
|
|
120
|
+
### 0.3 搜索结果判定
|
|
121
|
+
|
|
122
|
+
| 搜索结果 | 判定 | 下一步 |
|
|
123
|
+
|----------|------|--------|
|
|
124
|
+
| 找到 `*.ets`/`*.cpp`/`*.h`/`@ohos`/NAPI 绑定 | 定位鸿蒙化代码 | 进入对应Phase |
|
|
125
|
+
| 找到 RN 原生组件注册链路 | 按四类型分别定位 | 进入 Phase 1-4 |
|
|
126
|
+
| ❌ 无任何鸿蒙特征 | 未实现鸿蒙化 | **评分 0 分** |
|
|
127
|
+
|
|
128
|
+
> 💡 RN 库可能同时包含四种类型实体,每种类型独立检视、独立扣分。
|
|
129
|
+
|
|
130
|
+
### 0.4 检视范围记录
|
|
131
|
+
|
|
132
|
+
必须在报告中记录实际定位到的鸿蒙代码位置(搜索方法、定位结果、文件数、类型标识)。四类型原生实体定位记录表格式详见 [REPORT_TEMPLATE.md](assets/REPORT_TEMPLATE.md) 第四节。
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Phase 1:cppComp 检视(C++ 组件层)
|
|
137
|
+
|
|
138
|
+
> ⚠️ **适用条件**:Phase 0 中识别到 `cppComp` 类型文件时必须执行。
|
|
139
|
+
> 📖 **完整检视方法**详见 [CPP_COMPONENT_CHECK_GUIDE.md](references/CPP_COMPONENT_CHECK_GUIDE.md) 第 3 节
|
|
140
|
+
|
|
141
|
+
每个检查点覆盖三个维度:**①契约一致性**、**②平台实现差异**、**③架构桥接一致性**。
|
|
142
|
+
|
|
143
|
+
| 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
|
|
144
|
+
|--------|-------------|---------------|-----------------|
|
|
145
|
+
| **Props** | 传递完整性(-8/个)、类型一致性(-5)、默认值(-4)、NapiBinder桥接(-5) | 实现逻辑一致性(-8~-15);副作用&关联影响(条件路由) | 全链路断桥检测(JS→C++→ArkTS→build()) |
|
|
146
|
+
| **Command** | 注册完整性(-8)、签名一致性(-8/-15) | 实现逻辑一致性(-10~-15)、边界处理(-8) | (已覆盖) |
|
|
147
|
+
| **Methods** | 组件名一致性(-5) | N/A | Package注册(-8)、JSIBinder映射(-8) |
|
|
148
|
+
| **Callback** | 事件注册(-5)、事件名映射(-5)、数据格式(-6) | 回调触发时机一致性(-8) | C++事件名→OHOS映射(-5) |
|
|
149
|
+
| **Lifecycle** | N/A | 构造逻辑(-5)、析构逻辑(-5) | (已覆盖) |
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Phase 2:cppTM 检视(C++ TurboModule 层)
|
|
154
|
+
|
|
155
|
+
> ⚠️ **适用条件**:Phase 0 中识别到 `cppTM` 类型文件时必须执行。
|
|
156
|
+
> 📖 **完整检视方法**详见 [CPP_TURBOMODULE_CHECK_GUIDE.md](references/CPP_TURBOMODULE_CHECK_GUIDE.md) 第 3 节
|
|
157
|
+
|
|
158
|
+
| 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
|
|
159
|
+
|--------|-------------|---------------|-----------------|
|
|
160
|
+
| **函数签名** | TM名一致性(-5)、方法名(-8)、方法存在性(-10)、参数数量(-8)、参数类型(-10)、参数顺序(-6) | 方法签名vs Android/iOS | TurboModule注册完整性(-10) |
|
|
161
|
+
| **返回值** | 返回值类型(-10)、语义(-8)、Promise(-6)、getConstants()(-5) | 返回值vs Android/iOS | (已覆盖) |
|
|
162
|
+
| **实现逻辑** | N/A | C++→ArkTS映射(-8)、回调绑定(-8)、回调参数类型(-10) | (已覆盖) |
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Phase 3:arktsComp 检视(ArkTS @Component 层)
|
|
167
|
+
|
|
168
|
+
> ⚠️ **适用条件**:Phase 0 中识别到 `arktsComp` 类型文件时必须执行。
|
|
169
|
+
> 📖 **完整检视方法**详见 [ARKTS_COMPONENT_CHECK_GUIDE.md](references/ARKTS_COMPONENT_CHECK_GUIDE.md) 第 3 节
|
|
170
|
+
|
|
171
|
+
**⚠️ 前置过滤规则**:检视前先检查 JS/TS Spec 注册的 Component 名是否在 ArkTS Package 中注册。未注册 → 致命-15 + ⛔跳过该组件内部逐项检查。
|
|
172
|
+
|
|
173
|
+
| 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
|
|
174
|
+
|--------|-------------|---------------|-----------------|
|
|
175
|
+
| **Props** | rawProps读取完整性(-5/-3)、类型断言(-4)、默认值(-4)、build()断桥(-5/-3) | 实现逻辑一致性(-8~-15);副作用&关联影响(条件路由);非rawProps默认值(-12/-8) | (已覆盖) |
|
|
176
|
+
| **Command** | 注册完整性(-15)、签名(-8)、参数类型(-15)、fall-through(-10) | 实现逻辑一致性(-10~-15)、边界处理(-8) | (已覆盖) |
|
|
177
|
+
| **Methods** | 组件名注册一致性(-5) | N/A | (已覆盖) |
|
|
178
|
+
| **Callback** | Events emit完整性(-8)、Payload完整性(-3/字段) | 回调触发时机一致性(-8) | (已覆盖) |
|
|
179
|
+
| **Lifecycle** | N/A | aboutToAppear(-5)、aboutToDisappear(-5) | (已覆盖) |
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Phase 4:arktsTM 检视(ArkTS TurboModule 层)
|
|
184
|
+
|
|
185
|
+
> ⚠️ **适用条件**:Phase 0 中识别到 `arktsTM` 类型文件时必须执行。
|
|
186
|
+
> 📖 **完整检视方法**详见 [ARKTS_TURBOMODULE_CHECK_GUIDE.md](references/ARKTS_TURBOMODULE_CHECK_GUIDE.md) 第 3 节
|
|
187
|
+
|
|
188
|
+
**⚠️ 前置过滤规则**:检视前先检查 JS/TS Spec 注册的 TurboModule 名是否在 ArkTS Factory 中注册。未注册 → 致命-15 + ⛔跳过该TM内部方法逐项检查。
|
|
189
|
+
|
|
190
|
+
**Stub 识别特征**:方法体仅有 `return` 固定值;未调用 `@ohos` API;未执行实际业务操作。
|
|
191
|
+
|
|
192
|
+
| 检查点 | ①契约一致性 | ②平台实现差异 | ③架构桥接一致性 |
|
|
193
|
+
|--------|-------------|---------------|-----------------|
|
|
194
|
+
| **函数签名** | NAME常量(-5)、Spec接口实现(-8)、方法存在性(-15)、签名(-8)、参数类型(-10)、参数顺序(-6) | 方法签名vs Android/iOS | (已覆盖) |
|
|
195
|
+
| **返回值** | 返回值类型(-10)、语义(-8)、Promise(-6)、常量导出(-5)、常量值(-3) | 返回值vs Android/iOS | (已覆盖) |
|
|
196
|
+
| **实现逻辑 ⚠️最关键** | N/A | Stub检测(致命-8/合理0)、方法行为跨平台对比(致命-15/严重-12)、边界处理(-8)、错误处理(-6) | 回调/事件机制(-12) |
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Phase 5:其他架构检视(如适用)
|
|
201
|
+
|
|
202
|
+
### 5.1 NAPI/C++ 桥接层一致性(适用于含 C++ Native 层但非 RN 新架构的库)
|
|
203
|
+
|
|
204
|
+
| 检查项 | 对比对象 | 扣分 |
|
|
205
|
+
|--------|----------|------|
|
|
206
|
+
| NAPI 函数注册 | C++ 导出函数 vs JS 期望方法 | -8 |
|
|
207
|
+
| NAPI 类型转换 | napi_value 类型与 JS 期望类型 | -10 |
|
|
208
|
+
| JSI 绑定一致性 | JSI HostFunction vs 原库实现 | -8 |
|
|
209
|
+
|
|
210
|
+
### 5.2 NativeModule 架构一致性(适用于旧架构库)
|
|
211
|
+
|
|
212
|
+
| 检查项 | 对比对象 | 扣分 |
|
|
213
|
+
|--------|----------|------|
|
|
214
|
+
| 模块名注册 | Android getName() vs OHOS 模块名 | -5 |
|
|
215
|
+
| 方法导出 | @ReactMethod / RCT_EXPORT_METHOD vs OHOS 导出 | -8 |
|
|
216
|
+
| Promise 处理 | Android/iOS Promise vs OHOS Promise | -6 |
|
|
217
|
+
| Callback 处理 | Android/iOS Callback vs OHOS 回调 | -5 |
|
|
218
|
+
| 事件发送 | Android/iOS sendEvent vs OHOS 事件 | -5 |
|
|
219
|
+
|
|
220
|
+
### 5.3 平台差异记录
|
|
221
|
+
|
|
222
|
+
| 检查项 | 检查内容 | 扣分 |
|
|
223
|
+
|--------|----------|------|
|
|
224
|
+
| OHOS 限制标注 | 特有限制是否文档化 | -3 |
|
|
225
|
+
| 平台检测机制 | 是否有 `Platform.OS` 判断 | -2 |
|
|
226
|
+
| 平台差异文档 | 是否有 README 说明差异 | -3 |
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Phase 6:严苛评分计算
|
|
231
|
+
|
|
232
|
+
基于 Phase 1-5 检视结果进行**四维度加权扣分**(0-100分):
|
|
233
|
+
|
|
234
|
+
1. 按检查项维度标签将扣分归入对应维度(①→维度1, ②→维度2, ③→维度3)
|
|
235
|
+
2. 副作用&关联影响、非rawProps默认值采用**条件路由**:无文档/不合理→维度2,有文档且合理→维度4
|
|
236
|
+
3. 各维度实际扣分 = min(扣分上限, 累计扣分)
|
|
237
|
+
4. 执行归零检查(致命≥4 / 致命≥3+严重≥2 / 累计>60 / 无代码 / 全Stub)
|
|
238
|
+
5. 最终分 = max(0, 100 - 各维度实际扣分之和)
|
|
239
|
+
|
|
240
|
+
> 📖 完整扣分规则、条件路由详情、维度扣分来源映射详见 [SCORING_STANDARD.md](references/SCORING_STANDARD.md)
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Phase 7:生成报告
|
|
245
|
+
|
|
246
|
+
输出文件:`{outputDir}/一致性检视报告.md`
|
|
247
|
+
|
|
248
|
+
> ⚠️ **评分格式要求**:报告必须包含 `**综合评分:XX/100**`(粗体标记,中文冒号),确保 `_parseRNLibraryScore` 函数正确解析。
|
|
249
|
+
|
|
250
|
+
> ⚠️ **扣分维度标注**:所有检视表格扣分列须标注维度编号,格式 `-X(维度N)`。
|
|
251
|
+
|
|
252
|
+
> 📖 完整报告结构、表格模板详见 [REPORT_TEMPLATE.md](assets/REPORT_TEMPLATE.md)
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## 输出产物
|
|
257
|
+
|
|
258
|
+
| 产物 | 文件名 | 说明 |
|
|
259
|
+
|------|--------|------|
|
|
260
|
+
| 一致性检视报告 | `一致性检视报告.md` | 四类型分类检视 + Props副作用&关联影响分析 + 非rawProps属性默认值对比 + 函数级对比表格 + Stub检测 + 全链路Props对比 + 扣分维度标注 + 平台差异记录 |
|
|
261
|
+
|
|
262
|
+
所有产物写入 `{outputDir}` 目录。
|
|
263
|
+
|
|
264
|
+
> ⚠️ **输出文件自检**:写入结果文件前,先确认 `一致性检视报告.md` 已存在且内容完整(**独立文件,禁止只写入 result 执行结果文件**)。若报告内容仅在草稿中,必须先将其保存为上述独立文件。
|
|
265
|
+
|
|
266
|
+
### 结构化指标输出(必须执行)
|
|
267
|
+
|
|
268
|
+
执行环境会在任务 prompt 中下发一个**结构化指标文件输出路径**(`stepId{X}_loop{L}_meta_{N}.json`)。
|
|
269
|
+
检视完成后,**必须**将最终评分以下述 JSON 对象写入该路径:
|
|
270
|
+
|
|
271
|
+
```json
|
|
272
|
+
{
|
|
273
|
+
"consistencyScore": 85,
|
|
274
|
+
"scoreReason": "致命问题2处-30,Stub方法1处-8等(一句话判定依据,≤50字;触发一票否决时必须注明)"
|
|
275
|
+
}
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
| 字段 | 类型 | 说明 |
|
|
279
|
+
|------|------|------|
|
|
280
|
+
| `consistencyScore` | number | 一致性评分(0-100 整数,与报告中 `**综合评分:XX/100**` 的数值一致) |
|
|
281
|
+
| `scoreReason` | string | 评分判定依据摘要(可选,前端悬浮提示展示;0 分时强烈建议写明触发规则,如"全Stub实现触发归零") |
|
|
282
|
+
|
|
283
|
+
**说明**:该文件由执行框架自动收割入库(前端/历史列表直接读取评分,无需解析报告文本)。若 prompt 未下发该路径则跳过本节。
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## 评分权重
|
|
288
|
+
|
|
289
|
+
本 SKILL 在 RN 仓库检视综合评分中权重为 **20%**。
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## 与前置/后置 SKILL 的衔接
|
|
294
|
+
|
|
295
|
+
| 衔接方向 | SKILL 名称 | 依赖/产出 |
|
|
296
|
+
|----------|-----------|-----------|
|
|
297
|
+
| 前置依赖 | `rn-library-interface-check` | 输入:`接口规格说明.md` |
|
|
298
|
+
| 前置依赖 | `rn-library-stability-check` | 输入:`稳定性检视报告.md` |
|
|
299
|
+
| 后置衔接 | `rn-library-code-quality-check` | 输出:`一致性检视报告.md` 供编码质量检视参考 |
|