Releases: erdemylmaz/ports-cli
ports v0.6.0
Adds AI process discovery and caffeinate targeting for Codex, Claude Code, Gemini, and Cursor; project-scoped AI caffeinate filters; --follow/--watch for newly spawned matching processes; bulk ports caffeinate/decaffeinate flows; and stricter directory safeguards for shared PIDs.
v0.5.0 — caffeinate by port
v0.5.0 — caffeinate by port
- Add
ports caffeinate <port|pid|--dir PATH>to keep Mac processes awake with/usr/bin/caffeinate -dimsu -w <pid>. - Add
ports --caffeinate <port|pid>shortcut plusports uncaffeinate ...to stop awake watchers without killing the target process. - Show caffeinate status in the normal
portstable via theCAFFEINATEcolumn. - Include
caffeinatedandcaffeinate_pidsin JSON output and show watcher status inports inspect. - Expand README/docs for Claude Code, Codex, local AI agents, lid-closed/clamshell workflows, and background dev servers.
v0.4.2 — portscli.com
- Project now has a dedicated landing site at portscli.com with full docs, an interactive sandbox shell, and an SEO-optimized FAQ.
package.jsonhomepagefield, README badges, and the in-binary version constant all now point at portscli.com.- No code changes to the CLI itself — same
portsparser, same flags, same behavior.
v0.4.1 — humanize SSH tunnels, enrich Docker via docker ps
What's new since v0.3.0
Containerized listeners now tell the truth. Previously, every Docker container running under Colima/Lima/OrbStack appeared as a confusing `ssh` listener with the cwd of wherever Colima was started — useless for telling which project a port belongs to.
- Humanize SSH tunnels: Colima/Lima/OrbStack SSH multiplexers display as `docker(colima)` / `docker(lima)` / `docker(orbstack)` in the COMMAND column. Generic `ssh -L`/`-R` port forwards display as `ssh→tunnel`.
- Enrich docker tunnels with real container info: when at least one listener is detected as a docker tunnel, `ports` shells out to `docker ps` once per invocation and overrides each listener's:
- Display — to `docker(<container_name>)`, e.g. `docker(devredin_backend)`
- Cwd — to the compose project's `working_dir` label, e.g. `~/Documents/devredin/backend`
- Side benefit: default path-sort now correctly groups containers by their real source project, not by where Colima lives. `ports --dir ~/code/foo` actually targets the docker processes from that project.
- The truthful raw process name is preserved in JSON output and in `ports inspect` (shown as `ssh → docker(...)`).
- Falls back silently if docker isn't installed, isn't running, or times out (2s context).
- COMMAND column widened to 30 chars to fit common compose-prefixed names.
Install
```sh
Homebrew
brew upgrade ports
npm
npm install -g @erdemyilmaz/ports-cli
go install
go install github.com/erdemylmaz/ports-cli/cmd/ports@latest
```
macOS only.
v0.3.0 — sort, kill --dir, project-aware listing
What's new
- Default sort by working directory — same-project ports group together.
--sort KEY[:DIR]— sort bypath(default),port,pid,age,command, orkind. Append:descto flip.--reverse/-rflips the current direction.kill --dir PATH(alsoforce-kill/pause/resume) — target every listener whose cwd is at or under PATH. Multi-target operations and any--diruse prompt for confirmation;--yes/-yskips it.- Project-aware columns — listings now show the working directory and parent process instead of the user, so you can immediately tell which project a
nodebelongs to. --all/--apps— by default only "dev" listeners are shown; GUI apps and system services are hidden. Use--allto include them.inspect— prints exe path, cwd, parent pid, and an HTTP probe.
Install
Homebrew (recommended)
```sh
brew tap erdemylmaz/ports-cli
brew install ports
```
Build from source
```sh
git clone https://github.com/erdemylmaz/ports-cli.git
cd ports-cli
go build -o ports ./cmd/ports
mv ports ~/.local/bin/ # or /usr/local/bin/
```
Prebuilt binary
Download `ports-darwin-arm64` (Apple Silicon) or `ports-darwin-amd64` (Intel) from the assets below, `chmod +x`, and place on your `$PATH`.
```sh
curl -L -o ports https://github.com/erdemylmaz/ports-cli/releases/download/v0.3.0/ports-darwin-arm64
chmod +x ports
mv ports ~/.local/bin/
```
macOS only.