# Functions
AddPluginCommandStubs adds a stub cobra.Commands for each valid and invalid plugin.
IsNotFound is true if the given error is due to a plugin not being found.
ListPlugins produces a list of the plugins available on the system.
NewPluginError creates a new pluginError, analogous to errors.Errorf.
PluginRunCommand returns an "os/exec".Cmd which when .Run() will execute the named plugin.
# Constants
CommandAnnotationPlugin is added to every stub command added by AddPluginCommandStubs with the value "true" and so can be used to distinguish plugin stubs from regular commands.
CommandAnnotationPluginInvalid is added to any stub command added by AddPluginCommandStubs for an invalid command (that is, one which failed it's candidate test) and contains the reason for the failure.
CommandAnnotationPluginVendor is added to every stub command added by AddPluginCommandStubs and contains the vendor of that plugin.
CommandAnnotationPluginVersion is added to every stub command added by AddPluginCommandStubs and contains the version of that plugin.
MetadataSubcommandName is the name of the plugin subcommand which must be supported by every plugin and returns the plugin metadata.
NamePrefix is the prefix required on all plugin binary names.
ReexecEnvvar is the name of an ennvar which is set to the command used to originally invoke the docker CLI when executing a plugin.
# Interfaces
Candidate represents a possible plugin candidate, for mocking purposes.