β Frequently Asked Questions β Early-Catch (GitHub Action)
This page covers PR-specific behavior.
For shared questions (API keys, tokens, install), see the Fundamentals FAQ.
π Do I need a GitHub token even if auto-commit is disabled?β
Yes. The token input is always required to read PR metadata and post the summary comment.
Use:
token: ${{ secrets.GITHUB_TOKEN }}
For token scopes and alternatives, see Token Requirements
π Where do I get my API key?β
See API Key
π Which PR event should I use to trigger Early-Catch?β
Recommended:
ready_for_reviewβ if you use Draft PRsopenedβ if PRs are opened when ready
Avoid synchronize unless you want to retry on every commit.
See Trigger example
π― Whatβs the current coverage threshold?β
0%.
Early-Catch only targets functions with zero coverage today.
Threshold will be configurable in a future release.
π Which languages are supported?β
- β JavaScript
- β TypeScript
- π‘ Python (coming soon)
No support for other languages yet.
π§ͺ Which test frameworks are supported?β
- β Jest (required today)
- π‘ Vitest (coming soon)
- βͺ Mocha (planned)
If Jest isnβt configured, test generation wonβt run.
π Will it overwrite my existing test files?β
No. It only generates new test files.
Existing files are left unchanged.
π Where are test files stored?β
Set with test-structure:
siblingFolder- next to source filerootFolder- centralizedtests/folder
See Test Structure
π¦ Will every PR always generate tests?β
No. Only if the PR includes zero-covered functions.
Otherwise, the action finishes without writing files.
β Will it ever commit broken tests?β
Never.
Only tests that compile cleanly and pass Jest are committed.
π Can I review the tests before commit?β
Yes. Set:
auto-commit: false
This will skip auto-commit so you can review changes manually.
π§± Does it support monorepos?β
Yes β if each workspace/package has a valid Jest config.
Early-Catch runs Jest per-package for coverage analysis.
π» Can I run Early-Catch locally?β
No. Use the Early CLI instead for local or non-GitHub CI environments.
π§Ή What if my repo has lint/format rules?β
Use the following inputs to auto-fix files before validation/commit:
| Input | Purpose |
|---|---|
lint-command | ESLint fixes (e.g., eslint $early_filename --fix) |
prettier-command | Formatting (e.g., prettier $early_filename --write) |
If not set, commits may fail if hooks or CI block unformatted files.
π¬ Still need help?β
- π¬ Email us at support@startearly.ai
- Slack (for invited teams)