The v3/plugins/ directory in the repository contains the plug-ins. The following is the structure of a plug-in directory:

./che-plugin-registry/v3/plugins
 ├── <publisher>
 ├── <plugin-name>
 ├── <plugin-version>
 └── meta.yaml

To add a new plug-in:

Procedure
  1. In the v3/plugins/ directory, create a new directory and name it <publisher>/<plugin-name>/<plugin-version>/.

  2. Create a plug-in meta.yaml file in the new directory.

    Example

    The following is an example directory called my-org/my-plugin/1.0.0/, and it contains a meta.yaml file:

    $ mkdir -p che-plugin-registry/v3/plugins/my-org/my-plugin/1.0.0/
    $ touch che-plugin-registry/v3/plugins/my-org/my-plugin/1.0.0/meta.yaml
    $ tree ./che-plugin-registry/v3/plugins
    ./che-plugin-registry/v3/plugins
     ├── my-org
     ├── my-plugin
     ├── 1.0.0
     └── meta.yaml
  3. Add valid content to the meta.yaml file. See the “Using a Visual Studio Code extension in Che” section or the README.md file in the eclipse/che-plugin-registry repository for a detailed description of the meta.yaml file format.

  4. Create a directory called latest/ and copy the meta.yaml file in it, too. The meta.yaml file in the latest/ directory is used when the plug-in version is not specified (in a devfile, for example).

    The latest/ directory should always contain a copy of the latest stable meta.yaml file.
    Example
    $ mkdir che-plugin-registry/v3/plugins/my-org/my-plugin/latest/
    $ copy che-plugin-registry/v3/plugins/my-org/my-plugin/1.0.0/meta.yaml \
    che-plugin-registry/v3/plugins/my-org/my-plugin/latest
    $ tree ./che-plugin-registry/v3/plugins
    ./che-plugin-registry/v3/plugins
     ├── my-org
     ├── my-plugin
     ├── 1.0.0
     ├── meta.yaml
     ├── latest
     └── meta.yaml