Skip to content

Commit

Permalink
PICARD-1861: Plugins doc changes after discussion
Browse files Browse the repository at this point in the history
  • Loading branch information
phw committed Jan 15, 2025
1 parent 5b2189e commit 95b9030
Showing 1 changed file with 29 additions and 3 deletions.
32 changes: 29 additions & 3 deletions PLUGINS.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,11 +153,11 @@ The file MUST define the following mandatory metadata fields:

| Field name | Type | Description |
|----------------|--------|------------------------------------------------------------------|
| id | string | The plugin's unique name. Must be a valid Python package name and only consist of the characters `[a-z0-9_]` |
| ~~id~~ | ~~string~~ | ~~The plugin's unique name. Must be a valid Python package name and only consist of the characters `[a-z0-9_]`~~ |
| name | table | Table of multi-lingual display names. The keys are locale names. At least an English description is mandatory. |
| author | string | The plugin author |
| authors | string[] | The plugin author |
| description | table | Table of multi-lingual detailed plugin descriptions. The keys are locale names. At least an English description is mandatory. Supports Markdown formatting. |
| version | string | Plugin version. Use semantic versioning in the format "x.y.z" |
| ~~version~~ | ~~string~~ | ~~Plugin version. Use semantic versioning in the format "x.y.z"~~ |
| api | list | The Picard API versions supported by the plugin |
| license | string | License, should be a [SPDX license name](https://spdx.org/licenses/) and GPLv2 compatible |

Expand Down Expand Up @@ -389,6 +389,32 @@ activate the plugin. The UI must make it clear that the user is installing the
plugin at their own risk and that the plugin can execute arbitrary code.


### Blacklisting plugins
TBD


## Plugin management

Picard will provide a command line interface and a options user interface to
manage plugins.

### Command line interface

```
picard plugin list
picard plugin install https://git.sr.ht/~phw/picard-plugin-example
picard plugin info https://git.sr.ht/~phw/picard-plugin-example
picard plugin uninstall ...
picard plugin enable ...
picard plugin disable ...
```

Plugins can be referenced by repository URI or by `{uri-hash}-{last-path-part}`.
E.g. the plugin can be referenced by
`https://git.sr.ht/~phw/picard-plugin-example` or by
`0c43dd9b75eebb260a83e6ac57b4128f-picard-plugin-example`.


## To be discussed

### Localization
Expand Down

0 comments on commit 95b9030

Please sign in to comment.