A rewrite of sub and tome and my fork of tome but with a different internal implementation in order to support:
Improved auto-completion
Improved usage/help outputs
Faster development
Testable interfaces
Usage
# shorthand syntax via bash wrapper script
tome-cli --executable kit alias --output ~/bin/kit
# further uses of kit script have embedded values for TOME_ROOT and TOME_EXECUTABLE
kit completion fish | source
kit path to file
kit pat<TAB>
# Long form
export TOME_ROOT=examples
tome-cli exec path to file
tome-cli help path to <TAB>
tome-cli completion fish | source
# Setup tab completion
tome-cli completion fish | source
eval "$(tome-cli completion zsh)"
# See instructions for a command
tome-cli completion --help
auto-complete script arguments (scripts that include the text TOME_COMPLETION which are tab completed will try to get autocompletes from the script via executing it with --completion)
injects TOME_ROOT into tooling as env var and TOME_EXECUTABLE