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
Interface
export TOME_ROOT=examples
tome-cli exec path to file
tome-cli help path to <TAB>
tome-cli completion fish | source
tome-cli alias --write kit
# 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>
# Print out completions for zsh | fish | bash
tome completion zsh
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)
pre-hooks (hooks.d folder will be sourced in order or executed before the real script)