Add Design Principles info to "parent" packages

Description

There are packages, like the analytics ones that have to follow a specific interface and also will behave in a specific way according to the type of package. There’s no clear guide of this in the “parent” packages, so it’s no clear how the community can create more packages of a type.

Examples

For example, google-analytics package:

  • has to implement the interface defined in the analytics package
  • to track an event in Google Analytics using this package you have to use the action of the “parent” → actions.analytics.event

These 2 points (and some others) has to be taken into account for any “analytics” package

Possible solution

Adding some design principles info on each “parent” package that defines the interface to be followed by each “child” package

Note: I add this suggestion as a FD because I’m not sure if this info should be added by Developers or DevRels

Hey @juanma, great initiative, I think this is going to be needed for people wanting to extend the offical namespaces of Frontity :slightly_smiling_face:

So each namespace is going to require, not only the main package with the types (and sometimes code) like @frontity/router, @frontity/source, @frontity/analytics, @frontity/comments and so on…, but also it’s own guide explaining how it works.

Where do you think the guides for each namespace should be?

I think all the details should be in the README.md of the main package with the types. So, then in the docs we can refer to this information (and maybe summarize the info explained there)