# Quick Start

### Requirements

For Kerno to work you'll need:

* **Docker installed and running on your machine** so Kerno can start the test environment.

{% hint style="warning" %}
If you're using a VPN service Kerno will not be able to connect to LLM providers and therefore won't be able to index your codebase and run tests
{% endhint %}

### Getting started

{% stepper %}
{% step %}

#### **Start your Kerno free trial**

<mark style="color:$info;">Sign up for your Kerno account</mark> [<mark style="color:$info;">here</mark>](https://www.kerno.io/)<mark style="color:$info;">.</mark>
{% endstep %}

{% step %}

#### Install the Kerno extension

<mark style="color:$info;">Install the Kerno extension from the</mark> [<mark style="color:$info;">VS Code Marketplace</mark>](https://marketplace.visualstudio.com/items?itemName=kerno.kerno) <mark style="color:$info;">or the</mark> [<mark style="color:$info;">Open VSX Directory</mark>](https://open-vsx.org/extension/Kerno/kerno)<mark style="color:$info;">.</mark>

<mark style="color:$info;">Kerno is currently available on VS Code, Cursor, Windsurf, and Antigravity.</mark>
{% endstep %}

{% step %}

#### Open your project

<mark style="color:$info;">Open your project in your IDE and Kerno will index your code</mark>
{% endstep %}

{% step %}

#### That's it!  <i class="fa-party-horn">:party-horn:</i>

<mark style="color:$info;">Kerno will now help you test your endpoints</mark>
{% endstep %}
{% endstepper %}

### Running your first test with Kerno

{% stepper %}
{% step %}

#### **Wait for Kerno to indexing your code & start your environment**

<mark style="color:$info;">When you open your project, Kerno begins indexing your code and setting up a test environment. Wait for the progress dot to turn pink, which shows that indexing is complete and the environment is ready. If anything goes wrong, check the troubleshooting section or contact the</mark> [<mark style="color:$info;">engineering team on Discord</mark>](https://discord.gg/k8yA9tZdP9)<mark style="color:$info;">.</mark>

{% hint style="info" %}
Indexing a new project might take a few minutes to complete for large codebases.
{% endhint %}

<figure><img src="/files/G7ozN4xSoIMbUg90Se5q" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Open a File&#x20;

<mark style="color:$info;">Open a file where Kerno has detected endpoints and you will see the list of all endpoints that Kerno can help you test in that file.</mark>

<figure><img src="/files/oxyIPF18tRvHW8jHqXVX" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Add test coverage to an endpoint

<mark style="color:$info;">Select any endpoint to begin adding coverage. Kerno will create a suite of test scenarios for this endpoint and use these scenarios as a baseline for future runs.</mark>

<figure><img src="/files/8yzW3adJKAX8yVpB4ytA" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
When creating tests for a new endpoint, Kerno will take 1-2 minutes to create the full test suite. When you run tests for the same endpoint the process will take a few seconds.
{% endhint %}
{% endstep %}

{% step %}

#### Make a code change and run a test

<mark style="color:$info;">Update your endpoint code, save your changes, and run Kerno again. Kerno reviews the update and runs the scenarios it created earlier to detect any differences. It reviews body responses, headers, and status codes.</mark>

<figure><img src="/files/CHMKtXyNiZp82WXxNGqH" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
When you save your code changes, Kerno will update the index and restart your service. This might take a 10-20 seconds.
{% endhint %}
{% endstep %}

{% step %}

#### Review Results & Update Tests

<mark style="color:$info;">When the tests finish, Kerno produces a report that lists all detected differences. You can approve the differences and update the tests, or you can adjust your code and run the tests again until the difference is resolved.</mark>

<mark style="color:$info;">If you approve the difference, Kerno updates the tests to reflect the new behavior. It also adds or removes tests when the logic of your endpoint has changed.</mark>

<figure><img src="/files/m940zxAYmCY7lptlE9zN" alt=""><figcaption></figcaption></figure>

{% endstep %}
{% endstepper %}

{% hint style="info" %}
If you encounter issues or have questions, [message us on Discord](https://discord.gg/k8yA9tZdP9), and we’ll gladly help.
{% endhint %}


---

# Agent Instructions: 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://kerno.gitbook.io/docs/getting-started/quick-start.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.
