用途:从零创建 Capacitor 插件,为 Capacitor 应用添加原生功能(相机、传感器、存储等),设计插件架构与 API 契约,实现 iOS(Swift)或 Android(Kotlin/Java)原生代码并桥接到 JavaScript/TypeScript,也可消费 cordova-capacitor-plugin-migration 技能产出的 YAML 契约。不适用于构建普通 Capacitor 应用、纯 Web 功能、修改官方核心插件、分析 Cordova 插件结构或升级已有插件版本。
主要能力:支持对话式与结构化 YAML 两种入口模式;结构化模式解析 references/input-contract.md 并跳过提问,若迁移块含阻塞项或 tier 3 钩子则中止。优先使用官方生成器再编辑脚手架,坚持契约优先:先写 src/definitions.ts,再实现 Web、iOS、Android、文档与示例应用。iOS/Android 默认采用 Bridge 模式(薄插件类委托实现类),复杂插件可用 Facade。要求名称一致:registerPlugin() 名 = iOS jsName = Android @CapacitorPlugin(name);事件名在四端保持一致。错误使用 UNAVAILABLE、PERMISSION_DENIED、INVALID_PARAMETER、OPERATION_FAILED 四类代码。
使用方式:需 Node.js LTS 与 npm,iOS 需 Xcode,Android 需 Android Studio 与 SDK,必要时用 CocoaPods 与 Gradle。非交互脚手架命令示例:npm init @capacitor/plugin <folder> -- --name "<npm-name>" --package-id "<reverse-dns>" --class-name "<PascalCase>" --description "<one-line>" --author "<name <email>>" --license "<SPDX>" --repo "<url>" --android-lang "<kotlin|java>"。文档由 npm run docgen 从 JSDoc 生成,提交前运行 npm run fmt,报告完成前运行 npm run verify。发布仅执行 npm publish --access public --dry-run,不得真实发布。
限制:生成结果为需人工审查的首版代码,不得未经审查发布;不得虚构 Capacitor 类、辅助工具或导入路径,须核对已安装的 @capacitor/core、@capacitor/android、@capacitor/ios 包源码;镜像已有 API 时须查证实际线上字符串值;notifyListeners(...) 只能在 Plugin 子类内调用;不得检查或分析 Cordova 源码。具体收费、价格与平台支持范围资料未提供。