If we were to full commit to providing a CLI as a deliverable to our open source efforts, what should the scope of that CLI be? We currently have a half-baked web5 CLI in the web5-go repo but that's not necessarily the path forward.
I'm envisioning a barbell strategy here wherein we provide a low-level SDK (which affords multi-language support; AKA web5-rs + non-idiomatic bindings) and then a CLI. This way consumer's of our initiatives can build their own solutions in-house (by using the SDKs) or they can simply download+install+run the CLI (akin to a homebrew package).
Regarding the scope, would the scope be limited the surface area of the SDK (that is to say, stateless functionality) or would we go as far as to venture into the CLI offering "run your own node" featuresets which imply some degree of state/storage as well as networking capabilities.
The same questions hold true for tbdex. Imagine we had the following repos:
tbdex-spec, tbdex-rs and tbdex-cli
web5-spec, web5-rs and web5-cli
If so, what language would the CLIs be written in? Perhaps we could write the CLIs in golang and use golang bindings from the rust core libs?
If we were to full commit to providing a CLI as a deliverable to our open source efforts, what should the scope of that CLI be? We currently have a half-baked
web5
CLI in theweb5-go
repo but that's not necessarily the path forward.I'm envisioning a barbell strategy here wherein we provide a low-level SDK (which affords multi-language support; AKA
web5-rs
+ non-idiomatic bindings) and then a CLI. This way consumer's of our initiatives can build their own solutions in-house (by using the SDKs) or they can simply download+install+run the CLI (akin to a homebrew package).Regarding the scope, would the scope be limited the surface area of the SDK (that is to say, stateless functionality) or would we go as far as to venture into the CLI offering "run your own node" featuresets which imply some degree of state/storage as well as networking capabilities.
The same questions hold true for
tbdex
. Imagine we had the following repos:tbdex-spec
,tbdex-rs
andtbdex-cli
web5-spec
,web5-rs
andweb5-cli
If so, what language would the CLIs be written in? Perhaps we could write the CLIs in golang and use golang bindings from the rust core libs?