autojump is one of the original "smart cd" tools, written in Python. It maintains a database of the directories you visit and ranks them by frequency, so you can jump to a deep path by typing just part of its name with the j command. It's been around for years, is packaged in most Linux distros and Homebrew, and works across bash, zsh, and fish.

Typical usage looks like this:

sh
j proj      # jump to highest-ranked dir matching "proj"
jc src      # jump to a child of the current dir
jo logs     # open the matched dir in your file manager

The database builds up automatically as you move around. While newer tools like zoxide are faster (being compiled binaries) and offer recency weighting, autojump remains a solid, well-documented choice that many people have used for a decade. The one caveat is that it depends on Python, which can be a minor inconvenience on minimal containers.