> For the complete documentation index, see [llms.txt](https://docs.testvibe.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.testvibe.com/testvibe-api/getting-started/quickstart.md).

# Quickstart

This walkthrough uses the `testvibe` CLI. Every step has a raw-HTTP equivalent — see the [API reference](/testvibe-api/api-reference/reference.md) — and the same operations are available to AI tools through the [MCP server](/testvibe-api/mcp-server/mcp.md).

{% stepper %}
{% step %}

### Create an API key

In the TestVibe app, open **Settings → CLI & API keys** and create a key. The full key (`tvb_…`) is shown **once** — copy it now.

{% hint style="warning" %}
Treat API keys like passwords. The key acts as you, inside your workspace.
{% endhint %}
{% endstep %}

{% step %}

### Install the CLI and log in

```bash
npm install -g @testvibe/cli   # not yet on npm? install from the repo: npm i -g <repo>/cli
testvibe login --server https://YOUR-TESTVIBE-SERVER --key tvb_XXXXXXXX…
```

`login` verifies the key against the server before saving it to `~/.testvibe/config.json`.
{% endstep %}

{% step %}

### Pick a project

```bash
testvibe projects
testvibe use "Acme Shop"
```

`use` sets the default project for every command that follows. You can always override it per call.
{% endstep %}

{% step %}

### Create a feature

A feature is desired behavior described in Gherkin:

{% code title="login.feature" %}

```gherkin
Feature: Login Functionality
  Scenario: Valid user signs in
    Given I am on the login page
    When I sign in with valid credentials
    Then I see the inventory page
```

{% endcode %}

```bash
testvibe features create "Login Functionality" --file login.feature
```

{% endstep %}

{% step %}

### Generate its tests

```bash
testvibe generate "Login Functionality" --watch
```

AI generation runs in a cloud sandbox against your project's URL and takes a few minutes; `--watch` streams per-section progress until the feature reaches the `generated` status.

{% hint style="info" %}
Generation consumes account credits — see [Long-running operations](/testvibe-api/api-reference/async-operations.md) for how dispatch + polling works.
{% endhint %}
{% endstep %}

{% step %}

### Run the tests

```bash
testvibe run "Login Functionality" --wait
```

The run executes in an isolated sandbox and `--wait` prints per-test results when it finishes:

```
Run #214 passed — 3/3 tests passed (31s)
  ✓ Valid user signs in (4.2s)
  ✓ Invalid password is rejected (3.8s)
  ✓ Locked-out user sees an error (3.1s)
```

{% endstep %}

{% step %}

### Grab the artifacts

```bash
testvibe runs artifacts 214
```

Returns short-lived download links for the run's Playwright traces, screenshots, and videos.
{% endstep %}
{% endstepper %}

## Where next?

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Connect your AI tools</strong></td><td>Let Claude or Codex do all of the above for you, via MCP.</td><td><a href="/pages/matR4rM5J34VuGJSHVeO">/pages/matR4rM5J34VuGJSHVeO</a></td></tr><tr><td><strong>API reference</strong></td><td>Every operation across REST, CLI, and MCP.</td><td><a href="/pages/q7ELIyJJ54wLdfEnTVLL">/pages/q7ELIyJJ54wLdfEnTVLL</a></td></tr><tr><td><strong>Run TestVibe in CI</strong></td><td>Gate your deploys on a green TestVibe run.</td><td><a href="/pages/uCKbbCoZSH9laYXCFPti">/pages/uCKbbCoZSH9laYXCFPti</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.testvibe.com/testvibe-api/getting-started/quickstart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
