portless

Replace local development port numbers with named .localhost domains.

68|13|Updated Aug 9, 2025
One-click install
npx skills add https://github.com/kriegcloud/beep-effect --skill portless
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: portless
Source: https://github.com/kriegcloud/beep-effect/tree/main/.agents/skills/portless
Command: npx skills add https://github.com/kriegcloud/beep-effect --skill portless

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill eliminates the frustration of managing port numbers for local development servers, preventing conflicts and making URLs memorable.

Core Features & Use Cases

  • Named Localhost URLs: Access your local development servers via stable URLs like http://myapp.localhost instead of http://localhost:3000.
  • Conflict Resolution: Automatically assigns free ports and manages proxying to avoid EADDRINUSE errors.
  • Use Case: When working on multiple microservices locally, use portless api.myapp and portless frontend.myapp to access each service at its own .localhost domain, preventing port clashes and simplifying navigation.

Quick Start

Install portless globally and start the proxy by running npm install -g portless then portless proxy start.

Frequently Asked Questions about portless

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I use named .localhost URLs instead of port numbers for local development servers?

You can use a proxy server to replace local development server port numbers with named .localhost domains. This approach routes traffic from stable URLs like http://myapp.localhost directly to your local Node.js processes, eliminating port conflicts and making addresses memorable.

Why does my Node.js local development server keep hitting EADDRINUSE errors in a monorepo?

EADDRINUSE errors happen when multiple local development servers compete for the same port numbers. A proxy tool resolves this by automatically assigning free ports to each Node.js framework and managing the routing, preventing cross-application conflicts in monorepos.

How do I set up local development proxy routing for multiple microservices?

Install the proxy globally via npm install -g portless, then run portless proxy start. Once active, you can start your Node.js frameworks with commands like portless api.myapp and portless frontend.myapp to access each microservice at its own .localhost domain.

Do I need to configure my Node.js framework to use a local development proxy?

Most Node.js frameworks work without special configuration because the proxy respects the PORT environment variable. The proxy intercepts traffic at the named .localhost domain and routes it to the dynamically assigned port your framework uses.

Can I use HTTPS with local development proxy servers that replace port numbers?

Yes, local development proxies can optionally support HTTPS and HTTP/2 by automatically generating certificates. This allows your named .localhost domains to securely mirror production environments during local development.