# PluginProbe

> Browse, permalink and fetch the source code of any plugin published on WordPress.org, in
> any released version or in trunk. Every line has a stable URL, and every file can be
> fetched as plain text.

Source is read live from the official WordPress.org SVN repository. Pages are
server-rendered HTML and need no JavaScript to read.

## URL scheme

`{slug}` is the WordPress.org plugin slug. `{version}` is any released tag, for example
`5.3.3`, or the literal `trunk`. `{path}` is the file path relative to the plugin root.

- [Plugin overview](https://pluginprobe.com/plugins/{slug}): versions, links and where to start reading
- [Release list](https://pluginprobe.com/plugins/{slug}/changelog): every released version with diff links
- [File listing](https://pluginprobe.com/plugins/{slug}/{version}/code): the plugin root at that version
- [A file](https://pluginprobe.com/plugins/{slug}/{version}/code/{path}): syntax highlighted, one line per table row, each with `id="L{n}"`
- [Raw source](https://pluginprobe.com/plugins/{slug}/{version}/raw/{path}): the file as `text/plain`, no markup. Prefer this over parsing HTML
- [A diff](https://pluginprobe.com/plugins/{slug}/{version}/diff/{other}/{path}): unified diff of one file between two versions

Append `#L10` or `#L10-L20` to a file URL to point at a line or a range.

## Reading as Markdown

Send `Accept: text/markdown` to any `/code/` URL, or append `?format=md`, and the same page
answers with the source in a fenced block instead of a highlighted HTML document. That is
roughly a twentieth of the bytes. `/raw/` gives the file with no wrapper at all.

## Optional

- [Prompt](https://pluginprobe.com/prompt.txt): all of the above condensed into instructions you can adopt directly
- [Full reference](https://pluginprobe.com/llms-full.txt): headers, rate limits and worked examples
- [Agent and crawler documentation](https://pluginprobe.com/bot)
- [Sitemap](https://pluginprobe.com/sitemap.xml)
