{"id":26296421,"url":"https://github.com/ajhenry/goto","last_synced_at":"2026-04-11T05:34:34.189Z","repository":{"id":51128466,"uuid":"514102175","full_name":"ajhenry/goto","owner":"ajhenry","description":"🪄 A cli tool to magically goto folders and clone github repos","archived":false,"fork":false,"pushed_at":"2023-10-02T18:49:48.000Z","size":1206,"stargazers_count":2,"open_issues_count":13,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-06T05:49:46.397Z","etag":null,"topics":["bash","cd","cli","goto","node","typescript","zsh"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ajhenry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-15T01:58:13.000Z","updated_at":"2022-09-06T20:58:36.000Z","dependencies_parsed_at":"2023-02-18T18:25:13.296Z","dependency_job_id":null,"html_url":"https://github.com/ajhenry/goto","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajhenry%2Fgoto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajhenry%2Fgoto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajhenry%2Fgoto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ajhenry%2Fgoto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ajhenry","download_url":"https://codeload.github.com/ajhenry/goto/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243681172,"owners_count":20330176,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","cd","cli","goto","node","typescript","zsh"],"created_at":"2025-03-15T04:18:20.647Z","updated_at":"2025-10-03T18:35:12.058Z","avatar_url":"https://github.com/ajhenry.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-configure-file {\n  \"MD013\": {\n    \"code_blocks\": false,\n    \"tables\": false\n  },\n  \"MD033\": false,\n  \"MD041\": false\n} --\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n# goto\n\n\u003c!-- [![Downloads][downloads-badge]][releases]\n[![License][license-badge]][license] --\u003e\n\n🪄 A cli tool to **magically** goto folders and clone github repos\n\n[Getting started](#getting-started) •\n[Installation](#installation) •\n[Configuration](#configuration)\n\n\u003c/div\u003e\n\n## Getting Started\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./resources/terminal.svg\" alt=\"Output example\"\u003e\n\u003c/div\u003e\n\nWhen you run goto for the first time, it will prompt for a default `dev` directory of your choice\n\nAfter that it automatically jumps to folders and clones the github repo if needed\n\nSome commands to get you started\n\n```sh\n# Jump to the dev directory\ngoto\n\n# Clone this repo and jump to the directory\ngoto ajhenry/goto\n\n# Add a new github org to the list of orgs to clone from with a single keyword\ngoto --owners --update\n\n# Update the default dev directory\ngoto --path --update\n\n# Jump to a directory and open in code\ngotoc ajhenry/goto\n```\n\n\u003e `gotoc` is the same functionality with the added benefit of opening in vscode.\n\n## Installation\n\n\u003e You will also need [the github cli](https://cli.github.com/) in order to list and clone repos\n\n### _Step 1: Install goto_\n\n```sh\nnpm i -g @ajhenry/goto\n```\n\n### _Step 2: Add goto to your shell_\n\nTo start using goto, add it to your shell.\n\nAdd this to your configuration (usually `~/.zshrc` or `~/.bashrc`):\n\n```sh\neval \"$(goto-cli --init)\"\n```\n\n## How it works\n\nYou have to set a default dev directory like `~/dev` or `~/projects`.\n\nAfter that, once you type in `goto project-name` it will first check if the directory exists.\n\nIf the directory does not exist, it will search github and clone the repo.\n\nIf that also fails, it will ask if you want to create it.\n\n## Configuration\n\nThe following flags are available:\n\n```sh\n-\u003e goto -h\nUSAGE\n  $ goto [PATH] [-l] [-p] [-u] [-d] [-i] [-v] [-o]\n\nFLAGS\n  -d, --debug    Enable debug output\n  -i, --init     Initializes the goto function for bash\n  -l, --list     List all repos\n  -o, --owners   Update the list of owners to search for repos from\n  -p, --path     List the default dev directory\n  -u, --update   Update the dev directory or GitHub owners\n  -v, --version  Prints the version number\n```\n\n## Developing\n\nThis setups a development environment for you\n\n```sh\nnpm i\nnpm link\nnpm run dev\n\n# Now you can run the wrapper cli\ngoto-cli -v\n```\n\nAny changes that you make will be available immediately via the wrapper\n\n## Generating Pretty Terminal Output\n\nInstall these packages\n\n```sh\nbrew install asciinema\nnpm i -g svg-term-cli\n```\n\nRun these commands to generate the output\n\n```sh\nasciinema rec ~/.goto/test.json --overwrite\nsvg-term --in  ~/.goto/test.json --out resources/terminal.svg --window\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajhenry%2Fgoto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fajhenry%2Fgoto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fajhenry%2Fgoto/lists"}