← ClaudeAtlas

dev-locallisted

Safely run any locally-cloned project (DB/docker + API + front) on a machine where MULTIPLE projects run at the same time. Per-project port registry + cleanup scoped strictly by port (NEVER a generic pkill of vite/node/dotnet) + strictPort. Use when the user says "run <project> locally", "start the dev server", "spin up the stack", "test locally", "mirror prod locally", or BEFORE starting any dev server / docker compose / dotnet run / npm run dev on a machine with several projects.
allanjohny/parce · ★ 0 · AI & Automation · score 73
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