# Updates and pull requests

> How Ondaclip keeps your video tutorials accurate as your app changes: checks on every pull request, before-and-after comparisons, and the pull requests it opens.

## What Ondaclip watches

Ondaclip watches the branches listed in `.ondaclip/config.yaml`, or the
repository's default branch:

```yaml
watch:
  branches: [main, dev]
```

## When a new version lands

Every published tutorial records the app version it was filmed on, the
version of its file, and each of its screens. When a new version lands,
Ondaclip:

1. finds the tutorials the change could affect, through their test ids, their
   file, or the shared paths you list;
2. films those tutorials again and compares each screen with the published
   one;
3. tells you which videos are unchanged, changed, broken or new;
4. remakes whatever needs remaking.

Publishing is always a human decision.

```yaml
freshness:
  manifest: gs://my-product-tutorials/manifest.json   # what is published today (your infrastructure; Ondaclip Cloud sets it)
  sharedPaths: ["styles/"]                            # a change here touches every tutorial
```

## The pull requests Ondaclip opens

Ondaclip writes to your repository only through pull requests, on branches
named `ondaclip/…`. A person always reviews and merges.

| Branch | What it holds |
|---|---|
| `ondaclip/setup-<product>` | The starter tutorials folder, at setup. |
| `ondaclip/spec-…` | A new tutorial, or a change to one (a step moved, new wording). |
| `ondaclip/testids-…` | Missing `data-testid` attributes, and nothing else. |

## Change the settings

`.ondaclip/` is versioned with your code, so change it through a pull
request. The studio reloads it after the merge.

## On your pull requests

Ondaclip can play the tutorials against a pull request's commit and post the
result as a GitHub check named **Ondaclip**, for example "11 user paths still
play, 2 changed, 1 no longer plays", with a link to Changes in the studio.

Turn it on per product in **Settings, Status on pull requests**:

- **Off** (default).
- **With a label** (recommended): pull requests with the label `ondaclip`.
- **On some branches**: pull requests whose branch matches a pattern, like
  `ondaclip/*`.
- **Manually**: from the studio, the API or your AI agent, one pull request
  at a time.

The check is informational and never blocks the merge, unless you set it to
fail when a user path no longer plays. Drafts and docs-only pull requests are
skipped, and only the latest commit of a pull request is checked. Each check
counts toward your plan's runs.

Source: https://ondaclip.com/docs/updates/
