基础支撑

模块存在意义

在大规模 TypeScript 仓库里,真正决定维护成本的往往不是业务页面,而是基础支撑层。Claude Code 的 utils/types/constants/migrations/ 正在承担这类底板责任。

关键文件与入口

文件/目录作用
src/utils/通用工具函数、权限判断、shell、git、日志、模型、配置等横切能力。
src/types/通用类型定义,稳定不同模块之间的数据约定。
src/constants/常量与配置项入口。
src/migrations/处理配置和历史兼容迁移。

对上游 / 下游的依赖关系

  • 上游:几乎所有业务模块都会调用这一层。
  • 下游:同样服务于几乎所有业务模块。

运行时扮演的角色

  • 提供权限、shell、git、用户配置、模型能力判断等复用逻辑。
  • 维持跨模块一致的数据结构与常量语义。
  • 在版本演进时兜住旧配置与新行为之间的兼容。

新读者建议的阅读顺序

  1. 与当前问题最相关的 src/utils/ 子目录
  2. 对应的 src/types/
  3. 相关 src/constants/
  4. 如果涉及行为升级,再看 src/migrations/

为什么不建议一开始就深挖这里

  • 这里体量最大,但不是建立全局结构的最佳入口。
  • 只有在你已经知道主流程之后,基础层的意义才会非常清晰。
  • 它更适合带着问题来读,而不是一上来通读。