원클릭으로
setup-portless
// Sets up Portless for a project to replace port numbers with stable named .localhost URLs. Use when configuring local development routing, fixing port conflicts, or setting up monorepo dev environments.
// Sets up Portless for a project to replace port numbers with stable named .localhost URLs. Use when configuring local development routing, fixing port conflicts, or setting up monorepo dev environments.
Analyze environment variables in JavaScript/TypeScript projects. Identifies unused variables, infers permission scopes, detects specific services (Stripe, AWS, Supabase), and documents code paths. Includes optional cleanup of unused variables with regression detection. Use when auditing .env files, reviewing security, or documenting project configuration.
BigCommerce API expert for building integrations, apps, headless storefronts, and automations. Full lifecycle - REST APIs, GraphQL Storefront, webhooks, authentication, app development, and multi-storefront. Use when working with BigCommerce platform APIs.
Transcribes audio/video files using ElevenLabs Scribe v2 API. Use when transcribing audio files, generating transcripts, or converting speech to text.
Extracts frames and timestamped audio segments from video files (GIF, MP4, MOV) at configurable intervals and stores them in a directory with a manifest file. Use when analyzing video content, preparing frames for visual review, extracting audio for transcription, or creating frame+audio sequences for another agent to process.
Chokidar-based file watcher that triggers `claude -p` on changes. Useful for automated AI reactions to file changes — design sync, code validation, config regeneration, etc.
Safely identifies and removes dead code in TypeScript/JavaScript projects using multi-agent analysis with automatic backup branches. Use when cleaning up unused exports, orphaned files, dead imports, unreachable functions, or unused dependencies.
| name | setup-portless |
| description | Sets up Portless for a project to replace port numbers with stable named .localhost URLs. Use when configuring local development routing, fixing port conflicts, or setting up monorepo dev environments. |
Requirements: Node.js 20+, macOS or Linux.
<quick_start> Run these commands to get started:
# Install globally
npm install -g portless
# Start the proxy daemon
portless proxy start
# Run your app with a named route
portless myapp next dev
# => http://myapp.localhost:1355
</quick_start>
Step 1: Verify prerequisites
Check Node.js version is 20+ and platform is macOS or Linux:
node --version
uname -s
If Node.js < 20, inform the user they need to upgrade before proceeding.
Step 2: Detect project context
Read package.json to understand:
workspaces field, or pnpm-workspace.yaml, turbo.json, lerna.json)Step 3: Install Portless
npm install -g portless
Step 4: Choose app name(s)
Ask the user what name they want for their app URL. Suggest based on project name.
For monorepos, suggest subdomain naming:
api.projectname for backendweb.projectname or projectname for frontenddocs.projectname for documentationStep 5: Update package.json scripts
Wrap the existing dev script with portless. For example, if the current script is:
{ "dev": "next dev" }
Update to:
{ "dev": "portless myapp next dev" }
For monorepos, update each workspace's package.json similarly.
Step 6: Verify setup
Run the dev script and confirm the app is accessible at the named URL:
npm run dev
The proxy auto-starts if not already running. Confirm output shows the .localhost:1355 URL.
Verify routes are registered:
portless list
<common_patterns>
**Single application:**{
"scripts": {
"dev": "portless myapp next dev"
}
}
Access at: http://myapp.localhost:1355
# In packages/web/package.json
"dev": "portless web.myapp next dev"
# In packages/api/package.json
"dev": "portless api.myapp node server.js"
# In packages/docs/package.json
"dev": "portless docs.myapp next dev"
Access at:
http://web.myapp.localhost:1355http://api.myapp.localhost:1355http://docs.myapp.localhost:1355
sudo portless proxy start -p 80
# Then: http://myapp.localhost (no port needed)
</common_patterns>
<environment_variables>
| Variable | Purpose | Default |
|---|---|---|
PORTLESS=0 or PORTLESS=skip | Bypass portless, use default port | (not set) |
PORTLESS_PORT | Override proxy port | 1355 |
PORTLESS_STATE_DIR | Custom state directory | ~/.portless or /tmp/portless |
</environment_variables>
<cli_reference>
| Command | Purpose |
|---|---|
portless <name> <cmd> [args...] | Run app with named route |
portless list | Show active routes |
portless proxy start | Start daemon proxy on port 1355 |
portless proxy start -p <port> | Start on custom port |
portless proxy start --foreground | Run in foreground (debugging) |
portless proxy stop | Stop the proxy daemon |
</cli_reference>
<anti_patterns>
The proxy auto-starts when you run `portless `, so there is no need to manually start it. Only use `portless proxy start` for custom port configuration. Portless does not support Windows. Only set up on macOS or Linux. Portless requires Node.js 20+. Do not attempt installation on older versions.</anti_patterns>
<success_criteria> Setup is complete when:
portless --version succeeds)package.json dev script(s) are wrapped with portless <name>npm run dev (or equivalent) shows the app accessible at <name>.localhost:1355