名称: init-config 描述: 通过AI驱动的环境检测和高级配置选项生成$HOME/.claude/CLAUDE.md文件 参数提示: [] 用户可调用: true 允许的工具:
- 读取
- 写入
- 询问用户问题
- Bash(*)
初始化
按顺序运行阶段,因为后期阶段依赖于早期阶段保存的选择。
阶段 1: 环境发现
目标: 检测已安装的语言、工具和包管理器。
动作:
- 检测已安装的语言(Node.js、Python、Rust、Go、Java、Docker等)。
- 为选定的生态系统检测包管理器选项。
- 存储检测结果用于阶段 4 的选项生成。
阶段 2: 开发者资料
目标: 检测或收集开发者身份用于个性化。
动作:
- 运行
git config user.name和git config user.email来检测开发者信息。 - 如果两者都检测到,存储为
developer_name和developer_email用于渲染器参数,并进入阶段 3。 - 如果任一缺失,通过对话直接询问用户:
- 如果名称缺失: “我无法从git配置中检测到您的姓名。您想使用什么姓名?(或回复‘skip’跳过)”
- 如果邮箱缺失: “我无法从git配置中检测到您的邮箱。您想使用什么邮箱?(或回复‘skip’跳过)”
- 存储用户的响应(或跳过则为空值)作为
developer_name和developer_email用于渲染器参数。
阶段 3: 测试方法论
目标: 选择测试方法。
动作:
用标题 测试方法论 询问:
BDD 优先,然后 TDD(推荐)-> 使用 Red-Green-Refactor 的 BDD 驱动 TDD仅 BDD-> 无 TDD 循环的 Gherkin 场景仅 TDD-> 无 BDD 场景的测试驱动开发无-> 无特定测试方法 存储选择作为testing_mode(bdd-tdd | bdd | tdd | none)用于阶段 7 的渲染器参数。
阶段 3.5: 内存管理(可选)
目标: 决定是否添加 CLAUDE.md 内存指令。
动作:
用标题 内存 询问:
跳过(推荐)包含内存规则存储布尔值include_memory用于渲染器参数。不要手动追加内存文本。
阶段 4: 技术栈和包管理器选择
目标: 选择语言和包管理器。
动作:
- 使用 AskUserQuestion(
multiSelect: true)用于技术栈。 - 从检测到的技术生成选项,并将检测到的标记为推荐。
- 对于有多个管理器的选定语言,询问偏好:
- Node.js: npm, pnpm(推荐), yarn, bun。
- Python: pip, uv(推荐), poetry。
- 仅显示在机器上检测到的管理器。
- 存储有序的栈选择作为
language:::package_manager用于渲染器参数。
阶段 5: 渲染器输入准备
目标: 从用户选择准备确定性渲染器输入。
动作:
- 将每个选定的栈规范化为有序的渲染器输入格式
language:::package_manager。
- 保持选择顺序不变。
- 对于没有明确包管理器选择的语言,使用
language:::(空管理器)。 - 当可用时,保持语言键精确(
Node.js、Python、Rust、Swift、Go、Java);不要发明别名。 - 在此阶段绝不调用在线搜索。
阶段 6: 风格偏好
目标: 选择生成 CLAUDE.md 中的表情符号使用策略。
动作:
用标题 风格 询问:
无表情符号(推荐)使用表情符号存储布尔值use_emojis用于控制输出中表情符号策略文本的渲染器参数。
阶段 7: 组装和生成
目标: 通过一个渲染器脚本生成最终内容。
动作:
- 运行
${CLAUDE_PLUGIN_ROOT}/scripts/render-claude-config.sh带有:
--target-file $HOME/.claude/CLAUDE.md--testing-mode <bdd-tdd|bdd|tdd|none>(来自阶段 3)--include-memory <true|false>--use-emojis <true|false>- 可选
--developer-name和--developer-email - 重复的
--stack "language:::package_manager"条目来自阶段 5
- 让渲染器处理所有组装问题:片段组装、测试内容注入、开发者资料、技术栈部分、可选内存部分和最终写入。
- 不要手动后编辑渲染器输出;如果输出形状错误,修复输入或渲染器行为。
阶段 8: 写入 CLAUDE.md
目标: 报告渲染器的写入和备份结果。
动作:
- 使用渲染器输出来确认:
- 目标路径已写入。
- 当存在现有目标文件时,创建了备份路径。
- 报告:
- 文件和备份位置。
- 开发者信息和测试模式。
- 选定的技术栈和包管理器。
- 渲染器规则应用摘要:哪些栈收到了本地规则行,哪些没有。
最佳实践
- 保持工作流程逐步和确定性。
- 优先使用本地引用而不是生成的散文用于栈指导。
- 保持生成的约束简洁且可执行。
- 在覆盖之前始终备份现有文件。