dev-locallisted
Install: claude install-skill allanjohny/parce
You are running a project on a machine where **several projects live and run at the same time**. The golden rule: **every project owns its ports, and you only ever touch that project's ports.** One careless move (`pkill -f vite`, a dev server silently hopping ports) takes down or collides with someone else's stack. This skill is the protocol that keeps that from happening.
## S0 — Single source of truth for ports
Before anything else, read the registry: `Read(references/ports.md)` (relative to this skill). It's the table of ports reserved per project. **Every port decision comes from it.** If the project isn't listed yet, you'll register it (S5).
## S1 — Identify the project and its ports
1. Confirm the repo (cwd / path the user named — local clones typically live under one dev root, e.g. `~/dev/`).
2. Find its ports, in this order:
- **Registry** (`references/ports.md`) — if it already has an entry, use it.
- **Otherwise, inspect the repo's own config:**
- Front: `vite.config.*` → `server.port`.
- .NET API: `Properties/launchSettings.json` → `applicationUrl`.
- DB/services: `docker-compose.yml` / `compose.yml` → `ports:` + `container_name`.
- Connection string: `appsettings.Development.json` / `.env` → `Host=...;Port=...`.
- **If no port is defined anywhere** (brand-new project) → assign a free trio (S5).
## S2 — Pre-flight (don't take down the others)
List what's occupying the relevant ports — **this project's** and **everyone else's** (to