liq-cli

This is an alpha project. Documentation and implementation may not be entirely in-sync.

This is the command line interface to liq. liq is a modular, user-friendly development and process management framework. Some key modules include:


Installation and setup

If you have global install access: npm install --omit=dev -g @liquid-labs/liq-cli

To setup ‘global’ installation under your user directory (in bash or zsh):

mkdir -p "${HOME}/.npm-local/bin"
npm config set prefix "${HOME}/.npm-local/"
# instead of the following, you can use an editor to modify the existing PATH settings
[[ $SHELL =~ '/zsh$' ]] && SHELL_FILE=.zshenv \
  || { [[ $SHELL =~ '/bash$' ]] && SHELL_FILE=.bashrc; } \
  || echo 'Sorry, your shell is not recognized. Add ~/.npm-local/bin to the appropriate setup file'
[[ -n "$SHELL_FILE" ]] \
  && echo 'export PATH=${HOME}/.npm-local/bin/:$PATH' >> "${HOME}/${SHELL_FILE}" \
  && source "${HOME}/${SHELL_FILE}"
unset SHELL_FILE
# now you can run the 'global' installation
npm install --omit=dev -g @liquid-labs/liq-cli

Then, simply run:

liq setup

This will walk you through local configuration settings, install @liquid-labs/liq-core, and setup tab completion for bash and zsh shells. See Managing plugins for next steps.

Command sequence and parameters

Each liq command consists of a command sequence and zero or more parameters. The command sequence and parameters are separated by ‘–’. Parameters are in the form of X=Y. A bare parameter X is equivalent to X=true. E.g.:

liq work save -- summary='Fixed null pointer' dirtyOK
#   |---v---| || |--------------v-----------| |--v--|
#cmd sequence v   parameter with string value  boolean 'TRUE' parameter
#       param seperator

Tab completion is your friend

liq employs comprehensive tab completion so you can always hit <TAB><TAB> to get a list of options. You can see here the results for tab completion on each line:

'liq' TAB-TAB shows top level options 'credentials', 'help', 'orgs', etc. 'liq work' TAB-TAB shows build, clean, etc. and open work units.

Getting help

You can either prefix any command sequence with ‘help’ or you can add a ‘help’ parameter to any command. The latter ‘help option’ form is useful if you’ve constructed a long command but want to double check the expected behavior. E.g., the following ar equivalent:

liq help work start
liq work start -- help

Managing plugins

The core system doesn’t do much on it’s own, and you will want to add plugins. The ‘standard’ group of plugins is a good place to start for most users:

liq plugins add -- groups=standard

Platform support

Contributions and bounties

This project offers bounties on many issues.

Non-bounty contributions are also welcome. You may also refer to open, non-bountied issues and make an offer.

Further reading

For a more detailed look at liq, please refer to the project documentation.