@arahansa/cdl
v0.1.2
Published
Directory link manager - register and jump to directories by alias
Maintainers
Readme
cdl — Directory Link Manager
Navigate your projects instantly. Register directory paths with short aliases and jump to them from anywhere.
cdl add my-blog /Users/you/code/my-blog
cdl my-blog # cd /Users/you/code/my-blogInstall
npm install -g @arahansa/cdl
# or
pnpm add -g @arahansa/cdlAfter installing, run the shell integration setup:
cdl init
source ~/.zshrcThis adds a shell function and tab completion to your .zshrc.
Usage
Register a directory
# Register current directory
cdl add my-blog
# Register a specific path
cdl add api-server /Users/you/code/api-server
# Register with port info
cdl add api-server /Users/you/code/api-server --port 3000
# Register with a description
cdl add api-server /Users/you/code/api-server --desc "Main REST API"Jump to a directory
cdl my-blog
# => cd /Users/you/code/my-blogTab completion works — press Tab after cdl to see all registered aliases and subcommands.
List all links
cdl list
# my-blog → /Users/you/code/my-blog (Personal blog)
# api-server → /Users/you/code/api-server (Main REST API) [ports: 3000]Remove a link
cdl rm my-blogManage ports
cdl port api-server add 3000 3001
cdl port api-server list
cdl port api-server rm 3001Manage descriptions
# Set a description
cdl desc api-server set Main REST API
# Shorthand (omit "set")
cdl desc api-server Main REST API
# View description
cdl desc api-server
# Remove description
cdl desc api-server rmCommands
| Command | Description |
|---------|-------------|
| cdl add <alias> [path] [--port <port>...] [--desc <text>] | Register a directory (defaults to current dir) |
| cdl rm <alias> | Remove an alias |
| cdl list | List all registered aliases |
| cdl port <alias> <add\|rm\|list> [port...] | Manage ports for an alias |
| cdl desc <alias> [set <text> \| rm] | Manage description for an alias |
| cdl init | Set up shell integration in .zshrc |
| cdl help | Show help message |
How It Works
- Aliases are stored in
~/.cdl/links.json cdl initadds a zsh function to.zshrcthat wraps the CLI — when you typecdl <alias>, it resolves the path and runscd- Subcommands (
add,rm,list,port,desc,init) are passed through to the Node.js CLI
Shell Support
Currently supports zsh with tab completion.
License
MIT
