Skip to content

Releases: erdemylmaz/ports-cli

ports v0.6.0

03 May 20:57

Choose a tag to compare

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

03 May 17:55

Choose a tag to compare

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 plus ports uncaffeinate ... to stop awake watchers without killing the target process.
  • Show caffeinate status in the normal ports table via the CAFFEINATE column.
  • Include caffeinated and caffeinate_pids in JSON output and show watcher status in ports inspect.
  • Expand README/docs for Claude Code, Codex, local AI agents, lid-closed/clamshell workflows, and background dev servers.

v0.4.2 — portscli.com

03 May 14:31

Choose a tag to compare

  • Project now has a dedicated landing site at portscli.com with full docs, an interactive sandbox shell, and an SEO-optimized FAQ.
  • package.json homepage field, README badges, and the in-binary version constant all now point at portscli.com.
  • No code changes to the CLI itself — same ports parser, same flags, same behavior.

v0.4.1 — humanize SSH tunnels, enrich Docker via docker ps

03 May 13:09

Choose a tag to compare

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

03 May 12:38

Choose a tag to compare

What's new

  • Default sort by working directory — same-project ports group together.
  • --sort KEY[:DIR] — sort by path (default), port, pid, age, command, or kind. Append :desc to flip. --reverse / -r flips the current direction.
  • kill --dir PATH (also force-kill/pause/resume) — target every listener whose cwd is at or under PATH. Multi-target operations and any --dir use prompt for confirmation; --yes / -y skips 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 node belongs to.
  • --all / --apps — by default only "dev" listeners are shown; GUI apps and system services are hidden. Use --all to 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.