SuperAPI AI 工具集

effect-ts

通用与其它

查看项目

更新于 10-16 02:29

技能介绍

用途:面向涉及 effect 或 @effect/* API 的任务,帮助实现、调试、重构、迁移、审查或解释 Effect TypeScript 代码,目标是写出惯用的 Effect 代码,而不是在 Promise 风格 TypeScript 上贴 Effect 包装。

主要能力与用法:先检查仓库的 package.json、tsconfig*、锁文件、已有的 effect/@effect/* 导入及邻近测试,再按任务匹配最小参考集;若安装了 effect-solutions,可运行 effect-solutions list 和 effect-solutions show <topic>... 查询既有模式。按任务阅读:安装、tsconfig 或仓库审计看 references/setup-tooling.md;核心应用代码看 references/core-patterns.md;HTTP、CLI、平台或流处理看 references/ecosystem-patterns.md;Promise 互操作、框架边界、运行时问题或渐进迁移看 references/adoption-runtime.md。

默认约定:用 Effect.gen 写内联程序,用 Effect.fn("Name") 写可复用的具名 effectful 函数;Effect.run* 保留在应用边缘、测试、worker 或框架适配器;依赖放入 service 与 layer,而非隐藏全局;外部数据在边界用 Schema 解析一次后向内传递类型化值;可恢复失败用 tagged error 与收窄联合类型建模;优先使用测试 layer 与 @effect/vitest,而非临时 mock。

限制与取舍:不要从 service 方法直接返回原始 Promise,除非边界要求;不要在领域代码深处调用 Effect.runPromise;有 tagged error 时不要用字符串错误;不要在核心重复校验已解析的领域数据;不要在简单 service/layer/schema 模型适用前就使用高级抽象。优先以本地项目代码与测试为契约,其次用 effect-solutions 获取观点与权衡,再用 effect.website 查规范 API 表面。