paritytech / polkadot-sdk-docs

_THE_ Polkadot SDK Tutorial
19 stars 0 forks source link

Rust doc user journey: CLI #17

Closed kianenigma closed 1 year ago

kianenigma commented 1 year ago

I think this is a great example of a page that should have been entirely documented in rust-docs: it is almost entirely copy-pasted, and extremely hard to maintain: https://docs.substrate.io/reference/command-line-tools/node-template/

We should focus on the documentation of the crate https://paritytech.github.io/substrate/master/sc_cli/index.html and improve it such that this page can act as the single source of truth for CLI args.

This crate should be linked in #11.

CrackTheCode016 commented 1 year ago

As a note (and this is probably already obvious), a lot of pallets, in general, contain super valuable docs ranging from the intention of the pallet to individual extrinsics.

Not sure off the top of my head, but grabbing that as a part of the docs wouldn't be a terrible idea (with added context in some cases)

kianenigma commented 1 year ago

All such docs are accessible in http://paritytech.github.io/ and https://github.com/paritytech/polkadot-sdk-docs/issues/9, is that what you mean?

kianenigma commented 1 year ago

I tried to take a stab at this in https://github.com/paritytech/substrate/pull/14581, but the experience is still pretty rubbish.

kianenigma commented 1 year ago

It seems like in each chain, we expect to run a struct Cli of some sort, with a run and subcommands fields.

The run command gets the same set of arguments in each chain, defined here: https://paritytech.github.io/substrate/master/sc_cli/commands/struct.RunCmd.html the subcommand is different per chain, such as:

https://paritytech.github.io/substrate/master/node_template/cli/enum.Subcommand.html https://paritytech.github.io/substrate/master/node_cli/enum.Subcommand.html