SuperAPI AI 工具集

datocms-plugin-builder

通用与其它

查看项目

更新于 10-15 20:33

技能介绍

用途:面向已有 DatoCMS 插件的补丁与维护工作,基于 datocms-plugin-sdk 和 connect()。默认采用增量(augment)模式,快速定位、窄范围检查、保持改动最小。

主要能力:区分「初次表面发现」与「快速后续编辑」两条路径。前者在改动位置不明确时,读 package.json 确认使用 datocms-plugin-sdk,找到调用 connect() 的入口(如 src/main.tsx、src/index.tsx),在改 hook 前先检查现有 connect() 调用,并从需求中识别最小改动面(配置屏/插件参数、字段扩展或手动字段扩展配置、侧边栏面板/全侧边栏/outlet/自定义页、下拉操作或生命周期 hook、模态框/inspector/资产源/上传侧边栏、记录展示或结构化文本定制、依赖/构建/类型修复)。后者在上下文或仓库已明确时,只重开被触及的渲染分支、组件或 helper 直接修补,避免重复全量发现。

使用方式:默认零提问,仅当错误假设会实质改变行为且仓库无法解答时才提问(用哪个表面、目标模型或字段范围、是否允许新权限或外部依赖、是否必须留在 SDK helper 内还是可用浏览器端 CMA)。先读项目代码,再按需加载参考:日常维护先读 references/rapid-patterns.md,然后只加载对应表面参考(config-screen、field-extensions、sidebar-panels、custom-pages、dropdown-actions、lifecycle-hooks、modals、outlets、inspectors、asset-sources、upload-sidebars、structured-text、record-presentation)。connect-conventions、form-values、permissions、sdk-architecture 按条件加载,小修补不加载整套参考。

限制与守则:保持单一顶层 connect() 调用;改动前检查现有 connect();渲染 UI 包在 <Canvas ctx={ctx}> 中,仅页面、inspector 和全宽侧边栏使用 noAutoResizer;ID 分发的渲染 hook 用 switch;SDK 类型用 import type;读记录数据前守卫 ctx.item;字段扩展用 get(ctx.formValues, ctx.fieldPath);依赖 ctx 对象属性时用 useDeepCompareEffect;ctx.openModal() 参数与 ctx.resolve() 值保持 JSON 可序列化;不要为模块化内容、单块或结构化文本字段创建编辑字段扩展,应使用 addon 扩展。新插件改用 datocms-plugin-scaffold,UI 设计走 datocms-plugin-design-system。验证用仓库最轻量的现有构建/类型检查命令,并在需要时先用仓库包管理器安装依赖。