> For the complete documentation index, see [llms.txt](https://kerno.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kerno.gitbook.io/docs/references/supported-technologies.md).

# Supported Technologies

### **Supported IDEs**

Kerno currently supports the following IDEs. We're constantly adding new technologies, so if you want us to support your stack next, [let us know here](https://discord.gg/k8yA9tZdP9).

| IDE                                         | Status                                        |
| ------------------------------------------- | --------------------------------------------- |
| VS Code                                     | Supported                                     |
| Cursor                                      | Supported                                     |
| Windsurf                                    | Supported                                     |
| Antigravity                                 | Supported                                     |
| Trae                                        | Supported                                     |
| <mark style="color:$info;">JetBrains</mark> | <mark style="color:$info;">Coming Soon</mark> |

Kerno also works with any MCP-capable coding agent, including Claude Code and Codex, without an IDE extension.

### **Supported Backend Languages**

Your scenarios are always written in TypeScript and reach your application over HTTP, so the language your service is written in does not affect how tests run. What it affects is whether Kerno can discover your endpoints in the first place.

| Language                | Frameworks with route detection                                                                                                 |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| TypeScript / JavaScript | Express, NestJS, Fastify, Koa, Hono, Hapi, AdonisJS, Elysia, Next.js App Router, Remix / React Router v7, tsoa, SvelteKit, Nuxt |
| Python                  | Django, Flask, FastAPI, Litestar, Sanic, Tornado, Pyramid, Bottle, Falcon, aiohttp                                              |
| Java                    | Spring, Quarkus, Jersey, RESTEasy, Dropwizard, Micronaut, Vert.x Web                                                            |
| Kotlin                  | Ktor, Spring, Micronaut                                                                                                         |
| Scala                   | http4s, Akka HTTP, Pekko HTTP, Play                                                                                             |
| Go                      | Gin, Echo, Chi, Fiber, gorilla/mux, net/http                                                                                    |
| Ruby                    | Rails, Sinatra, Grape                                                                                                           |
| PHP                     | Laravel, Symfony, Slim, Drupal                                                                                                  |
| C#                      | ASP.NET, FastEndpoints                                                                                                          |
| Rust                    | Axum, actix-web, Rocket                                                                                                         |
| Swift                   | Vapor                                                                                                                           |

Don't see your framework? [Let us know](https://discord.gg/k8yA9tZdP9) — route detection is added as plugins, so new frameworks land quickly.

### **Supported External Dependencies**

These are the dependencies Kerno can connect to directly, for setting up and verifying state that your API cannot express. See [Environment Setup](/docs/core-concepts/environment-setup.md).

| Dependency                                         | Status    |
| -------------------------------------------------- | --------- |
| PostgreSQL                                         | Supported |
| MariaDB                                            | Supported |
| MySQL                                              | Supported |
| MongoDB                                            | Supported |
| Redis                                              | Supported |
| Kafka                                              | Supported |
| RabbitMQ                                           | Supported |
| ClickHouse                                         | Supported |
| Azure Blob, Queue, and Table Storage (via Azurite) | Supported |
| S3-compatible object storage (MinIO and similar)   | Supported |
| Zitadel                                            | Supported |

Kerno connects to these over the network, so embedded databases such as SQLite cannot be accessed directly. Applications backed by them are still fully testable through their HTTP API.

### **Supported Protocols**

| Protocol                                    | Status                                        |
| ------------------------------------------- | --------------------------------------------- |
| HTTP (S)                                    | Supported                                     |
| <mark style="color:$info;">WebSocket</mark> | <mark style="color:$info;">Coming Soon</mark> |
| <mark style="color:$info;">gRPC</mark>      | <mark style="color:$info;">Coming Soon</mark> |
| <mark style="color:$info;">GraphQL</mark>   | <mark style="color:$info;">Coming Soon</mark> |

### **Supported Authentication Methods**

Kerno reads your source code to work out how each endpoint authenticates, then builds a per-endpoint recipe for obtaining and presenting a credential. These are the mechanisms it handles reliably.

| Authentication Methods      | Status    |
| --------------------------- | --------- |
| Bearer Authentication (JWT) | Supported |
| Session Tokens              | Supported |
| API Key (Custom Header)     | Supported |
| OAuth 2.0                   | Supported |

{% hint style="info" %}
When Kerno signs a token itself, it uses HMAC algorithms (`HS256`, `HS384`, `HS512`). If your verifier requires an asymmetric algorithm such as `RS256`, Kerno obtains a real token from your login flow instead of constructing one.

Flows that require a person to complete a hand-off with an external identity provider cannot be automated. Kerno reports those scenarios as blocked rather than faking a credential.
{% endhint %}

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