hackclub/hack-as-a-service-v0

HaaS CLI

Closed this issue ยท 12 comments

A CLI for managing apps, streaming logs, viewing billing, etc. (basically Heroku's CLI but better)

(i wouldn't be opposed to writing this in a non-Go language)

So is this just a command line API client?

Pretty much, yeah

I could work on this in Python if that's an okay language, I like working on CLI's. (I can also help in another language, just won't be as helpful.)

Features we want (based on this convo, feel free to edit as wanted):

  • Log streaming
  • Package apps as .tar.gz and deploy them (unsupported by API currently)
  • Viewing balances and creating invoices
  • App status checking

I can spearhead this if you guys are cool with that. I really think that we should make it in go for a few reasons:

  1. The API is currently written in go so it would be easy for people working on the API to help out.
  2. go compiles binaries to a static binary right out of the box so it is easy to distribute.
  3. go has a number of great modules for creating cli tools that are some of the best out there.
  4. Tools like goreleaser make it super easy to distribute the cli via homebrew, releases, and even a shell script.

I agree that keeping it all in one language makes sense. I'd like to help with this, so I'll start trying to learn Go.

I would like to work on this one and build the entire thing in Go

Is creating a different repo for the CLI really necessary?

CC @cjdenio @anirudhb @jasonappah

agreed

At this point, I feel like we should just stick with a monorepo setup.