SuperAPI AI 工具集

build-effect-ts-v3

通用与其它

查看项目

更新于 10-16 08:11

技能介绍

用途:该技能用于构建、重构、调试和测试基于 effect@3.x 的 TypeScript 应用,覆盖服务与依赖层、类型化错误、Schema 边界校验、纤程并发、Stream 流式数据处理,以及 @effect/platform、@effect/sql、@effect/rpc、@effect/cli、@effect/vitest、@effect/opentelemetry、@effect-atom/atom-react 等生态包。也可辅助从 Promise、fp-ts、neverthrow、RxJS 迁移到 Effect。

主要能力:按主题组织参考文档,包括核心 Effect 类型与运行、错误处理、服务与 Layer、Schema、数据类型、模式匹配、并发、状态、资源管理、Stream、Queue/PubSub、缓存批处理、调度重试、Config、可观测性;并给出硬性规则与反模式清单,例如不要从 @effect/schema 导入(自 3.10 起弃用,改用 import { Schema } from "effect")、Effect.gen 内不要 throw、不要写无星号 yield、库代码内不要调用 Effect.runPromise/runSync、超 5 项列表要加 { concurrency: N }、用 acquireRelease 而非 try/finally、用 Option 而非 null/undefined、用 Effect.log 而非 console.log、用 Config 读取环境变量、用具体 TaggedError 而非泛化错误名。默认倾向:业务服务用 Effect.Service,可序列化错误用 Schema.TaggedError,命名函数用 Effect.fn,增量组合用 Layer.provideMerge。

使用方式:按当前任务只加载所需参考文件,入口索引为 references/00-reference-map.md,按上述主题目录逐条查阅对应文件。技能对 v3 与 v4 做了明确区分,禁止使用 v4 语法(如 ServiceMap.Service、Schema.TaggedErrorClass、bare Effect.catch、Effect.forkChild 等)。

适用场景:Effect 应用的开发、调试、测试与迁移,HTTP 服务/客户端、CLI、RPC、SQL、React 前端等。限制:仅适用于 Effect-TS v3,不适用于 v4/beta;不打算采用 Effect 的 fp-ts、neverthrow、RxJS 代码库仅迁移文档适用;不适用于非 Effect 的普通 TypeScript 或其他函数式生态(cats、ZIO)。具体安装命令、版本号、收费与授权信息暂未提供。