--- name: project-init description: A0 项目初始化——从插件模板幂等地复制 CLAUDE.md / docs/01-需求清单/index.md / docs/04-技术规范.md / docs/08-模块任务管理.md(已存在则跳过),并初始化 Git(如未初始化)。session-start 在 docs/08 缺失时派发本 skill。 user-invocable: false allowed-tools: Glob Edit Skill Bash(mkdir *) Bash(cp -n *) Bash(git init) Bash(command -v *) Bash(uname *) Bash(brew *) Bash(apt *) Bash(apt-get *) Bash(yum *) Bash(apk *) Bash(export PATH=*) Bash(echo *) Bash(cat *) --- **所有输出必须使用中文。** 你负责在项目目录中创建初始文件结构,已存在的文件不覆盖。 ## 执行步骤 ### 步骤 0:打印当前位置流程图 用 `Bash` 执行 `cat` 命令向用户展示当前位置流程图(stdout 即 ASCII 框图): ```bash cat "${CLAUDE_PLUGIN_ROOT}/skills/plan/project-init/banners/flow.txt" ``` ### A. 幂等复制模板文件 用 `Bash` 一次性完成。`cp -n` 表示"不覆盖已存在的文件": ```bash mkdir -p docs/01-需求清单 cp -n "${CLAUDE_SKILL_DIR}/templates/CLAUDE-template.md" CLAUDE.md cp -n "${CLAUDE_SKILL_DIR}/templates/docs-01-index-template.md" docs/01-需求清单/index.md cp -n "${CLAUDE_SKILL_DIR}/templates/docs-04-stack-template.md" docs/04-技术规范.md cp -n "${CLAUDE_SKILL_DIR}/templates/docs-08-initial-template.md" docs/08-模块任务管理.md ``` 完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选: - ` - [ ] 项目文件骨架已创建(CLAUDE.md + docs/01-需求清单/index.md + docs/04-技术规范.md)` ### B. 依赖检查 + 自动安装(命令行工具) 对 **git、mysql** 两个工具依次执行以下流程。 1. 如果缺失,尝试自动安装。 2. 如果检测到不在 PATH,尝试添加进 PATH,并加载。 全部通过后打印单行汇总再进入步骤 C: ``` [project-init] 依赖检查: git ✓ mysql ✓ ``` 完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选: - ` - [ ] 依赖检查通过` ### C. 初始化 Git(如尚未初始化) 用 `Glob` 检查 `.git/` 目录是否存在。 - 不存在 → 用 `Bash` 执行 `git init`。 - 已存在 → 跳过。 完成后,用 `Edit` 在 `docs/08-模块任务管理.md` 中勾选(A0 子项 + A0 顶层): - ` - [ ] Git 已初始化` - `- [ ] A0 项目初始化 — project-init` ### D. 打印完成横幅并进入 A1 向用户输出: ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [project-init] 项目初始化完成 已创建: ✓ CLAUDE.md(从插件模板复制) ✓ docs/01-需求清单/index.md(待人工填写模块索引) ✓ docs/04-技术规范.md(默认技术栈,A1 让用户确认) ✓ docs/08-模块任务管理.md(全流程进度跟踪) 已勾选:A0 项目初始化 下一步:A1 scope-lock(填写项目概述 + 技术栈 + 需求索引 + REQ 卡片) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` 立即调用 `Skill(scope-lock)` 进入 A1,不等用户手动输入。 ## 参考 - `${CLAUDE_SKILL_DIR}/templates/CLAUDE-template.md`(项目级 CLAUDE.md 模板) - `${CLAUDE_SKILL_DIR}/templates/docs-01-index-template.md`(需求索引初稿) - `${CLAUDE_SKILL_DIR}/templates/docs-04-stack-template.md`(默认技术栈) - `${CLAUDE_SKILL_DIR}/templates/docs-08-initial-template.md`(A 阶段进度初始化) - 下游:`scope-lock`(A1,自动派发)