testdriver-agent
How the TestDriver agent behaves on GitHub issues, pull requests, and @mentions
The fastest way to get started with TestDriver. Just set your API key and start testing.
Claude Code
$ npx -y skills add testdriverai/testdriverai --skill testdriver-hosted --agent claude-code
Codex
$ npx skills add testdriverai/testdriverai --skill testdriver-hosted -a codex -y
Cursor
$ npx skills add testdriverai/testdriverai --skill testdriver-hosted -a cursor -y
Gemini CLI
$ npx skills add testdriverai/testdriverai --skill testdriver-hosted -a gemini-cli -y
GitHub Copilot
$ npx skills add testdriverai/testdriverai --skill testdriver-hosted -a github-copilot -y
OpenCode
$ npx skills add testdriverai/testdriverai --skill testdriver-hosted -a opencode -y
Windsurf
$ npx skills add testdriverai/testdriverai --skill testdriver-hosted -a windsurf -y
name: testdriver:hosted description: The fastest way to get started with TestDriver. Just set your API key and start testing.
<!-- Generated from hosted.mdx. DO NOT EDIT. -->
The hosted price uses **device-seconds**: the time that your tests run on **our infrastructure**.
<CardGroup cols={3}> <Card title="Free Trial" icon="gift" href="https://docs.testdriver.ai"> **$0/month**
</Card>
<Card title="Pro" icon="rocket" href="https://console.testdriver.ai/checkout/pro"> **$20/month per user**
</Card>
<Card title="Team" icon="users" href="https://console.testdriver.ai/checkout/team"> **$600/month**
</Card> </CardGroup>
Hosted is the default when you follow the Quickstart guide. <Card title="Try the Quickstart" icon="play" href="/quickstart" > Set your API key and start testing in minutes. </Card>
Your account has a set number of **license slots** that determine how many devices can run simultaneously. You can view your available slots in the [TestDriver Dashboard](https://console.testdriver.ai).
<Info> **When is a slot in use?** A license slot is occupied when a test client is connected. As soon as your device is destroyed the slot becomes available immediately. </Info>
To prevent tests from failing due to exceeding your license slot limit, we recommend two key configurations:
<AccordionGroup> <Accordion title="Set Maximum Concurrency in Vitest"> Limit concurrent tests to match your available license slots:
import { defineConfig } from 'vitest/config';
import TestDriver from 'testdriverai/vitest';
export default defineConfig({
test: {
testTimeout: 900000,
hookTimeout: 900000,
maxConcurrency: 5, // Set to your license slot limit
reporters: ['default', TestDriver()],
setupFiles: ['testdriverai/vitest/setup'],
},
});<Tip> Check your slot count at [console.testdriver.ai](https://console.testdriver.ai) and set `maxConcurrency` to that number or lower. </Tip> </Accordion>
<Accordion title="Use GitHub Concurrency Keys"> Prevent multiple workflow runs from competing for the same slots by using [GitHub's concurrency controls](https://docs.github.com/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs):
name: Tests
on:
push:
branches: [main]
pull_request:
# Prevent concurrent runs from competing for license slots
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm install
- name: Run tests
run: vitest run
env:
TD_API_KEY: ${{ secrets.TD_API_KEY }}The `concurrency` block ensures:
</Accordion> </AccordionGroup>
Hosted is perfect for getting started and for teams that want zero infrastructure management. However, you might consider [Self-Hosted](/self-hosted) if you:
<Card title="Explore Self-Hosted" icon="server" href="/self-hosted" > Learn about self-hosting for unlimited test execution at a flat rate. </Card>
How the TestDriver agent behaves on GitHub issues, pull requests, and @mentions
Deploy TestDriver on your AWS infrastructure using CloudFormation
How TestDriver learns your app and caches what it discovers for instant, deterministic replays
Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…
Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…
DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…