SuperAPI AI 工具集

effect-ts

编程与开发

查看项目

更新于 10-16 07:56

技能介绍

用途:面向非平凡的 Effect 4 开发任务,基于项目本地架构、最相关的参考文档以及与目标已安装包版本匹配的源码,应用 Effect 4 语义。

适用前提:不能仅因文件 import effect 就启用该工作流。需先解析目标包或工作区及其确切安装的 effect 与相关 @effect/* 版本;若 effect 不是 4.x 则停止,此技能不适用。3.x 用户可使用:npx skills add PaulRBerg/agent-skills#shelved --skill effect-ts-v3。

主要能力与用法:确认所有 @effect/* 包与 effect 版本严格一致,不一致应报告而非绕过。检查邻近的服务、层、错误、schema、运行时边界与测试,本地约定决定组织方式,已安装包证据决定 API 事实。先读 references/critical-rules.md,再按任务读取对应参考:服务与层、Config、Schema/JSON Schema、测试(@effect/vitest、时钟、纤维、重试)、运行时与并发、流与背压、模式匹配、effect/ai、effect/sql、Next.js、Effect Atom、Option 等。对 effect/http、effect/http-api、effect/rpc、effect/cli、集合工具、弃用项或构造器查找,应直接检查已安装包源码。

证据顺序:优先使用已安装包的 src、README、测试与 changelog,其次是生成的声明,再次是匹配的官方包产物或源码标签。单仓库源码或跨包搜索可运行 scripts/effect-source.sh,它维护最新 release 的缓存克隆(最多每 24 小时拉取一次),输出 path= 与 release=。当 release 与已安装版本不同,用 git -C <path> grep <pattern> effect@<version> -- packages/ 或 git -C <path> show effect@<version>:<file> 读取匹配标签,不要编辑缓存。不要仅为获取文档而安装或更新依赖。

模块变化:原 @effect/platform、@effect/rpc、@effect/cli、@effect/cluster 等现随 effect 以子路径发布,如 effect/http、effect/http-api、effect/rpc、effect/cli、effect/ai、effect/sql、effect/schema、effect/reactivity、effect/workflow。这些模块标注为 unstable,可能在次要版本破坏。不存在 effect/unstable/* 兼容路径。平台、驱动与提供方仍为独立包:@effect/platform-、@effect/sql-、@effect/ai-、@effect/atom-、@effect/opentelemetry、@effect/vitest。

限制与边界:保持纯辅助函数、常量与路径操作纯净,除非 Effect 边界能带来具体依赖、可测试性、资源安全或错误模型收益。除非用户要求重构,否则保留现有领域外观与服务/运行时边界。IO 边界优先类型化失败与作用域资源。不得为替换小型平台调用而扩大环境要求。若无法验证确切行为,应停止而非猜测。完成后以约定的 Effect 标记与精确的验证命令/结果结尾。