SuperAPI AI 工具集

effect-best-practices

写作与研究

查看项目

更新于 10-15 21:43

技能介绍

用途:该技能为 Effect-TS 代码提供统一规范,覆盖服务定义、错误、依赖注入、Schema 品牌类型、函数写法、Layer 组合、资源清理、Option 处理与前端 Atom 状态等场景,适合在编写 Effect.Service、Schema.TaggedError、Layer 等代码时参照。

主要能力:规定业务逻辑用 Effect.Service 并开启 accessors,依赖写在 dependencies 中而非使用处;错误用 Schema.TaggedError 并带 message 字段,处理用 catchTag/catchTags,避免 catchAll;ID 使用品牌类型(Salesforce 记录/组织用 SalesforceId/OrgId,其余用 Schema.UUID 加 brand);函数优先 Effect.fn 并带 span 名称,Effect.gen 仅用于共享管道;日志用 Effect.log,配置用 Config.*,时间用 Duration;Option 用 Option.match 显式处理,禁止 getOrThrow;前端 Atom 在组件外定义,持久状态用 keepAlive,写入用 useAtomSet,结果用 Result.builder 渲染;Effect 拥有的资源用 scoped 加 Effect.addFinalizer 清理。

使用方式:可用 npx effect-language-service diagnostics --file <path> 检查单文件,或 npx effect-language-service diagnostics --project tsconfig.json 检查整个项目;PostToolUse 的 verify-on-edit.sh 钩子会在每次 .ts 编辑/写入后自动运行并反馈。需同时处理警告与消息,config/effect-diagnostics.json 的 enforcedRules 是构建门禁,启用规则需两处修改。批量编辑后建议按包运行项目级诊断以发现跨文件问题。effect-language-service quickfixes 可查看建议改动。

适用场景与限制:适用于使用 Effect-TS 的 TypeScript 项目,尤其是 Salesforce 扩展相关代码。Cursor 的 read_lints 不会显示 Effect Language Server 诊断,需改用 CLI。资料未提供该技能的安装方式、收费、价格与平台支持等细节。