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 项全部通过
2.2 KiB
2.2 KiB
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 |
快速入口
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)