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

# Workbench

> Where changes to your suite are drafted, checked on a device and merged, and where you set how Mini handles your pull requests and releases.

**Workbench**, under **Test suite** in the app sidebar, is where changes to your suite wait before they go live. Mini and your team propose changes there, Mini proves them on a device, and nothing reaches your runs until a change is merged. It has two tabs: **Proposed changes** and **CI & Maintenance**.

## Proposed changes

Each proposed change is a **draft**: a set of scenario changes plus a conversation with Mini about them. Your suite keeps running the current scenarios until the draft is merged.

![A Workbench draft, Ready to merge: one added scenario proven on a device, its criteria, Merge into suite, and Mini's conversation on the right](https://mintcdn.com/minitap-30239763/dKiS2PJCVmjStdUQ/minitest/images/app/workbench-draft.png?fit=max\&auto=format\&n=dKiS2PJCVmjStdUQ\&q=85\&s=85c3d1cb30c74a61d85486525e7c371f)

A draft: the changed scenarios on the left, Mini's conversation on the right.

### Who opens a draft

| Opened by | How | What it says on the draft |
| - | - | - |
| You | Click **Draft a change**, then tell Mini what changed in your app, paste a spec or drop a file of test cases. | **Requested** by you |
| Mini | Mini's maintenance opens one when your code changes the app. See [Mini maintains your suite](https://www.minitap.ai/docs/minitest/suite/mini-maintains-your-suite.md). | **Opened by Mini maintenance** |

A teammate can open any draft and pick up the conversation where you left it. Coding agents open and follow drafts with `minitest draft` (see [From the CLI](#from-the-cli)).

### The Open list

The **Open** tab sorts drafts by what they wait on:

| Group | Meaning |
| - | - |
| **Needs you** | Mini has a question, a decision is yours, or a draft you started waits for your next message. |
| **Ready to merge** | Every changed scenario is proven on a device. |
| **Your drafts** | Mini is writing or checking. Nothing to do yet. |
| **Waiting for a build** | The change needs a build that doesn't exist yet, for example one that includes a pull request. |
| **Mini's maintenance** | Mini's own upkeep that needs nobody, folded into one card. These merge on their own once proven, then move to **History**. |

The count on **Workbench** in the sidebar only counts drafts that need you or are ready to merge. **History** lists the drafts that were merged or discarded.

### From change to merge

**1. Mini writes the change**

Mini adds, edits or removes scenarios in the draft, marked **+ ADDED**, **\~ EDITED** and **− REMOVED**. When the flow is new to it, Mini first [explores that part of the app](https://www.minitap.ai/docs/minitest/suite/exploration.md) on a device. A draft that imports test cases also gets a **Source cases** tab: see [Import your existing tests](https://www.minitap.ai/docs/minitest/suite/import-tests.md).

**2. Mini checks it on a device**

Click **Check**, or turn on **Auto-check** to check changed scenarios as soon as Mini stops writing. Mini runs each changed scenario on every platform your app ships, against your latest build, the way a run would. When a scenario fails because it asks for the wrong thing, Mini fixes it and checks again. When the app looks at fault, Mini says so in the chat.

**3. You merge**

Every scenario has to be proven before the draft can merge. Then click **Merge into suite**: your next run uses the new versions.

While a draft waits for a build, Mini checks it as soon as one is ready. Any build you upload, from the Workbench, the CLI or when you start a run, is checked against the drafts waiting for it.

### When something needs you

* **A check failed and Mini is wrong.** Click **Not a bug** on the scenario and say what Mini got wrong. Mini fixes the scenario instead and runs it again, and it doesn't use up a fix attempt.
* **Mini asks a question.** Answer it in the chat. Your suite keeps running the current scenarios meanwhile.
* **You step into a maintenance draft.** Once you write in a draft Mini's maintenance opened, Mini stops checking and merging it on its own. Turn **Auto-check** back on, or click **Check** when you're done.
* **One scenario doesn't belong.** Open its menu for **Check this scenario**, **Ask Mini about this scenario** or **Remove from draft…**.

**Discard draft…** drops Mini's changes and leaves your suite exactly as it is. A merged draft can be undone from **History** with **Revert**: every scenario it changed goes back to how it was, scenarios it added are removed and scenarios it removed come back. Only admins can revert a draft.

Drafts you open from the dashboard always wait for you to merge. Mini's maintenance drafts merge on their own, except when they remove a scenario, conflict with the live suite, have a failing check, or found what looks like a bug in your app.

## CI & Maintenance

The second tab sets how Mini maintains your suite and, once the app is linked to GitHub, how it handles your pull requests and releases. Without GitHub, the tab is called **Maintenance** and only shows **Autonomy**.

![Workbench, CI & Maintenance tab: Block merge on failing tests, Release tags, Release branches, and Fix test scenarios without asking](https://mintcdn.com/minitap-30239763/dKiS2PJCVmjStdUQ/minitest/images/app/workbench-ci.png?fit=max\&auto=format\&n=dKiS2PJCVmjStdUQ\&q=85\&s=7577123fe81e23025dba301c5f7edac9)

Workbench → CI & Maintenance.

| Setting | Group | What it does |
| - | - | - |
| **Block merge on failing tests** | **Pull requests** | Makes the Minitap check on your pull requests fail when the run fails, so branch protection can require it. Off, the check only informs. |
| **Release tags** | **Pull requests** | A glob such as `v*` or `release-v*`. A run on a matching tag covers only what changed since the previous release. |
| **Release branches** | **Pull requests** | Patterns such as `release/*`. Pull requests into these branches get Mini's comment, on top of the default branch. |
| **Fix test scenarios without asking** | **Autonomy** | When a scenario hits a wall during a run, Mini applies safe fixes to the scenario on its own. Off, you approve each fix. |

How the pull request comment, the check and release runs work is covered in [Pull request checks](https://www.minitap.ai/docs/minitest/runs/pull-request-checks.md).

## From the CLI

Your coding agent can open a draft, talk to Mini, and merge the proven change with the same rules:

```bash theme={"theme":{"light":"github-light","dark":"vesper"}}
# Open a draft; Mini starts writing at once
minitest --app myapp draft create --message "Cover refunds from the order page" --auto-check

# Wait until the checks are done
minitest --app myapp draft get <draft-id> --watch --until settled

# Merge once the draft is ready
minitest --app myapp draft merge <draft-id>
```

`draft link-pr <draft-id> <pr-number>` proves a draft on an open pull request's head commit, before the pull request merges. See [Coding agents](https://www.minitap.ai/docs/minitest/integrations/cursor-and-claude.md) to set up the CLI.

## Next steps

> [card] [Mini maintains your suite](https://www.minitap.ai/docs/minitest/suite/mini-maintains-your-suite.md)
>
> What Mini's maintenance drafts cover, and when it opens them.

> [card] [Pull request checks](https://www.minitap.ai/docs/minitest/runs/pull-request-checks.md)
>
> The comment, the check and the merge gate on GitHub.

> [card] [Ask Mini](https://www.minitap.ai/docs/minitest/get-started/working-with-mini.md)
>
> Ask for a change in plain language.

> [card] [Import your existing tests](https://www.minitap.ai/docs/minitest/suite/import-tests.md)
>
> Turn your test plan into scenarios, case IDs included.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.