Overview
portless is a revolutionary tool designed to eliminate the frustration of managing ephemeral port numbers during local development. It intelligently replaces hard-to-remember port numbers with stable, human-readable, and agent-friendly .localhost URLs. This dramatically simplifies accessing your local applications, making your development workflow smoother and more intuitive.
Key Features
- Named Local URLs: Assigns stable, named URLs (e.g.,
https://myapp.localhost) to your local development servers, replacing ambiguous port numbers. - Automatic HTTPS & HTTP/2: Enables secure HTTPS with HTTP/2 by default, providing a production-like experience and improved performance without any manual configuration.
- Intelligent Command Injection: Automatically injects necessary flags (like
--port) into your existing development scripts, seamlessly integrating with popular frameworks like Next.js, Express, Nuxt, and more. - Monorepo Support: Effortlessly manage multiple projects within a monorepo, assigning unique
.localhostURLs to each workspace package. - Git Worktree Integration: Automatically prepends branch names as subdomains for linked Git worktrees, ensuring unique URLs for each development branch without configuration.
- Custom TLD Support: Allows you to use custom Top-Level Domains (TLDs) like
.testor even your own domain for local development, mirroring production environments. - LAN Mode for Local Network Access: Easily expose your development servers to other devices on your local network using
.localsubdomains. - Tailscale and ngrok Integration: Seamlessly share your local development servers publicly or with teammates via Tailscale and ngrok.
- OS Service Integration: Install portless as an OS startup service for continuous availability of your named URLs after reboots.
Typical Use Cases
- Developers working on web applications: Quickly access your local Next.js, Nuxt, or Express applications via clean, memorable URLs instead of
localhost:3000orlocalhost:8080. - Teams collaborating on monorepos: Ensure each service or application within a monorepo has a distinct, predictable
.localhostaddress for easy access and testing. - Developers using Git worktrees: Automatically get unique, branch-specific
.localhostURLs for each worktree, eliminating URL conflicts. - Developers who need to test cross-device or cross-network access: Utilize LAN mode to make your local servers accessible on your local network.
- Individuals needing to share their local development environment: Leverage Tailscale or ngrok integration to expose specific applications to the public internet or teammates.
- Anyone seeking to streamline their local development setup: Eliminate the manual effort of port management and enjoy a more professional and efficient workflow.
