Manifest reference¶
plugin.toml is the whole of a plugin's relationship with Podlibre. Nothing is discovered by
scanning code.
[plugin]¶
| Key | Required | Meaning |
|---|---|---|
id |
yes | Unique, lowercase, underscores. Also the folder name. |
name |
yes | What the user sees. Translate it in your catalogue if you like. |
version |
yes | Semantic version of your plugin. |
api |
yes | The Podlibre plugin API you were written against. |
description |
no | One sentence, shown in the plugin list. |
homepage |
no | Where to find you. |
[permissions]¶
Every key is optional; what you omit, you cannot do. See Permissions.
[permissions]
files = ["show"] # show | episode | ask
network = ["api.castopod.org"] # host list, or ["*"]
llm = { local = ["summarise"] } # capability, model name, or recommendation
[[activities]]¶
A step you add to the workflow. Repeatable.
| Key | Required | Meaning |
|---|---|---|
id |
yes | Stable. Matching one Podlibre ships replaces it. |
scope |
yes | application, show, or episode. |
phase |
no | Which group of the workflow. Defaults to the end. |
icon |
no | A glyph name. |
Strings come from your catalogue: activity.<id>.title and activity.<id>.hint.
[[surfaces]]¶
Where you appear. Repeatable. See Surfaces.
| Key | Required | Meaning |
|---|---|---|
kind |
yes | screen, editor_pane, side_panel, dialog, palette, field_editor |
activity |
for screen |
Which of your activities opens it |
view |
usually | Path to the view description |
field |
for field_editor |
Which field key you are the editor for |
[[fields]]¶
A field you add to the model. Repeatable. See The show file.
| Key | Required | Meaning |
|---|---|---|
key |
yes | Unique across all plugins. Prefix it with your id if in doubt. |
on |
yes | show or episode. |
type |
yes | text, html, url, number, date, choice, list |
values |
for choice |
The permitted values. |
shared |
no | true lets other plugins read it. Default false. |
rss |
no | The tag to emit on export, if any. |
id3 |
no | The ID3 frame, if any. |
[[commands]]¶
Optional. Commands are usually declared with the @plugin.command decorator; list one here only
when it should appear in the command palette without a surface of its own.
| Key | Required | Meaning |
|---|---|---|
id |
yes | Matches the decorated function. |
scope |
no | Where it makes sense; hidden elsewhere. |