Skip to content

Repository files navigation

Goto

Navigate faster, not harder.

A lightning-fast, minimalist Path Manager CLI tool designed to supercharge your terminal workflow. Alias your most-used directories, index them, and jump between folders instantly—leaving long paths in the past.

🛠️ Built With

Go JSON Bash SonarQube Cloud GitHub Actions Linux macOS Windows

Installation

The easiest way to install and configure Goto is by running the automatic installation script.

Open your terminal and run:

curl -fsSL https://raw.githubusercontent.com/Joacohbc/goto/main/install.sh | bash

This script will automatically:

  1. Detect your Operating System (Linux or macOS) and Architecture.
  2. Download the latest release binary.
  3. Move the binary to your ~/.local/bin folder.
  4. Detect your shell and add the required aliases for goto to work seamlessly.

Note: After installation, restart your terminal or source your configuration file.

See MANUAL-INSTALL.md for manual setup.

Uninstallation

To completely remove Goto, its binaries, and its shell aliases, simply run the uninstallation script:

curl -fsSL https://raw.githubusercontent.com/Joacohbc/goto/main/uninstall.sh | bash

The script will prompt you to confirm if you also want to remove your saved aliases and configurations.

Usage

Navigation

goto home      # Go to path with abbreviation "home"
goto 0         # Go to path at index 0
goto /tmp      # Like regular cd

Note: Abbreviations and indices take precedence over local directory names. Use -d to force directory navigation.

Manage Paths

Add Path

goto add-path ./ currentDir      # Add current dir as "currentDir"
goto add-path ~/Documents docs   # Add specific path

List Paths

goto list
# Output: 0 - "/home/user" - h

Search

goto search -a docs    # Search by abbreviation
goto search -p ~/Docs  # Search by path

Delete Path

goto delete --path ~/Documents
goto delete --abbv docs
goto delete --indx 2

Modify Path Update entries using goto update <mode>. Modes combine the identifier and the target to change (e.g., path-abbv means identify by path, update abbreviation).

Shortcuts: pp (path-path), pa (path-abbv), pi (path-indx), ap (abbv-path), aa, ai, ip, ia, ii.

# Update path (identify by abbreviation 'h')
goto update ap -a h -n /new/path

# Rename abbreviation (identify by path)
goto update pa -p /current/path -n newname

Self-Update

goto update-goto

Backup & Restore

goto backup [-o file.json]
goto restore [-i file.json]

Temporary Session

Use -t flag for temporary paths (cleared on reboot).

goto add-path -t ./ temp
goto -t temp

Extras

  • goto -q home : Return quoted path.
  • goto -s home : Return path with escaped spaces.
  • \cd ~/Documents : Bypass alias to use standard cd.

About

The ultimate way to move between folders in the CLI

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages