TBD54566975 / web5-spec

https://tbd54566975.github.io/sdk-report-runner/
Apache License 2.0
6 stars 5 forks source link

Consider scope & prioritization of CLI #154

Open KendallWeihe opened 2 months ago

KendallWeihe commented 2 months ago

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:

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?