用途:面向使用 Expo 或 React Native 的应用,帮助新增、修复、扩展或加固 Convex 后端,避免套用仅适用于 Web 的模式或泛泛的 React Native 建议。不适用于纯 Expo UI、动画、导航或样式工作,也不适用于前端非 Expo/React Native 的 Convex 项目。
主要能力:覆盖从零接入 Convex(npx expo install convex、npx convex dev 创建或连接项目并生成 convex/_generated/)、环境变量与 EAS 配置、根 Provider 挂载、后端 schema 与索引设计、query/mutation/action/internal 函数、鉴权(Clerk、Convex Auth、JWT/OIDC)、Expo 文件上传到 Convex storage、分页与索引优化、迁移与发布前加固。
必要用法与约束:开发期间保持 npx convex dev 运行;从 process.env.EXPO_PUBLIC_CONVEX_URL 读取部署 URL 并同步到 EAS;每个应用只创建一个 ConvexReactClient 且置于渲染路径之外;Provider 挂在真正的根(app/_layout.tsx、src/app/_layout.tsx 或 App.tsx);Expo/React Native 中设置 unsavedChangesWarning: false;从 convex/_generated/api 导入生成引用;公共函数加 args 校验器,建议也加 returns 校验器;查询中不用 Date.now()/new Date(),不用 Node-only API 或第三方 SDK;外部调用与重计算放入 action 或 internalAction;避免 .filter() 和大表无界 .collect(),改用索引与分页;所有 Promise 都要 await。
可用脚本:python scripts/validate_project.py --root <project-root>,支持 --json 与 --fail-on-warning;python scripts/scaffold_tasks_example.py --root <project-root>,默认 dry-run,支持 --write、--overwrite、--ui-file、--json。
限制与未提供信息:资料未说明收费、价格、平台支持范围或实际效果;具体功能与步骤以技能内 references/ 文件为准(如 eas-env.md、schema-and-indexes.md、functions.md、frontend-patterns.md、auth.md、file-uploads.md、migrations.md、production-checklist.md、troubleshooting.md)。