SuperAPI AI 工具集

effect

编程与开发

查看项目

更新于 10-15 18:31

技能介绍

用途:在仓库中编写或修改基于 Effect v4 / effect-smol 的 TypeScript 代码时使用,为服务、Schema 与工作流提供一致的实现规范。

主要能力:要求以当前 Effect v4 源码为事实来源,先查阅 .opencode/references/effect-smol 中的确切 API、示例、测试与命名方式,并参考仓库既有代码风格,再给出实现,避免依赖记忆或旧版 v2/v3 示例。

使用方式:若 .opencode/references/effect-smol 缺失,需在项目中将其克隆到该路径(源为 https://github.com/Effect-TS/effect-smol),而非技能目录。多步流程使用 Effect.gen(function* () { ... });可复用的服务方法或重要工作流使用 Effect.fn("Name") 或 Effect.fnUntraced(...)。API 与领域数据结构优先用 Effect Schema,ID 可用 branded schema,新的错误面用 Schema.TaggedErrorClass。HTTP 处理保持轻薄,只做输入解码、上下文读取、调用服务与错误映射,业务规则放入服务;保持 layer 组合显式,避免隐藏的广泛依赖注入。禁止为迁就类型引入 any、非空断言、未经检查的类型转换或旧版 Effect API。

测试:涉及服务、layer、运行时上下文、作用域资源或平台集成时使用 packages/opencode/test/lib/effect.ts 中的 testEffect(...);文件系统、git、HTTP、socket、子进程、锁、实时等场景使用 it.live(...)。测试须在 packages/opencode 等包目录下运行,不要从仓库根目录运行;优先显式测试 layer,资源用 scoped fixture 与 finalizer 清理。

限制:资料未提供价格、平台支持范围或效果保证等信息,暂未提供。