SuperAPI AI 工具集

effect-ts

编程与开发

查看项目

更新于 10-15 17:27

技能介绍

用途:在实现、审查或调试 Effect TypeScript 代码时使用,尤其涉及服务与 Layer 设计、类型化错误处理、配置、测试以及运行时集成。

触发场景:用户提到 Effect、Layer、Context.Tag、Schema.TaggedError、Effect.gen 或 Effect.fn;正在实现或审查定义 Effect 服务、Layer 或运行时边界的文件;调试 Effect 运行时行为、缺失 span、Layer 装配或边界错误映射;需要 Effect 代码的测试策略(@effect/vitest、测试 Layer);需要 Effect 运行时集成(TRPC/服务端边界)。

使用方式:在实质性实现、重构或正式审查前,先获取当前建议,运行 effect-solutions list,以及 effect-solutions show tsconfig、basics、services-and-layers、data-modeling、error-handling、config、testing、cli。若 effect-solutions CLI 不可用,或任务较琐碎(如无 Effect 设计影响的措辞微调),可跳过 CLI 调用,改用技能内相关参考文件。建议视为时效性指导,不要依赖过时记忆。

决策路径:服务设计或重构参考 references/services-and-layers.md;类型化错误、Option/Either、恢复参考 references/error-handling.md;TRPC/服务端运行时边界参考 references/framework-integration.md;agent-tools/* 中的 CLI 工具参考 references/agent-tools-patterns.md;测试与 mock 参考 references/testing-layers.md。

项目规则:优先服务共置(Context.Tag 与静态 Layer 放在同一文件);领域错误使用 Schema.TaggedError;不要通过 _tag 访问 Option/Either 内部,使用 match、isNone、isLeft 等辅助函数;Effect 依赖用 Layer 做 mock,而非 vi.mock();在入口点保留一个清晰的 provide 边界。

输出期望:对实质性实现、审查或调试任务,返回已检查的 effect-solutions show 主题、使用的参考文件及原因、遵循现有项目模式的具体变更方案,以及验证计划(类型检查/测试)。

限制:资料未提供该技能的安装命令、收费、价格、平台或效果信息。