Lifecycle

When a user considers utilising a package in their work it is helpful to provide them with information on the development plans around the package. This allows them to make an informed decision as to whether they want to take that package as a dependency. To help users understand the development status of a package we use lifecycle badges to relay one of 4 stages of package maturity; concept, experimental, maturing and stable:

Diagram showing how packages go through stages from concept to experimental to maturing to stable

Concept

Initial ideas of what the package will be, maybe some gist of code and discussions among developpers, but not much more.

Experimental

Draft of a functional package, but interfaces and functionalities may change over time, testing and documentation maye be lacking. Typically semantic version < 0.1.0.

Maturing

Package is functional, documented and tested. Can be used in production with the understanding that the interface may still undergo minor changes. Typically semantic version < 1.0.0.

Stable

Package is functional, documented and tested. The interface is not meant to change in the future. Can be used in production and relied upon by other packages. Typically semantic version >= 1.0.0.

Contributing

More info coming soon!