A new command-line interface (CLI) helper tool called Yakari has sparked discussion in the developer community, with users debating its approach to making command-line tools more accessible. While the tool aims to transform complex CLI interactions into guided experiences, community feedback highlights both its potential and current usability challenges.
UX Concerns and Clarity
The tool's demonstration video has become a focal point of discussion, with several users expressing confusion about the workflow. One community member's feedback crystallized this sentiment:
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.
The developer responded by clarifying the step-by-step process, explaining how users can navigate through menus using keyboard shortcuts to perform actions like creating git branches or listing files. This interaction highlighted a key challenge in presenting intuitive interfaces for command-line tools.
Universal CLI Support with Configuration Requirements
Unlike some existing solutions that only work with Python-based CLIs, Yakari supports all command-line interfaces. However, this universality comes with a trade-off - each CLI requires a TOML configuration file that defines its menu structure. This approach differs from tools like Gooey, which automates the process but only works with Python applications.
Feature Set and Navigation
The tool introduces several practical features for CLI interaction, including command history persistence, contextual help, and support for various argument types. Users can switch between normal and edit modes for different types of command input, with keyboard shortcuts providing quick access to common actions. The community has noted the importance of command visibility, with users requesting clearer feedback about the commands being constructed.
Key Keyboard Shortcuts:
- ctrl+q: Cancel/Exit
- backspace: Erase/Go back
- tab: Auto-complete
- ctrl+r: Toggle results
- ctrl+l: Clear results
- ctrl+e: Toggle edit mode
Supported Argument Types:
- Flag argument
- Single-value argument
- Multi-choice argument
- Password argument
- Multi-value argument
Future Development
The roadmap for Yakari includes planned improvements such as file argument support and environment variable handling. These additions could address some of the current limitations identified by the community while expanding the tool's functionality for more complex use cases.
The discussion around Yakari reflects a broader conversation about making command-line tools more approachable while maintaining their power and flexibility. As the project evolves, the developer's responsiveness to community feedback suggests potential improvements to address current usability concerns.
Reference: Yakari: an interactive command building tool