Dev Process Tracker is a macOS CLI tool that helps you discover, track, and manage local development servers and ports. It answers three key questions:
- What servers are running? - Lists all TCP listening ports on your machine
- Which project owns each server? - Associates ports with their project roots
- Who started each server? - Detects if an AI agent started the server
Build from source:
cd ~/path/to/dev-process-tracker
go build -o devpt ./cmd/devpt/main.goOptionally install to PATH:
sudo mv devpt /usr/local/bin/devptThen use from anywhere:
devpt lsdevpt lsShows all discovered listening ports with their PID, project, and source.
devpt add myapp ~/myapp "npm start" 3000This stores myapp in your registry so you can control it with devpt.
devpt ls --detailsShows the full command that each process is running.
cat ~/.config/devpt/registry.jsonYour services are stored here and can be edited manually.
devpt start myappLogs are captured to: ~/.config/devpt/logs/myapp/<timestamp>.log
devpt stop myappdevpt stop --port 3000devpt restart myappdevpt logs myapp
devpt logs myapp --lines 100Each server is tagged with a source:
- manual - Running but not in your managed registry
- managed - In your registry (may or may not be running)
- agent:xxx - Started by an AI coding agent
Dev Process Tracker walks up the directory tree looking for:
.git(Git repos)package.json(Node.js)go.mod(Go)Gemfile(Ruby)composer.json(PHP)- And more...
Detects servers likely started by:
- OpenCode
- Cursor
- Claude
- Gemini
- Copilot
Uses heuristics like parent process name, TTY attachment, and environment variables.
~/.config/devpt/
├── registry.json # Your managed services
└── logs/
├── myapp/
│ ├── 2026-02-09T16-00-01.log
│ └── 2026-02-09T16-05-30.log
└── otherapp/
└── 2026-02-09T16-10-00.log
- Edit registry manually -
~/.config/devpt/registry.jsonis just JSON - Check what's using a port -
devpt ls --details | grep :3000 - Find projects -
devpt ls | grep "my-project" - See processes without names -
devpt ls --details | grep -v "^-"
"lsof: command not found"
brew install lsofRegistry file seems broken
rm ~/.config/devpt/registry.json
# It will be recreated next time you add a serviceProcess won't stop
# Find the PID
devpt ls | grep myapp
# Force kill it (use carefully!)
kill -9 <PID>devpt lstypically completes in 1-2 seconds- No background daemon (everything is on-demand)
- Results are fresh on each run
- Register your frequently-used dev servers
- Check the
README.mdfor full documentation - Explore the
--detailsflag to see more info - Set up the servers you manage with
devpt add
devpt help
devpt ls --help
devpt add --helpOr see the full README.md for detailed documentation.