diff --git a/docs/index.rst b/docs/index.rst index 00f3871b..5450ea5c 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -67,6 +67,7 @@ Development documentation :maxdepth: 3 development + extensiondev Indices and tables diff --git a/extensiondev.rst b/extensiondev.rst new file mode 100644 index 00000000..7fe5a2f4 --- /dev/null +++ b/extensiondev.rst @@ -0,0 +1,22 @@ +********************* +Extension development +********************* + +.. warning:: Draft + + This document is a draft open for discussion. It shows how we imagine that + development of Mopidy extensions should become in the future, not how to + currently develop an extension for Mopidy. + +An extension wants to: + +- Be automatically found if installed +- Provide default config +- Validate configuration +- Validate presence of dependencies + - Python packages (e.g. pyspotify) + - Other software + - Other extensions (e.g. SoundCloud depends on stream backend) +- Validate that needed TCP ports are free +- Be asked to start running +- Be asked to shut down