# The rule editor (/docs/editor)

Create and change rules in the PPROLint panel, without writing any JSON.



The rule editor builds rules with menus and fields, in the PPROLint settings. Every rule you can write as a [rule file](/docs/guides/your-first-rule-file) can be built here, and the editor checks the rule as you type: you cannot save a rule that would not work.

![The rule editor showing the Fast clips rule: the Rule, Options, Checks, Labels and Diagnostic data sections, with Delete rule, Cancel and Save at the bottom](/docs/editor/editor-overview.webp)

## Open the editor [#open-the-editor]

Open the PPROLint panel's settings and choose **Rules**. Then:

* to **create** a rule, click the **New rule** button next to the search field and choose **New rule from scratch**;
* to **change** a rule, built-in or yours, click the cogwheel at the right of its row.

The editor replaces the list of rules. **‹ Rules**, at the top left, takes you back.

See [The Rules settings](/docs/editor/rules-list) for everything else the list does.

## How the editor is laid out [#how-the-editor-is-laid-out]

The editor reads from top to bottom, like Premiere's Effect Controls panel.

![The editor header: a Rules back button, the rule name Fast clips, and Custom rule at the right](/docs/editor/editor-header.webp)

**The header** shows the rule's name and what kind of rule it is:

| Kind                     | Meaning                                                     |
| :----------------------- | :---------------------------------------------------------- |
| *Built-in rule*          | A rule PPROLint ships with. Saving it writes your own copy. |
| *Custom rule*            | A rule you created or imported.                             |
| *Modified built-in rule* | Your copy of a built-in rule, which replaces it.            |

**The sections** hold the parts of the rule. Click a section's title to fold it; a folded section shows a summary at the right of its title (the option names, the number of checks).

![All sections folded: Rule, Options with maxSpeed, Checks with 1 check, Labels with None, Diagnostic data with speed and maxSpeed](/docs/editor/editor-collapsed.webp)

| Section             | What it holds                                                 | Page                                                                                                    |
| :------------------ | :------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------ |
| **Rule**            | Id, name, description, category, scope, severity, matching.   | [Rule section](/docs/editor/rule-section)                                                               |
| **Options**         | Values a user can tune, such as a threshold.                  | [Options](/docs/editor/options)                                                                         |
| **Checks**          | When to report (the condition) and what to say (the message). | [Checks](/docs/editor/checks), [Conditions](/docs/editor/conditions), [Messages](/docs/editor/messages) |
| **Labels**          | Words that change with a value, in each language.             | [Labels](/docs/editor/labels)                                                                           |
| **Diagnostic data** | Values attached to every report.                              | [Data](/docs/editor/data)                                                                               |

**The footer** says where the rule is saved and in which language you are editing its texts, with the buttons to save or leave.

![The editor footer: Saved in max-clip-speed.rule.json. Texts are edited in English; other languages keep their own. Buttons: Delete rule, Cancel, Save](/docs/editor/editor-footer-custom.webp)

## Problems are shown as you type [#problems-are-shown-as-you-type]

The editor checks the rule a moment after each change. When something is wrong, a box under the header lists every problem, and the control at fault turns red with the reason under it. **Save** stays disabled until the list is empty.

![A red box: 3 problems to fix before saving, listing an unknown field options.maxSpeed in the data, the condition and the message](/docs/editor/editor-problems.webp)

Each problem starts with the place it was found, such as `checks[0].message.en_US`: the message of the first check, in English. See [Saving and leaving](/docs/editor/saving#problems).

## What the editor writes [#what-the-editor-writes]

The editor writes an ordinary rule file, `<id>.rule.json`, in your rules folder. You can open it in a text editor, share it with your team, or [import](/docs/editor/rules-list#import-rule-files) it on another computer. Anything you learn here applies to rule files, and the other way round: each page of this section links to its counterpart in [Rule files](/docs/guides/your-first-rule-file).

## Where to go next [#where-to-go-next]

<Cards>
  <Card title="Your first rule" href="/docs/editor/your-first-rule" description="Build a rule step by step in the editor, and see it report in Premiere." />

  <Card title="Conditions" href="/docs/editor/conditions" description="Fields, operators, values and groups: the heart of every rule." />

  <Card title="Recipes" href="/docs/editor/recipes" description="Complete rules to build in a few clicks." />

  <Card title="How rules work" href="/docs/how-rules-work" description="Scopes, items and unknown values: the model behind the editor." />
</Cards>
