A bash/zsh tool that provides project-specific command menus via .ok files, making shell scripts executable and discoverable.
ok-bash is a shell tool that lets developers create and manage project-specific command menus through `.ok` files. It solves the problem of remembering and typing repetitive project commands by providing a numbered or named list of executable scripts. Each `.ok` file acts as both documentation and a runnable command palette for its directory.
Developers and system administrators who work across multiple projects in bash or zsh and want to streamline project-specific workflows without memorizing complex commands.
Developers choose ok-bash because it turns static documentation into interactive, executable menus, reduces typing errors, and provides a lightweight, customizable way to manage project commands without heavy tooling.
.ok folder profiles for bash
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Transforms static comments in .ok files into runnable commands, directly aligning with its philosophy of reducing context switching by making documentation interactive.
Supports assigning memorable names to commands with auto-completion in bash, allowing for intuitive execution beyond numeric indexes, as shown in the named commands section.
Offers extensive customization via environment variables for colors, comment alignment, and prompt behavior, detailed in the customization section with examples like _OK_COMMENT_ALIGN.
Works with both bash (3.2+) and zsh, providing versatility on Unix-like systems, though with noted limitations for zsh autocomplete in the shell support section.
Autocomplete is not supported in zsh, and it requires bash or zsh, making it unsuitable for PowerShell or other shells without separate versions, as admitted in the README.
Setup involves sourcing scripts in shell initialization files and managing environment variables, which can be error-prone and requires per-user adjustments, unlike drop-in tools.
.ok files are per-directory and static, lacking built-in synchronization or version control features, which complicates team-wide updates and dynamic command generation.