# Portless
Portless replaces port numbers with stable, named `.localhost` URLs for local development. Instead of `http://localhost:3000`, apps get readable URLs like `https://myapp.localhost`.
## Key features
- Global CLI tool (`npm install -g portless`)
- Runs a reverse proxy on port 1355
- Assigns random ports (4000-4999) via `PORT` env var
- HTTPS support with auto-generated certs
- Subdomain support for organizing services (e.g., `api.myapp.localhost`)
- Git worktree detection: linked worktrees auto-get branch-prefixed subdomains (e.g., `fix-ui.myapp.localhost`)
- Works with most frameworks (Next.js, Express, Nuxt, Vite, Astro, etc.)
- Custom TLD support (`.test` recommended over `.localhost`)
## Usage
```bash
# Install globally
npm install -g portless
# Run with HTTPS
portless proxy start --https
portless myapp next dev
# -> https://myapp.localhost
# In package.json
"dev": "portless myapp next dev"
```
## How it works
```
Browser (myapp.localhost:1355) -> proxy (port 1355) -> App (random port)
```
Requires Node.js 20+. Works on macOS, Linux, and Windows.
## References
- https://port1355.dev/
## Related