RemyLeBerre / Polkadot-Doc-Review

The purpose of this repo is to track and stay up to date on all of the Polkadot Documentation, whilst also inviting peer review and coordination.
0 stars 0 forks source link

DevHub Implementation #4

Open RemyLeBerre opened 2 months ago

RemyLeBerre commented 2 months ago

Summary This KR is to track the progress wrt to the new Polkadot Developer Hub. Any and all information surrounding this coordination between Papermoon <> Distractive <> Parity <> W3F should be posted here.

kapetan3sid commented 2 months ago

@RemyLeBerre, here is a draft of how we envision the repo structure should look like and the processes around peer review & deployment.

Repos

Peer review

Deployment process

albertogallini commented 2 months ago

I would suggest also to use github actions to detect from this (target) repo new releases of relevant source repos (e.g. Polkadot SDK , zombienet, subxt etc .. )

Here below the logic:

albertov19 commented 2 months ago

I am gathering my thoughts here after being OOO the past week.

Introduction

As you might know, PaperMoon was given a DF future grant with different work verticals, two being related to Polkadot documentation:

  1. Help to create content around ecosystem tooling, processes, best practices, etc. This includes things that any ecosystem team might need outside of core Polkadot-SDK documentation. The scope here is quite broad, so we expected to tackle only some of the required documents, but it would be one of the main drivers behind it.
  2. Coordinate and drive the creation of a Polkadot Developer hub that helps developers find the content they need to start building on Polkadot. IMO, Polkadot has never had good, coherent developer documentation. Everything is spread around in different Github Repos or sites like Substrate and Polkadot's Wiki, among others.

I'll focus on point 2. Being a "heterogeneously sharded" ecosystem does not mean we need sharded documentation. Polkadot is a complex system with many moving parts, so we can't expect everything to live under a single documentation site. But developers building on Polkadot deserve to learn about all the different development paths and tooling the ecosystem offers.

Content Style

There have been suggestions on how the developer documentation for Polkadot should be. One of the most recent discussions suggested that PaperMoon should contribute directly to GitHub Repos and their README instead of creating a page solely dedicated to that tool. Consequently, we can ensure that the documentation stays relevant and current.

We are against this idea and believe that to provide a good developer experience relevant to developer documentation, it should be provided on a separate page through an explicit framework about presenting documentation. This will generate coherent documentation for developers looking to build on Polkadot. Furthermore, it will help developers get used to the same content flow and cater to all sorts of developers: runtime builders, appchain developers from templates, infrastructure players, smart contract developers, and dApp developers.

A middle ground that was discussed was to ensure that GitHub Repositories have a baseline structure that can be automatically pulled into the documentation site and then work on expanding that. Consequently, you ensure that the tool's main steps are relevant, but you can add extra content on top of them.

We plan to keep the documentation relevant by using GitHub actions to notify the documentation repository of new releases of tools and SDKs. Then, teams owning that content should work on updating the documentation.

Another strategy is to ensure that this is treated as The Polkadot Documentation and that developers of such tools understand the need to go to the content repository and create a PR with the relevant changes. Moreso, if these were treasury-funded, the community could be required to consistently update the appropriate content.

Content Distribution

When PaperMoon proposed W3F to lead the development of the Polkadot Developer Hub, we knew we had to work with many different entities and contributors because the project is quite complex. It is challenging for everyone to agree on the right way to move forward. The more people involved in the decision-making process, the harder it is to advance. Therefore, I think the following might work best (this is my opinion, so I am open to suggestions).

In terms of content-ownage: