Plugins

Plugin size limits

Diagnose a size refusal and choose the relevant limit reference.

For: tenant administrators and plugin authors.

Use the error code from lint, pack, hub submission or install to find the relevant size limit. README and licence messages end with a code such as (readme.size). In plugin lint --json, each problem includes its code, a fix and a link to the corresponding limit.

The bounds protect the server when it reads files and keep the hub's rendered plugin page within its supported size. The companion pages separate documentation limits from artifact and index limits.

A job's own limits (steps, tokens, budgets, a job tree) are on Contracts and limits, a tenant's (agents, task queues, request sizes) on Limits and scaling.

When the README is too long

The hub's plugin page shows your README.md as the plugin's documentation, so it holds what a reader needs before they install: what the plugin does and for whom, how to set it up (connections, secrets, settings, models), which functions read and which write, and a Limits section that says what it does not do. Move everything longer to your own site and link it from the README: guides, tutorials, reference pages, a changelog, design notes. The listing's homepage link is the place for the site itself (List a plugin).

When plugin lint fails on the README:

  • Too long, or too many images or diagrams (readme.size, readme.images, readme.images_total, readme.diagrams): cut it to the sections above and link the rest.
  • An image (readme.image_size, readme.image_dimensions, readme.image_format, readme.image_missing): keep it in the plugin's folder, as PNG, JPEG, WebP or GIF with the extension of its format, at most 1 MiB and 4,096 pixels a side, and refer to it by a path relative to the README. A logo or a diagram drawn as SVG is refused: export it as PNG, or write the diagram in Mermaid.
  • A diagram (readme.diagram_size): split it, or keep the overview in the README and the detail on your site.

Run oz0 plugin lint after each change: it reads the README the way the hub's page renders it.

How to read the tables

Each check has a level at each step, and only an error stops the command; a warning is printed and the command goes on.

StepWhat runs the check
lintoz0 plugin lint, and every check that loads a plugin's folder: plugin test, the studio's lint
packoz0 plugin pack and oz0 plugin push
hub submitoz0 hub submit, and the hub's own checks of a pull request, which run the same engine
installThe edge's install of any source, a workspace, oz0 dev

Installs take a plugin whose README breaks a limit, with a warning: the limits are the hub page's, and a plugin's own users may read anything it ships. plugin lint --verified changes none of these levels.

Limits on other pages

Limits that belong to one part of a plugin are on that part's page, next to what they limit:

Previous section links
Copyright © 2026