sym — a small symbolic link manager

A bash CLI for creating, listing, editing, and cleaning up the symlinks you keep in ~/.local/bin. No dependencies beyond bash itself.

What it does

If you maintain a folder of symlinks in your PATH — shortcuts to scripts, binaries bundled inside GUI apps like Sublime Text or VS Code, language-manager shims — sym gives you a handful of commands for working with them: ls, info, create, edit, rm, verify, fix, plus undo and snapshot.

It's small and opinionated: one file, one directory, no config.

Why it might be useful

Doing any of this with ln, readlink, and find is straightforward. Doing it often is not. sym mostly just saves typing and surfaces a few things plain ln doesn't make obvious:

It isn't a dotfile manager or a package manager. It's for the pile of one-off symlinks that ends up in everyone's ~/.local/bin.

Install

On macOS or Linuxbrew:

$ brew install 11ways/sym/sym

Or clone the repository and run make install-local.

Quick start

$ sym subl /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl

Then sym ls to see what you've linked, sym verify to check nothing is dangling, sym fix to sweep up.

Changelog

1.2.0
1.1.0
1.0.2
1.0.1
1.0.0

Documentation

Full reference is in the man page: man sym, or see the README on GitHub.