55 lines
1.8 KiB
Markdown
55 lines
1.8 KiB
Markdown
|
|
# AI 复用操作手册(轻量化)
|
|||
|
|
|
|||
|
|
> 目标:在“不改动现有代码”的前提下,用文档约束 AI 从本仓库抽取能力,并确保抽取结果可验证。
|
|||
|
|
|
|||
|
|
## A. 选模块(先确定要什么)
|
|||
|
|
|
|||
|
|
在开始任何代码生成/迁移前,AI 必须先回答:
|
|||
|
|
|
|||
|
|
- 我要复用的能力类型:`layout | component | plugin | util | store | i18n | api | mock | config`
|
|||
|
|
- 复用方式:`copy-snippet`(复制片段)或 `copy-module`(整目录)
|
|||
|
|
- 目标项目构建工具:`Vue CLI` / `Vite` / 其他
|
|||
|
|
|
|||
|
|
> 推荐:优先 `copy-module`(减少遗漏依赖),再做裁剪。
|
|||
|
|
|
|||
|
|
## B. 定位入口(必须列出入口文件)
|
|||
|
|
|
|||
|
|
- 全局能力:`library/index.ts`(`setupVab`)
|
|||
|
|
- 初始化:`src/main.ts`
|
|||
|
|
- 路由:`src/router/index.ts`
|
|||
|
|
- 状态:`src/store/index.ts`
|
|||
|
|
- i18n:`src/i18n/index.ts`
|
|||
|
|
- Mock:`mock/index.js`
|
|||
|
|
|
|||
|
|
AI 输出中必须包含:入口文件列表 + 为什么需要它们。
|
|||
|
|
|
|||
|
|
## C. 最小闭包(必须列出依赖闭包)
|
|||
|
|
|
|||
|
|
AI 必须同时列出:
|
|||
|
|
|
|||
|
|
- 直接依赖(import 的文件/包)
|
|||
|
|
- 运行时依赖(例如:全局样式、icons、插件自动加载)
|
|||
|
|
- 类型依赖(`types/` 目录与 `/#`)
|
|||
|
|
- alias 依赖(`@`、`@vab`、`~`、`/#`)
|
|||
|
|
|
|||
|
|
> 如果依赖闭包不清晰,禁止直接迁移;应先补规格(见 `openspec-lite/`)。
|
|||
|
|
|
|||
|
|
## D. 迁移后验收(必须可执行)
|
|||
|
|
|
|||
|
|
最低验收:
|
|||
|
|
|
|||
|
|
- `pnpm run serve` 能启动
|
|||
|
|
- 页面可渲染
|
|||
|
|
- 路由能跳转
|
|||
|
|
- i18n/store 能注入
|
|||
|
|
- Mock(若启用)能命中
|
|||
|
|
|
|||
|
|
## E. 输出格式(给 OpenSpec/AI 工具链用)
|
|||
|
|
|
|||
|
|
当 AI 完成一次抽取/复用任务时,输出必须包含:
|
|||
|
|
|
|||
|
|
- **变更文件清单**(新增/修改/删除)
|
|||
|
|
- **复用模块清单**(从哪里来、被用在何处)
|
|||
|
|
- **验收命令**(lint/test/build/serve)
|
|||
|
|
- **风险说明**(可能破坏的点:alias、插件自动加载、生产 mock 等)
|