Files

1.4 KiB

版本 Profile 路由

职责边界

  • CraftKit 公共知识库维护根据官方资料独立重建的框架版本差异,例如未来的 Spring 2、Spring 3、Vue 2 和 Vue 3 profile。
  • 当前项目在 .craftkit/project.json 中声明实际框架、精确版本和所选 profile。
  • 项目的内部框架、依赖、组件库、历史兼容要求和覆盖规则放在 .craftkit/standards/,不得写入公共 profile。

选择流程

  1. 优先读取 technology.frameworks 中的 name、version 和 profile。
  2. 项目未声明时,从 Maven、Gradle、npm 等构建清单与锁文件只读探测,并展示证据。
  3. 精确版本可以确定但没有 profile 映射时,只使用框架中性基线并报告缺口。
  4. 版本或映射无法可靠确定时询问用户,不默认最新版本。
  5. 普通开发任务只加载当前 profile;升级、迁移或版本比较任务才同时加载明确的源 profile 与目标 profile。
  6. 项目规范覆盖公共 profile 时采用项目规则,并在结果中标出冲突和覆盖依据。

防止混用

  • 未被当前 profile 路由命中的版本规范不得作为普通开发建议。
  • 公共 profile 尚未建立时,不创建空目录或假设规则存在。
  • 框架主版本不足以判断兼容性时继续使用精确版本、生态依赖和项目覆盖规则缩小范围。
  • 代码中出现其他版本写法只能作为迁移风险,不代表项目同时采用多个 profile。