dev-serverlisted
Install: claude install-skill bloknayrb/tandem
# Start Tandem Dev Environment
Start the Tandem development servers and verify everything is connected.
## Important Gotchas
- The server MUST be running before Claude Code connects via MCP
- `freePort()` kills any existing process on :3478/:3479 at startup — you cannot run two instances
- `freePort()` does NOT cover :5173 — an orphaned Vite from a killed `dev:standalone` survives, and because `vite.config.ts` sets `strictPort: true` the new Vite **exits with an error** rather than falling back to another port. The symptom is a dev server that won't start, not a silently-wrong URL (see step 2)
- E2E tests (`npm run test:e2e`) will also kill dev servers on those ports
## Steps
0. Run the doctor first — it diagnoses Node version, .mcp.json, server health, and ports before anything else:
```bash
npm run doctor
```
If you pulled since the last dev-server run, also refresh dependencies (they drift):
```bash
npm install
```
1. Check if servers are already running:
```bash
curl -s http://127.0.0.1:3479/health 2>/dev/null && echo "Server already running" || echo "Server not running"
```
2. If the server is NOT running but something still holds :5173, it's an orphaned Vite from a previous `dev:standalone`. Kill it first — `strictPort: true` means the new Vite will otherwise fail to start with `Port 5173 is already in use` instead of picking another port.
Windows (git-bash) — note the PID in the last column:
```bash
netstat -ano | grep ":51