feat(skill): 新增项目规范与初始化 Skill
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# 成熟项目模式
|
||||
|
||||
## 扫描范围
|
||||
|
||||
- 现有 `AGENTS.md`、`.craftkit/` 和项目说明。
|
||||
- 构建清单与锁文件,例如 Maven、Gradle、npm、Python、Rust 或 Go 的标准文件。
|
||||
- 源码根、模块边界、测试目录和自动化配置。
|
||||
- 少量具有代表性的入口、接口、服务和测试文件;不得为总结风格读取全部业务代码。
|
||||
|
||||
## 提炼规则
|
||||
|
||||
- 重复出现且有多个独立样本支持的写法可记录为“现有约定”。
|
||||
- 单文件写法、废弃目录和历史兼容代码只记录为观察,不提升为规范。
|
||||
- 已有明确规范与代码冲突时保留规范,并列出待处理差异。
|
||||
- 多种风格并存时询问用户哪些模块是标准样本,不能按数量自动裁决。
|
||||
- 自动识别包根、框架和依赖后必须展示证据,由用户确认是否继续沿用。
|
||||
|
||||
## 参考项目
|
||||
|
||||
询问参考项目用于哪些方面:架构、依赖、命名、测试、规范或工具。比较结果应区分“当前项目事实”“参考项目做法”和“建议采用项”,只有用户确认的建议才能写为当前项目约定。
|
||||
@@ -0,0 +1,18 @@
|
||||
# 空项目模式
|
||||
|
||||
## 必要信息
|
||||
|
||||
先询问项目用途、交付形态和是否存在参考项目。随后只补齐会影响初始化资料的决策:
|
||||
|
||||
- 应用、库、插件、服务或其他项目类型。
|
||||
- 已确定的语言、框架、构建工具和数据库类型。
|
||||
- 组织标识、根包名或 npm scope。
|
||||
- 需要复用的内部依赖及其可查询来源。
|
||||
- 预期模块、测试方式和必须遵守的限制。
|
||||
|
||||
## 生成边界
|
||||
|
||||
- 未确定的信息使用空数组或“待确认”状态,不猜测框架、包名和内部依赖。
|
||||
- 有参考项目时,只提炼用户允许的范围并展示差异。
|
||||
- 没有参考项目时使用中性公共基线建立最小索引,不把建议写成强制项目规则。
|
||||
- 本模式只创建 `AGENTS.md` 与 `.craftkit/` 资料骨架;用户明确要求搭建代码工程时另行制定实现方案。
|
||||
@@ -0,0 +1,37 @@
|
||||
# 项目配置规则
|
||||
|
||||
`.craftkit/project.json` 是可共享的结构化项目元数据,不是依赖锁文件或秘密配置中心。
|
||||
|
||||
## 字段原则
|
||||
|
||||
- `initialization.mode` 使用 `existing` 或 `new`。
|
||||
- `project` 记录名称、用途和项目类型。
|
||||
- `technology` 记录语言、框架、构建工具和数据库类型,不记录连接信息。每个框架使用 `name`、`version`、`profile` 对象;精确版本未知或公共 profile 不存在时不得猜测。
|
||||
- `code` 记录相对源码根、包根和模块。
|
||||
- `dependencies.internal` 只记录用户确认可在当前仓库共享的依赖标识和用途。
|
||||
- `commands` 只记录经过项目文件或用户确认的命令。
|
||||
- `guidance` 指向 `.craftkit/` 内的索引入口。
|
||||
- `initialization.references` 记录参考项目名称、用途、允许提炼范围和可共享的相对位置。
|
||||
|
||||
## 合并规则
|
||||
|
||||
- 未在本次扫描中验证的既有字段不得删除。
|
||||
- 新证据与旧值冲突时保留旧值并展示差异,用户确认后修改。
|
||||
- 数组按语义去重,不因大小写或路径分隔符制造重复项。
|
||||
- 所有项目路径使用正斜杠相对路径。
|
||||
- 模板中的空值表示待补充,不代表扫描失败。
|
||||
|
||||
## 框架版本
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "framework-name",
|
||||
"version": "已确认的精确版本或空字符串",
|
||||
"profile": "已存在且匹配的公共 profile 或空字符串"
|
||||
}
|
||||
```
|
||||
|
||||
- 先从构建清单和锁文件探测,再由用户确认。
|
||||
- 普通项目只选择当前 profile,不登记无关版本。
|
||||
- 升级计划中的目标版本属于项目决策或迁移资料,不得冒充当前运行版本。
|
||||
- 内部框架可以记录名称和版本,但其规则只能位于项目 `.craftkit/standards/`。
|
||||
Reference in New Issue
Block a user