> 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/core-concepts/user-flows.md).

# User Flows

Understand user flows, the journeys through your app that Kerno tests end to end across several entry points.

A user flow is one thing a person does with your product, from start to finish. Signing up and creating a first project is a flow. So is adding items to a cart and checking out. Kerno tests a flow end to end, walking the entry points it crosses in order and checking that the outcome the user wanted actually happened.

Entry point tests check each way into your app on its own. A flow test checks that a whole journey across several of them works together, which is where integration bugs tend to hide.

```mermaid
flowchart LR
    A[Sign up] --> B[Create a project] --> C[Invite a teammate]
    C --> D[The teammate sees the project]
```

A flow can include any of your entry points, whether HTTP routes, MCP tools or background consumers.

### Mapping your flows

Your agent maps your flows with you, typically right after it [calibrates Kerno](/docs/core-concepts/environment-setup.md#calibration) to your repository. It asks which journeys matter most, keeps your own description of each one, and records the ones you confirm. Recording a flow runs nothing yet.

You can map more flows at any time:

```
Map the key user flows in this app with Kerno.
```

### Testing a flow

Ask your agent to test a journey:

```
Use Kerno to test the checkout flow.
```

Kerno plans one test that walks the steps in order and checks the outcome at the end. It always shows you the plan and waits for your approval before it writes the test. Once you approve, it writes the test and runs it against your application.

Flow tests always run at high effort, so a test must pass twice in a row before it is saved. They cover functional behaviour. [Security tests](/docs/references/security-testing.md) run on individual entry points.

The test is stored in your repository under `.kerno/scenarios/flows/`, in your application's folder, and you commit it alongside your code.

### After a code change

When you ask your agent to review a change, Kerno reports which flows the change touches, meaning every flow that crosses an entry point the change reaches. Your agent re-runs those flows along with the affected entry points' tests, so a change that breaks a journey is caught even when each entry point still passes on its own. See [Code change review](/docs/core-concepts/change-validation.md).

### Changing a flow

When a journey changes, tell your agent. It updates the flow, and Kerno plans its test again, showing you the new plan before anything runs.

### Where flows show up

Flows appear next to your entry points on the Coverage, Behaviour Drift and Runs screens of the [Kerno portal](/docs/portal/overview.md).

To test your first flow step by step, see [How to Test a User Flow](/docs/guides/test-a-user-flow.md).
