GitHunt
JE

Instant directory navigation for Linux — bookmark your paths, jump with one word.

YourJump (yj) ⚡

Instant directory navigation for Linux — bookmark your paths, jump with one word.

Version
License: MIT
Shell: Bash/Zsh
Platform: Linux


What is YourJump?

YourJump is a lightweight, zero-dependency Bash/Zsh shell tool that lets you bookmark any directory and jump to it instantly from anywhere in your terminal — using just one short word.

No more typing long paths. No more cd ../../some/deeply/nested/folder. Save it once, jump to it forever.

# Save a directory
yj add prj /home/user/my-projects

# Jump to it from anywhere, instantly
yj prj

Table of Contents


Features

  • 🚀 Instant navigation — jump to any bookmarked folder with a single word
  • 📌 Named bookmarks — save directories with memorable, short aliases
  • ✏️ Rename bookmarks — rename aliases while keeping the path intact
  • 🔍 Health checks — detect broken bookmarks pointing to deleted folders
  • 🔄 Self-updating — update to the latest version with one command
  • 🗑️ Clean uninstall — removes all traces from your shell config
  • 🎨 Color output — readable, color-coded terminal output (auto-disabled in non-TTY)
  • 🐚 Bash & Zsh support — works with the two most common Linux shells
  • 📦 Zero dependencies — only needs curl or wget (usually pre-installed)

Requirements

Requirement Details
OS Linux (any modern distribution)
Shell Bash 4+ or Zsh
Tools curl or wget (for install/update)

Installation

Paste this into your terminal and press Enter:

curl -fsSL https://raw.githubusercontent.com/jeet-sorathiya/YourJump/main/install.sh | bash

Or with wget if you don't have curl:

wget -qO- https://raw.githubusercontent.com/jeet-sorathiya/YourJump/main/install.sh | bash

After installation, reload your shell:

source ~/.bashrc   # for Bash users
# — or —
source ~/.zshrc    # for Zsh users

Or simply open a new terminal window.


Option 2: Clone and Install

If you prefer to inspect the code before running it:

# Clone the repository
git clone https://github.com/jeet-sorathiya/YourJump.git
cd yourjump

# Run the installer
bash install.sh

Then reload your shell:

source ~/.bashrc

What the Installer Does

The installer performs these steps automatically:

  1. Creates ~/.yourjump/ directory to store YourJump files
  2. Places yourjump.sh inside it (copied locally or downloaded from GitHub)
  3. Creates an empty ~/.yourjump/bookmarks file
  4. Adds a source hook to your shell config (~/.bashrc, ~/.zshrc, and/or ~/.bash_profile)

Note: If you already have bookmarks from a previous install, the installer will keep them. It will not overwrite your existing bookmarks file.


Usage

yj <alias>

Jump to a directory you have previously saved.

yj prj       # cd to whatever path "prj" points to

Bookmark Management

Add a bookmark

Save the current directory under an alias:

yj add <alias>

Save a specific path under an alias:

yj add <alias> <path>

Examples:

yj add prj                          # saves $(pwd)
yj add prj /home/user/my-projects   # saves a specific path

Alias names may only contain letters, numbers, hyphens (-), and underscores (_).
If the alias already exists, it will be overwritten with a warning.


Remove a bookmark

yj remove <alias>

Example:

yj remove prj

Rename a bookmark

Rename an alias while keeping the saved path:

yj rename <old-alias> <new-alias>

Example:

yj rename myprj prj

Edit bookmarks manually

Open the bookmarks file in your default editor ($EDITOR, defaults to nano):

yj edit

The bookmarks file is a plain text file, one entry per line in the format:

alias=/absolute/path/to/directory

Clear all bookmarks

Delete all saved bookmarks (asks for confirmation):

yj clear

Info & Utility

List all bookmarks

yj list

Shows all saved aliases and their paths. Bookmarks pointing to missing/deleted directories are highlighted in yellow with a (missing) label.


Check for broken bookmarks

yj check

Shows only bookmarks whose target directory no longer exists, so you can clean them up.


Show version

yj version

Show help

yj help

Prints a full list of available commands and examples.


Examples

# Save your projects folder
yj add prj /home/user/projects

# Jump to it from anywhere
yj prj

# Save the current directory as "work"
cd /var/www/html/myapp
yj add work

# List all bookmarks
yj list

# Rename a bookmark
yj rename work myapp

# Remove a bookmark you no longer need
yj remove myapp

# Check for any broken bookmarks
yj check

# Edit your bookmarks file directly
yj edit

Command Reference

Command Description
yj <alias> Jump to the saved directory
yj add <alias> Save current directory as alias
yj add <alias> <path> Save a specific path as alias
yj remove <alias> Delete a bookmark
yj rename <old> <new> Rename an alias, keep its path
yj list Show all bookmarks (flags missing paths)
yj check Show only broken/missing bookmarks
yj edit Open bookmarks file in default editor
yj clear Delete all bookmarks (asks confirmation)
yj update Fetch latest version from GitHub
yj version Show current installed version
yj uninstall Completely remove YourJump
yj help Show all commands and examples

How It Works

YourJump is a shell function, not a standalone binary. The main script (yourjump.sh) is sourced into your shell session via your shell config file, so the yj function has full access to your shell's cd command — which is necessary because a subprocess cannot change the parent shell's working directory.

File locations after install:

Path Purpose
~/.yourjump/yourjump.sh Main script (sourced on shell startup)
~/.yourjump/bookmarks Plain-text bookmarks database

Shell config hook (added automatically):

# YourJump — https://github.com/jeet-sorathiya/YourJump
source "~/.yourjump/yourjump.sh"

This is added to ~/.bashrc, ~/.zshrc, and/or ~/.bash_profile depending on which ones exist on your system.


Updating

To update YourJump to the latest version from GitHub, run:

yj update

This command will:

  1. Download the latest yourjump.sh from GitHub
  2. Compare the remote version with your installed version
  3. Replace the installed script if a newer version is available
  4. Notify you if you are already up to date

After updating, reload your shell:

source ~/.yourjump/yourjump.sh
# — or open a new terminal window

Uninstalling

To completely remove YourJump from your system:

yj uninstall

This command will:

  1. Ask for confirmation before doing anything
  2. Remove the source hook from ~/.bashrc, ~/.zshrc, and ~/.bash_profile
  3. Delete the ~/.yourjump/ directory (including your bookmarks file)

After uninstalling, restart your terminal to finish the cleanup.

⚠️ Warning: This will permanently delete all your saved bookmarks. There is no undo.


Contributing

Contributions are welcome! Here's how to get started:

  1. Fork the repository on GitHub

  2. Clone your fork locally

    git clone https://github.com/your-username/yourjump.git
    cd yourjump
  3. Create a branch for your feature or fix

    git checkout -b feature/my-feature
  4. Make your changes to yourjump.sh or install.sh

  5. Test your changes by sourcing the script locally

    source ./yourjump.sh
    yj help
  6. Commit and push your branch

    git commit -m "feat: describe your change"
    git push origin feature/my-feature
  7. Open a Pull Request on GitHub

Guidelines

  • Keep it simple and portable — target Bash 4+ and Zsh
  • Avoid external dependencies
  • Follow the existing code style (function naming, comments, colour usage)
  • Update CHANGELOG.md for any user-facing changes

Changelog

See CHANGELOG.md for a full history of changes.

v1.0.0 — 2026-03-13

Initial release.

  • yj add, yj <alias>, yj remove, yj rename, yj list, yj check
  • yj edit, yj clear, yj update, yj uninstall, yj version, yj help
  • One-line installer via curl | bash
  • Bash and Zsh support
  • Alias name validation (alphanumeric, dash, underscore only)

License

MIT License — © 2026 jeet-sorathiya

You are free to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of this software under the terms of the MIT License.