feat(dev): 新增组件样式与表单辅助 Skill
This commit is contained in:
@@ -22,15 +22,17 @@ description: 初始化或更新项目的 AGENTS.md 与 .craftkit 项目资料;
|
||||
1. 确认项目根目录、初始化模式和参考材料范围。
|
||||
2. 扫描当前项目;只在用户授权的路径中扫描参考项目。
|
||||
3. 展示自动识别的信息、证据、冲突和待确认项。
|
||||
4. 通过简短提问补齐无法可靠推断的项目用途、包名、框架、精确版本、公共 profile、内部依赖和约束;禁止默认最新版本。
|
||||
4. 通过简短提问补齐无法可靠推断的项目用途、包名、框架、精确版本、公共 profile、内部依赖和约束;前端项目还需确认组件库、组件根、文档入口及参考项目范围。禁止默认最新版本。
|
||||
5. 展示拟创建或修改的文件及关键内容,取得确认后再写入。
|
||||
6. 从 [assets](assets/project.json) 中选择模板,生成或合并 `AGENTS.md`、`.craftkit/project.json`、目录说明、嵌套忽略规则和必要索引。
|
||||
6. 从 [assets](assets/project.json) 中选择模板,生成或合并 `AGENTS.md`、`.craftkit/project.json`、目录说明、嵌套忽略规则和必要索引;存在前端能力时同时准备 `.craftkit/standards/frontend/components.md` 的最小索引。
|
||||
7. 已有文件必须先完整读取并做保守合并;不明确的用户章节和字段原样保留,不直接覆盖。
|
||||
8. 初始化后验证 JSON、索引链接,以及 `.craftkit/local/`、`.craftkit/cache/` 的 Git 忽略状态。
|
||||
9. 使用 `guidance` 对一个真实项目问题执行检索验证;未安装该 Skill 时改用相同的入口顺序手工验证。
|
||||
|
||||
框架版本写入 `technology.frameworks`。成熟项目优先从构建清单和锁文件探测;空项目根据用户选择或参考项目建议填写。只有公共 profile 已真实存在且版本范围匹配时才写入 `profile`,否则保留为空并记录待确认事项。
|
||||
|
||||
前端组件信息写入 `frontend`。成熟项目从依赖清单、锁文件、组件目录、类型和现有调用提取;空项目根据用户已确认的技术选型或授权参考提议填写。未知组件库或版本保持为空,不根据框架名称自行猜测。
|
||||
|
||||
## 安全边界
|
||||
|
||||
- 不读取或保存密码、令牌、私钥、完整数据库连接串和私有仓库认证信息。
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
- `project.json`:项目类型、技术栈、代码边界、依赖标识和命令。
|
||||
- `agents/`:项目对 Agent 的补充指令。
|
||||
- `standards/`:项目自身的开发、测试、文档与 Git 规范。
|
||||
- `standards/frontend/components.md`:经确认的前端组件来源、版本和契约证据索引。
|
||||
- `knowledge/`:经过验证的技术决策和可复用经验。
|
||||
- `handoff/`:用户明确选择共享的任务交接。
|
||||
- `local/`:当前工作副本的本地上下文,不进入 Git。
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# 项目组件索引
|
||||
|
||||
当前没有已验证的项目组件记录。使用 `component` 扫描当前项目并经用户确认后,在此记录组件用途、来源、版本范围、契约证据和项目相对入口。
|
||||
|
||||
本索引不复制第三方文档、私有实现或参考项目业务代码。
|
||||
@@ -5,6 +5,12 @@
|
||||
"technology": { "languages": [], "frameworks": [], "buildTools": [], "databases": [] },
|
||||
"code": { "sourceRoots": [], "packageRoots": [], "modules": [] },
|
||||
"dependencies": { "internal": [], "public": [] },
|
||||
"frontend": {
|
||||
"framework": "",
|
||||
"componentLibraries": [],
|
||||
"componentRoots": [],
|
||||
"documentation": []
|
||||
},
|
||||
"commands": { "build": [], "test": [], "check": [] },
|
||||
"documents": { "archiveRoot": "docs/archive", "archiveRules": [] },
|
||||
"guidance": {
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
- 已有明确规范与代码冲突时保留规范,并列出待处理差异。
|
||||
- 多种风格并存时询问用户哪些模块是标准样本,不能按数量自动裁决。
|
||||
- 自动识别包根、框架和依赖后必须展示证据,由用户确认是否继续沿用。
|
||||
- 前端项目额外扫描依赖清单、锁文件、组件目录、类型、示例和代表性调用,识别组件库版本及项目封装入口;扫描结果先展示再写入项目配置和组件索引。
|
||||
|
||||
## 参考项目
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
- 应用、库、插件、服务或其他项目类型。
|
||||
- 已确定的语言、框架、构建工具和数据库类型。
|
||||
- 前端框架、组件库、精确版本、组件目录规划和可用文档入口。
|
||||
- 组织标识、根包名或 npm scope。
|
||||
- 需要复用的内部依赖及其可查询来源。
|
||||
- 预期模块、测试方式和必须遵守的限制。
|
||||
@@ -15,4 +16,5 @@
|
||||
- 未确定的信息使用空数组或“待确认”状态,不猜测框架、包名和内部依赖。
|
||||
- 有参考项目时,只提炼用户允许的范围并展示差异。
|
||||
- 没有参考项目时使用中性公共基线建立最小索引,不把建议写成强制项目规则。
|
||||
- 前端技术选型未确定时,询问目标平台、交互复杂度、可访问性、团队经验和是否允许新增依赖;只记录用户确认的组件库,不默认选择流行方案。
|
||||
- 本模式只创建 `AGENTS.md` 与 `.craftkit/` 资料骨架;用户明确要求搭建代码工程时另行制定实现方案。
|
||||
|
||||
@@ -9,11 +9,20 @@
|
||||
- `technology` 记录语言、框架、构建工具和数据库类型,不记录连接信息。每个框架使用 `name`、`version`、`profile` 对象;精确版本未知或公共 profile 不存在时不得猜测。
|
||||
- `code` 记录相对源码根、包根和模块。
|
||||
- `dependencies.internal` 只记录用户确认可在当前仓库共享的依赖标识和用途。
|
||||
- `frontend` 记录前端框架、组件库、组件根和文档入口;路径必须是项目相对路径,版本必须有依赖清单、锁文件或用户确认作为证据。
|
||||
- `commands` 只记录经过项目文件或用户确认的命令。
|
||||
- `documents.archiveRoot` 记录可共享的文档归档根;`documents.archiveRules` 记录项目确认的匹配、目标模板、转换和校验规则,不写入公司固定目录或外部系统凭据。
|
||||
- `guidance` 指向 `.craftkit/` 内的索引入口。
|
||||
- `initialization.references` 记录参考项目名称、用途、允许提炼范围和可共享的相对位置。
|
||||
|
||||
## 前端组件信息
|
||||
|
||||
- `frontend.framework` 引用 `technology.frameworks` 中已确认的前端框架名称。
|
||||
- `frontend.componentLibraries` 使用 `name`、`version`、`source` 对象;`source` 说明依赖清单或锁文件等证据入口。
|
||||
- `frontend.componentRoots` 记录项目自研或封装组件的相对目录。
|
||||
- `frontend.documentation` 记录项目内组件文档、类型、示例或 Storybook 的相对入口。
|
||||
- 未确认的数组保持为空;不得写入私有仓库认证地址或个人绝对路径。
|
||||
|
||||
## 合并规则
|
||||
|
||||
- 未在本次扫描中验证的既有字段不得删除。
|
||||
|
||||
Reference in New Issue
Block a user