-
Notifications
You must be signed in to change notification settings - Fork 523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improving the goose CLI command #663
Comments
If no one else is working on this, I can take this up. |
I think this is one issue I'll likely take on over the next few months. There's a bit to this issue, and I'd like to avoid leaving a bad experience to contributors dragging out a lengthy review for a major refactor. Some items to think through:
... probably more, but this gives you an idea of the work involved here. |
I've settled on using https://pkg.go.dev/github.com/peterbourgon/ff/v4. It's got just enough knobs to make it useful and I had a fairly good experience with it in the past. I'd like to minimize breaking changes as much as possible, but there's some quirky behavior in the current goose CLI that'll make 100% backwards compatibility near-impossible. I'll make sure to jot down any changes, although I think most of it will be welcoming. For example, the following doesn't do what you expect:
To make forward progress (without a long-lived branch) and allow folks to experiment with the "new" goose I'll guard this chunk of work with an env variable. In the future, we'll consider promoting this and removing the old code.
I'm also going to make the following 2 functions exportable, which will make it easier for folks to use the CLI code directly in their programs (fix #646) and get all the nice CLI bits.
|
Here's a first pass at stubbing out the new I think this is a good base to iterate on, there will likely be changes and shuffles, but it's working and once it's done I've convinced this will be a nice and modern CLI user experience. |
This issue aims to track improvements to the goose CLI command.
I had a version of the CLI (built with https://github.com/peterbourgon/ff) that I quite enjoyed working with. It was self-documenting, had a bunch of examples, intuitive and (most importantly) easy to compose/maintain.
The text was updated successfully, but these errors were encountered: