AI agents
Give an AI assistant these docs, and what it must know to write a correct rule.
A rule file is plain JSON checked strictly when it loads, which makes it a good task for an AI assistant: it writes the file, and the panel tells you exactly what is wrong if anything is.
Give the docs to your assistant
These docs are published as Markdown for language models:
| URL | Content |
|---|---|
/llms.txt | An index of every page, with its description (llms.txt). |
/llms-full.txt | Every page in one Markdown file. Give this one to an assistant that writes rules. |
/llms.mdx/docs/<page>/content.md | One page as Markdown, such as /llms.mdx/docs/reference/fields/content.md. |
Every page also has a Copy Markdown button under its title, and a menu to open it in an AI assistant.
A prompt that works
Read the PPROLint rule documentation: <url>/llms-full.txt
Write a PPROLint rule file that reports <what you want to find>.
- Use only fields listed in the Fields reference, in the scope you choose.
- Put thresholds in options, with defaults that rarely fire on a correct timeline.
- Messages name the item and give the measured value and the threshold.
- Output the complete file, named <id>.rule.json.Save the answer in your rules folder and click Reload rules. If the file has problems, paste them back to the assistant: each one gives the JSON path and the reason.
Checklist for agents
When writing a rule file:
- Start from a built-in rule with a similar purpose: the built-in rules show complete, valid files. Reusing an existing id replaces that rule; choose a new id otherwise.
- Pick the scope whose items you report on:
clip,track,effect,markerorsequence(Scopes). - Use only listed fields of that scope (Fields). Paths are checked; there are no other fields and no expressions.
- Respect types. Number operators need number fields and values;
intakes a list;existstakes no value (Operators). - Guard unknown values. A comparison on an unknown value is false, and
notturns it true: prefer positive comparisons, or addexists(Unknown values). - Put thresholds in
optionsand refer to them as{ "field": "options.<name>" }(Options). - Severity:
infofor something unusual,warningorerrorfor a certain problem. - Write self-explaining messages with
{field.path}placeholders, and plural forms when a number changes the grammar (Messages). - Add
datawith the measured value and the thresholds (Data). - No unknown properties. Every property is listed in Rule file; anything else is an error.