So, the point is to make CLIs discoverable and aid with writing commands? Cool!
Here's what's missing. A persistent view of what the user is actually typing. The menus are all nice, but if this is fancy autocomplete I always want to also see the partial command that I've been typing so far. At least, there's no such view in the demo video.
Re: what the user is typing should be displayed in the bottom left of the window as they are typing.
It’s not really fancy autocomplete, rather it’s keyboard shortcuts.
I answered to a different comment [1] that found the video confusing as well.
Let me know if that explanation helps or if the UX is still confusing to you. I’ll need to come up with a better video example.
Nice! I had a similar idea some months back (https://github.com/federicotdn/brief). Both our projects use external files to document the flags for CLI commands - I'm using YAML instead of TOML.
Ha! Great minds!
Thanks for sharing, I’ll take a look at your project.
I looked on github for similar repos before I (re)started on this but couldn’t find anything
Thanks for the feedback! Seems like the video is confusing to several people so I’ll work on improving it.
I can explain the first steps of the video here:
1. ykr git starts the TUI configured for git. This display a menu where each option is accessible via a keyboard shortcut.
2. User inputs “b”, which opens the “branch” menu.
3. User inputs “l” which runs the command to list all the branches and display them to the user. Hitting ctrl+r hides the result window.
4. Still in the branch menu, the user inputs “c” to create and switch to a new branch. This prompts them with a branch name and the user inputs “demo”. Submitting the branch name calls git checkout -b demo and display the results to the user.
The remaining steps show similar interactions to add and commit a file, as well as deleting a branch.
Does that help understanding how the UX works or are there still confusing parts?
Yes this works for all CLIs but there’s a caveat: yakari requires a TOML configuration file that defines the menu for that CLI. For instance, here’s the definition of the git menu [1].
Gooey is much more automated but limited to Python because it requires adding a decorator to the CLI code.
In other words, yakari is just a command runner with a nice — but apparently confusing — UI.
So, the point is to make CLIs discoverable and aid with writing commands? Cool!
Here's what's missing. A persistent view of what the user is actually typing. The menus are all nice, but if this is fancy autocomplete I always want to also see the partial command that I've been typing so far. At least, there's no such view in the demo video.
PS. The demo video is very confusing.
Yes, you got the point!
Re: what the user is typing should be displayed in the bottom left of the window as they are typing. It’s not really fancy autocomplete, rather it’s keyboard shortcuts.
I answered to a different comment [1] that found the video confusing as well. Let me know if that explanation helps or if the UX is still confusing to you. I’ll need to come up with a better video example.
[1] https://news.ycombinator.com/item?id=42456417#42460134
Nice! I had a similar idea some months back (https://github.com/federicotdn/brief). Both our projects use external files to document the flags for CLI commands - I'm using YAML instead of TOML.
Ha! Great minds! Thanks for sharing, I’ll take a look at your project. I looked on github for similar repos before I (re)started on this but couldn’t find anything
Either I'm stupid or there are some serious UX flow problems, halfway through the video I'm still totally lost what it is doing.
Thanks for the feedback! Seems like the video is confusing to several people so I’ll work on improving it.
I can explain the first steps of the video here:
1. ykr git starts the TUI configured for git. This display a menu where each option is accessible via a keyboard shortcut.
2. User inputs “b”, which opens the “branch” menu.
3. User inputs “l” which runs the command to list all the branches and display them to the user. Hitting ctrl+r hides the result window.
4. Still in the branch menu, the user inputs “c” to create and switch to a new branch. This prompts them with a branch name and the user inputs “demo”. Submitting the branch name calls git checkout -b demo and display the results to the user.
The remaining steps show similar interactions to add and commit a file, as well as deleting a branch.
Does that help understanding how the UX works or are there still confusing parts?
Does this work for all CLIs? There is Gooey [1], a similar Python project that works, but only for Python CLIs.
[1]: https://github.com/chriskiehl/Gooey
Yes this works for all CLIs but there’s a caveat: yakari requires a TOML configuration file that defines the menu for that CLI. For instance, here’s the definition of the git menu [1].
Gooey is much more automated but limited to Python because it requires adding a decorator to the CLI code.
In other words, yakari is just a command runner with a nice — but apparently confusing — UI.
[1] https://github.com/vlandeiro/yakari-menus/blob/main/git.toml
I don’t know about this tool, but I can recommend the comic.
Yes, Yakari is a great comic (BD really). I thought about the name for a bit, it was between Yakari and Little Thunder (Yakari’s horse)!
Define TUI
TUI
noun
1. Initialism of Tangible User Interface
Although here it apparently means "Terminal User Interface".
Yes, in that case TUI stands for “Terminal User Interface” [1].
Examples of TUIs are top, vim, and emacs
[1] https://en.m.wikipedia.org/wiki/Text-based_user_interface