Skip to content

NEP13 Module Registry

Greg Hewgill edited this page Jul 28, 2020 · 2 revisions

This proposal describes a registry of modules for the Neon ecosystem. The purpose of this is to maintain a central directory of modules, with metadata such as name, description, URL, license, etc.

Properties

There are several properties of such a registry that are desirable:

  • Easy distribution, replication, and mirroring
  • Collaborative editing (adding/updating module records)
  • Textual format that is easy to search

Proposal

The module registry will be stored in its own Git repository. Each module record will be represented by a YAML file which contains the properties of the module.

There will be a small suite of command line tools to install/remove modules using the module registry as an index.

There will be a public web-based interface to the modules. Initially this would be read-only, but could be expanded later to provide the ability for people to submit their own module records and update them later.

Description

The module registry repository will be a single directory full of .yaml files, for example:

compress.yaml
fltk.yaml
http.yaml
regex.yaml
widget.yaml

Each file is named after the name of the module it represents, with a .yaml extension. The YAML file will contain metadata about the module, for example in widget.yaml:

name: widget
version: 1.0.1
authors: Gidget McWidget <[email protected]>
description: Widget creation functions
documentation: https://mcwidget.example/widget
repository: https://git.example/mcwidget/widget
license: MIT