--- name: init-project description: 初始化整个项目,清除模板自带的示例内容(src/pages/demo、src/pages/content、src/components/Github、src/servers/content、menus/demo 及相关 i18n),并连带删除代码中的 import 与引用。执行时会先以 dry-run 预览将要删除的文件和将要修改的引用,经用户确认后再真正执行。 --- # init-project ## Description 初始化项目,丢弃模板自带的示例内容。该技能会调用 `.claude/skills/init-project/scripts/` 下的 Python 清理脚本,删除以下目标并连带清理代码中的引用: - 页面:`src/pages/demo/`、`src/pages/content/` - 组件:`src/components/Github/` - 接口:`src/servers/content/` - 静态菜单:`src/menus/demo.ts` 及 `src/menus/index.ts` 中的 demo 引用 - 国际化:`src/locales/zh/content.ts`、`src/locales/en/content.ts` 同时清理以下代码引用: - `src/layouts/components/Header.tsx`:删除 `import Github from '@/components/Github';` 与 `` 标签 - `src/menus/index.ts`:删除 `import { demo } from './demo';` 与 `...(demo as SideMenu[])` ## Instructions ### 1. 执行清理脚本 调用 Python 脚本完成清理,**必须先做 dry-run 预览,再确认删除**: ```bash # 1) dry-run 预览(不删除任何文件,仅打印将要删除的文件和将要修改的引用) python .claude/skills/init-project/scripts/cleanup.py --dry-run # 2) 确认无误后,真正执行删除 python .claude/skills/init-project/scripts/cleanup.py ``` 或使用包装脚本(Windows 下推荐): ```bash bash .claude/skills/init-project/scripts/run.sh --dry-run # 预览 bash .claude/skills/init-project/scripts/run.sh # 执行 ``` ### 2. 确认流程(重要) 1. 先运行 `--dry-run`,将脚本输出的「待删除文件清单」和「待修改引用清单」展示给用户。 2. 明确询问用户是否确认执行删除。 3. 用户确认后再运行不带 `--dry-run` 的命令。 4. 执行完成后,建议运行 `pnpm lint` 和 `pnpm dev` 验证项目可正常构建运行。 ### 3. 脚本行为说明 脚本(`cleanup.py`)会: - 校验项目根目录(默认当前工作目录,可通过 `--root ` 指定)。 - 计算所有待删除的文件/目录(仅删除存在的)。 - 计算所有待修改的引用文件(按精确字符串匹配替换)。 - `--dry-run` 模式下只输出计划,不写盘;非 dry-run 模式下执行删除与替换,并跳过已不存在的目标。 - 仅做精确字符串替换,不会误伤业务代码;替换前会检查目标字符串是否存在。 ### 4. 替换规则(精确匹配) | 文件 | 替换内容 | | --- | --- | | `src/layouts/components/Header.tsx` | 删除 `import Github from '@/components/Github';\n` 整行,删除 ` \n` 整行 | | `src/menus/index.ts` | 删除 `import { demo } from './demo';\n` 整行,将 ` ...(demo as SideMenu[]),\n` 整行删除 | > 注:脚本使用精确字符串匹配。如果上述文件已被人为修改导致字符串不再精确匹配,脚本会跳过该替换并在输出中提示「未找到匹配」,此时需人工检查。 ### 5. 安全检查 - 脚本默认不会删除脚本自身所在目录之外的任意文件,仅处理上述明确的目标。 - 所有路径均相对项目根目录计算,不会跨项目删除。 - 若目标已被删除(重复执行),脚本会安全跳过。