db6a51d617
一、附录 A 从"手抄表"改成"可再生成的命令"
check-api-parity.py 加 --extra,现算"代码有、契约 §4 没有"的接口 = 41 个
(旧手抄表写 83/62/21,已差近一倍,而且没人会记得回来改它)。
并按"谁去改什么"分六类 —— 只有 E 类(8 个)要客户定口径,其余是文档侧补记。
二、F-6 已修:frontend-pc 的 Mock 说明
AGENTS.md 那句改正之外,连带修了 .agents/skills/project-api/SKILL.md ——
它整篇仍以 vite-plugin-mock / mock/** 为主线,而该项目里 mock/ 目录与插件都已删除。
只改指路牌、不改路的尽头,等于没改。
三、docs/03 两处文档内部口径冲突加 ⚠️ 注(不改口径,只把冲突摆明)
§2 notifyBizType 的 5/6 与 §13.5、落库值不一致 → 实现以 §13.5 为准(催报去重按 5);
§3.6/§9.5 的 collect_file.source 字段表(入口来源)与建表注释(谁传的)冲突 →
实现以建表口径为准。两处都写明"待客户确认",见 F-30 / F-38 / F-39。
四、check-test-profile.py 加固(新增 F-98)
· 子进程输出落盘(不再用没人读的 PIPE):失败时能看见"停在哪一行",
成功时打出启动用时(基线 ~10 秒 / 72 行 / 9.5KB);
· 开跑前按 jar + profile 清残留 JVM,且保留 dev 后端(E2E 正打着它);
· 等待期间每 15 秒报一次进度,卡住时不留沉默。
教训:随机端口这个防撞设计把残留 JVM 藏起来了 —— 撞不到端口就永远发现不了,
于是表现成"时好时坏",而失败时连日志都读不到。
验证:python scripts/verify-all.py --with-e2e → 通过 8 / 失败 0 / 跳过 0
(E2E 36 脚本 / 1548 断言 / 278s;prodguard 9/9;test profile 能起)
python scripts/verify-docs.py → 22 项全部通过
55 lines
2.2 KiB
Markdown
55 lines
2.2 KiB
Markdown
# AGENTS.md
|
||
|
||
面向 AI 编码助手的项目指南。规范以 `.agents/` 为唯一来源。
|
||
|
||
## 常驻规则(Agent 行为准则)
|
||
|
||
> 源文件:`.agents/rules/agent.md`(修改后请同步本节)
|
||
|
||
- 始终使用**简体中文**与用户沟通。
|
||
- 未经用户明确要求,**不要**创建说明文档、执行 git commit/push、修改 git 配置。
|
||
- 改动范围最小化;优先复用项目已有抽象,禁止凭空引入新架构。
|
||
- 改代码前先阅读项目既有实现;任务完成后视情况运行 lint / typecheck。
|
||
- **按需读取** skills,不要预加载全部。
|
||
|
||
**编码前按任务加载 skill:**
|
||
|
||
| 任务 | 技能 |
|
||
|------|------|
|
||
| 写/改 `.vue` | `.agents/skills/code-vue/SKILL.md` |
|
||
| 写/改样式 | `.agents/skills/code-css/SKILL.md` |
|
||
| 写/改 `.ts` / composable | `.agents/skills/code-ts/SKILL.md` |
|
||
| 项目约定、Gi 组件 | `.agents/skills/project-guide/SKILL.md` |
|
||
| CRUD 列表/表单 | `.agents/skills/project-crud/SKILL.md` |
|
||
| API / Mock | `.agents/skills/project-api/SKILL.md` |
|
||
| 提交代码(git commit) | `.agents/skills/git-commit/SKILL.md` |
|
||
|
||
## 按需技能(`.agents/skills/`)
|
||
|
||
| 场景 | 文件 |
|
||
|------|------|
|
||
| TS 命名、导入、Lint | `code-ts/SKILL.md` |
|
||
| Vue SFC、Emits、Ref | `code-vue/SKILL.md` |
|
||
| 样式、BEM、Stylelint | `code-css/SKILL.md` |
|
||
| 项目总览、技术栈、Gi 约定 | `project-guide/SKILL.md` |
|
||
| CRUD 列表/表单 | `project-crud/SKILL.md` |
|
||
| API 与 Mock | `project-api/SKILL.md` |
|
||
| Git 提交 | `git-commit/SKILL.md` |
|
||
|
||
## 快速入口
|
||
|
||
```bash
|
||
pnpm dev # 开发(/api 代理到 http://localhost:8080,没有 Mock)
|
||
pnpm build # 生产构建
|
||
pnpm typecheck # vue-tsc
|
||
pnpm lint # ESLint
|
||
pnpm lint:style # Stylelint
|
||
```
|
||
|
||
- 路径别名:`@` → `src/`,`~` → 项目根目录
|
||
- **开发没有 Mock**:`mock/` 目录与 `vite-plugin-mock` 都已删除,`pnpm dev` 把 `/api`
|
||
代理到 `http://localhost:8080`(见 `vite.config.ts` 的 `server.proxy` 与
|
||
`.env.development` 的 `VITE_API_BASE_URL`)→ **后端不起着就没有数据**。
|
||
我们的接口模块在 `src/apis/xt/`(`apis/system|user|…` 是 Gi 模板自带的)
|
||
- 登录演示账号见 `README.md`(如 admin / 123456)
|