feat(skill): 新增项目规范与初始化 Skill

This commit is contained in:
zhiye.sun
2026-08-25 14:52:43 +08:00
parent ac189b8395
commit dbc2f65154
40 changed files with 587 additions and 19 deletions
@@ -0,0 +1,23 @@
# 版本 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。