# Key Features

### **Complete Code Context**

Kerno builds a semantic graph of your entire repository, indexing every function, variable, class, file, and directory along with their relationships.&#x20;

When you update code, Kerno uses this graph to run an impact analysis and identify the exact parts of the system touched by your changes, gather dependencies and shared logic, and retrieve context from across your codebase to generate relevant tests.

### **Automated Test Generation**

Kerno generates integration tests by analyzing your routing, data models, business rules, and external calls. It creates happy path scenarios that verify expected behavior, edge cases, error handling paths, and tests that cover the full request-response cycle.

### **Automated Test Execution**

Kerno runs integration tests directly on your machine whenever you start a run. It brings up supported services (e.g. PostgreSQL) inside isolated Docker containers, prepares the environment variables your code needs, and manages any required authentication.&#x20;

Tests run against real dependencies in a clean local setup with no manual configuration. Results appear in your IDE as soon as execution completes, giving you a fast feedback loop without leaving the editor.

### **Automated Test Maintenance**

Kerno updates tests as your codebase changes. When logic changes cause a test to drift, Kerno updates it to match current behavior. It adjusts tests when parameters, schemas, routes, or external interactions change.&#x20;

Tests targeting deprecated or deleted code are removed, and new test cases are added for new functionality.

{% 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/key-features.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.
