# Introduction (/docs)

Install PPROLint and activate it, then learn how its rules work and how to write your own.



PPROLint checks a Premiere Pro sequence against a set of **rules** and reports what it finds: an offline clip, a gap of black video, a clip scaled far beyond 100 %. Every rule, built-in or yours, is one small JSON file, a **rule file**. It names the items it looks at, the condition that makes an item a problem and the message to show.

```json title="no-offline-media.rule.json"
{
  "formatVersion": 1,
  "id": "no-offline-media",
  "name": "Offline media",
  "description": "Reports clips whose source media is offline.",
  "category": "static",
  "scope": "clip",
  "severity": "error",
  "checks": [
    {
      "condition": { "field": "clip.source.offline", "operator": "equals", "value": true },
      "message": "Clip \"{clip.name}\" on {clip.track} uses offline media \"{clip.source.name}\"."
    }
  ]
}
```

Read it as: *for every clip, when its source media is offline, report an error on that clip with this message.*

You don't need to write this JSON yourself: the [rule editor](/docs/editor), in the panel's settings, builds rules with menus and fields, and writes the file for you.

A rule file holds no code. PPROLint reads it with a fixed set of [fields](/docs/reference/fields) and [operators](/docs/reference/operators), so a rule file you download from someone else can only inspect your timeline, never change it or reach anything else.

## Where to start [#where-to-start]

<Cards>
  <Card title="Installing" href="/docs/using/install" description="Download PPROLint from your aescripts account, install it and open its panel." />

  <Card title="Your license" href="/docs/using/license" description="Start the 7-day trial, activate your license, and where to turn for license questions." />

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

  <Card title="The rule editor" href="/docs/editor" description="Every part of the editor: options, checks, conditions, messages, labels." />

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

  <Card title="Built-in rules" href="/docs/rules" description="Every rule PPROLint ships with, with its complete rule file." />
</Cards>

## How these docs are organized [#how-these-docs-are-organized]

* **Using PPROLint**: [installing](/docs/using/install), [activating and managing your license](/docs/using/license) and [uninstalling](/docs/using/uninstall). What changed in each version is in the [changelog](/docs/changelog).
* **Rule editor**: [Your first rule](/docs/editor/your-first-rule) walks you through one rule in the editor, from an empty rule to a report in Premiere. The other pages cover each part of the editor, and [Recipes](/docs/editor/recipes) gives complete rules to build.
* **Rule files**: the same rules written as JSON in a text editor, for sharing, version control or AI assistants. [Your first rule file](/docs/guides/your-first-rule-file) is the place to start.
* [How rules work](/docs/how-rules-work) explains the model behind both.
* **Reference** lists everything a rule file can contain: [properties](/docs/reference/rule-file), [scopes](/docs/reference/scopes), [fields](/docs/reference/fields) and [operators](/docs/reference/operators).
* **Built-in rules** documents the [rules PPROLint ships with](/docs/rules). Their files are good starting points.

Using an AI assistant to write rules? See [AI agents](/docs/ai-agents).

A question these pages do not answer? Write to [support@pprolint.com](mailto:support@pprolint.com).
