snet-cli icon indicating copy to clipboard operation
snet-cli copied to clipboard

Improve CLI commands for usability

Open ferrouswheel opened this issue 7 years ago • 1 comments

(Splitting out from #104)

Ideally, once a user has configured the CLI (with identity, network), then there could only be two core commands. We could call these different things, but I think having similar names to git subcommand names will mean less cognitive demand of new users:

  • snet init - create a new service json for the current directory. This should also generate template proto files for the interface definition, unless they already exist. This doesn't push anything to blockchain or IPFS. This would replace, or alias, snet service metadata-init.

  • snet push - this command should automagically figure out if it needs to create/modify contracts or publish changes to IPFS. So the first time you run it it will create a new agent - possibly with a warning/confirmation. Later it will only do something if you've changed the config somehow. This would duplicate functionality of snet service publish, snet service update-metadata, snet service update-add-tags, snet service update-remove-tags

ferrouswheel avatar Jan 20 '19 19:01 ferrouswheel

About push command: The current version of snet-cli is written with assumption that we don't have the local version of "metadata". It is totally different ideology in which we don't need the push command.

The workflow is following:

  • We create metadata file (using snet service metadata-*)
  • We publish service in registry using snet service publish
  • The local version of metadata became obsolete (I will add issue to actually remove it to not confuse service provider)
  • If we need to update metadata we should get metadata from registry (using snet service print-metadata). Now, we can update metadata localy (using snet service metadata-*) and after it we can update metadata in registry (using snet service update-metadata)

astroseger avatar Jan 21 '19 12:01 astroseger