Contributing to this database

Contributions are accepted in a form of bitbucket pull requests. There exist the following types of contribution:

Note

One pull request must contain only one contribution type. It may contain more then one contribution with the given type though.

Note

There must be no merge commits in the pull request.

Adding information about a new plugin

To add information about a new plugin one should create a new plugin directory tree in /plugins/ directory without MANIFEST.json file (it will be generated later). Files this tree must contain (relative to plugin directory):

Top level plugin info file
Plugin info file. As mentioned in this file documentation it must not contain repository key.
Plugin info file in one of the releases directories
Plugin info file inside release or development subdirectory. Must contain at least repository key.

Tree also may contain hooks and files used by hooks (in files subdirectory).

Plugin name must consist of latin letters, digits, dashes and underscores. Only ASCII variants of these symbols are allowed. There must not be two consequent dashes or underscores (e.g. substrings -- and __ are not allowed, but _-_ is). It also must be unique.

Note

Contributors should not modify index.json file or update times file. Just like MANIFEST they will be generated later.

Adding deprecation warning

Deprecation warning is added to the top-level plugin info file to the key deprecation-warning. Contributor may also add replacements key. First key must contain a reason for deprecating this plugin and may also contain suggestions for the user about replacing this plugin.

Valid reasons for deprecation:

  • Plugin author explicitly described his plugin as deprecated. In this case deprecation warning should be added even if there are no alternatives.
  • Features of this plugin were included in one of its dependencies.
  • Plugin depends on missing or deprecated plugins.
  • Plugin was last updated at least six months ago, contains known bugs and there is a replacement for it. One may consider contributing information about a fork instead.

Adding information about a fork

TODO