@lionad/port-key-mcp 0.1.6 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/locales/ar.json +1 -1
- package/locales/cn.json +1 -1
- package/locales/de.json +1 -1
- package/locales/es.json +1 -1
- package/locales/fr.json +1 -1
- package/locales/it.json +1 -1
- package/locales/ja.json +1 -1
- package/locales/ko.json +1 -1
- package/locales/pt.json +1 -1
- package/locales/ru.json +1 -1
- package/package.json +8 -9
package/locales/ar.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
"designPhilosophy": "以下是 PortKey 的设计理念:\n\nإنشاء
|
|
2
|
+
"designPhilosophy": "以下是 PortKey 的设计理念:\n\nإنشاء منافذ بناءً على خريطة الحروف إلى أرقام لوحة المفاتيح \nعند تشغيل مجموعة من المشاريع محليًا، يصبح اختيار أرقام المنافذ أمرًا مزعجًا.\n- خلال السنوات القليلة الماضية، ظهرت *العديد* من المشاريع الجديدة. لتجربتها غالبًا ما تحتاج إلى تشغيلها محليًا، ثم تبدأ المنافذ في التعارض.\n- إذا أردت الحفاظ على استقرار علامات تبويب المتصفح (أو الإشارات المرجعية)، يجب ألا يتغير منفذ المشروع باستمرار.\nعلى سبيل المثال، لدي أكثر من عشر تطبيقات Nuxt على جهازي. إذا كان جميعها يستخدم المنفذ الافتراضي `3000`، فستواجه مشكلة واضحة. لذا طورت قاعدة تسمية منفذ بسيطة ومتسقة \"تُعيّن\" المنافذ لكل مشروع.\n[مقال المدونة المصدر](https://lionad.art/articles/simple-naming-method)\n### الفكرة الأساسية\nبدلاً من اختيار أرقام عشوائية، قم بتحويل **اسم المشروع إلى أرقام بناءً على تخطيط لوحة المفاتيح**، بحيث يكون المنفذ *قابلًا للقراءة* و*سهل التذكر*.\nطالما أن النتيجة تقع ضمن نطاق المنافذ الصالح (**1024–65535**) ولا تصطدم بالمنافذ المحجوزة/النظامية، يمكنك استخدامها مباشرة.\nبشكل أكثر تحديدًا: باستخدام لوحة مفاتيح QWERTY القياسية، خريطة كل حرف إلى رقم واحد وفقًا لموقعه **في الصف/العمود**.\nمثال:\n`\"cfetch\"` → `c(3) f(4) e(3) t(5) c(3) h(6)` → `34353`(رقم المنفذ)\nثم يمكنك أخذ أول 4 أرقام (مثلاً `3453`)، أو الإبقاء على المزيد من الأرقام (مثلًا `34353`). كلاهما مقبول.\nإذا احتاج المشروع إلى عدة منافذ (واجهة أمامية، خلفية، قاعدة بيانات، إلخ)، اختر **واحدًا** من الطريقتين التاليتين:\n1. استخدم بادئة المشروع، ثم أضف \"لاحقة الدور\" \n - بالنسبة إلى `\"cfetch\"`، خذ `3435` كأساس \n - الواجهة الأمامية (`fe` أي `43`) → `34354` \n - الخلفية (`server`) → `34352` \n - قاعدة البيانات (`mongo`) → `34357` \n - …وهكذا \n2. استخدم بادئة المشروع، ثم خصص أدوارًا متسلسلة \n - بالنسبة إلى `\"cfetch\"`، خذ `3435` كأساس \n - الويب → `34351` \n - الخلفية → `34352` \n - قاعدة البيانات → `34353` \n - …وهكذا \n### نطاق المنافذ الصالح\n- يجب أن تكون المنافذ ضمن **1024–65535** (المنافذ النظامية 0-1023 محجوبة).\n- **المنافذ النظامية (0‑1023)**: تُخصص من قبل IETF. محجوبة تمامًا.\n- **منافذ المستخدم (1024‑49151)**: تُخصص من قبل IANA. استخدم بحذر لأنها قد تتصادم مع خدمات مسجلة.\n- **المنافذ الديناميكية/الخاصّة (49152‑65535)**: غير مخصصة. أكثر أمانًا للاستخدام الخاص أو الديناميكي.\n---"
|
|
3
3
|
}
|
package/locales/cn.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
"designPhilosophy": "以下是 PortKey 的设计理念:\n\n
|
|
2
|
+
"designPhilosophy": "以下是 PortKey 的设计理念:\n\n通过字母到数字的键盘映射生成端口 \n在本地运行多个项目时,选择端口号会变得相当麻烦。\n- 在过去的几年里,新项目层出不穷。要真正尝试它们,常常需要在本地启动——这时端口很容易冲突。 \n- 如果想保持浏览器标签页(或书签)稳定,一个项目的端口不应频繁变化。\n例如,我的机器上有十多个 Nuxt 应用。如果它们全部默认使用 `3000`,显然运行不下去。因此,我想出了一个简单且一致的端口命名规则,以“分配”每个项目的端口。\n[原博客文章](https://lionad.art/articles/simple-naming-method)\n### 核心思路\n不随机挑选数字,而是根据键盘布局将**项目名称映射为数字**,从而得到可读且易记的端口号。\n只要结果在合法端口范围(**1024–65535**)内且不冲突保留/系统端口,即可直接使用。\n更具体地说:使用标准 QWERTY 键盘,将每个字母映射为其所在**行/列位置对应的数字**。\n示例: \n`\"cfetch\"` → `c(3) f(4) e(3) t(5) c(3) h(6)` → `34353`(端口号) \n随后可取前 4 位数字(如 `3453`),或保留全部位数(如 `34353`)。两者皆可。\n如果一个项目需要多个端口(前端、后端、数据库等),可以采用以下两种方式之一:\n1. 使用项目前缀,然后追加“角色后缀” \n - 对于 `\"cfetch\"`,取 `3435` 作为基数 \n - 前端(`fe`,即 `43`) → `34354` \n - 后端(`server`) → `34352` \n - 数据库(`mongo`) → `34357` \n - …以此类推 \n2. 使用项目前缀,然后按顺序分配角色编号 \n - 对于 `\"cfetch\"`,取 `3435` 作为基数 \n - Web → `34351` \n - 后端 → `34352` \n - 数据库 → `34353` \n - …以此类推 \n### 合法端口范围\n- 端口必须在 **1024–65535** 范围内(系统保留端口 0-1023 不可用)。 \n- **系统端口(0-1023)**:由 IETF 分配,严格禁止使用。 \n- **用户端口(1024-49151)**:由 IANA 分配,使用时需注意可能与已注册服务冲突。 \n- **动态/私有端口(49152-65535)**:未分配,最适合私有或动态使用。\n---"
|
|
3
3
|
}
|
package/locales/de.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
"designPhilosophy": "以下是 PortKey 的设计理念:\n\
|
|
2
|
+
"designPhilosophy": "以下是 PortKey 的设计理念:\n\nErzeuge Ports mit einer Buchstaben‑zu‑Zahl‑Tastaturzuordnung.\nWenn du viele Projekte lokal startest, wird die Auswahl von Portnummern schnell lästig.\n- In den letzten Jahren sind *so viele* neue Projekte entstanden. Um sie wirklich auszuprobieren, muss man sie meist lokal starten – und dann kollidieren die Ports.\n- Wenn du Browser‑Tabs (oder Lesezeichen) stabil halten willst, sollte die Portnummer eines Projekts nicht ständig wechseln.\nZum Beispiel habe ich mehr als zehn Nuxt‑Anwendungen auf meinem Rechner. Wenn alle standardmäßig `3000` verwenden, funktioniert das natürlich nicht. Deshalb habe ich eine einfache, konsistente Regel zur Portbenennung entwickelt, um für jedes Projekt einen festen Port „zuweisen“ zu können.\n[Quell‑Blogbeitrag](https://lionad.art/articles/simple-naming-method)\n### Kernidee\nAnstatt zufällige Zahlen zu wählen, wird der **Projektname anhand einer Tastatur in Zahlen umgewandelt**, sodass der Port *lesbar* und *einprägsam* ist.\nSolange das Ergebnis im gültigen Portbereich (**1024–65535**) liegt und keine reservierten/System‑Ports belegt, kann es verwendet werden.\nKonkret: Mit einer Standard‑QWERTY‑Tastatur wird jedem Buchstaben eine einzelne Ziffer entsprechend seiner **Zeilen‑/Spaltenposition** zugeordnet.\nBeispiel:\n`\"cfetch\"` → `c(3) f(4) e(3) t(5) c(3) h(6)` → `34353`(Port‑Nummer)\nDann kannst du die ersten 4 Ziffern (z. B. `3453`) nehmen oder mehr Ziffern behalten (z. B. `34353`). Beides ist zulässig.\nFalls ein Projekt mehrere Ports benötigt (Frontend, Backend, Datenbank usw.), wähle **eine** der beiden Vorgehensweisen:\n1. Verwende das Projekt‑Präfix und füge ein „Rollen‑Suffix“ an \n - Für `\"cfetch\"`: nimm `3435` als Basis \n - Frontend (`fe`, also `43`) → `34354` \n - Backend (`server`) → `34352` \n - Datenbank (`mongo`) → `34357` \n - … und so weiter\n2. Verwende das Projekt‑Präfix und ordne sequenzielle Rollen zu \n - Für `\"cfetch\"`: nimm `3435` als Basis \n - Web → `34351` \n - Backend → `34352` \n - Datenbank → `34353` \n - … und so weiter\n### Gültiger Portbereich\n- Ports müssen im Bereich **1024–65535** liegen (System‑Ports 0‑1023 sind gesperrt).\n- **System‑Ports (0‑1023)**: Vom IETF zugewiesen. Streng gesperrt.\n- **Benutzer‑Ports (1024‑49151)**: Vom IANA zugewiesen. Vorsicht, da sie mit registrierten Diensten kollidieren können.\n- **Dynamische/Private Ports (49152‑65535)**: Nicht zugewiesen. Am sichersten für private oder dynamische Nutzung.\n---"
|
|
3
3
|
}
|
package/locales/es.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
"designPhilosophy": "以下是 PortKey 的设计理念:\n\
|
|
2
|
+
"designPhilosophy": "以下是 PortKey 的设计理念:\n\nGenera puertos mediante una asignación de letras a números basada en la disposición del teclado.\nCuando gestionas varios proyectos localmente, elegir números de puerto puede resultar molesto.\n- En los últimos años han surgido **tantos** proyectos nuevos. Para probarlos, a menudo necesitas iniciarlos localmente y los puertos empiezan a colisionar.\n- Si deseas que las pestañas del navegador (o los marcadores) sean estables, el puerto de un proyecto no debería cambiar constantemente.\nPor ejemplo, tengo más de diez aplicaciones Nuxt en mi máquina. Si todas usaran el puerto predeterminado `3000`, obviamente no funcionaría. Por ello ideé una regla simple y consistente para “asignar” puertos a cada proyecto.\n[Publicación original del blog](https://lionad.art/articles/simple-naming-method)\n### Idea principal\nEn lugar de elegir números aleatorios, asigna **el nombre del proyecto a números según el teclado**, de modo que el puerto sea *legible* y *memorable*.\nMientras el resultado esté dentro del rango de puertos válidos (**1024–65535**) y no coincida con puertos reservados/sistema, puedes usarlo directamente.\nMás concretamente: utilizando un teclado QWERTY estándar, asigna a cada letra un solo dígito según su **posición de fila/columna**.\nEjemplo:\n`\"cfetch\"` → `c(3) f(4) e(3) t(5) c(3) h(6)` → `34353` (número de puerto)\nLuego puedes tomar los primeros 4 dígitos (p. ej., `3453`), o conservar más dígitos (p. ej., `34353`). Cualquiera es válido.\nSi un proyecto necesita varios puertos (frontend, backend, base de datos, etc.), elige **una** de estas dos estrategias:\n1. Usa el prefijo del proyecto y añade un “sufijo de rol” \n - Para `\"cfetch\"`, toma `3435` como base \n - Frontend (`fe`, es decir, `43`) → `34354` \n - Backend (`server`) → `34352` \n - Base de datos (`mongo`) → `34357` \n - …y así sucesivamente\n2. Usa el prefijo del proyecto y asigna roles secuenciales \n - Para `\"cfetch\"`, toma `3435` como base \n - Web → `34351` \n - Backend → `34352` \n - Base de datos → `34353` \n - …y así sucesivamente\n### Rango válido de puertos\n- Los puertos deben estar entre **1024–65535** (los puertos del sistema, 0‑1023, están bloqueados).\n- **Puertos de Sistema (0‑1023)**: asignados por IETF. No utilizables.\n- **Puertos de Usuario (1024‑49151)**: asignados por IANA. Úsalos con precaución, pues pueden entrar en conflicto con servicios registrados.\n- **Puertos Dinámicos/Privados (49152‑65535)**: no asignados. Son los más seguros para uso privado o dinámico.\n---"
|
|
3
3
|
}
|
package/locales/fr.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
"designPhilosophy": "以下是 PortKey 的设计理念:\n\
|
|
2
|
+
"designPhilosophy": "以下是 PortKey 的设计理念:\n\nGénérez des ports à l’aide d’une correspondance clavier lettre‑chiffre.\nLorsque vous exécutez plusieurs projets localement, choisir les numéros de port devient pénible.\n- Au cours des dernières années, il y a eu **tant** de nouveaux projets. Pour les tester réellement, vous devez souvent les lancer localement – et les ports commencent à se chevaucher.\n- Si vous voulez que les onglets (ou les favoris) du navigateur restent stables, le port d’un projet ne doit pas changer continuellement.\nPar exemple, j’ai plus de dix applications Nuxt sur ma machine. Si elles utilisent toutes le port par défaut `3000`, cela ne fonctionnera évidemment pas. J’ai donc imaginé une règle simple et cohérente de nommage des ports pour « attribuer » un port à chaque projet.\n[Article source du blog](https://lionad.art/articles/simple-naming-method)\n### Idée principale\nAu lieu de choisir des nombres aléatoires, mappez le **nom du projet à des chiffres selon le clavier**, de façon que le port soit *lisible* et *mémorisable*.\nTant que le résultat se situe dans la plage de ports valide (**1024–65535**) et n’entre pas en conflit avec les ports réservés/système, vous pouvez simplement l’utiliser.\nPlus précisément : à l’aide d’un clavier QWERTY standard, associez chaque lettre à un chiffre unique basé sur sa **position ligne/colonne**.\nExemple :\n`\"cfetch\"` → `c(3) f(4) e(3) t(5) c(3) h(6)` → `34353`(numéro de port)\nVous pouvez alors prendre les quatre premiers chiffres (par exemple `3453`) ou conserver davantage de chiffres (par exemple `34353`). Les deux options sont valides.\nSi un projet nécessite plusieurs ports (frontend, backend, base de données, etc.), choisissez **l’une** des deux approches suivantes :\n1. Utilisez le préfixe du projet, puis ajoutez un « suffixe de rôle » \n - Pour `\"cfetch\"`, prenez `3435` comme base \n - Frontend (`fe`, c’est‑à‑dire `43`) → `34354` \n - Backend (`server`) → `34352` \n - Base de données (`mongo`) → `34357` \n - …etc.\n2. Utilisez le préfixe du projet, puis attribuez des rôles séquentiels \n - Pour `\"cfetch\"`, prenez `3435` comme base \n - Web → `34351` \n - Backend → `34352` \n - Base de données → `34353` \n - …etc.\n### Plage de ports valide\n- Les ports doivent être compris entre **1024 et 65535** (les ports système 0‑1023 sont bloqués).\n- **Ports système (0‑1023)** : attribués par l’IETF. Strictement bloqués.\n- **Ports utilisateur (1024‑49151)** : attribués par l’IANA. À utiliser avec précaution car ils peuvent entrer en conflit avec des services enregistrés.\n- **Ports dynamiques/privés (49152‑65535)** : non attribués. Les plus sûrs pour un usage privé ou dynamique.\n---"
|
|
3
3
|
}
|
package/locales/it.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
"designPhilosophy": "以下是 PortKey 的设计理念:\n\nGenera porte
|
|
2
|
+
"designPhilosophy": "以下是 PortKey 的设计理念:\n\nGenera porte con una mappatura tastiera lettera‑numero\nQuando si eseguono più progetti in locale, scegliere i numeri di porta diventa fastidioso.\n- Negli ultimi due anni sono nati *tantissimi* nuovi progetti. Per provarli davvero, spesso è necessario avviarli localmente — e poi le porte cominciano a collidere.\n- Se vuoi mantenere stabile la barra degli indirizzi del browser (o i segnalibri), la porta di un progetto non dovrebbe cambiare continuamente.\nAd esempio, ho più di dieci applicazioni Nuxt sulla mia macchina. Se tutte usassero la porta predefinita `3000`, ovviamente non funzionerebbe. Perciò ho ideato una semplice e coerente regola di denominazione delle porte per “assegnare” le porte a ciascun progetto.\n[Post originale sul blog](https://lionad.art/articles/simple-naming-method)\n### Idea principale\nInvece di scegliere numeri a caso, mappa **il nome del progetto a numeri basati sulla tastiera**, così la porta è *leggibile* e *memorizzabile*.\nFinché il risultato rientra nell’intervallo valido delle porte (**1024–65535**) e non colpisce porte riservate/sistema, puoi usarlo tranquillamente.\nPiù specificamente: usando una tastiera QWERTY standard, mappa ogni lettera a una singola cifra in base alla sua **posizione di riga/colonna**.\nEsempio:\n`\"cfetch\"` → `c(3) f(4) e(3) t(5) c(3) h(6)` → `34353`(numero della porta)\nPuoi prendere le prime 4 cifre (es. `3453`), oppure mantenere più cifre (es. `34353`). Entrambi vanno bene.\nSe un progetto richiede più porte (frontend, backend, database, ecc.), scegli **una** delle due seguenti strategie:\n1. Usa il prefisso del progetto, poi aggiungi un “suffisso ruolo” \n - Per `\"cfetch\"`, prendi `3435` come base \n - Frontend (`fe`, cioè `43`) → `34354` \n - Backend (`server`) → `34352` \n - Database (`mongo`) → `34357` \n - …e così via\n2. Usa il prefisso del progetto, poi assegna ruoli sequenziali \n - Per `\"cfetch\"`, prendi `3435` come base \n - Web → `34351` \n - Backend → `34352` \n - Database → `34353` \n - …e così via\n### Intervallo di porte valido\n- Le porte devono trovarsi tra **1024–65535** (le porte di sistema 0‑1023 sono bloccate).\n- **Porte di Sistema (0‑1023)**: assegnate da IETF. Stretta limitazione.\n- **Porte Utente (1024‑49151)**: assegnate da IANA. Usare con cautela perché potrebbero entrare in conflitto con servizi registrati.\n- **Porte Dinamiche/Private (49152‑65535)**: non assegnate. Le più sicure per uso privato o dinamico.\n---"
|
|
3
3
|
}
|
package/locales/ja.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
"designPhilosophy": "以下是 PortKey 的设计理念:\n\n
|
|
2
|
+
"designPhilosophy": "以下是 PortKey 的设计理念:\n\n文字から数字へのキーボードマッピングでポート番号を生成します。\nローカルで多数のプロジェクトを実行するとき、ポート番号の選択は面倒です。\n- 近年、プロジェクトが**非常に多く**なっています。実際に試すにはローカルで起動する必要があり、ポート番号が衝突しやすくなります。\n- ブラウザのタブ(またはブックマーク)を安定させたい場合、プロジェクトのポート番号は変わってはいけません。\nたとえば、私のマシンには10以上の Nuxt アプリがあり、すべてがデフォルトで `3000` を使用すると明らかに動作しません。そこで、プロジェクトごとに**一貫したポート命名ルール**を考案しました。\n[ソースブログ記事](https://lionad.art/articles/simple-naming-method)\n### 基本コンセプト\nランダムな数字を選ぶのではなく、**キーボード上の位置に基づいてプロジェクト名を数字へマッピング**します。これによりポート番号は*読みやすく*、かつ*覚えやすい*ものになります。\n結果が有効なポート範囲(**1024–65535**)に収まり、予約済みやシステムポートと衝突しなければ、そのまま使用できます。\n具体的には、標準 QWERTY キーボードを用いて、各文字を**行/列の位置に対応する一桁の数字**へ変換します。\n例:\n`\"cfetch\"` → `c(3) f(4) e(3) t(5) c(3) h(6)` → `34353`(ポート番号)\nここから先頭の 4 桁だけを取っても(例:`3453`)、全桁を使用しても構いません。\nプロジェクトが複数のポート(フロントエンド、バックエンド、データベースなど)を必要とする場合は、次の **2 つの方法** のいずれかを選びます。\n1. プロジェクト接頭辞に「役割サフィックス」を付加 \n - `\"cfetch\"` の場合、ベースは `3435` \n - フロントエンド(`fe` → `43`)→ `34354` \n - バックエンド(`server`)→ `34352` \n - データベース(`mongo`)→ `34357` \n2. プロジェクト接頭辞に**シーケンシャルな役割番号**を付与 \n - `\"cfetch\"` の場合、ベースは `3435` \n - Web → `34351` \n - Backend → `34352` \n - Database → `34353`\n### 有効なポート範囲\n- ポートは **1024–65535** の間でなければなりません(システムポート 0‑1023 は使用不可)。\n- **システムポート (0‑1023)**:IETF によって割り当てられ、使用禁止。\n- **ユーザーポート (1024‑49151)**:IANA によって割り当てられるが、登録済みサービスと衝突する可能性があるため注意。\n- **動的/プライベートポート (49152‑65535)**:割り当てなし。プライベートまたは動的利用に最も安全。\n---"
|
|
3
3
|
}
|
package/locales/ko.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
"designPhilosophy": "以下是 PortKey 的设计理念:\n\n키보드의
|
|
2
|
+
"designPhilosophy": "以下是 PortKey 的设计理念:\n\n키보드의 문자‑숫자 매핑을 이용해 포트를 생성합니다.\n여러 프로젝트를 로컬에서 실행할 때 포트 번호를 정하는 것이 번거로울 수 있습니다.\n- 지난 몇 년간 새로운 프로젝트가 너무 많이 생겼습니다. 실제로 사용해 보려면 로컬에서 부팅해야 하는데, 그 과정에서 포트 충돌이 발생합니다.\n- 브라우저 탭(또는 즐겨찾기)을 일정하게 유지하려면 프로젝트마다 포트가 계속 바뀌지 않아야 합니다.\n예를 들어, 제 머신에 Nuxt 앱이 열 개 이상 있습니다. 모두 기본값 `3000`을 사용한다면 당연히 충돌이 발생합니다. 그래서 저는 “프로젝트당 포트를 할당한다”는 간단하고 일관된 규칙을 생각해냈습니다.\n[원본 블로그 글](https://lionad.art/articles/simple-naming-method)\n### 핵심 아이디어\n무작위 숫자를 선택하는 대신 **키보드 레이아웃을 기준으로 프로젝트 이름을 숫자로 매핑**합니다. 이렇게 하면 포트가 *읽기 쉽고* *기억하기 쉬워집니다.\n결과값이 유효한 포트 범위(**1024–65535**) 안에 있고 예약/시스템 포트를 피한다면 그대로 사용하면 됩니다.\n구체적으로는 QWERTY 키보드의 각 문자 위치(행·열)를 기준으로 한 자리 숫자와 매핑합니다.\n예시:\n`\"cfetch\"` → `c(3) f(4) e(3) t(5) c(3) h(6)` → `34353`(포트 번호)\n그 후 처음 4자리(`3453`)를 사용하거나 전체 5자리를 유지해도 됩니다(`34353`). 어느 쪽이든 상관없습니다.\n프로젝트에 여러 포트가 필요할 경우(프런트엔드, 백엔드, 데이터베이스 등) 다음 두 방법 중 하나를 선택합니다:\n1. 프로젝트 접두어 뒤에 “역할 접미사”를 붙인다 \n - `\"cfetch\"`의 경우 기본값은 `3435` \n - 프런트엔드(`fe`, 즉 `43`) → `34354` \n - 백엔드(`server`) → `34352` \n - 데이터베이스(`mongo`) → `34357` \n - …등\n2. 프로젝트 접두어 뒤에 순차적인 역할 번호를 부여한다 \n - `\"cfetch\"`의 경우 기본값은 `3435` \n - 웹 → `34351` \n - 백엔드 → `34352` \n - 데이터베이스 → `34353` \n - …등\n### 유효 포트 범위\n- 포트 번호는 **1024–65535** 사이여야 합니다(시스템 포트 0‑1023은 사용 불가).\n- **시스템 포트(0‑1023)**: IETF에서 할당. 절대 사용 금지.\n- **사용자 포트(1024‑49151)**: IANA에서 할당. 충돌 가능성이 있으니 주의.\n- **동적/프라이빗 포트(49152‑65535)**: 할당되지 않음. 개인 혹은 동적 사용에 가장 안전합니다.\n---"
|
|
3
3
|
}
|
package/locales/pt.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
"designPhilosophy": "以下是 PortKey 的设计理念:\n\
|
|
2
|
+
"designPhilosophy": "以下是 PortKey 的设计理念:\n\nGere portas usando um mapeamento de letras para números do teclado.\nQuando você está rodando vários projetos localmente, escolher números de porta pode ser irritante.\n- Nos últimos anos, surgiram *tantos* novos projetos. Para realmente testá‑los, muitas vezes você precisa iniciá‑los localmente — e então as portas começam a colidir.\n- Se quiser manter abas do navegador (ou favoritos) estáveis, a porta de um projeto não deve ficar mudando o tempo todo.\nPor exemplo, eu tenho mais de dez aplicativos Nuxt na minha máquina. Se todos usarem a porta padrão `3000`, obviamente isso não vai funcionar. Então eu criei uma regra simples e consistente de nomeação de portas para “atribuir” portas por projeto.\n[Postagem original no blog](https://lionad.art/articles/simple-naming-method)\n### Ideia central\nEm vez de escolher números aleatórios, mapeie o **nome do projeto para números com base no teclado**, de modo que a porta seja *legível* e *memorizável*.\nDesde que o resultado esteja dentro da faixa válida de portas (**1024–65535**) e não conflite com portas reservadas/sistema, você pode simplesmente usá‑lo.\nMais especificamente: usando um teclado QWERTY padrão, mapeie cada letra para um único dígito com base em sua **posição de linha/coluna**.\nExemplo:\n`\"cfetch\"` → `c(3) f(4) e(3) t(5) c(3) h(6)` → `34353`(número da porta)\nEntão você pode pegar os primeiros 4 dígitos (por exemplo, `3453`), ou manter mais dígitos (por exemplo, `34353`). Ambos são válidos.\nSe um projeto precisar de múltiplas portas (frontend, backend, banco de dados etc.), escolha **uma** das duas abordagens a seguir:\n1. Use o prefixo do projeto e então adicione um “sufixo de função” \n - Para `\"cfetch\"`, use `3435` como base \n - Frontend (`fe`, ou seja, `43`) → `34354` \n - Backend (`server`) → `34352` \n - Banco de dados (`mongo`) → `34357` \n - …e assim por diante\n2. Use o prefixo do projeto e atribua funções sequencialmente \n - Para `\"cfetch\"`, use `3435` como base \n - Web → `34351` \n - Backend → `34352` \n - Banco de dados → `34353` \n - …e assim por diante\n### Faixa válida de portas\n- As portas devem estar entre **1024–65535** (as portas do Sistema 0‑1023 são bloqueadas).\n- **Portas de Sistema (0‑1023)**: atribuídas pelo IETF. Estritamente bloqueadas.\n- **Portas de Usuário (1024‑49151)**: atribuídas pela IANA. Use com cautela, pois podem conflitar com serviços registrados.\n- **Portas Dinâmicas/Privadas (49152‑65535)**: não atribuídas. As mais seguras para uso privado ou dinâmico.\n---"
|
|
3
3
|
}
|
package/locales/ru.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
"designPhilosophy": "以下是 PortKey 的设计理念:\n\n
|
|
2
|
+
"designPhilosophy": "以下是 PortKey 的设计理念:\n\nГенерировать порты с помощью сопоставления букв и цифр на клавиатуре.\nКогда вы запускаете несколько проектов локально, выбор номеров портов становится неприятным.\n- За последние пару лет появилось *столько* новых проектов. Чтобы действительно их протестировать, часто требуется запустить их локально — и тогда порты начинают конфликтовать.\n- Если вы хотите, чтобы вкладки браузера (или закладки) оставались стабильными, номер порта проекта не должен постоянно изменяться.\nНапример, у меня более десяти приложений Nuxt на машине. Если все они используют порт `3000` по умолчанию, это явно не сработает. Поэтому я придумал простое и последовательное правило именования портов, чтобы «назначать» порты каждому проекту.\n[Исходный пост в блоге](https://lionad.art/articles/simple-naming-method)\n### Основная идея\nВместо выбора случайных чисел сопоставьте **название проекта с цифрами на основе клавиатуры**, чтобы порт был *читабельным* и *запоминаемым*.\nЕсли результат находится в допустимом диапазоне портов (**1024–65535**) и не попадает в зарезервированные/системные порты, его можно просто использовать.\nБолее конкретно: используя стандартную клавиатуру QWERTY, сопоставьте каждую букву одной цифре в зависимости от её **позиции в ряду/столбце**.\nПример:\n`\"cfetch\"` → `c(3) f(4) e(3) t(5) c(3) h(6)` → `34353`(номер порта)\nЗатем можно взять первые 4 цифры (например, `3453`), либо оставить больше цифр (например, `34353`). Оба варианта подходят.\nЕсли проект требует несколько портов (frontend, backend, database и т.п.), выберите **один** из двух подходов:\n1. Использовать префикс проекта, а затем добавить «суффикс роли» \n - Для `\"cfetch\"` взять `3435` как базу \n - Frontend (`fe`, т.е. `43`) → `34354` \n - Backend (`server`) → `34352` \n - Database (`mongo`) → `34357` \n - …и так далее\n2. Использовать префикс проекта, а затем назначать роли последовательно \n - Для `\"cfetch\"` взять `3435` как базу \n - Web → `34351` \n - Backend → `34352` \n - Database → `34353` \n - …и так далее\n### Действительный диапазон портов\n- Порты должны находиться в диапазоне **1024–65535** (системные порты 0‑1023 заблокированы).\n- **Системные порты (0‑1023)**: назначаются IETF. Строго запрещено.\n- **Пользовательские порты (1024‑49151)**: назначаются IANA. Используйте с осторожностью, так как они могут конфликтовать с зарегистрированными сервисами.\n- **Динамические/частные порты (49152‑65535)**: не назначены. Наиболее безопасны для частного или динамического использования.\n---"
|
|
3
3
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lionad/port-key-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "MCP Server for PortKey",
|
|
5
5
|
"bin": "./bin/port-key-mcp.js",
|
|
6
6
|
"type": "module",
|
|
@@ -29,13 +29,6 @@
|
|
|
29
29
|
"README.md",
|
|
30
30
|
"LICENSE"
|
|
31
31
|
],
|
|
32
|
-
"scripts": {
|
|
33
|
-
"build:locales": "node scripts/build-locales.js",
|
|
34
|
-
"build": "pnpm run build:locales && tsc -p tsconfig.build.json",
|
|
35
|
-
"prepublishOnly": "pnpm run build",
|
|
36
|
-
"test": "pnpm run build && vitest run",
|
|
37
|
-
"test:watch": "vitest"
|
|
38
|
-
},
|
|
39
32
|
"author": "Lionad",
|
|
40
33
|
"license": "ISC",
|
|
41
34
|
"repository": {
|
|
@@ -62,5 +55,11 @@
|
|
|
62
55
|
"@types/express": "^5.0.6",
|
|
63
56
|
"@types/node": "^24.7.2",
|
|
64
57
|
"vitest": "4.0.16"
|
|
58
|
+
},
|
|
59
|
+
"scripts": {
|
|
60
|
+
"build:locales": "node scripts/build-locales.js",
|
|
61
|
+
"build": "pnpm run build:locales && tsc -p tsconfig.build.json",
|
|
62
|
+
"test": "pnpm run build && vitest run",
|
|
63
|
+
"test:watch": "vitest"
|
|
65
64
|
}
|
|
66
|
-
}
|
|
65
|
+
}
|