用途:为当前项目生成或更新 Markdown e2e 用例规格。主张先理解代码,再验证服务,最后沉淀可复用的流程文档,避免只靠页面试错。
主要能力:从代码而非页面截图提炼候选流程,关注页面入口与导航路径、表单提交与关键用户动作、路由跳转与守卫、关键状态切换(如未登录到已登录)、页面调用的 API 与 server action/mutation/loader/fetcher,以及影响成败的校验与错误态、成功态。只保留有明确用户目标和终态断言的流程。
输出位置策略:优先沿用项目已有 e2e 规格目录,例如 specs/e2e/、docs/e2e/、tests/e2e/specs/;多个候选时选更接近规格文档而非自动化脚本的目录;未发现约定则创建 specs/e2e/。每个完整流程对应一个文件:<selected-case-dir>/<flow-slug>.md,本次执行中目录保持一致。
工作流:一、采集项目上下文,优先读取 package.json、pnpm-workspace.yaml、turbo.json、nx.json、vite/next/nuxt 配置、Makefile、docker-compose、README 及路由页面目录;用户传入的参数视为范围提示,如路由、功能或页面入口。二、从代码提炼候选流程。三、推断启动方式,常见候选包括 pnpm dev、npm run dev、yarn dev、pnpm --filter <app> dev、make dev、docker compose up <service>;无法稳定判断时不盲跑,应告知已检查文件、可疑入口与缺失信息。四、启动服务验证主路径,可用浏览器自动化时优先验证真实交互,否则至少确认端口监听、入口页面返回正常内容和关键 API 或重定向链。五、读取已有用例并按 entry route、primary user goal、critical state transition、terminal assertion 判断 new/update/skip。六、按模板写入或更新,保留稳定 Flow ID 与文件名,更新时追加 Change Log。七、汇报新增、更新、跳过的流程及原因。
限制与边界:不要先跑服务再猜流程;不要创建按页面切碎的伪流程文档;不要生成 v2、new、latest 一类散乱文件名;一次性本地异常应放入 Known Variants 或 Change Log;selector 细节不写入主叙述。需要账号、验证码或外部服务时,保留文档并在 Preconditions 与 Known Variants 中标注缺口。