goose
goose copied to clipboard
feat: stub out new goose cli package
Related to #663
Picks up from https://github.com/pressly/goose/pull/741
This PR adds an experimental new CLI, gated by GOOSE_CLI=1 env variable.
- uses
goose.Provider - updated CLI experience. goose is a ~13yo project and predates almost all CLI libraries/frameworks. To evolve it and standardize on a pattern, we use a very simple CLI library
- will support JSON
- will support streaming (https://github.com/pressly/goose/issues/899)
- Better help and usage. More of the CLI is documented and should be easier to traverse
- ...
ps. This isn't a refactor for the sake of refactoring. In order to support modern CLI features and common requests (like --json support) we need to standardize on some best practices for building the CLI use a lightweight library. (no, not Cobra)