testdriverai 7.9.55-test → 7.9.56-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.
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "testdriver",
|
|
3
|
+
"version": "7.9.54-test",
|
|
4
|
+
"description": "TestDriver.ai plugins for Claude Code — MCP server, agent, and skills for building natural-language end-to-end tests.",
|
|
5
|
+
"repository": "https://github.com/testdriverai/testdriverai",
|
|
6
|
+
"owner": {
|
|
7
|
+
"name": "TestDriver.ai",
|
|
8
|
+
"url": "https://testdriver.ai"
|
|
9
|
+
},
|
|
10
|
+
"plugins": [
|
|
11
|
+
{
|
|
12
|
+
"name": "testdriver",
|
|
13
|
+
"source": "./ai",
|
|
14
|
+
"description": "TestDriver.ai MCP server, TestDriver expert agent, and skills for authoring computer-use end-to-end tests with Vitest."
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -1,9 +1,94 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "testdriver",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
3
|
+
"version": "7.9.54-test",
|
|
4
|
+
"description": "TestDriver.ai Claude Code plugin: MCP server, TestDriver expert agent, and skills for authoring computer-use end-to-end tests with Vitest.",
|
|
5
5
|
"author": {
|
|
6
|
-
"name": "TestDriver"
|
|
7
|
-
|
|
6
|
+
"name": "TestDriver.ai",
|
|
7
|
+
"url": "https://testdriver.ai"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://docs.testdriver.ai",
|
|
10
|
+
"repository": "https://github.com/testdriverai/testdriverai",
|
|
11
|
+
"license": "AGPL-3.0",
|
|
12
|
+
"keywords": [
|
|
13
|
+
"testdriver",
|
|
14
|
+
"testing",
|
|
15
|
+
"e2e",
|
|
16
|
+
"mcp",
|
|
17
|
+
"vitest",
|
|
18
|
+
"automation",
|
|
19
|
+
"computer-use",
|
|
20
|
+
"browser",
|
|
21
|
+
"ai",
|
|
22
|
+
"qa"
|
|
23
|
+
],
|
|
24
|
+
"mcpServers": {
|
|
25
|
+
"testdriver": {
|
|
26
|
+
"command": "npx",
|
|
27
|
+
"args": ["-p", "testdriverai", "testdriverai-mcp"],
|
|
28
|
+
"env": {
|
|
29
|
+
"TD_API_KEY": "${TD_API_KEY}"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"agents": [
|
|
34
|
+
"./agents/testdriver.md"
|
|
35
|
+
],
|
|
36
|
+
"skills": [
|
|
37
|
+
"./skills/testdriver-ai",
|
|
38
|
+
"./skills/testdriver-assert",
|
|
39
|
+
"./skills/testdriver-aws-setup",
|
|
40
|
+
"./skills/testdriver-cache",
|
|
41
|
+
"./skills/testdriver-caching",
|
|
42
|
+
"./skills/testdriver-captcha",
|
|
43
|
+
"./skills/testdriver-ci-cd",
|
|
44
|
+
"./skills/testdriver-click",
|
|
45
|
+
"./skills/testdriver-client",
|
|
46
|
+
"./skills/testdriver-cloud",
|
|
47
|
+
"./skills/testdriver-customizing-devices",
|
|
48
|
+
"./skills/testdriver-dashcam",
|
|
49
|
+
"./skills/testdriver-debugging-with-screenshots",
|
|
50
|
+
"./skills/testdriver-device-config",
|
|
51
|
+
"./skills/testdriver-double-click",
|
|
52
|
+
"./skills/testdriver-elements",
|
|
53
|
+
"./skills/testdriver-enterprise",
|
|
54
|
+
"./skills/testdriver-errors",
|
|
55
|
+
"./skills/testdriver-events",
|
|
56
|
+
"./skills/testdriver-examples",
|
|
57
|
+
"./skills/testdriver-exec",
|
|
58
|
+
"./skills/testdriver-find",
|
|
59
|
+
"./skills/testdriver-focus-application",
|
|
60
|
+
"./skills/testdriver-generating-tests",
|
|
61
|
+
"./skills/testdriver-hosted",
|
|
62
|
+
"./skills/testdriver-hover",
|
|
63
|
+
"./skills/testdriver-locating-elements",
|
|
64
|
+
"./skills/testdriver-making-assertions",
|
|
65
|
+
"./skills/testdriver-mcp",
|
|
66
|
+
"./skills/testdriver-mcp-workflow",
|
|
67
|
+
"./skills/testdriver-mouse-down",
|
|
68
|
+
"./skills/testdriver-mouse-up",
|
|
69
|
+
"./skills/testdriver-parse",
|
|
70
|
+
"./skills/testdriver-performing-actions",
|
|
71
|
+
"./skills/testdriver-press-keys",
|
|
72
|
+
"./skills/testdriver-provision",
|
|
73
|
+
"./skills/testdriver-quickstart",
|
|
74
|
+
"./skills/testdriver-redraw",
|
|
75
|
+
"./skills/testdriver-reusable-code",
|
|
76
|
+
"./skills/testdriver-right-click",
|
|
77
|
+
"./skills/testdriver-running-tests",
|
|
78
|
+
"./skills/testdriver-screenshot",
|
|
79
|
+
"./skills/testdriver-screenshots",
|
|
80
|
+
"./skills/testdriver-scroll",
|
|
81
|
+
"./skills/testdriver-secrets",
|
|
82
|
+
"./skills/testdriver-self-hosted",
|
|
83
|
+
"./skills/testdriver-test-results-json",
|
|
84
|
+
"./skills/testdriver-test-writer",
|
|
85
|
+
"./skills/testdriver-testdriver",
|
|
86
|
+
"./skills/testdriver-testdriver-mechanic",
|
|
87
|
+
"./skills/testdriver-type",
|
|
88
|
+
"./skills/testdriver-variables",
|
|
89
|
+
"./skills/testdriver-wait",
|
|
90
|
+
"./skills/testdriver-waiting-for-elements",
|
|
91
|
+
"./skills/testdriver-what-is-testdriver"
|
|
92
|
+
]
|
|
8
93
|
}
|
|
9
94
|
|
|
@@ -2,29 +2,74 @@
|
|
|
2
2
|
title: Using TestDriver with Claude Code (MCP)
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
TestDriver
|
|
5
|
+
TestDriver ships as a native [Claude Code plugin](https://docs.claude.com/en/docs/claude-code/plugins) that bundles the **TestDriver MCP server**, the **`testdriver` expert sub-agent**, and all **TestDriver skills**. You get everything you need to drive TestDriver from Claude Code with a single install.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
> The plugin lives inside the `testdriverai` npm package at `ai/.claude-plugin/plugin.json`, and the marketplace entry lives at `.claude-plugin/marketplace.json` in this repo.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- You have a **team or user API key** for authentication
|
|
11
|
-
- You are using this repo (`testdriverai`) as the SDK / local tooling
|
|
12
|
-
|
|
13
|
-
## 1. Configure an API key
|
|
14
|
-
|
|
15
|
-
Get your API key from the team settings:
|
|
9
|
+
## 1. Get a TestDriver API key
|
|
16
10
|
|
|
17
11
|
- Visit your team page (e.g. `https://console.testdriver.ai/team`)
|
|
18
12
|
- Create or copy a **Team API Key** (or User API Key)
|
|
19
|
-
-
|
|
13
|
+
- Export it in your shell so Claude Code can pass it to the MCP server:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
export TD_API_KEY="your_api_key_here"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## 2. Install the plugin in Claude Code
|
|
20
|
+
|
|
21
|
+
From inside Claude Code, add this repo as a plugin marketplace and install the `testdriver` plugin:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
/plugin marketplace add testdriverai/testdriverai
|
|
25
|
+
/plugin install testdriver@testdriver
|
|
26
|
+
```
|
|
20
27
|
|
|
21
|
-
|
|
22
|
-
|
|
28
|
+
That registers three things:
|
|
29
|
+
|
|
30
|
+
- **`testdriver` MCP server** — spawned via `npx -p testdriverai testdriverai-mcp`, with `TD_API_KEY` forwarded from your environment.
|
|
31
|
+
- **`testdriver` sub-agent** — the TestDriver expert agent from `ai/agents/testdriver.md`. Invoke it with `@testdriver ...`.
|
|
32
|
+
- **TestDriver skills** — every `ai/skills/testdriver-*` skill, auto-loaded by Claude Code.
|
|
33
|
+
|
|
34
|
+
## 3. Write tests with the agent
|
|
35
|
+
|
|
36
|
+
In a Claude Code session, delegate to the agent:
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
@testdriver Write a test that signs into https://example.com and adds an item to the cart.
|
|
23
40
|
```
|
|
24
41
|
|
|
25
|
-
The
|
|
42
|
+
The agent will use the TestDriver MCP tools (`session_start`, `find`, `click`, `type`, `assert`, …) to interactively build a Vitest test, append generated code to your test file after every action, and run it with `vitest run` until it passes.
|
|
43
|
+
|
|
44
|
+
For the full agent guide, see the [`testdriver` agent definition](https://github.com/testdriverai/testdriverai/blob/main/ai/agents/testdriver.md) and the [MCP workflow skill](https://github.com/testdriverai/testdriverai/blob/main/ai/skills/testdriver-mcp-workflow/SKILL.md).
|
|
26
45
|
|
|
27
|
-
##
|
|
46
|
+
## Manual MCP configuration (no plugin)
|
|
47
|
+
|
|
48
|
+
If you prefer not to use the plugin, you can register the MCP server manually in any MCP-compatible client (Claude Desktop, Cursor, VS Code, …):
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"mcpServers": {
|
|
53
|
+
"testdriver": {
|
|
54
|
+
"command": "npx",
|
|
55
|
+
"args": ["-p", "testdriverai", "testdriverai-mcp"],
|
|
56
|
+
"env": {
|
|
57
|
+
"TD_API_KEY": "${TD_API_KEY}"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
This is the same config the plugin wires up for you — the plugin just bundles it alongside the agent and skills.
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Observing test runs via HTTP MCP
|
|
69
|
+
|
|
70
|
+
TestDriver also exposes **test results and analytics** over an HTTP MCP endpoint, so Claude Code (or any MCP-compatible client) can inspect your test runs, failures, and filters without provisioning a sandbox.
|
|
71
|
+
|
|
72
|
+
### HTTP MCP endpoint contract
|
|
28
73
|
|
|
29
74
|
The HTTP endpoint lives at:
|
|
30
75
|
|
|
@@ -32,6 +77,8 @@ The HTTP endpoint lives at:
|
|
|
32
77
|
POST /api/v1/mcp
|
|
33
78
|
```
|
|
34
79
|
|
|
80
|
+
It expects the TestDriver API key in the `X-Api-Key` header (or `Authorization: Bearer <key>`).
|
|
81
|
+
|
|
35
82
|
Common request shapes:
|
|
36
83
|
|
|
37
84
|
- **List tools**
|
|
@@ -89,7 +136,7 @@ The MCP server advertises at least these tools in `list_tools`:
|
|
|
89
136
|
- `get_filter_options`
|
|
90
137
|
Get branch, suite, repo, filename, commit, status, platform, and test name options for building queries.
|
|
91
138
|
|
|
92
|
-
|
|
139
|
+
### Pointing Claude Code at the HTTP MCP endpoint
|
|
93
140
|
|
|
94
141
|
You can point Claude Code at the HTTP MCP endpoint using a JSON configuration similar to:
|
|
95
142
|
|
|
@@ -137,12 +184,12 @@ For local development:
|
|
|
137
184
|
}
|
|
138
185
|
```
|
|
139
186
|
|
|
140
|
-
|
|
187
|
+
### Skills documentation for Claude
|
|
141
188
|
|
|
142
|
-
Claude Code
|
|
189
|
+
Claude Code loads the agent and skills automatically when you install the plugin (see step 2). The underlying sources are:
|
|
143
190
|
|
|
144
191
|
- `ai/agents/testdriver.md` contains the **full TestDriver Agent Guide**
|
|
145
|
-
- `
|
|
192
|
+
- `ai/skills/testdriver-*/SKILL.md` provide task-specific skills (MCP workflow, assertions, provisioning, etc.)
|
|
146
193
|
|
|
147
194
|
Use these as the primary reference for:
|
|
148
195
|
|
package/mcp-server/README.md
CHANGED
|
@@ -89,6 +89,38 @@ To use the TestDriver MCP server with GitHub Copilot coding agent:
|
|
|
89
89
|
|
|
90
90
|
For more information, see [Extending GitHub Copilot coding agent with Model Context Protocol](https://docs.github.com/en/copilot/customizing-copilot/extending-copilot-coding-agent-with-mcp).
|
|
91
91
|
|
|
92
|
+
### With Claude Code (plugin)
|
|
93
|
+
|
|
94
|
+
TestDriver ships as a [Claude Code plugin](https://docs.claude.com/en/docs/claude-code/plugins) so you get the MCP server, the `testdriver` expert agent, and all TestDriver skills with a single install.
|
|
95
|
+
|
|
96
|
+
1. Set your TestDriver API key in your shell:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
export TD_API_KEY=your_api_key_from_https_console_testdriver_ai_team
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
2. Add this repo as a Claude Code plugin marketplace and install the `testdriver` plugin:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# Add the marketplace (sources `.claude-plugin/marketplace.json` from this repo)
|
|
106
|
+
/plugin marketplace add testdriverai/testdriverai
|
|
107
|
+
|
|
108
|
+
# Install the plugin
|
|
109
|
+
/plugin install testdriver@testdriver
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
This reads `.claude-plugin/plugin.json` (shipped inside the `testdriverai` npm package) and:
|
|
113
|
+
|
|
114
|
+
- Registers the `testdriver` MCP server (`npx -p testdriverai testdriverai-mcp`)
|
|
115
|
+
- Registers the `testdriver` sub-agent (from `ai/agents/testdriver.md`)
|
|
116
|
+
- Registers all TestDriver skills (from `ai/skills/testdriver-*/SKILL.md`)
|
|
117
|
+
|
|
118
|
+
3. In a Claude Code session, delegate to the agent with:
|
|
119
|
+
|
|
120
|
+
```text
|
|
121
|
+
@testdriver Write a test that signs into example.com and adds an item to the cart.
|
|
122
|
+
```
|
|
123
|
+
|
|
92
124
|
### With Claude Desktop / Cursor
|
|
93
125
|
|
|
94
126
|
Add to your MCP config (`~/.cursor/mcp.json` or `~/Library/Application Support/Claude/claude_desktop_config.json`):
|