为当前项目生成完善的 .claude 配置体系。
静默执行,无需交互:
node_modules、 .git、 __pycache__、 dist、 build)package.json / pyproject.toml / go.mod / pom.xml / Cargo.toml)CLAUDE.md(如存在).claude/settings.json(如存在)用 AskUserQuestion(单选)询问:
若用户选择跳过 → 直接进入阶段 3。
若用户选择是:
根据阶段 1 扫描到的 目录结构和文件名(不读取文件内容),自动推荐可能的敏感文件/目录。
推荐规则(按文件名/路径模式匹配,命中则加入推荐列表):
模式说明.env / .env.*环境变量文件**/secrets/**secrets 目录**/*.pem / **/*.key / **/*.jks / **/*.p12证书与私钥**/resources/application*.yml / **/resources/application*.yaml / **/resources/application*.propertiesJava/Spring 配置文件(可能含数据库密码、密钥等)**/resources/bootstrap*.yml / **/resources/bootstrap*.propertiesSpring Cloud 引导配置**/application-prod.* / **/application-production.*生产配置文件**/terraform/*.tfvarsTerraform 变量**/k8s/prod/**生产 K8s 配置**/docker-compose.prod.*生产 Docker 配置
将命中的路径整理为推荐列表,用 AskUserQuestion(多选)展示:
{路径模式} — {说明}若项目中未命中任何模式,仍展示常见选项(
.env、secrets、证书)供用户选择。 若同时包含「不屏蔽任何文件」和其他项,忽略前者。
先用 Glob 检查 .claude/ 目录以及子目录是否已存在。若已存在完整结构(agents、commands、rules、skills 子目录均在),告知用户「目录骨架已存在,跳过创建」。否则仅创建缺失的目录:
bash
mkdir -p .claude/agents .claude/commands .claude/rules .claude/skills
若已存在:不做任何修改,告知用户已跳过
若不存在:用 AskUserQuestion 询问「项目根目录缺少 CLAUDE.md,是否通过 /init 生成?」(是 / 否)
/init( skill: "init"),等待完成后再继续后续步骤已存在的文件跳过, settings.json 做深合并。
文件内容.claude/settings.json根据包管理器填充 permissions.allow、根据用户选择填充 permissions.deny(敏感路径),其余字段留空骨架.claude/settings.mdsettings.json 的字段说明 + 虚拟示例.claude/README.md.claude 目录结构说明(各子目录用途、文件格式、settings.json 字段速查).claude/rules/coding-standards.md根据语言生成基础编码规范
生成完成后,展示目录结构预览,标注各文件状态(✓ 新建 / ✓ 已合并 / ⊘ 已跳过)。
为项目添加 skills
用 AskUserQuestion(单选)询问:
若用户选择跳过 → 进入步骤 2。
若用户选择是:
用 Glob 递归扫描以下路径下的所有 SKILL.md:
~/.claude/skills/**/SKILL.md — 用户自建 skills~/.claude/plugins/marketplaces/**/SKILL.md — 市场安装的 skills(目录结构多样,必须用递归匹配)排除
.gemini目录下的重复文件(与上层目录内容相同)
读取每个 SKILL.md 的 frontmatter,提取 name 和 description,去重
整理为表格展示。若总数超过 10 个,只展示前 10 个,并提示用户可输入 more 查看更多:
text
本地可用 skills(共 N 个,显示前 10 个):
| # | 名称 | 描述 | 来源 |
|---|------|------|------|
| 1 | xxx | xxx | 自建 / 市场 |
| ...
| 10 | xxx | xxx | 自建 / 市场 |
输入 "more" 查看更多。
若总数不超过 10 个则全部展示。
用 AskUserQuestion 询问:
more,继续展示下一批 10 个)用户选择后,将选中的 skills 目录复制到项目的 .claude/skills/ 下(保持原目录结构)
参考:
reference/clawhub.md
用 AskUserQuestion(单选)询问:
若用户选择跳过 → 直接进入阶段 5。
运行 clawhub --version 检查 CLI 是否已安装。若未安装,提示用户:
text
ClawHub CLI 未安装,是否现在安装?
执行:npm i -g clawhub
用 AskUserQuestion 确认后执行安装。若用户拒绝安装 CLI → 直接进入阶段 5。
根据阶段 1 扫描到的 项目类型、语言、包管理器,自动推荐 3~5 个搜索关键词(例如:Python 后端项目可推荐 python、 api、 testing、 security、 devops)
对每个关键词执行 clawhub search "{关键词}",汇总所有结果并去重
整理为表格展示给用户: text
根据项目特征为你推荐以下 skills:
| # | 名称 | 描述 |
|---|------|------|
| 1 | xxx | xxx |
| ...
用 AskUserQuestion 询问:
若用户选择安装:对每个选中的 skills 执行 clawhub install {skill-name} --dir .claude/skills
若用户输入自定义关键词:执行 clawhub search "{关键词}",展示结果,重复步骤 4
安装完成后,询问是否继续搜索安装更多 skills,循环直到用户选择结束。
完整目录结构预览:列出所有文件,标注状态(✓ 新建 / ✓ 已合并 / ⊘ 已跳过)
已安装 skills 清单:列出通过 ClawHub 安装的 skills 名称(若有)
后续操作提示:
.claude/settings.json.claude/rules/ 添加 .md 文件.claude/commands/ 添加 .md 文件写入任何文件之前必须遵守: