rog-golang-buddies / golang-template-repository

Kickstarter repository for a golang service
Apache License 2.0
17 stars 7 forks source link

How to build and release a CLI? #55

Closed jmaister closed 2 years ago

jmaister commented 2 years ago

The project https://github.com/rog-golang-buddies/go-automatic-apps will have a CLI executable available to run commands to create a new app, new model, and more operations.

Is this being contemplated in this template? If so, how it's done? How will the users install the executable?

pallasite99 commented 2 years ago

@jmaister I think this will be up to the individual PO's to implement.

I don't think every project will have a CLI executable here, so it wouldn't make sense to include that here ig.

haani-niyaz commented 2 years ago

@jmaister this will be available in the next release via a workflow running GoReleaser.

@pallasite99 opted to include this in this release since even services run off a binary which covers the majority. To your point though, we need to make this opt-in or provide a convenient way to opt out.

shukra-in-spirit commented 2 years ago

@haani-niyaz I think providing templated communication interfaces like cli, grpc, webrtc and api skeleton code will take some time.

@jmaister I don't think it would be done in time, for this round of project teams to use it at the beginning.

haani-niyaz commented 2 years ago

@shukra-in-spirit Ahh I may have interpreted the question just based on:

How will the users install the executable?

Yes, if other CLI templated things were implied, then no, it is not in scope.

shukra-in-spirit commented 2 years ago

Can we consider it for future scope? A repository with code dumps for various communication interfaces? It can also contain a few methods which can be called by other projects like errors with stack tracing, http clients, rbac implementations and other auth stuff, etc. @haani-niyaz

shukra-in-spirit commented 2 years ago

@mridulganga looks like there are already requests for the scaffolding utility.