用途
adopt-better-result 用于在已有的 TypeScript 代码库中采用 better-result。它适用于两种场景:对仓库进行整体错误处理审计并提出方案,或实现一个已明确命名的垂直切片。技能要求先以证据为基础,再按用户指定的规模开展工作。
主要能力
技能分为两个分支:
- 审计分支:当用户请求仓库级审计或提案,或尚未指定实现切片时使用。在修改生产代码之前,必须先完成审计分支。
- 命名切片分支:当用户明确要求实现某个函数、模块、边界或此前已提出的切片时使用。证据收集范围限定在该切片及其传播路径内。
审计分支中获批的切片会继续进入命名切片分支。
使用方式
审计分支:仓库级提案
- 建立仓库与 API 事实:阅读仓库说明、包清单、源码布局、测试命令和架构文档;确认 better-result 是否已安装及可用的版本/API,优先使用已安装的类型和源码而非记忆中的 API。在逐个研究失败之前,先梳理所有生产代码区域;排除生成代码和第三方代码,检查测试以了解预期行为。
- 审计每个生产代码区域:遵循 references/repository-audit.md,将搜索证据追踪到端到端的失败路径,对分组位置保留计数,将不清晰的路径记为未知。审计报告写入仓库既有的文档或规划位置,默认回退到 docs/better-result-adoption.md。
- 设计目标模型:应用 references/tagged-errors.md 中的失败分类法,并依据 references/result-boundaries.md 做出每个边界决策。在报告中加入建议处置、面向用户的映射、边界决策以及排序后的垂直迁移切片,并推荐最佳的首个切片并说明其为何有界且有价值。
- 提交审批关口:展示报告与建议。审计分支对仓库的唯一改动就是该报告。只有明确批准某个命名垂直切片后,才进入实现分支;否则运行到此结束。
命名切片分支:实现
- 建立切片与 API 事实:阅读仓库说明、验证命令、已安装的 better-result API、相关生产代码和测试;将命名的失败来源沿其直接调用者追踪到处理或传输边界。若已有采用报告则复用,否则保留证据用于实现总结。
- 实现一个垂直切片:遵循 references/vertical-slice-migration.md,使用 references/tagged-errors.md 确定失败处置,使用 references/result-boundaries.md 确定边界契约。实现范围保持在命名的传播路径内。
- 验证并报告:运行仓库适用的格式、lint、类型检查和相关测试命令。用已完成工作、偏差、发现和验证证据更新已有的采用报告,否则将其纳入面向用户的总结。在推荐下一个切片后结束。
适用场景
- 需要对 TypeScript 仓库进行整体错误处理审计并形成提案。
- 需要针对某个函数、模块或边界实现基于 Result 的错误处理改造。
- 已有审计报告,需要按其中推荐的切片逐步迁移。
限制
- 技能本身不提供 better-result 的安装命令或版本信息,需以仓库实际安装情况为准。
- 审计分支在获得明确批准前不会修改生产代码,仅产出报告。
- 命名切片分支的实现范围限定在指定的传播路径内。
- 关于收费、价格、平台支持等具体信息,资料中暂未提供。