Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Pathos CLI

A terminal UI editor for your shell PATH environment variable, built with RatatuiRuby.

View every entry in your $PATH, see at a glance which directories are missing or duplicated, add, remove, and reorder entries, then save the result as a sourceable shell file that persists across sessions.

Purchase

Visit Gumroad for details.


Pathos editing

Features

  • Full-screen TUI built on RatatuiRuby
  • Colour-coded entries: red = missing on disk, cyan = duplicate, normal = ok
  • Persists edits to ~/.local/share/pathos/pathos.sh — loads that file on next launch
  • Add / delete / reorder entries interactively
  • One-command deduplication
  • Undo any edit (u)
  • Unsaved-changes indicator and quit confirmation prompt
  • ~ and $VAR expansion for existence checks and saved output
  • Full-path detail popup for truncated entries (p / Enter)
  • pathos install — one-time shell integration setup
  • pathos env — print current PATH for eval in the running shell

Pathos navigation

Pathos path detail

Requirements

  • Ruby 3.0+

Installation

After purchasing from Gumroad, do the following to to install Pathos CLI:

  1. Download pathos-install.sh script.
  2. Change script permissions to be executable: chmod +x pathos-install.sh
  3. Run the script: ./pathos-install.sh
  4. Enter your license key (provided in the Gumroad email)

Shell integration

Run this once after installing to make saved changes take effect automatically in every new shell session:

pathos install

This appends the following line to your ~/.zshrc (or ~/.bashrc if no .zshrc is found):

source ~/.local/share/pathos/pathos.sh

To apply your saved PATH to the current shell without opening a new terminal:

eval "$(pathos env)"

Pathos help

Usage

pathos             # launch the TUI
pathos install     # add source line to ~/.zshrc or ~/.bashrc
pathos env         # print export PATH=... for eval
pathos version     # print version
pathos help        # print usage

Key bindings

Navigation

Key Action
j / Move cursor down
k / Move cursor up
g g Jump to top of list
G Jump to bottom of list

Editing

Key Action
n Add a new path entry (opens prompt)
d Delete the selected entry
x Remove all duplicate entries
K Move selected entry up
J Move selected entry down
u Undo last edit

Viewing

Key Action
p / Enter Show full path detail for selected entry
? Toggle help screen

File actions

Key Action
s Save PATH to ~/.local/share/pathos/pathos.sh

Application

Key Action
q Quit (prompts if unsaved)
Ctrl+C Quit (prompts if unsaved)

Colour key

Colour Meaning
normal Directory exists and appears only once
red Directory does not exist on disk
cyan Duplicate — already appears earlier in PATH

Path expansion

pathos understands ~ and shell variables in path entries:

  • ~/bin is expanded to /Users/you/bin for existence checks and when saving
  • $HOMEBREW_PREFIX/bin and ${HOMEBREW_PREFIX}/bin are expanded using the current environment

The raw unexpanded string is always shown in the list and preserved in the detail view.

Unsaved changes

Any edit marks the title bar with [modified]. Pressing s saves and clears the flag. If you press q with unsaved changes, pathos shows a confirmation prompt — press y to quit without saving, or any other key to go back.


How it works

  1. On startup, pathos reads ~/.local/share/pathos/pathos.sh if it exists; otherwise falls back to the current $PATH.
  2. You edit the list interactively.
  3. Press s to write ~/.local/share/pathos/pathos.sh.
  4. New shell sessions source that file automatically (after pathos install).

License

Visit Gumroad for details.

About

A terminal UI editor for your shell PATH environment variable

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors