# XO-CLI & XO-TUI ## Installation ### Full Installation ```bash # Create a new directory since we are going to be pulling in engine too mkdir xo-terminal && cd xo-terminal # ----- Start State Setup ----- # Clone the State Repo git clone https://gitlab.com/Harvmaster/state.git # Move into the state directory cd state git checkout cli-test # Install the dependencies npm ci # Build the state npm run build # ----- End State Setup ----- # Move back to the top level directory cd .. # ----- Start Primitive Setup ----- git clone git@gitlab.com:GeneralProtocols/xo/primitives.git cd primitives git checkout update/syncup-ui-requirements npm ci npm run build # ----- End Primitive Setup ----- # Move back to the top level directory cd .. # ----- Start Utils Setup ----- git clone git@gitlab.com:Harvmaster/xo-cash-utils.git utils cd utils git checkout sse-and-backoff npm ci npm run build # ----- End Utils Setup # Move back to the top level directory cd .. # ----- Start Template Setup ---- # Clone the Template repo git clone https://gitlab.com/Harvmaster/templates.git # Move into themplates directory cd templates # Install deps npm ci #build the templates npm run build # ----- End Templates Setup ---- # Move back to the top level directory cd .. # ----- Start Engine Setup ----- # Clone the Engine Repo (Note, this uses harvey's fork of the engine repo to access the cli-test branch) git clone https://gitlab.com/Harvmaster/engine.git # Move into teh engine directory cd engine # Checkout the cli-test branch git checkout cli-test-update # Install the dependencies npm ci # Build the engine npm run build # ----- End Engine Setup ----- # Move back to the top level directory cd .. # ----- Start CLI Setup ----- # Clone the CLI Repo git clone https://git.harvmaster.com/Harvmaster/xo-cli.git # Move into the cli directory cd xo-cli git checkout kiok-update # Install the dependencies npm ci # Build the cli npm run build # ----- End CLI Setup ----- ``` ### Run TUI in dev mode ```bash npm run dev ``` ### Install globally ```bash # (From the xo-cli directory) npm install -g . ``` ### Install autocomplete completions (From the xo-cli directory) #### Install for bash ```bash npm run autocomplete:install:bash ``` #### Install for zsh ```bash npm run autocomplete:install:zsh ``` #### Install for fish ```bash npm run autocomplete:install:fish ``` ### Run the CLI ```bash # If globally installed (Not really usable if not globally installed) xo-cli ``` ### Run the TUI ```bash # If globally installed xo-tui # If not globally installed npm run dev ```