@andwhy/e2e-pipeline

中文文档
0.15.3发布于 2026/11/04MITES Module近 30 天下载 2026

脚手架全e2e测试管道:代理辅助Playwright测试,CI运行于Vercel预览,以及跟踪生产部署的Checkly监视器

中文使用文档
文档目录8 节
  1. 快开始
  2. 选项
  3. 创建什么
  4. 代理定制
  5. 插件
  6. 文档
  7. 释放
  8. 许可证

@和为什么/e2e-管线

将完整的e2e测试管道纳入任何项目:代理辅助Playwright测试(通过 克劳德代码),CI运行于与Vercel预览相对抗,以及Checkly监视器跟踪出出产部署.

快开始

pnpm dlx @andwhy/e2e-pipeline init

CLI 将配置模板和工作流程写入您的项目并启用 e2e-pipeline Claude 代码插件 对于回波——插件带有代理定义,管弦规则,以及被引导的技巧,克洛德代码则自己不断更新. 安装纯粹是添加剂——它从不制造或覆盖 CLAUDE.md。 。 。 .

该插件位于 plugin/ 本存储库中,按下列市场列出: .claude-plugin/marketplace.json它在开发机上加载(terminal, VS 代码,桌面应用);一个 Claude. ai/code 云段不装入可重播的插件 .

设置和工作流程文件 : E2E 点中的测试 (为什么是机构内部的). 这些都保存在一个地方,而不是每个项目的脚手架上,因此一次发布工作流程变化.

选项

pnpm dlx @andwhy/e2e-pipeline init [--format ts|mjs] [--force] [--reset-config]
旗帜说明
--format配置文件格式( E)ts 或者说 mjs) (中文(简体) ). 使用 mjs 如果TS引发了冲突。 如果省略则提示 .
--force更新软件包拥有的文件并删除预插件副本 .claude/永远不要碰你的配置,工作流程, CLAUDE.md或者你拥有的任何东西.
--reset-config写新字 *.new.{ts,mjs} 每个配置的旁边, 这样你就可以看到它。 汝所出正正等正觉.
--update-workflows用可重复使用的工作流程的当前调用者来替换三个GitHub工作流程,并去掉即时和脚本副本,只读取了0.14.0前的工作流程. 单是脚手架会覆盖一个工作流程.

代理,技能和规则通过插件自我更新;工作流程通过他们调用的可重复使用的工作流程更新. init --force 仅用于下面的软件包文件,以及 init --force --update-workflows 在0.14.0之前迁移回地脚手架.

创建什么

从插件 ——在回放中除了两个条目 .claude/settings.json (承诺):

  • playwright-test-planner, (中文(简体) ), playwright-test-generator, (中文(简体) ), playwright-test-healer 代理人
  • playwright-test-pipeline 技术——有指导的行走; 当有人要求创建或固定测试并通过设置检查、计划 —— 生成 —— 治疗、预览验证和部署来护送测试时触发。 它还持有项目测试规则和代理即时模板.
  • 一个SessionStart 勾起始终如一的代表团规则( 向代理, 永远不要手写 spec body), 仅在承载管道的重置中活动

软件包 - 由 --force,所以不要用手编辑这些:

  • .mcp.json —— Playwright MCP 服务器配置( 项目根)
  • playwright.mcp.config.{ts,mjs} 配置 MCP 服务器负载: 延伸 playwright.config 和清除 testIgnore,因此计划/生成者可以执行正常运行忽略的种子

种子过一次 - 开始点,然后你的项目拥有。 只写在不在场 从未被覆盖的时候, --force 包括:

  • playwright.config.{ts,mjs} —— Playwright 配置模板 BASE_URL 支助, testDir: "./tests/e2e",以及 testIgnore 种子
  • checkly.config.{ts,mjs} ——选中配置了占位符的模板
  • tests/e2e/seed.spec.{ts,js} — Playwright MCP 种子文件 setup_page
  • tests/e2e/helpers/preview-consent-setup.{ts,js} —— 说 prepareVercelPreviewPage (Vercel 部署-保护绕行);项目延长时附有同意逻辑
  • .github/workflows/pr-playwright-tests.yml ——运行套件与PR的Vercel预览并评论结果
  • .github/workflows/checkly-deploy.yml 在生产部署成功时部署监测员
  • .github/workflows/checkly-heal.yml ——部署失败的显示器触发分化和疗效:生产回归立即升级为Slack,当病因出现在Repo自己的代码中时,作为PR草案的最小拟议固定; Stale测试得到固定并被硬化-包括行为中性的测试钩(Cdata-testid)在需要时应用源——并作为人审查PR打开,其自己的预览运行验证了应用侧钩. 直到一个Checkly Webhook警报频道向它发送信号——技能通过这个设置.

三个工作流程文件分别是几行的调用者. 工作在这个仓库里进行 .github/workflows/reusable-*.yml时引用 @main,所以在这里合并 更新每一个消费者的CI 没有PR在那里。 愈合时速templates/github/prompts/checkly-heal.md)和PR评论脚本(templates/github/scripts/playwright-pr-comment.mjs)从这些工作流程内已公布的npm包读取. 该存储库的一次性管理设置,因此其他重置者可将其工作流程称为:设置-行动-一般-访问-“可从组织内的存储库获取”.

工作流程需要存储器的秘密 : CHECKLY_API_KEY, (中文(简体) ), CHECKLY_ACCOUNT_ID, (中文(简体) ), VERCEL_AUTOMATION_BYPASS_SECRET自动愈合 SLACK_WEBHOOK_URL (值为 1Password). ANTHROPIC_API_KEY 是继承下来的组织秘密 由所有重置——无补.

E2E 规格在 tests/e2e/ 因此,回购可以保持单元测试 其他地方在 tests/ 没有Playwright试图运行它们。 种子坐在同一棵树上 不让试验发现 testIgnore 而不是生活在它之外.

代理商视此为默认, 而非规则 : 如果 Repo 已经有规格 在别的地方, 他们写在那里。 见项目测试规则6 规则 playwright-test-pipeline 技术.

.gitignore 增益 Playwright/测试输出和种子条目;现有行被保留.

脚手架文件格式化为项目本身的更漂亮文件 安装了,所以它们匹配 房子风格而不是这个包.

代理定制

这些特工将梵地拉 Playwright 测试代理延长为:

  • 额外工具: 发电机得到 terminal, (中文(简体) ), edit, (中文(简体) ), read_file; 治疗者得到 terminal
  • data-testid 工作流程: 发电机读取计划中推荐的属性,并在录取前添加到源组件中
  • Vercel 共享认证: 每一个 test.describe 包含a beforeEach 以 Vercel 预览部署认证
  • 核查:发电机和愈合器运行 pnpm exec checkly pw-test 当地测试合格后
  • 编号步骤注释:每个逻辑步骤都得到一个注释(// 1. Navigate to…(中文(简体) )
  • 地方意识: 没有硬编码域或特定本地端的 URL 模式
  • 可选输入草稿: 计划员可以验证用户提供的行程草稿与活页

插件

plugin/ 是标准布局中的 Claude 代码插件 : agents/, (中文(简体) ), skills/playwright-test-pipeline/, (中文(简体) ), hooks/,以及 .claude-plugin/plugin.json。 。 。 . agents/ 生成—— npm run build:plugin 内嵌 templates/claude/partials/_robustness-core.md 进入源 templates/claude/agents/ 并同步显示的版本 package.json。 。 。 . 输出是因为一个市场是一个 git 克隆; CI 失败拉动 请求其产出为停滞的(npm run check:plugin) (中文(简体) ).

在任何消费者回购中,在发布前尝试分支:

/plugin marketplace add why-agency/why-e2e-pipeline#<branch>

或启动 Claude 代码 --plugin-dir ../why-e2e-pipeline/plugin。 。 。 .

CI 中的自动愈合不会加载插件( 无头运行的 API 密钥有) 无插件来源:工作流程副本 plugin/agents/playwright-test-healer.md 因此 plugin/ npm 中的船舶 套件也一样.

文档

安装和使用指南 docs/notion/ 并且是来源于 事实 合并更改为 main 将其公布在地名网页上,盖章 与他们所记录的软件包版本。 在Notion中直接制作的编辑是 在下次出版时被覆盖 .

出版需要a NOTION_TOKEN 储存库秘密——一个编号PAT,或 内部整合标志,其整合已与两页共享. 拉请求运行 node scripts/publish-notion.mjs --dry-run转换 不写入, 无法在合并前完成 .

邮票显示 最新版本发布至 npm,而不是该版本 package.json。描述一个未发行版本的文档发送人们寻找 无法安装的特性 .

释放

弹出 version 内 package.json,添加一个 CHANGELOG.md 条目,合并到 main。 。 。 . 即通释出.

.github/workflows/release.yml 比较 package.json 对手的版本 没有。 如果两者不同,则发布并标记承诺;如果匹配,则退出 安静地,所以普通的合并 发布什么。 它需要一个 NPM_TOKEN 仓库 拥有出版权的秘密 @andwhy 范围.

发布时没有npm出处,这需要公共源寄存器.

许可证

麻省理工学院

版本与发布记录

@andwhy/e2e-pipeline 共发布 21 个版本,首次发布于 2026/08/28;过去 12 个月发布了 21 个版本。

版本发布日期距今
0.15.3latest2026/11/043 天前
0.15.22026/11/043 天前
0.15.12026/11/043 天前
0.15.02026/11/043 天前
0.14.62026/11/044 天前
0.14.52026/11/044 天前

关于 @andwhy/e2e-pipeline 的常见问题

@andwhy/e2e-pipeline 是什么?

脚手架全e2e测试管道:代理辅助Playwright测试,CI运行于Vercel预览,以及跟踪生产部署的Checkly监视器

如何安装 @andwhy/e2e-pipeline?

在项目目录运行 npm install @andwhy/e2e-pipeline,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 e2e-pipeline,可以用 npx e2e-pipeline 直接运行。

@andwhy/e2e-pipeline 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/andwhy__e2e-pipeline 是否存在。

@andwhy/e2e-pipeline 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@andwhy/e2e-pipeline 可以商用吗?

@andwhy/e2e-pipeline 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@andwhy/e2e-pipeline 的下载量有多少?

根据 npm 官方下载统计,@andwhy/e2e-pipeline 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,026 次,日均约 68 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@andwhy/e2e-pipeline 还在维护吗?

最新版本 0.15.3 发布于 2026/11/04(3 天前);至今共发布 21 个版本,其中过去 12 个月发布了 21 个;首次发布于 2026/08/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。