# PPROLint docs - [Introduction](/docs): Install PPROLint and activate it, then learn how its rules work and how to write your own. - **Using PPROLint** - [Installing](/docs/using/install): Download PPROLint from your aescripts account, install its .ccx file and open its panel in Premiere Pro. - [Activate and manage your license](/docs/using/license): Buy PPROLint on aescripts, start the 7-day trial or activate your license in the panel, and where to turn for license questions. - [Uninstalling](/docs/using/uninstall): Free your license, keep your rules, then remove PPROLint from Premiere Pro. - [Changelog](/docs/changelog): What changed in each version of PPROLint. - **Rules** - [How rules work](/docs/how-rules-work): The model behind every rule — snapshot, scope, items, checks, diagnostics. - [AI agents](/docs/ai-agents): Give an AI assistant these docs, and what it must know to write a correct rule. - **Rule editor** - [The rule editor](/docs/editor): Create and change rules in the PPROLint panel, without writing any JSON. - [Your first rule](/docs/editor/your-first-rule): Build a rule that reports sped-up clips in the rule editor, see it report in Premiere, then make its limit an option. - [The Rules settings](/docs/editor/rules-list): Turn rules on and off, search them, create, import and reload rule files, and see which files failed to load. - [Rule section](/docs/editor/rule-section): The id, name, description, category, scope, severity and matching of a rule. - [Options](/docs/editor/options): Turn thresholds and lists into settings with a default value, and use them in conditions and messages. - [Checks](/docs/editor/checks): What a check holds, how several checks combine, and how to run a check on another scope or point it elsewhere in the timeline. - [Conditions](/docs/editor/conditions): Build the condition of a check from comparisons and groups — fields, operators, values, all / any / not. - [Messages](/docs/editor/messages): Write the sentence shown for each report, with placeholders for the item's values and plural forms. - [Labels](/docs/editor/labels): Show a value as words that depend on the value and the language, such as a marker type or "named" versus "unnamed". - [Data](/docs/editor/data): Attach the measured value and the limits to every report. - [Saving and leaving](/docs/editor/saving): Save a rule, fix the problems that block saving, change and revert built-in rules, delete your rules. - [Translations](/docs/editor/translations): Give a rule's name, description, messages and labels a text in each language of Premiere. - [Recipes](/docs/editor/recipes): Complete rules to build in the editor, each with its settings and the file it writes. - **Rule files** - [Your first rule file](/docs/guides/your-first-rule-file): Write a rule as a JSON file in a text editor, load it in Premiere and make it configurable. - [Custom rule files](/docs/guides/custom-rules): Where your rule files live, how PPROLint loads them, and how to share and override rules with files. - [Conditions](/docs/guides/conditions): Compare fields with values, combine conditions and handle unknown values. - [Checks](/docs/guides/checks): Word different situations differently, report several problems per item, change the scope or position of a check. - [Options](/docs/guides/options): Make thresholds and lists configurable, and read them in conditions and messages. - [Messages](/docs/guides/messages): Write messages that explain themselves, with placeholders, translations and plural forms. - [Labels](/docs/guides/labels): Word a field's value per language, or add an optional part to a sentence. - [Data](/docs/guides/data): Attach the measured value and the thresholds to every diagnostic. - [Troubleshooting](/docs/guides/troubleshooting): The problems a rule file can have, and how to fix them. - **Reference** - [Rule file](/docs/reference/rule-file): Every property of a rule file. - [Scopes](/docs/reference/scopes): The items each scope produces, and what their diagnostics point at. - [Fields](/docs/reference/fields): Every value a rule can read, by scope. - [Computed scopes](/docs/reference/computed-scopes): Scopes whose items PPROLint computes: gaps, outliers, pairs of clips, requirements. - [Operators](/docs/reference/operators): Every comparison operator, the types it accepts and when it holds. - Built-in rules - [Built-in rules](/docs/rules): Every rule PPROLint ships with, and its rule file. - [Audio gaps](/docs/rules/no-audio-gaps): Reports ranges of the work area where no audio clip is audible. - [Clips outside the work area](/docs/rules/no-clips-outside-work-area): Reports clips entirely before the sequence in point or after its out point. - [Disabled clips](/docs/rules/no-disabled-clips): Reports disabled clips, which are skipped on playback and export. - [Duplicate effects](/docs/rules/no-duplicate-effects): Reports clips with the same effect applied more than once. - [Empty markers](/docs/rules/no-empty-markers): Reports markers with neither a name nor a comment. - [Empty tracks](/docs/rules/no-empty-tracks): Reports tracks without clips. - [Invisible video clips](/docs/rules/no-invisible-video-clips): Reports video clips at 0 % opacity or 0 % scale, which render nothing. - [Markers outside the work area](/docs/rules/no-markers-outside-work-area): Reports markers after the last clip or outside the sequence in/out range. - [Muted tracks](/docs/rules/no-muted-tracks): Reports muted tracks that carry clips, which are left out of the export. - [Offline media](/docs/rules/no-offline-media): Reports clips whose source media is offline. - [Out-of-sync audio and video](/docs/rules/no-out-of-sync-av): Reports audio clips offset from the video clip of the same source they play under. - [Partial adjustment layer coverage](/docs/rules/no-partial-adjustment-layer-coverage): Reports adjustment layers whose start or end falls inside a clip below them. - [Silent audio clips](/docs/rules/no-silent-audio-clips): Reports audio clips whose volume is set to silence. - [Subframe video edits](/docs/rules/no-subframe-video-edits): Reports clip edges and sequence in/out points that are not on a frame boundary. - [Tiny clips](/docs/rules/no-tiny-clips): Reports clips only a few frames long, usually leftovers of a trim. - [Video gaps](/docs/rules/no-video-gaps): Reports ranges of the work area where no video clip is visible (black frames). - [Zero-duration clips](/docs/rules/no-zero-duration-clips): Reports clips whose end is not after their start. - [Scale range](/docs/rules/scale-range): Reports video clips scaled outside the allowed range. - [Audio level outliers](/docs/rules/audio-level-outlier): Reports audio clips whose volume setting is unusual compared with other clips. - [Inconsistent effects](/docs/rules/inconsistent-effects): Reports clips missing an effect that most comparable clips have. - [Scale outliers](/docs/rules/scale-outlier): Reports video clips whose scale is unusual compared with other clips. - [Speed outliers](/docs/rules/speed-outlier): Reports clips whose speed is unusual compared with other clips. - [Duration outliers](/docs/rules/duration-outlier): Reports clips far longer or shorter than the other clips. - [Repeated footage](/docs/rules/no-repeated-footage): Reports clips that reuse a source range already used elsewhere in the sequence. - [Restricted effects](/docs/rules/no-restricted-effects): Reports clips using a configured forbidden effect. - [Required effects](/docs/rules/required-effects): Reports clips missing a configured effect. - [Required markers](/docs/rules/required-markers): Reports configured sequence markers that are missing. - [Required tracks](/docs/rules/required-tracks): Reports a track layout that does not match the configured requirements. - [Sequence settings](/docs/rules/sequence-settings): Reports a sequence whose frame rate or frame size is not an allowed one.