flyte
flyte copied to clipboard
[Core feature] Integrate Bubble Tea with flytectl
Motivation: Why do you think this is important?
flytectl, built with Golang and Cobra, has been a reliable command line tool for Flyte. However, to enhance user experience and interaction, @pingsutw, @Future-Outlier, and I propose the integration of the Bubble Tea package, a modern, user-friendly framework for building flytectl.
Benefits
- Enhanced User Experience: Bubble Tea offers a more interactive and visually appealing interface. This enhances the overall user experience.
- Increased Accessibility: With Bubble Tea, we can create CLIs that are easier to navigate, especially for users who might not be familiar with command line operations. This accessibility broadens our tool's user base.
Goal: What should the final outcome look like, ideally?
Improved Interactivity
For example, when users type flytectl get without specifying what resources to get. The original output will be
To fetch a project, use the following command:
::
flytectl get project
Usage:
flytectl get [command]
Available Commands:
cluster-resource-attribute Gets matchable resources of cluster resource attributes.
execution Gets execution resources.
execution-cluster-label Gets matchable resources of execution cluster label.
...
With bubble tea, we can make it interactive
Visual Enhancements
We can also enhance the visual experience with bubble tea TUI components (which means we don't have to maintainer printer by ourself)
Original:
With bubble tea TUI components:
Describe alternatives you've considered
Sticking with what we have now.
Propose: Link/Inline OR Additional context
No response
Are you sure this issue hasn't been raised already?
- [X] Yes
Have you read the Code of Conduct?
- [X] Yes