用途:keep-or-cut 是针对 rat-stack 的代码裁剪配方,帮助开发者在了解依赖关系后,只保留项目真正需要的接口和模块,删除产品不会使用的部分。其原则是不要因为“将来可能用到”而保留代码。
核心概念:capability(能力)是一个具名动作,包含契约与服务端处理器;契约定义名称、输入、输出、失败和元数据,projection(投影)从能力构建可调用接口。CLI 指命令行接口;MCP(Model Context Protocol)让智能体发现并调用工具;Effect 用于描述带类型化失败和必需依赖的工作。
使用方式:先阅读 AGENTS.md,保留不相关的产品工作,删除文件前检查导入与测试。最小版本是仅保留命令行,需保留 packages/capability 下 contract.ts、implement.ts、to-command.ts、call-watch.ts、actor-watch.ts 及其被导入模块、测试、packages/core,以及投影命令所需的 CLI 组合。资料分别给出 Cut code mode、Cut HTTP、Cut MCP、Cut XState、Cut devtools 的删除清单,并说明 Code mode 导入 to-toolkit.ts,因此切掉 MCP 也会切掉 code mode,需同时应用两份清单。
收尾步骤:每次裁剪后从 index.ts 及相关 barrel 移除失效导出,删除编译器发现的失效导入、Layers、命令和测试;更新 AGENTS.md 的包表;刷新锁文件并格式化,运行 pnpm install、pnpm fix、pnpm turbo run check test build,让编译器与检查找出所有失效引用,不要屏蔽错误或删除无关测试。
限制:资料仅描述该项目的裁剪操作,未提供安装方式、收费、价格、平台或效果信息;XState 配方仅适用于已移除 interest 及除文件检查外所有生命周期的克隆,替换文件检查本身无法移除相关依赖,需先查找所有剩余导入。