@earlyai / cli
ai驱动的CLI工具,为TypeScript/JavaScript代码库生成单元测试。
需要Node.js >= 20.19.0。
安装为 early 命令(ISC授权)。
npm install -g @earlyai/cli
命令
gather-stats
收集合并pr中早期ai生成的测试文件的采用统计数据。分析这 .early.test.* 文件被添加、修改或删除,并向EarlyAI后端报告采用指标。
别名: stats
early gather-stats [options]
选项
| 选项 | Env Var | 默认的 | 描述 |
|---|---|---|---|
--api-key <key> | API_KEY | - - - - - - | 早期ai API密钥(必需) |
--token <token> | TOKEN | - - - - - - | GitHub/Bitbucket令牌(必需) |
--git-org <org> | GIT_ORG | 自动检测 | Git组织名称 |
--git-repo <repo> | GIT_REPO | 自动检测 | Git存储库名称 |
--scm-provider <provider> | SCM_PROVIDER | github | SCM供应商(github 或者 bitbucket) |
--ref-name <ref> | REF_NAME | - - - - - - | 总行名称(必填) |
--backfill [value] | BACKFILL | false | 忽略上次运行的时间戳并重新处理最近的pr |
--max-prs <number> | MAX_PRS | 5 | 首次运行或回填时可处理的最大pr数 |
--pr-number <number> | PR_NUMBER | - - - - - - | 按编号处理单个PR |
--summary-only [value] | SUMMARY_ONLY | true | 报告每个PR的采用摘要。何时 false,还包括每个文件的详细信息(文件路径、更改类型)和每个提交的故障 |
它是如何工作的
默认为增量。 每次运行时,collect -stats都会记录一个时间戳。下一次运行只处理在该时间戳之后合并的pr -没有数量上限。
第一次运行。 如果之前的运行不存在,则没有时间戳可以开始。相反,它处理最近合并的pr直到 --max-prs (默认值:5)。
回填模式(--backfill)。 重置“since”时间戳,并重新处理最近合并的pr --max-prs. 使用它来重新处理丢失的pr或在错误修复后刷新数据。
单PR模式(--pr-number)。 只获取和处理指定的PR。 --backfill, --max-prs. 使用它刷新特定PR的数据。
被报道的内容。 合并或关闭的PR包含在报告中,如果:
- 它的差异包含
.early.test.*文件(添加、修改或删除),或 - 它的任何提交包含
.early.test.*文件,或 - 它有一个EarlyAI工作流运行(早期运行在它上面,即使没有提交测试文件)
开放pr和没有早期ai参与的pr被跳过。
PR状态跟踪。 每个报告的PR包括其状态(MERGED 或者 CLOSED). 这被发送为 prState 在采用条目中,允许后端存储它 pr_change_type 用于SUMMARY记录。UI可以使用它来区分合并的pr(绿点)和未合并的关闭pr。
仅摘要模式(--summary-only违约: true)。 默认情况下,只报告每个PR的采用摘要(添加、修改、删除或更改了多少个测试)。这会在后端为每个PR创建一个SUMMARY记录。集 --summary-only false 还包括每个文件的详细信息(文件路径、更改类型)和每个提交的分解——对调试或详细审计很有用。
示例
# Normal incremental run
early gather-stats --api-key $KEY --token $TOKEN --ref-name master
# First run or backfill with more PRs
early gather-stats --api-key $KEY --token $TOKEN --ref-name master --backfill --max-prs 50
# Refresh data for a specific PR
early gather-stats --api-key $KEY --token $TOKEN --ref-name master --pr-number 1419