> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reticle.sh/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Reticle is a dev-only, localhost-only verification layer for AI coding agents. It reads program truth (network, state, console, routing, animations, framework state) from inside a running web app and returns a deterministic verdict with evidence. It is not a screenshot tool and not a browser automation library.
> Only `reticle_act_and_wait` and `reticle_assert` produce a verdict. Every other tool moves or reads the app and proves nothing. A drive that ends without one of those two has no result, however many tools it used.
> A verdict of `verified: "unknown"` is not a pass. It means Reticle drove the app and could not tell what happened. Report it as unknown; never weaken a check to make it pass.
> Package names are scoped `@reticlehq/*` and the CLI is `reticle`. Install with `npx reticle init`. The complete tool surface is on the `/usage` page; `/agent-cheatsheet` is the one-screen version.

# reticle watch

> Watch the working tree and report which saved flows must re-verify on every save.

`reticle watch` is the buddy loop. It watches the current directory and, on every save of a source file, reports which saved flows the change puts at risk. It runs in the environment, so it costs your agent nothing per turn.

```bash theme={"dark"}
npx reticle watch [url]
```

Long-running. Stop it with `Ctrl+C`.

## Arguments

| Argument | Type                         | Default | What it does                                                                                                                                           |
| -------- | ---------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `url`    | string, positional, optional | unset   | Accepted by the parser and reserved for the increment that replays the affected flows against a live app. The current version detects and reports only |

## What it watches

The working directory, recursively, filtered to `.ts`, `.tsx`, `.js`, `.jsx`, `.mjs`, `.cjs`, `.vue` and `.svelte`. Changes are batched with a 200ms debounce.

## What it prints

Real capture, the first two lines of a run in this repository:

```json theme={"dark"}
{"t":"2026-08-14T19:39:09.196Z","event":"reticle_watch_started","cwd":"/Users/you/reticle"}
{"t":"2026-08-14T19:39:09.278Z","event":"reticle_buddy","status":"✓ 13/47 flows nominal · 9 flaky quarantined"}
```

| Event                    | When                                                                                            |
| ------------------------ | ----------------------------------------------------------------------------------------------- |
| `reticle_watch_started`  | Once, at startup, with the directory being watched                                              |
| `reticle_buddy`          | Once at startup and after every batch. One ambient line, designed to be parked in a status line |
| `reticle_watch_affected` | After a batch, when at least one flow is affected. Carries `changed` and `affected`             |
| `reticle_watch_failed`   | A flow load error. Never fatal                                                                  |

<Note>
  The buddy line is deliberately best-effort and silent on failure. A status line that throws is
  worse than no status line, and it must never interfere with the watch loop it rides on.
</Note>

## Exit codes

Runs until interrupted.

## Worked example

```bash theme={"dark"}
npx reticle watch &
# edit src/components/Login.tsx, and the affected flows are named on save
```
