@ajhenry/goto v0.3.0
goto
🪄 A cli tool to magically goto folders and clone github repos
Getting started • Installation • Configuration
Getting Started
When you run goto for the first time, it will prompt for a default dev
directory of your choice
After that it automatically jumps to folders and clones the github repo if needed
Some commands to get you started
# Jump to the dev directory
goto
# Clone this repo and jump to the directory
goto ajhenry/goto
# Add a new github org to the list of orgs to clone from with a single keyword
goto --owners --update
# Update the default dev directory
goto --path --update
# Jump to a directory and open in code
gotoc ajhenry/goto
gotoc
is the same functionality with the added benefit of opening in vscode.
Installation
You will also need the github cli in order to list and clone repos
Step 1: Install goto
npm i -g @ajhenry/goto
Step 2: Add goto to your shell
To start using goto, add it to your shell.
Add this to your configuration (usually ~/.zshrc
or ~/.bashrc
):
eval "$(goto-cli --init)"
How it works
You have to set a default dev directory like ~/dev
or ~/projects
.
After that, once you type in goto project-name
it will first check if the directory exists.
If the directory does not exist, it will search github and clone the repo.
If that also fails, it will ask if you want to create it.
Configuration
The following flags are available:
-> goto -h
USAGE
$ goto [PATH] [-l] [-p] [-u] [-d] [-i] [-v] [-o]
FLAGS
-d, --debug Enable debug output
-i, --init Initializes the goto function for bash
-l, --list List all repos
-o, --owners Update the list of owners to search for repos from
-p, --path List the default dev directory
-u, --update Update the dev directory or GitHub owners
-v, --version Prints the version number
Developing
This setups a development environment for you
npm i
npm link
npm run dev
# Now you can run the wrapper cli
goto-cli -v
Any changes that you make will be available immediately via the wrapper
Generating Pretty Terminal Output
Install these packages
brew install asciinema
npm i -g svg-term-cli
Run these commands to generate the output
asciinema rec ~/.goto/test.json --overwrite
svg-term --in ~/.goto/test.json --out resources/terminal.svg --window
License
MIT