@testdriverai/agent 7.11.240-test → 7.11.241-canary
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/skills/testdriver-agent/SKILL.md +174 -91
- package/ai/skills/testdriver-assert/SKILL.md +73 -269
- package/ai/skills/testdriver-aws-setup/SKILL.md +194 -312
- package/ai/skills/testdriver-bring-your-own-machine/SKILL.md +137 -204
- package/ai/skills/testdriver-cache/SKILL.md +142 -149
- package/ai/skills/testdriver-caching/SKILL.md +97 -87
- package/ai/skills/testdriver-captcha/SKILL.md +126 -111
- package/ai/skills/testdriver-ci-cd/SKILL.md +153 -542
- package/ai/skills/testdriver-click/SKILL.md +74 -229
- package/ai/skills/testdriver-client/SKILL.md +175 -229
- package/ai/skills/testdriver-customizing-devices/SKILL.md +72 -250
- package/ai/skills/testdriver-dashcam/SKILL.md +71 -404
- package/ai/skills/testdriver-debugging-with-screenshots/SKILL.md +103 -369
- package/ai/skills/testdriver-double-click/SKILL.md +46 -67
- package/ai/skills/testdriver-errors/SKILL.md +102 -176
- package/ai/skills/testdriver-events/SKILL.md +170 -327
- package/ai/skills/testdriver-exec/SKILL.md +92 -256
- package/ai/skills/testdriver-extract/SKILL.md +69 -170
- package/ai/skills/testdriver-find/SKILL.md +140 -736
- package/ai/skills/testdriver-focus-application/SKILL.md +69 -246
- package/ai/skills/testdriver-generating-tests/SKILL.md +102 -136
- package/ai/skills/testdriver-hosted/SKILL.md +79 -143
- package/ai/skills/testdriver-hover/SKILL.md +62 -235
- package/ai/skills/testdriver-locating-elements/SKILL.md +71 -366
- package/ai/skills/testdriver-making-assertions/SKILL.md +114 -72
- package/ai/skills/testdriver-mcp-setup/SKILL.md +79 -62
- package/ai/skills/testdriver-mouse-down/SKILL.md +46 -124
- package/ai/skills/testdriver-mouse-up/SKILL.md +45 -128
- package/ai/skills/testdriver-options/SKILL.md +73 -46
- package/ai/skills/testdriver-parse/SKILL.md +95 -184
- package/ai/skills/testdriver-performing-actions/SKILL.md +101 -91
- package/ai/skills/testdriver-press-keys/SKILL.md +59 -299
- package/ai/skills/testdriver-provision/SKILL.md +135 -179
- package/ai/skills/testdriver-quickstart/SKILL.md +24 -8
- package/ai/skills/testdriver-quickstart-claude/SKILL.md +84 -0
- package/ai/skills/testdriver-quickstart-github/SKILL.md +62 -32
- package/ai/skills/testdriver-quickstart-manual/SKILL.md +59 -32
- package/ai/skills/testdriver-quickstart-vscode/SKILL.md +96 -0
- package/ai/skills/testdriver-redraw/SKILL.md +100 -164
- package/ai/skills/testdriver-reusable-code/SKILL.md +95 -199
- package/ai/skills/testdriver-right-click/SKILL.md +45 -88
- package/ai/skills/testdriver-screenshot/SKILL.md +47 -201
- package/ai/skills/testdriver-screenshots/SKILL.md +86 -136
- package/ai/skills/testdriver-scroll/SKILL.md +71 -154
- package/ai/skills/testdriver-secrets/SKILL.md +94 -90
- package/ai/skills/testdriver-self-hosted/SKILL.md +82 -140
- package/ai/skills/testdriver-test-results-json/SKILL.md +165 -202
- package/ai/skills/testdriver-type/SKILL.md +56 -304
- package/ai/skills/testdriver-variables/SKILL.md +119 -80
- package/ai/skills/testdriver-wait/SKILL.md +31 -29
- package/ai/skills/testdriver-what-is-testdriver/SKILL.md +80 -32
- package/package.json +1 -1
|
@@ -1,99 +1,182 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: testdriver:agent
|
|
3
|
-
description: How the TestDriver agent
|
|
3
|
+
description: How the TestDriver agent reviews pull requests, builds tests, and answers @mentions on GitHub.
|
|
4
4
|
---
|
|
5
5
|
<!-- Generated from agent.mdx. DO NOT EDIT. -->
|
|
6
6
|
|
|
7
|
-
The TestDriver agent is an AI teammate in your GitHub repository.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
-
|
|
90
|
-
|
|
91
|
-
|
|
7
|
+
The TestDriver agent is an AI teammate that lives in your GitHub repository.
|
|
8
|
+
|
|
9
|
+
- It reviews every pull request's code for bugs.
|
|
10
|
+
- For user-visible changes, it drives your app in a real sandbox and reports what happened.
|
|
11
|
+
- It writes, runs, and maintains your end-to-end tests.
|
|
12
|
+
|
|
13
|
+
To install it, see [Add TestDriver to GitHub](/quickstart-github).
|
|
14
|
+
|
|
15
|
+
## What the agent does
|
|
16
|
+
|
|
17
|
+
The agent does two jobs:
|
|
18
|
+
|
|
19
|
+
- **Code review.** It reviews pull requests like a senior engineer. It reads the diff for logic errors, security problems, and regressions. When it can, it runs the change in a sandbox to prove what it finds.
|
|
20
|
+
- **Test building.** It writes new TestDriver tests, debugs and fixes failing ones, and keeps them up to date.
|
|
21
|
+
|
|
22
|
+
It declines work outside that scope:
|
|
23
|
+
|
|
24
|
+
- It doesn't edit your application code.
|
|
25
|
+
- It doesn't fix product bugs.
|
|
26
|
+
- It doesn't act as a general coding assistant.
|
|
27
|
+
|
|
28
|
+
When it finds a bug in a pull request, it reports the bug instead of pushing a fix.
|
|
29
|
+
|
|
30
|
+
## How it responds on each surface
|
|
31
|
+
|
|
32
|
+
The agent behaves differently depending on what woke it up:
|
|
33
|
+
|
|
34
|
+
| Event | Trigger | What the agent does |
|
|
35
|
+
| --- | --- | --- |
|
|
36
|
+
| Pull request opened, or new commits pushed | Automatic | Reviews the change and posts one review comment |
|
|
37
|
+
| Issue opened | Automatic | Acts on the request in the issue, or onboards a new user |
|
|
38
|
+
| @mention on an issue or pull request | You mention the agent | Works with you interactively in the thread |
|
|
39
|
+
|
|
40
|
+
Automatic turns are unsolicited, so the agent posts only when it has something useful to say.
|
|
41
|
+
|
|
42
|
+
When you @mention it, someone is waiting. It always replies and narrates its progress.
|
|
43
|
+
|
|
44
|
+
## Pull request reviews
|
|
45
|
+
|
|
46
|
+
The agent reviews a pull request without being asked when it's opened or gets new commits.
|
|
47
|
+
|
|
48
|
+
<Steps>
|
|
49
|
+
<Step title="Triage the change">
|
|
50
|
+
|
|
51
|
+
The agent reads the changed files and decides whether there's anything to review or run.
|
|
52
|
+
|
|
53
|
+
A pull request that only touches lockfiles, generated output, or formatting gets an 👀 reaction and no comment.
|
|
54
|
+
|
|
55
|
+
</Step>
|
|
56
|
+
<Step title="Read the code">
|
|
57
|
+
|
|
58
|
+
It reviews the diff like a senior engineer. It opens surrounding files only when the diff isn't enough on its own.
|
|
59
|
+
|
|
60
|
+
It looks for:
|
|
61
|
+
|
|
62
|
+
- Logic errors
|
|
63
|
+
- Unhandled error paths
|
|
64
|
+
- Security problems
|
|
65
|
+
- Race conditions
|
|
66
|
+
- Broken contracts for callers
|
|
67
|
+
- Risky logic with no tests
|
|
68
|
+
|
|
69
|
+
It skips style issues that a linter would catch.
|
|
70
|
+
|
|
71
|
+
</Step>
|
|
72
|
+
<Step title="Run the change">
|
|
73
|
+
|
|
74
|
+
This step runs if the change has a user-visible surface and your installation is signed in to TestDriver. The agent:
|
|
75
|
+
|
|
76
|
+
- Starts a sandbox.
|
|
77
|
+
- Drives the exact flow the diff touches.
|
|
78
|
+
- Runs any existing tests that cover it.
|
|
79
|
+
- Writes and runs a new test for the change.
|
|
80
|
+
|
|
81
|
+
While it works, a single comment on the pull request shows the latest screenshot. The comment finishes with the run recording.
|
|
82
|
+
|
|
83
|
+
</Step>
|
|
84
|
+
<Step title="Post the review">
|
|
85
|
+
|
|
86
|
+
It posts one review comment with:
|
|
87
|
+
|
|
88
|
+
- A summary and verdict
|
|
89
|
+
- A short walkthrough of each meaningful file
|
|
90
|
+
- Its findings
|
|
91
|
+
|
|
92
|
+
On a re-review after a push, it reassesses its earlier findings against the new code. It drops the fixed ones and checks the new commits for regressions.
|
|
93
|
+
|
|
94
|
+
</Step>
|
|
95
|
+
</Steps>
|
|
96
|
+
|
|
97
|
+
### What's in a finding
|
|
98
|
+
|
|
99
|
+
Each finding has:
|
|
100
|
+
|
|
101
|
+
- A file and line
|
|
102
|
+
- A severity: `critical`, `major`, `minor`, or `nit`
|
|
103
|
+
- A category
|
|
104
|
+
- A suggested replacement, when the fix is small and certain
|
|
105
|
+
|
|
106
|
+
Findings are also labelled by how the agent found them:
|
|
107
|
+
|
|
108
|
+
- **`observed`**: the agent saw the bug happen during a run in the sandbox.
|
|
109
|
+
- **`suspected`**: the agent inferred the bug from reading the code.
|
|
110
|
+
|
|
111
|
+
If a run confirms a suspected finding, the agent upgrades it to `observed` instead of listing it twice.
|
|
112
|
+
|
|
113
|
+
If the change looks correct, the review says so in a sentence and has no findings.
|
|
114
|
+
|
|
115
|
+
### The review never blocks a merge
|
|
116
|
+
|
|
117
|
+
Reviews are posted as GitHub `COMMENT` reviews. The agent never approves a pull request or requests changes, so it can't gate a merge.
|
|
118
|
+
|
|
119
|
+
### Tests from a review
|
|
120
|
+
|
|
121
|
+
During a review, the agent may write a test worth keeping: one that passes, or one that cleanly reproduces a bug.
|
|
122
|
+
|
|
123
|
+
It opens a separate pull request for that test and links it from the review. The pull request uses a `testdriver/session/…` branch and targets your default branch.
|
|
124
|
+
|
|
125
|
+
It never pushes to the branch it's reviewing.
|
|
126
|
+
|
|
127
|
+
### Pull requests the agent skips
|
|
128
|
+
|
|
129
|
+
- **Draft pull requests** get no review until they're marked ready for review.
|
|
130
|
+
- **Pull requests opened by bots** are never reviewed. This includes the agent's own test pull requests, so it doesn't review its own work.
|
|
131
|
+
- **Teams without a subscription** don't get automatic reviews, because automatic review is a paid feature. If your team has used its allowance, the pull request gets one short notice explaining why there's no review.
|
|
132
|
+
|
|
133
|
+
## Issues
|
|
134
|
+
|
|
135
|
+
When an issue is opened, the agent reads its title and description:
|
|
136
|
+
|
|
137
|
+
- **If the issue describes a test task**, the agent does it. It asks you to sign in only if a step needs it.
|
|
138
|
+
- **If the issue is empty** and you look like a new user, the agent introduces itself. It walks you through signing in to TestDriver and creating your first test.
|
|
139
|
+
- **If the agent can't help with the issue**, such as a product bug report or a feature request, it stays silent instead of posting an off-topic reply.
|
|
140
|
+
|
|
141
|
+
Whenever the agent creates or changes a test file, it finishes by opening a pull request with the test.
|
|
142
|
+
|
|
143
|
+
## @mentions
|
|
144
|
+
|
|
145
|
+
Mention the agent on an issue or pull request to start an interactive conversation. Because you asked directly, the agent:
|
|
146
|
+
|
|
147
|
+
- Posts progress updates and sandbox screenshots as it works.
|
|
148
|
+
- Answers follow-up questions in the thread.
|
|
149
|
+
- Opens a pull request with any test it writes.
|
|
150
|
+
|
|
151
|
+
On a pull request, an @mention gets you this play-by-play instead of the quiet automatic review.
|
|
152
|
+
|
|
153
|
+
### Sign out
|
|
154
|
+
|
|
155
|
+
To revoke your installation's TestDriver sign-in, mention the agent with `logout`:
|
|
156
|
+
|
|
157
|
+
```text
|
|
158
|
+
@testdriverai logout
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
`sign out` and `disconnect` work too.
|
|
162
|
+
|
|
163
|
+
The agent revokes the installation's shared sign-in and shuts down its live sandbox. The next person to mention it is asked to sign in again.
|
|
92
164
|
|
|
93
165
|
## Signing in
|
|
94
166
|
|
|
95
|
-
Reading a diff
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
findings
|
|
167
|
+
Reading a diff doesn't need a TestDriver account, but running your app does.
|
|
168
|
+
|
|
169
|
+
When your installation isn't signed in, the agent still reviews pull requests by reading the code. It marks every finding `suspected`.
|
|
170
|
+
|
|
171
|
+
Signing in lets it run each change, so findings it proves become `observed`.
|
|
172
|
+
|
|
173
|
+
## Related
|
|
174
|
+
|
|
175
|
+
<CardGroup cols={2}>
|
|
176
|
+
<Card title="Add TestDriver to GitHub" icon="github" href="/quickstart-github">
|
|
177
|
+
Install the GitHub app and get your first review.
|
|
178
|
+
</Card>
|
|
179
|
+
<Card title="Run tests in CI/CD" icon="code-branch" href="/ci-cd">
|
|
180
|
+
Run your TestDriver suite in GitHub Actions and other CI systems.
|
|
181
|
+
</Card>
|
|
182
|
+
</CardGroup>
|