diff --git a/.changeset/clear-marketplace-installs.md b/.changeset/clear-marketplace-installs.md new file mode 100644 index 00000000000..717a39f4910 --- /dev/null +++ b/.changeset/clear-marketplace-installs.md @@ -0,0 +1,5 @@ +--- +"kilo-code": patch +--- + +Explain Marketplace item types, installation scopes, destination files, and MCP security before installation. diff --git a/packages/kilo-docs/lychee.toml b/packages/kilo-docs/lychee.toml index fe1be68c3a2..b4f1c000e75 100644 --- a/packages/kilo-docs/lychee.toml +++ b/packages/kilo-docs/lychee.toml @@ -50,6 +50,8 @@ exclude = [ '^https?://api\.apertis\.ai/v1/?$', # Redirects to authenticated Google Cloud console '^https?://console\.cloud\.google\.com', + # Linear intermittently returns 503 to CI link checks. + '^https?://linear\.app/?$', # Consistently times out in CI '^https?://opncd\.ai', '^https?://zod\.dev/v4/changelog', diff --git a/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/empty-list-chromium-linux.png b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/empty-list-chromium-linux.png index fe7821d7e80..fdc3892c147 100644 --- a/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/empty-list-chromium-linux.png +++ b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/empty-list-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3545994fd7a126ea860b31e2ac07f9cbeaa03e872f805e3fd2ec7012556c6ea8 -size 12665 +oid sha256:36101257010ff15372b8e2b7ace1b5128ecc820ce5ca4111ff1ba7905473b0b4 +size 19407 diff --git a/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/install-mcp-modal-chromium-linux.png b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/install-mcp-modal-chromium-linux.png new file mode 100644 index 00000000000..67085a13384 --- /dev/null +++ b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/install-mcp-modal-chromium-linux.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:45d2e8b0e2a5dd7a40ec5c0b5ab4acee6035ede90135980038628e98e3478cd9 +size 682 diff --git a/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/mixed-list-with-items-chromium-linux.png b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/mixed-list-with-items-chromium-linux.png index 0e841eadf3e..b9a99af3535 100644 --- a/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/mixed-list-with-items-chromium-linux.png +++ b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/mixed-list-with-items-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:10adc41427bfb41fb25fb25e14c771443c1b3cf23a546b05665370974fbc2209 -size 54839 +oid sha256:cca305368e62ec5b45c8b20bc5d4921e0ca8df1c54eb110efffe188837400b95 +size 57533 diff --git a/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/relevant-items-chromium-linux.png b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/relevant-items-chromium-linux.png index b842681355b..f292e635098 100644 --- a/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/relevant-items-chromium-linux.png +++ b/packages/kilo-docs/public/img/screenshot-tests/kilo-vscode/visual-regression/marketplace/relevant-items-chromium-linux.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:572b5a2bfd530b743a8ebaaed2ddacc9611aaa31f450df0f2904f314d8cfff6d -size 52660 +oid sha256:9a681b7c8866aa3aa6f1e8673afcb5efb79d3a251ba46b3c7201e22dcc77b9c2 +size 55898 diff --git a/packages/kilo-docs/source-links.md b/packages/kilo-docs/source-links.md index ce7301c2770..e7995b9b788 100644 --- a/packages/kilo-docs/source-links.md +++ b/packages/kilo-docs/source-links.md @@ -123,10 +123,15 @@ - +- + - - +- + + - - diff --git a/packages/kilo-i18n/src/ar.ts b/packages/kilo-i18n/src/ar.ts index d9e3bcfa0b4..4c267f26727 100644 --- a/packages/kilo-i18n/src/ar.ts +++ b/packages/kilo-i18n/src/ar.ts @@ -42,6 +42,24 @@ export const dict = { "marketplace.install.scope": "النطاق", "marketplace.install.scope.project": "المشروع", "marketplace.install.scope.global": "عالمي", + "marketplace.install.scope.project.description": + "هذا المشروع فقط. يمكن إضافة الملفات المثبتة إلى نظام التحكم في الإصدارات ومشاركتها مع فريقك.", + "marketplace.install.scope.global.description": + "جميع المشاريع على هذا الجهاز. تُحفظ في إعدادات المستخدم الخاصة بك.", + "marketplace.install.destination": "وجهة التثبيت", + "marketplace.install.about.mcp": + "يمنح خادم MCP منصة Kilo أدوات إضافية للعمل مع الخدمات الخارجية أو البرامج المحلية.", + "marketplace.install.about.agent": "يضيف الوكيل دورًا قابلاً لإعادة الاستخدام بتعليماته وأذوناته الخاصة.", + "marketplace.install.about.skill": "تضيف المهارة تعليمات وموارد خاصة بمهام معينة يمكن لـ Kilo تحميلها عند الحاجة.", + "marketplace.install.mcp.warning": + "يمكن لخوادم MCP تشغيل أوامر محلية أو الاتصال بخدمات خارجية. ستطلب Kilo الإذن قبل استخدام أدواتها ما لم تسمح أذوناتك بذلك تلقائيًا.", + "marketplace.install.project.warning": + "قد تُضاف ملفات المشروع إلى نظام التحكم في الإصدارات. لا تخزّن الأسرار هنا إلا إذا كان الإعداد يشير إلى متغير بيئة.", + "marketplace.install.learnMore": "تعرّف على كيفية عمل عمليات التثبيت من Marketplace", + "marketplace.install.learnMcp": "معرفة المزيد عن MCP", + "marketplace.install.installedAt": "تم التثبيت في {{path}}", + "marketplace.intro": "ثبّت وكلاء ومهارات وأدوات MCP قابلة لإعادة الاستخدام لمشروع واحد أو لجميع المشاريع.", + "marketplace.intro.learnMore": "حول Marketplace", "marketplace.install.prerequisites": "المتطلبات الأساسية", "marketplace.install.installing": "جاري التثبيت...", "marketplace.install.cancel": "إلغاء", diff --git a/packages/kilo-i18n/src/br.ts b/packages/kilo-i18n/src/br.ts index 6f388cba3aa..1f816170e58 100644 --- a/packages/kilo-i18n/src/br.ts +++ b/packages/kilo-i18n/src/br.ts @@ -42,6 +42,25 @@ export const dict = { "marketplace.install.scope": "Escopo", "marketplace.install.scope.project": "Projeto", "marketplace.install.scope.global": "Global", + "marketplace.install.scope.project.description": + "Somente este projeto. Os arquivos instalados podem ser adicionados ao controle de versão e compartilhados com sua equipe.", + "marketplace.install.scope.global.description": + "Todos os projetos nesta máquina. Armazenado na sua configuração de usuário.", + "marketplace.install.destination": "Destino da instalação", + "marketplace.install.about.mcp": + "Um servidor MCP fornece ao Kilo ferramentas adicionais para trabalhar com serviços externos ou programas locais.", + "marketplace.install.about.agent": "Um agente adiciona uma função reutilizável com instruções e permissões próprias.", + "marketplace.install.about.skill": + "Uma habilidade adiciona instruções e recursos específicos para tarefas que o Kilo pode carregar quando necessário.", + "marketplace.install.mcp.warning": + "Servidores MCP podem executar comandos locais ou se conectar a serviços externos. O Kilo solicitará permissão antes de usar suas ferramentas, a menos que suas permissões permitam isso automaticamente.", + "marketplace.install.project.warning": + "Os arquivos do projeto podem ser adicionados ao controle de versão. Não armazene segredos aqui, a menos que a configuração faça referência a uma variável de ambiente.", + "marketplace.install.learnMore": "Saiba como funcionam as instalações do Marketplace", + "marketplace.install.learnMcp": "Saiba mais sobre MCP", + "marketplace.install.installedAt": "Instalado em {{path}}", + "marketplace.intro": "Instale agentes, habilidades e ferramentas MCP reutilizáveis em um projeto ou em todos os projetos.", + "marketplace.intro.learnMore": "Sobre o Marketplace", "marketplace.install.prerequisites": "Pré-requisitos", "marketplace.install.installing": "Instalando...", "marketplace.install.cancel": "Cancelar", diff --git a/packages/kilo-i18n/src/bs.ts b/packages/kilo-i18n/src/bs.ts index 174956f59ee..619faf6357f 100644 --- a/packages/kilo-i18n/src/bs.ts +++ b/packages/kilo-i18n/src/bs.ts @@ -47,6 +47,25 @@ export const dict = { "marketplace.install.scope": "Opseg", "marketplace.install.scope.project": "Projekat", "marketplace.install.scope.global": "Globalno", + "marketplace.install.scope.project.description": + "Samo ovaj projekat. Instalirane datoteke mogu se dodati u kontrolu verzija i dijeliti s vašim timom.", + "marketplace.install.scope.global.description": + "Svi projekti na ovom računaru. Čuva se u vašoj korisničkoj konfiguraciji.", + "marketplace.install.destination": "Odredište instalacije", + "marketplace.install.about.mcp": + "MCP server pruža Kilu dodatne alate za rad s vanjskim servisima ili lokalnim programima.", + "marketplace.install.about.agent": "Agent dodaje višekratnu ulogu s vlastitim uputama i dozvolama.", + "marketplace.install.about.skill": + "Vještina dodaje upute i resurse za određene zadatke koje Kilo može učitati kada su potrebni.", + "marketplace.install.mcp.warning": + "MCP serveri mogu pokretati lokalne naredbe ili se povezivati s vanjskim servisima. Kilo će zatražiti dozvolu prije korištenja njihovih alata, osim ako vaše dozvole to automatski dopuštaju.", + "marketplace.install.project.warning": + "Datoteke projekta mogu se dodati u kontrolu verzija. Ne čuvajte tajne ovdje osim ako konfiguracija upućuje na varijablu okruženja.", + "marketplace.install.learnMore": "Saznajte kako funkcionišu instalacije s Marketplacea", + "marketplace.install.learnMcp": "Saznajte više o MCP-u", + "marketplace.install.installedAt": "Instalirano u {{path}}", + "marketplace.intro": "Instalirajte višekratne agente, vještine i MCP alate za jedan ili sve projekte.", + "marketplace.intro.learnMore": "O Marketplaceu", "marketplace.install.prerequisites": "Preduslovi", "marketplace.install.installing": "Instalacija...", "marketplace.install.cancel": "Otkaži", diff --git a/packages/kilo-i18n/src/da.ts b/packages/kilo-i18n/src/da.ts index 1c76d9c2df2..457b3f97d23 100644 --- a/packages/kilo-i18n/src/da.ts +++ b/packages/kilo-i18n/src/da.ts @@ -42,6 +42,25 @@ export const dict = { "marketplace.install.scope": "Omfang", "marketplace.install.scope.project": "Projekt", "marketplace.install.scope.global": "Global", + "marketplace.install.scope.project.description": + "Kun dette projekt. De installerede filer kan føjes til versionsstyring og deles med dit team.", + "marketplace.install.scope.global.description": + "Alle projekter på denne maskine. Gemmes i din brugerkonfiguration.", + "marketplace.install.destination": "Installationsplacering", + "marketplace.install.about.mcp": + "En MCP-server giver Kilo yderligere værktøjer til at arbejde med eksterne tjenester eller lokale programmer.", + "marketplace.install.about.agent": "En agent tilføjer en genanvendelig rolle med egne instruktioner og tilladelser.", + "marketplace.install.about.skill": + "En færdighed tilføjer opgavespecifikke instruktioner og ressourcer, som Kilo kan indlæse efter behov.", + "marketplace.install.mcp.warning": + "MCP-servere kan køre lokale kommandoer eller oprette forbindelse til eksterne tjenester. Kilo beder om tilladelse, før deres værktøjer bruges, medmindre dine tilladelser automatisk tillader det.", + "marketplace.install.project.warning": + "Projektfiler kan føjes til versionsstyring. Gem ikke hemmeligheder her, medmindre konfigurationen henviser til en miljøvariabel.", + "marketplace.install.learnMore": "Se, hvordan installationer fra Marketplace fungerer", + "marketplace.install.learnMcp": "Få mere at vide om MCP", + "marketplace.install.installedAt": "Installeret i {{path}}", + "marketplace.intro": "Installer genanvendelige agenter, færdigheder og MCP-værktøjer til ét eller alle projekter.", + "marketplace.intro.learnMore": "Om Marketplace", "marketplace.install.prerequisites": "Forudsætninger", "marketplace.install.installing": "Installerer...", "marketplace.install.cancel": "Annuller", diff --git a/packages/kilo-i18n/src/de.ts b/packages/kilo-i18n/src/de.ts index 0a127f11d15..08808907e25 100644 --- a/packages/kilo-i18n/src/de.ts +++ b/packages/kilo-i18n/src/de.ts @@ -42,6 +42,27 @@ export const dict = { "marketplace.install.scope": "Bereich", "marketplace.install.scope.project": "Projekt", "marketplace.install.scope.global": "Global", + "marketplace.install.scope.project.description": + "Nur dieses Projekt. Die installierten Dateien können versioniert und mit Ihrem Team geteilt werden.", + "marketplace.install.scope.global.description": + "Alle Projekte auf diesem Computer. Wird in Ihrer Benutzerkonfiguration gespeichert.", + "marketplace.install.destination": "Installationsziel", + "marketplace.install.about.mcp": + "Ein MCP-Server stellt Kilo zusätzliche Werkzeuge für die Arbeit mit externen Diensten oder lokalen Programmen bereit.", + "marketplace.install.about.agent": + "Ein Agent fügt eine wiederverwendbare Rolle mit eigenen Anweisungen und Berechtigungen hinzu.", + "marketplace.install.about.skill": + "Ein Skill fügt aufgabenspezifische Anweisungen und Ressourcen hinzu, die Kilo bei Bedarf laden kann.", + "marketplace.install.mcp.warning": + "MCP-Server können lokale Befehle ausführen oder eine Verbindung zu externen Diensten herstellen. Kilo fragt vor der Verwendung ihrer Werkzeuge um Erlaubnis, sofern Ihre Berechtigungen dies nicht automatisch erlauben.", + "marketplace.install.project.warning": + "Projektdateien können in die Versionsverwaltung aufgenommen werden. Speichern Sie hier keine Geheimnisse, es sei denn, die Konfiguration verweist auf eine Umgebungsvariable.", + "marketplace.install.learnMore": "Erfahren Sie, wie Installationen aus dem Marketplace funktionieren", + "marketplace.install.learnMcp": "Mehr über MCP erfahren", + "marketplace.install.installedAt": "Installiert unter {{path}}", + "marketplace.intro": + "Installieren Sie wiederverwendbare Agenten, Skills und MCP-Werkzeuge für ein Projekt oder für alle Projekte.", + "marketplace.intro.learnMore": "Über den Marketplace", "marketplace.install.prerequisites": "Voraussetzungen", "marketplace.install.installing": "Wird installiert...", "marketplace.install.cancel": "Abbrechen", diff --git a/packages/kilo-i18n/src/en.ts b/packages/kilo-i18n/src/en.ts index 312c76d545d..6c79b7dc8d4 100644 --- a/packages/kilo-i18n/src/en.ts +++ b/packages/kilo-i18n/src/en.ts @@ -41,9 +41,26 @@ export const dict = { "marketplace.card.showMore": "Show more", "marketplace.card.showLess": "Show less", "marketplace.install.title": "Install {{name}}", - "marketplace.install.scope": "Scope", + "marketplace.install.scope": "Where should this be available?", "marketplace.install.scope.project": "Project", "marketplace.install.scope.global": "Global", + "marketplace.install.scope.project.description": + "Only this project. The installed files can be committed and shared with your team.", + "marketplace.install.scope.global.description": "All projects on this machine. Stored in your user configuration.", + "marketplace.install.destination": "Installation destination", + "marketplace.install.about.mcp": + "An MCP server gives Kilo additional tools for working with external services or local programs.", + "marketplace.install.about.agent": "An agent adds a reusable role with its own instructions and permissions.", + "marketplace.install.about.skill": "A skill adds task-specific instructions and resources that Kilo can load when needed.", + "marketplace.install.mcp.warning": + "MCP servers can run local commands or connect to external services. Kilo will ask for permission before using their tools unless your permissions allow them automatically.", + "marketplace.install.project.warning": + "Project files may be committed to version control. Do not store secrets here unless the configuration references an environment variable.", + "marketplace.install.learnMore": "Learn how Marketplace installs work", + "marketplace.install.learnMcp": "Learn more about MCP", + "marketplace.install.installedAt": "Installed to {{path}}", + "marketplace.intro": "Install reusable agents, skills, and MCP tools for one project or every project.", + "marketplace.intro.learnMore": "About Marketplace", "marketplace.install.prerequisites": "Prerequisites", "marketplace.install.installing": "Installing...", "marketplace.install.cancel": "Cancel", diff --git a/packages/kilo-i18n/src/es.ts b/packages/kilo-i18n/src/es.ts index f777cd9b4a8..bcbf615f04a 100644 --- a/packages/kilo-i18n/src/es.ts +++ b/packages/kilo-i18n/src/es.ts @@ -42,6 +42,26 @@ export const dict = { "marketplace.install.scope": "Alcance", "marketplace.install.scope.project": "Proyecto", "marketplace.install.scope.global": "Global", + "marketplace.install.scope.project.description": + "Solo este proyecto. Los archivos instalados se pueden añadir al control de versiones y compartir con tu equipo.", + "marketplace.install.scope.global.description": + "Todos los proyectos de este equipo. Se almacena en tu configuración de usuario.", + "marketplace.install.destination": "Destino de la instalación", + "marketplace.install.about.mcp": + "Un servidor MCP proporciona a Kilo herramientas adicionales para trabajar con servicios externos o programas locales.", + "marketplace.install.about.agent": + "Un agente añade un rol reutilizable con sus propias instrucciones y permisos.", + "marketplace.install.about.skill": + "Una habilidad añade instrucciones y recursos específicos para tareas que Kilo puede cargar cuando sea necesario.", + "marketplace.install.mcp.warning": + "Los servidores MCP pueden ejecutar comandos locales o conectarse a servicios externos. Kilo pedirá permiso antes de usar sus herramientas, a menos que tus permisos lo permitan automáticamente.", + "marketplace.install.project.warning": + "Los archivos del proyecto pueden añadirse al control de versiones. No guardes secretos aquí, a menos que la configuración haga referencia a una variable de entorno.", + "marketplace.install.learnMore": "Descubre cómo funcionan las instalaciones de Marketplace", + "marketplace.install.learnMcp": "Más información sobre MCP", + "marketplace.install.installedAt": "Instalado en {{path}}", + "marketplace.intro": "Instala agentes, habilidades y herramientas MCP reutilizables en uno o todos los proyectos.", + "marketplace.intro.learnMore": "Acerca de Marketplace", "marketplace.install.prerequisites": "Requisitos previos", "marketplace.install.installing": "Instalando...", "marketplace.install.cancel": "Cancelar", diff --git a/packages/kilo-i18n/src/fr.ts b/packages/kilo-i18n/src/fr.ts index 715ff06bfc1..895b9cff15a 100644 --- a/packages/kilo-i18n/src/fr.ts +++ b/packages/kilo-i18n/src/fr.ts @@ -42,6 +42,27 @@ export const dict = { "marketplace.install.scope": "Portée", "marketplace.install.scope.project": "Projet", "marketplace.install.scope.global": "Global", + "marketplace.install.scope.project.description": + "Uniquement ce projet. Les fichiers installés peuvent être ajoutés au contrôle de version et partagés avec votre équipe.", + "marketplace.install.scope.global.description": + "Tous les projets sur cette machine. Enregistré dans votre configuration utilisateur.", + "marketplace.install.destination": "Destination de l'installation", + "marketplace.install.about.mcp": + "Un serveur MCP fournit à Kilo des outils supplémentaires pour interagir avec des services externes ou des programmes locaux.", + "marketplace.install.about.agent": + "Un agent ajoute un rôle réutilisable avec ses propres instructions et autorisations.", + "marketplace.install.about.skill": + "Une compétence ajoute des instructions et des ressources propres à une tâche que Kilo peut charger en cas de besoin.", + "marketplace.install.mcp.warning": + "Les serveurs MCP peuvent exécuter des commandes locales ou se connecter à des services externes. Kilo demandera votre autorisation avant d'utiliser leurs outils, sauf si vos autorisations le permettent automatiquement.", + "marketplace.install.project.warning": + "Les fichiers du projet peuvent être ajoutés au contrôle de version. N'y stockez pas de secrets, sauf si la configuration fait référence à une variable d'environnement.", + "marketplace.install.learnMore": "Découvrir le fonctionnement des installations depuis le Marketplace", + "marketplace.install.learnMcp": "En savoir plus sur MCP", + "marketplace.install.installedAt": "Installé dans {{path}}", + "marketplace.intro": + "Installez des agents, des compétences et des outils MCP réutilisables pour un projet ou pour tous vos projets.", + "marketplace.intro.learnMore": "À propos du Marketplace", "marketplace.install.prerequisites": "Prérequis", "marketplace.install.installing": "Installation en cours...", "marketplace.install.cancel": "Annuler", diff --git a/packages/kilo-i18n/src/it.ts b/packages/kilo-i18n/src/it.ts index 757c4a5caac..8224cf69102 100644 --- a/packages/kilo-i18n/src/it.ts +++ b/packages/kilo-i18n/src/it.ts @@ -45,6 +45,26 @@ export const dict = { "marketplace.install.scope": "Ambito", "marketplace.install.scope.project": "Progetto", "marketplace.install.scope.global": "Globale", + "marketplace.install.scope.project.description": + "Solo questo progetto. I file installati possono essere aggiunti al controllo versione e condivisi con il team.", + "marketplace.install.scope.global.description": + "Tutti i progetti su questo computer. Viene salvato nella configurazione utente.", + "marketplace.install.destination": "Destinazione dell'installazione", + "marketplace.install.about.mcp": + "Un server MCP fornisce a Kilo strumenti aggiuntivi per interagire con servizi esterni o programmi locali.", + "marketplace.install.about.agent": + "Un agente aggiunge un ruolo riutilizzabile con istruzioni e autorizzazioni proprie.", + "marketplace.install.about.skill": + "Una skill aggiunge istruzioni e risorse specifiche per un'attività che Kilo può caricare quando necessario.", + "marketplace.install.mcp.warning": + "I server MCP possono eseguire comandi locali o connettersi a servizi esterni. Kilo chiederà l'autorizzazione prima di usare i loro strumenti, a meno che le tue autorizzazioni non lo consentano automaticamente.", + "marketplace.install.project.warning": + "I file del progetto possono essere aggiunti al controllo versione. Non salvare segreti qui, a meno che la configurazione non faccia riferimento a una variabile di ambiente.", + "marketplace.install.learnMore": "Scopri come funzionano le installazioni dal Marketplace", + "marketplace.install.learnMcp": "Scopri di più su MCP", + "marketplace.install.installedAt": "Installato in {{path}}", + "marketplace.intro": "Installa agenti, skill e strumenti MCP riutilizzabili per uno o tutti i progetti.", + "marketplace.intro.learnMore": "Informazioni sul Marketplace", "marketplace.install.prerequisites": "Prerequisiti", "marketplace.install.installing": "Installazione...", "marketplace.install.cancel": "Annulla", diff --git a/packages/kilo-i18n/src/ja.ts b/packages/kilo-i18n/src/ja.ts index 6b6ecc44edd..0092971f308 100644 --- a/packages/kilo-i18n/src/ja.ts +++ b/packages/kilo-i18n/src/ja.ts @@ -41,6 +41,26 @@ export const dict = { "marketplace.install.scope": "スコープ", "marketplace.install.scope.project": "プロジェクト", "marketplace.install.scope.global": "グローバル", + "marketplace.install.scope.project.description": + "このプロジェクトのみ。インストールしたファイルはバージョン管理に追加し、チームと共有できます。", + "marketplace.install.scope.global.description": + "このマシン上のすべてのプロジェクト。ユーザー設定に保存されます。", + "marketplace.install.destination": "インストール先", + "marketplace.install.about.mcp": + "MCPサーバーは、外部サービスやローカルプログラムを操作するための追加ツールをKiloに提供します。", + "marketplace.install.about.agent": "エージェントは、独自の指示と権限を持つ再利用可能な役割を追加します。", + "marketplace.install.about.skill": + "スキルは、必要に応じてKiloが読み込めるタスク固有の指示とリソースを追加します。", + "marketplace.install.mcp.warning": + "MCPサーバーはローカルコマンドを実行したり、外部サービスに接続したりできます。権限で自動的に許可されていない限り、Kiloはツールを使用する前に許可を求めます。", + "marketplace.install.project.warning": + "プロジェクトファイルはバージョン管理に追加される場合があります。設定で環境変数を参照している場合を除き、ここにシークレットを保存しないでください。", + "marketplace.install.learnMore": "Marketplaceからのインストールの仕組みを見る", + "marketplace.install.learnMcp": "MCPについて詳しく見る", + "marketplace.install.installedAt": "{{path}} にインストール済み", + "marketplace.intro": + "再利用可能なエージェント、スキル、MCPツールを1つのプロジェクトまたはすべてのプロジェクトにインストールできます。", + "marketplace.intro.learnMore": "Marketplaceについて", "marketplace.install.prerequisites": "前提条件", "marketplace.install.installing": "インストール中...", "marketplace.install.cancel": "キャンセル", diff --git a/packages/kilo-i18n/src/ko.ts b/packages/kilo-i18n/src/ko.ts index e905fbdfbbe..09fbfa7cf7f 100644 --- a/packages/kilo-i18n/src/ko.ts +++ b/packages/kilo-i18n/src/ko.ts @@ -41,6 +41,26 @@ export const dict = { "marketplace.install.scope": "범위", "marketplace.install.scope.project": "프로젝트", "marketplace.install.scope.global": "글로벌", + "marketplace.install.scope.project.description": + "이 프로젝트에만 적용됩니다. 설치된 파일을 버전 관리에 추가하고 팀과 공유할 수 있습니다.", + "marketplace.install.scope.global.description": + "이 컴퓨터의 모든 프로젝트에 적용됩니다. 사용자 구성에 저장됩니다.", + "marketplace.install.destination": "설치 위치", + "marketplace.install.about.mcp": + "MCP 서버는 외부 서비스나 로컬 프로그램과 작업할 수 있는 추가 도구를 Kilo에 제공합니다.", + "marketplace.install.about.agent": "에이전트는 자체 지침과 권한을 가진 재사용 가능한 역할을 추가합니다.", + "marketplace.install.about.skill": + "스킬은 필요할 때 Kilo가 불러올 수 있는 작업별 지침과 리소스를 추가합니다.", + "marketplace.install.mcp.warning": + "MCP 서버는 로컬 명령을 실행하거나 외부 서비스에 연결할 수 있습니다. 권한 설정에서 자동으로 허용하지 않는 한 Kilo는 도구를 사용하기 전에 권한을 요청합니다.", + "marketplace.install.project.warning": + "프로젝트 파일이 버전 관리에 추가될 수 있습니다. 구성에서 환경 변수를 참조하는 경우가 아니면 여기에 비밀 정보를 저장하지 마세요.", + "marketplace.install.learnMore": "Marketplace 설치 방식 알아보기", + "marketplace.install.learnMcp": "MCP 자세히 알아보기", + "marketplace.install.installedAt": "{{path}}에 설치됨", + "marketplace.intro": + "재사용 가능한 에이전트, 스킬 및 MCP 도구를 하나의 프로젝트 또는 모든 프로젝트에 설치하세요.", + "marketplace.intro.learnMore": "Marketplace 정보", "marketplace.install.prerequisites": "사전 요구 사항", "marketplace.install.installing": "설치 중...", "marketplace.install.cancel": "취소", diff --git a/packages/kilo-i18n/src/nl.ts b/packages/kilo-i18n/src/nl.ts index 4ad67883c99..9e5fc2210b1 100644 --- a/packages/kilo-i18n/src/nl.ts +++ b/packages/kilo-i18n/src/nl.ts @@ -44,6 +44,26 @@ export const dict = { "marketplace.install.scope": "Scope", "marketplace.install.scope.project": "Project", "marketplace.install.scope.global": "Globaal", + "marketplace.install.scope.project.description": + "Alleen dit project. De geïnstalleerde bestanden kunnen aan versiebeheer worden toegevoegd en met je team worden gedeeld.", + "marketplace.install.scope.global.description": + "Alle projecten op deze computer. Wordt opgeslagen in je gebruikersconfiguratie.", + "marketplace.install.destination": "Installatielocatie", + "marketplace.install.about.mcp": + "Een MCP-server geeft Kilo extra hulpmiddelen om met externe diensten of lokale programma's te werken.", + "marketplace.install.about.agent": "Een agent voegt een herbruikbare rol toe met eigen instructies en machtigingen.", + "marketplace.install.about.skill": + "Een vaardigheid voegt taakspecifieke instructies en bronnen toe die Kilo indien nodig kan laden.", + "marketplace.install.mcp.warning": + "MCP-servers kunnen lokale opdrachten uitvoeren of verbinding maken met externe diensten. Kilo vraagt toestemming voordat hun hulpmiddelen worden gebruikt, tenzij je machtigingen dit automatisch toestaan.", + "marketplace.install.project.warning": + "Projectbestanden kunnen aan versiebeheer worden toegevoegd. Sla hier geen geheimen op, tenzij de configuratie naar een omgevingsvariabele verwijst.", + "marketplace.install.learnMore": "Lees hoe installaties vanuit Marketplace werken", + "marketplace.install.learnMcp": "Meer informatie over MCP", + "marketplace.install.installedAt": "Geïnstalleerd in {{path}}", + "marketplace.intro": + "Installeer herbruikbare agenten, vaardigheden en MCP-hulpmiddelen voor één project of voor alle projecten.", + "marketplace.intro.learnMore": "Over Marketplace", "marketplace.install.prerequisites": "Vereisten", "marketplace.install.installing": "Installeren...", "marketplace.install.cancel": "Annuleren", diff --git a/packages/kilo-i18n/src/no.ts b/packages/kilo-i18n/src/no.ts index d6d2d33d465..9600db9243d 100644 --- a/packages/kilo-i18n/src/no.ts +++ b/packages/kilo-i18n/src/no.ts @@ -42,6 +42,25 @@ export const dict = { "marketplace.install.scope": "Omfang", "marketplace.install.scope.project": "Prosjekt", "marketplace.install.scope.global": "Globalt", + "marketplace.install.scope.project.description": + "Bare dette prosjektet. De installerte filene kan legges til i versjonskontroll og deles med teamet ditt.", + "marketplace.install.scope.global.description": + "Alle prosjekter på denne maskinen. Lagres i brukerkonfigurasjonen din.", + "marketplace.install.destination": "Installasjonssted", + "marketplace.install.about.mcp": + "En MCP-server gir Kilo flere verktøy for å arbeide med eksterne tjenester eller lokale programmer.", + "marketplace.install.about.agent": "En agent legger til en gjenbrukbar rolle med egne instruksjoner og tillatelser.", + "marketplace.install.about.skill": + "En ferdighet legger til oppgavespesifikke instruksjoner og ressurser som Kilo kan laste inn ved behov.", + "marketplace.install.mcp.warning": + "MCP-servere kan kjøre lokale kommandoer eller koble til eksterne tjenester. Kilo ber om tillatelse før verktøyene brukes, med mindre tillatelsene dine automatisk tillater det.", + "marketplace.install.project.warning": + "Prosjektfiler kan legges til i versjonskontroll. Ikke lagre hemmeligheter her med mindre konfigurasjonen viser til en miljøvariabel.", + "marketplace.install.learnMore": "Finn ut hvordan installasjoner fra Marketplace fungerer", + "marketplace.install.learnMcp": "Finn ut mer om MCP", + "marketplace.install.installedAt": "Installert i {{path}}", + "marketplace.intro": "Installer gjenbrukbare agenter, ferdigheter og MCP-verktøy for ett eller alle prosjekter.", + "marketplace.intro.learnMore": "Om Marketplace", "marketplace.install.prerequisites": "Forutsetninger", "marketplace.install.installing": "Installerer...", "marketplace.install.cancel": "Avbryt", diff --git a/packages/kilo-i18n/src/pl.ts b/packages/kilo-i18n/src/pl.ts index 6a9a617cbe8..07845f6f113 100644 --- a/packages/kilo-i18n/src/pl.ts +++ b/packages/kilo-i18n/src/pl.ts @@ -42,6 +42,26 @@ export const dict = { "marketplace.install.scope": "Zakres", "marketplace.install.scope.project": "Projekt", "marketplace.install.scope.global": "Globalny", + "marketplace.install.scope.project.description": + "Tylko ten projekt. Zainstalowane pliki można dodać do systemu kontroli wersji i udostępnić zespołowi.", + "marketplace.install.scope.global.description": + "Wszystkie projekty na tym komputerze. Zapisywane w konfiguracji użytkownika.", + "marketplace.install.destination": "Miejsce instalacji", + "marketplace.install.about.mcp": + "Serwer MCP zapewnia Kilo dodatkowe narzędzia do pracy z usługami zewnętrznymi lub programami lokalnymi.", + "marketplace.install.about.agent": "Agent dodaje rolę wielokrotnego użytku z własnymi instrukcjami i uprawnieniami.", + "marketplace.install.about.skill": + "Umiejętność dodaje instrukcje i zasoby dotyczące określonych zadań, które Kilo może wczytać w razie potrzeby.", + "marketplace.install.mcp.warning": + "Serwery MCP mogą uruchamiać lokalne polecenia lub łączyć się z usługami zewnętrznymi. Kilo poprosi o pozwolenie przed użyciem ich narzędzi, chyba że uprawnienia zezwalają na to automatycznie.", + "marketplace.install.project.warning": + "Pliki projektu mogą zostać dodane do systemu kontroli wersji. Nie przechowuj tutaj sekretów, chyba że konfiguracja odwołuje się do zmiennej środowiskowej.", + "marketplace.install.learnMore": "Dowiedz się, jak działają instalacje z Marketplace", + "marketplace.install.learnMcp": "Dowiedz się więcej o MCP", + "marketplace.install.installedAt": "Zainstalowano w {{path}}", + "marketplace.intro": + "Instaluj agentów, umiejętności i narzędzia MCP wielokrotnego użytku w jednym lub we wszystkich projektach.", + "marketplace.intro.learnMore": "O Marketplace", "marketplace.install.prerequisites": "Wymagania wstępne", "marketplace.install.installing": "Instalowanie...", "marketplace.install.cancel": "Anuluj", diff --git a/packages/kilo-i18n/src/ru.ts b/packages/kilo-i18n/src/ru.ts index 04e3fc2fb57..6a3e9c14d53 100644 --- a/packages/kilo-i18n/src/ru.ts +++ b/packages/kilo-i18n/src/ru.ts @@ -42,6 +42,27 @@ export const dict = { "marketplace.install.scope": "Область", "marketplace.install.scope.project": "Проект", "marketplace.install.scope.global": "Глобально", + "marketplace.install.scope.project.description": + "Только этот проект. Установленные файлы можно добавить в систему контроля версий и предоставить команде.", + "marketplace.install.scope.global.description": + "Все проекты на этом компьютере. Сохраняется в вашей пользовательской конфигурации.", + "marketplace.install.destination": "Место установки", + "marketplace.install.about.mcp": + "MCP-сервер предоставляет Kilo дополнительные инструменты для работы с внешними сервисами или локальными программами.", + "marketplace.install.about.agent": + "Агент добавляет многократно используемую роль с собственными инструкциями и разрешениями.", + "marketplace.install.about.skill": + "Навык добавляет инструкции и ресурсы для определённых задач, которые Kilo может загрузить при необходимости.", + "marketplace.install.mcp.warning": + "MCP-серверы могут выполнять локальные команды или подключаться к внешним сервисам. Kilo запросит разрешение перед использованием их инструментов, если только ваши разрешения не допускают это автоматически.", + "marketplace.install.project.warning": + "Файлы проекта могут быть добавлены в систему контроля версий. Не храните здесь секреты, если только конфигурация не ссылается на переменную окружения.", + "marketplace.install.learnMore": "Узнайте, как работает установка из Marketplace", + "marketplace.install.learnMcp": "Подробнее о MCP", + "marketplace.install.installedAt": "Установлено в {{path}}", + "marketplace.intro": + "Устанавливайте многократно используемых агентов, навыки и инструменты MCP для одного или всех проектов.", + "marketplace.intro.learnMore": "О Marketplace", "marketplace.install.prerequisites": "Предварительные требования", "marketplace.install.installing": "Установка...", "marketplace.install.cancel": "Отмена", diff --git a/packages/kilo-i18n/src/th.ts b/packages/kilo-i18n/src/th.ts index 130ec6ba84d..13a1dbd0d7f 100644 --- a/packages/kilo-i18n/src/th.ts +++ b/packages/kilo-i18n/src/th.ts @@ -42,6 +42,25 @@ export const dict = { "marketplace.install.scope": "ขอบเขต", "marketplace.install.scope.project": "โปรเจกต์", "marketplace.install.scope.global": "โกลบอล", + "marketplace.install.scope.project.description": + "เฉพาะโปรเจกต์นี้ ไฟล์ที่ติดตั้งสามารถเพิ่มลงในระบบควบคุมเวอร์ชันและแชร์กับทีมของคุณได้", + "marketplace.install.scope.global.description": + "ทุกโปรเจกต์ในเครื่องนี้ จัดเก็บไว้ในการกำหนดค่าผู้ใช้ของคุณ", + "marketplace.install.destination": "ปลายทางการติดตั้ง", + "marketplace.install.about.mcp": + "เซิร์ฟเวอร์ MCP เพิ่มเครื่องมือให้ Kilo สำหรับทำงานกับบริการภายนอกหรือโปรแกรมในเครื่อง", + "marketplace.install.about.agent": "เอเจนต์เพิ่มบทบาทที่นำกลับมาใช้ใหม่ได้พร้อมคำสั่งและสิทธิ์ของตนเอง", + "marketplace.install.about.skill": + "ทักษะเพิ่มคำสั่งและทรัพยากรเฉพาะงานที่ Kilo สามารถโหลดได้เมื่อจำเป็น", + "marketplace.install.mcp.warning": + "เซิร์ฟเวอร์ MCP สามารถเรียกใช้คำสั่งในเครื่องหรือเชื่อมต่อกับบริการภายนอกได้ Kilo จะขออนุญาตก่อนใช้เครื่องมือ เว้นแต่สิทธิ์ของคุณจะอนุญาตโดยอัตโนมัติ", + "marketplace.install.project.warning": + "ไฟล์โปรเจกต์อาจถูกเพิ่มลงในระบบควบคุมเวอร์ชัน อย่าเก็บข้อมูลลับไว้ที่นี่ เว้นแต่การกำหนดค่าจะอ้างอิงตัวแปรสภาพแวดล้อม", + "marketplace.install.learnMore": "เรียนรู้วิธีการติดตั้งจาก Marketplace", + "marketplace.install.learnMcp": "เรียนรู้เพิ่มเติมเกี่ยวกับ MCP", + "marketplace.install.installedAt": "ติดตั้งไปยัง {{path}} แล้ว", + "marketplace.intro": "ติดตั้งเอเจนต์ ทักษะ และเครื่องมือ MCP ที่นำกลับมาใช้ใหม่ได้สำหรับหนึ่งโปรเจกต์หรือทุกโปรเจกต์", + "marketplace.intro.learnMore": "เกี่ยวกับ Marketplace", "marketplace.install.prerequisites": "ข้อกำหนดเบื้องต้น", "marketplace.install.installing": "กำลังติดตั้ง...", "marketplace.install.cancel": "ยกเลิก", diff --git a/packages/kilo-i18n/src/tr.ts b/packages/kilo-i18n/src/tr.ts index fc87ffcc3d8..9b0724277a8 100644 --- a/packages/kilo-i18n/src/tr.ts +++ b/packages/kilo-i18n/src/tr.ts @@ -42,6 +42,26 @@ export const dict = { "marketplace.install.scope": "Kapsam", "marketplace.install.scope.project": "Proje", "marketplace.install.scope.global": "Genel", + "marketplace.install.scope.project.description": + "Yalnızca bu proje. Yüklenen dosyalar sürüm kontrolüne eklenebilir ve ekibinizle paylaşılabilir.", + "marketplace.install.scope.global.description": + "Bu makinedeki tüm projeler. Kullanıcı yapılandırmanızda saklanır.", + "marketplace.install.destination": "Yükleme hedefi", + "marketplace.install.about.mcp": + "Bir MCP sunucusu, harici hizmetler veya yerel programlarla çalışmak için Kilo'ya ek araçlar sağlar.", + "marketplace.install.about.agent": "Bir ajan, kendi talimatları ve izinleri olan yeniden kullanılabilir bir rol ekler.", + "marketplace.install.about.skill": + "Bir yetenek, Kilo'nun gerektiğinde yükleyebileceği göreve özel talimatlar ve kaynaklar ekler.", + "marketplace.install.mcp.warning": + "MCP sunucuları yerel komutları çalıştırabilir veya harici hizmetlere bağlanabilir. İzinleriniz otomatik olarak izin vermediği sürece Kilo, araçlarını kullanmadan önce izin ister.", + "marketplace.install.project.warning": + "Proje dosyaları sürüm kontrolüne eklenebilir. Yapılandırma bir ortam değişkenine başvurmuyorsa gizli bilgileri burada saklamayın.", + "marketplace.install.learnMore": "Marketplace yüklemelerinin nasıl çalıştığını öğrenin", + "marketplace.install.learnMcp": "MCP hakkında daha fazla bilgi edinin", + "marketplace.install.installedAt": "{{path}} konumuna yüklendi", + "marketplace.intro": + "Yeniden kullanılabilir ajanları, yetenekleri ve MCP araçlarını bir proje veya tüm projeler için yükleyin.", + "marketplace.intro.learnMore": "Marketplace hakkında", "marketplace.install.prerequisites": "Ön koşullar", "marketplace.install.installing": "Yükleniyor...", "marketplace.install.cancel": "İptal", diff --git a/packages/kilo-i18n/src/uk.ts b/packages/kilo-i18n/src/uk.ts index 05c759a9b46..d3a885bf03d 100644 --- a/packages/kilo-i18n/src/uk.ts +++ b/packages/kilo-i18n/src/uk.ts @@ -42,6 +42,27 @@ export const dict = { "marketplace.install.scope": "Область", "marketplace.install.scope.project": "Проєкт", "marketplace.install.scope.global": "Глобально", + "marketplace.install.scope.project.description": + "Лише цей проєкт. Встановлені файли можна додати до системи контролю версій і надати команді.", + "marketplace.install.scope.global.description": + "Усі проєкти на цьому комп'ютері. Зберігається у вашій користувацькій конфігурації.", + "marketplace.install.destination": "Місце встановлення", + "marketplace.install.about.mcp": + "MCP-сервер надає Kilo додаткові інструменти для роботи із зовнішніми сервісами або локальними програмами.", + "marketplace.install.about.agent": + "Агент додає багаторазову роль із власними інструкціями та дозволами.", + "marketplace.install.about.skill": + "Навичка додає інструкції та ресурси для певних завдань, які Kilo може завантажити за потреби.", + "marketplace.install.mcp.warning": + "MCP-сервери можуть виконувати локальні команди або підключатися до зовнішніх сервісів. Kilo запитає дозвіл перед використанням їхніх інструментів, якщо ваші дозволи не дають змоги робити це автоматично.", + "marketplace.install.project.warning": + "Файли проєкту можуть бути додані до системи контролю версій. Не зберігайте тут секрети, якщо конфігурація не посилається на змінну середовища.", + "marketplace.install.learnMore": "Дізнайтеся, як працює встановлення з Marketplace", + "marketplace.install.learnMcp": "Докладніше про MCP", + "marketplace.install.installedAt": "Встановлено в {{path}}", + "marketplace.intro": + "Встановлюйте багаторазових агентів, навички та інструменти MCP для одного або всіх проєктів.", + "marketplace.intro.learnMore": "Про Marketplace", "marketplace.install.prerequisites": "Передумови", "marketplace.install.installing": "Встановлення...", "marketplace.install.cancel": "Скасувати", diff --git a/packages/kilo-i18n/src/zh.ts b/packages/kilo-i18n/src/zh.ts index 25fb70a41ae..96587a53742 100644 --- a/packages/kilo-i18n/src/zh.ts +++ b/packages/kilo-i18n/src/zh.ts @@ -40,6 +40,23 @@ export const dict = { "marketplace.install.scope": "作用域", "marketplace.install.scope.project": "项目", "marketplace.install.scope.global": "全局", + "marketplace.install.scope.project.description": + "仅限此项目。安装的文件可以提交到版本控制并与你的团队共享。", + "marketplace.install.scope.global.description": "此计算机上的所有项目。存储在你的用户配置中。", + "marketplace.install.destination": "安装位置", + "marketplace.install.about.mcp": + "MCP 服务器为 Kilo 提供用于处理外部服务或本地程序的额外工具。", + "marketplace.install.about.agent": "智能体会添加一个具有专属指令和权限的可复用角色。", + "marketplace.install.about.skill": "技能会添加特定任务的指令和资源,Kilo 可在需要时加载它们。", + "marketplace.install.mcp.warning": + "MCP 服务器可以运行本地命令或连接外部服务。除非你的权限允许自动使用,否则 Kilo 会在使用其工具前请求许可。", + "marketplace.install.project.warning": + "项目文件可能会提交到版本控制。除非配置引用了环境变量,否则不要在此处存储密钥。", + "marketplace.install.learnMore": "了解 Marketplace 安装的工作方式", + "marketplace.install.learnMcp": "详细了解 MCP", + "marketplace.install.installedAt": "已安装到 {{path}}", + "marketplace.intro": "为一个项目或所有项目安装可复用的智能体、技能和 MCP 工具。", + "marketplace.intro.learnMore": "关于 Marketplace", "marketplace.install.prerequisites": "先决条件", "marketplace.install.installing": "安装中...", "marketplace.install.cancel": "取消", diff --git a/packages/kilo-i18n/src/zht.ts b/packages/kilo-i18n/src/zht.ts index dd4ebefaef3..547fb96436f 100644 --- a/packages/kilo-i18n/src/zht.ts +++ b/packages/kilo-i18n/src/zht.ts @@ -40,6 +40,23 @@ export const dict = { "marketplace.install.scope": "作用域", "marketplace.install.scope.project": "專案", "marketplace.install.scope.global": "全域", + "marketplace.install.scope.project.description": + "僅限此專案。安裝的檔案可以提交至版本控制並與你的團隊分享。", + "marketplace.install.scope.global.description": "此電腦上的所有專案。儲存在你的使用者設定中。", + "marketplace.install.destination": "安裝位置", + "marketplace.install.about.mcp": + "MCP 伺服器為 Kilo 提供用於處理外部服務或本機程式的額外工具。", + "marketplace.install.about.agent": "智能體會新增一個具有專屬指示和權限的可重複使用角色。", + "marketplace.install.about.skill": "技能會新增特定任務的指示和資源,Kilo 可在需要時載入它們。", + "marketplace.install.mcp.warning": + "MCP 伺服器可以執行本機命令或連線至外部服務。除非你的權限允許自動使用,否則 Kilo 會在使用其工具前請求許可。", + "marketplace.install.project.warning": + "專案檔案可能會提交至版本控制。除非設定引用了環境變數,否則請勿在此儲存密鑰。", + "marketplace.install.learnMore": "瞭解 Marketplace 安裝的運作方式", + "marketplace.install.learnMcp": "深入瞭解 MCP", + "marketplace.install.installedAt": "已安裝至 {{path}}", + "marketplace.intro": "為一個專案或所有專案安裝可重複使用的智能體、技能和 MCP 工具。", + "marketplace.intro.learnMore": "關於 Marketplace", "marketplace.install.prerequisites": "先決條件", "marketplace.install.installing": "安裝中...", "marketplace.install.cancel": "取消", diff --git a/packages/kilo-vscode/webview-ui/src/components/marketplace/InstallModal.tsx b/packages/kilo-vscode/webview-ui/src/components/marketplace/InstallModal.tsx index 4a3502d4221..ffb9257fb15 100644 --- a/packages/kilo-vscode/webview-ui/src/components/marketplace/InstallModal.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/marketplace/InstallModal.tsx @@ -17,6 +17,9 @@ interface ScopeOption { label: string } +const MARKETPLACE_DOCS = "https://kilo.ai/docs/customize/marketplace" +const MCP_DOCS = "https://kilo.ai/docs/automate/mcp/what-is-mcp" + interface Props { item: MarketplaceItem onClose: () => void @@ -44,8 +47,32 @@ export const InstallModal = (props: Props) => { const initial = workspace() ? options()[0] : options()[0] const [scope, setScope] = createSignal(initial) const [installing, setInstalling] = createSignal(false) - const [result, setResult] = createSignal<{ success: boolean; error?: string } | null>(null) + const [result, setResult] = createSignal<{ + success: boolean + error?: string + scope: "project" | "global" + path: string + hasParameters: boolean + method?: string + } | null>(null) const [params, setParams] = createSignal>({}) + const [pending, setPending] = createSignal<{ + scope: "project" | "global" + path: string + hasParameters: boolean + method?: string + } | null>(null) + + const destination = (target = scope().value) => { + const base = target === "project" ? ".kilo" : "~/.config/kilo" + if (props.item.type === "mcp") return `${base}/kilo.json` + if (props.item.type === "agent") return `${base}/agents/${props.item.id}.md` + if (target === "project") return `.kilo/skills/${props.item.id}/` + return `~/.kilo/skills/${props.item.id}/` + } + const about = () => t(`marketplace.install.about.${props.item.type}`) + const scopeDescription = () => t(`marketplace.install.scope.${scope().value}.description`) + const openDocs = (url: string) => vscode.postMessage({ type: "openExternal", url }) // MCP installation methods const methods = (): McpInstallationMethod[] => { @@ -82,12 +109,15 @@ export const InstallModal = (props: Props) => { createEffect(() => { const unsub = vscode.onMessage((msg) => { if (msg.type === "marketplaceInstallResult" && msg.slug === props.item.id) { + const request = pending() setInstalling(false) - setResult({ success: msg.success, error: msg.error }) - props.onInstallResult(msg.success, scope().value, { - hasParameters: Object.keys(params()).length > 0, - installationMethodName: method()?.name, + if (!request) return + setResult({ success: msg.success, error: msg.error, ...request }) + props.onInstallResult(msg.success, request.scope, { + hasParameters: request.hasParameters, + installationMethodName: request.method, }) + setPending(null) } }) onCleanup(unsub) @@ -96,14 +126,22 @@ export const InstallModal = (props: Props) => { const doInstall = () => { setInstalling(true) const paramValues: Record = { ...params() } - if (method()) { - paramValues.__method = method()!.name + const current = method() + if (current) { + paramValues.__method = current.name } + const target = scope().value + setPending({ + scope: target, + path: destination(target), + hasParameters: Object.keys(params()).length > 0, + method: current?.name, + }) vscode.postMessage({ type: "installMarketplaceItem", mpItem: props.item, mpInstallOptions: { - target: scope().value, + target, parameters: Object.keys(paramValues).length > 0 ? paramValues : undefined, }, }) @@ -131,6 +169,20 @@ export const InstallModal = (props: Props) => {
+
+

{about()}

+ +
+
{t("marketplace.install.scope")} { label={(x: ScopeOption) => x.label} onSelect={(v: ScopeOption | undefined) => v && setScope(v)} /> +

{scopeDescription()}

+
+ {t("marketplace.install.destination")} + {destination()} +
+ +
+ +

{t("marketplace.install.mcp.warning")}

+
+ +

{t("marketplace.install.project.warning")}

+
+
+
+ 1}>
{t("marketplace.install.method")} @@ -215,6 +283,7 @@ export const InstallModal = (props: Props) => { } >

{t("marketplace.install.success")}

+

{t("marketplace.install.installedAt", { path: r().path })}

diff --git a/packages/kilo-vscode/webview-ui/src/components/marketplace/MarketplaceListView.tsx b/packages/kilo-vscode/webview-ui/src/components/marketplace/MarketplaceListView.tsx index 4735d7c6b16..2dddafc4946 100644 --- a/packages/kilo-vscode/webview-ui/src/components/marketplace/MarketplaceListView.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/marketplace/MarketplaceListView.tsx @@ -12,6 +12,7 @@ import type { MarketplaceRelevanceMetadata, } from "../../types/marketplace" import { useLanguage } from "../../context/language" +import { useVSCode } from "../../context/vscode" import { filterItems, hasRelevantItems, retain } from "./utils" import { ItemCard } from "./ItemCard" import { MarketplaceContribute } from "./MarketplaceContribute" @@ -36,6 +37,7 @@ interface Props { export const MarketplaceListView = (props: Props) => { const { t } = useLanguage() + const vscode = useVSCode() const [search, setSearch] = createSignal("") const [status, setStatus] = createSignal({ value: "all", label: t("marketplace.filter.all") }) const [types, setTypes] = createSignal([]) @@ -109,6 +111,18 @@ export const MarketplaceListView = (props: Props) => { return (
+
+ {t("marketplace.intro")} + +
diff --git a/packages/kilo-vscode/webview-ui/src/components/marketplace/MarketplaceView.tsx b/packages/kilo-vscode/webview-ui/src/components/marketplace/MarketplaceView.tsx index fa6e8b9b031..5f11c0ad135 100644 --- a/packages/kilo-vscode/webview-ui/src/components/marketplace/MarketplaceView.tsx +++ b/packages/kilo-vscode/webview-ui/src/components/marketplace/MarketplaceView.tsx @@ -104,7 +104,6 @@ export const MarketplaceView = () => { ...(extra?.hasParameters && { hasParameters: true }), ...(extra?.installationMethodName && { installationMethodName: extra.installationMethodName }), }) - dialog.close() fetchData() } }} diff --git a/packages/kilo-vscode/webview-ui/src/components/marketplace/marketplace.css b/packages/kilo-vscode/webview-ui/src/components/marketplace/marketplace.css index a22b1f51168..a695688f171 100644 --- a/packages/kilo-vscode/webview-ui/src/components/marketplace/marketplace.css +++ b/packages/kilo-vscode/webview-ui/src/components/marketplace/marketplace.css @@ -17,6 +17,32 @@ gap: 12px; } +.marketplace-intro { + display: flex; + flex-wrap: wrap; + gap: 4px 8px; + color: var(--text-weak); + font-size: var(--kilo-font-size-12); +} + +.marketplace-intro .link, +.install-modal-links .link { + all: unset; + color: var(--text-interactive-base); + cursor: pointer; +} + +.marketplace-intro .link:hover, +.install-modal-links .link:hover { + text-decoration: underline; +} + +.marketplace-intro .link:focus-visible, +.install-modal-links .link:focus-visible { + outline: 1px solid var(--vscode-focusBorder); + outline-offset: 2px; +} + .marketplace-filters { display: flex; gap: 8px; @@ -277,6 +303,57 @@ gap: 6px; } +.install-modal-about, +.install-modal-warning, +.install-modal-destination { + padding: 10px; + border: 1px solid var(--border-base, var(--vscode-widget-border)); + border-radius: 4px; + background: var(--surface-raised-base, var(--vscode-editorWidget-background)); +} + +.install-modal-about p, +.install-modal-warning p, +.install-modal-help, +.install-modal-result-path { + margin: 0; + color: var(--text-weak); + font-size: var(--kilo-font-size-12); +} + +.install-modal-links { + display: flex; + flex-wrap: wrap; + gap: 8px 12px; + margin-top: 6px; + font-size: var(--kilo-font-size-12); +} + +.install-modal-warning { + display: flex; + flex-direction: column; + gap: 6px; + border-color: var(--border-warning-base); +} + +.install-modal-destination { + display: flex; + flex-direction: column; + gap: 4px; + margin-top: 2px; +} + +.install-modal-destination span { + color: var(--text-weak); + font-size: var(--kilo-font-size-11); +} + +.install-modal-destination code { + color: var(--text-base); + font-size: var(--kilo-font-size-12); + overflow-wrap: anywhere; +} + .install-modal-label { font-weight: 600; font-size: var(--kilo-font-size-13); @@ -309,7 +386,12 @@ color: var(--text-on-success-base); font-size: var(--kilo-font-size-14); font-weight: 600; - margin: 0 0 16px; + margin: 0 0 6px; +} + +.install-modal-result-path { + margin-bottom: 16px; + overflow-wrap: anywhere; } .install-modal-error-msg { diff --git a/packages/kilo-vscode/webview-ui/src/context/language.tsx b/packages/kilo-vscode/webview-ui/src/context/language.tsx index 444518a0f89..7dad79270d2 100644 --- a/packages/kilo-vscode/webview-ui/src/context/language.tsx +++ b/packages/kilo-vscode/webview-ui/src/context/language.tsx @@ -196,7 +196,7 @@ export const LanguageProvider: ParentComponent = (props) }) const t = (key: UiI18nKey, params?: UiI18nParams) => { - const text = (dict() as Record)[key] ?? String(key) + const text = (dict() as Record)[key] ?? (dicts.en as Record)[key] ?? String(key) return resolveTemplate(text, params) } diff --git a/packages/kilo-vscode/webview-ui/src/stories/marketplace.stories.tsx b/packages/kilo-vscode/webview-ui/src/stories/marketplace.stories.tsx index 2c2a4b55881..ae61f252b9d 100644 --- a/packages/kilo-vscode/webview-ui/src/stories/marketplace.stories.tsx +++ b/packages/kilo-vscode/webview-ui/src/stories/marketplace.stories.tsx @@ -10,6 +10,8 @@ import type { Meta, StoryObj } from "storybook-solidjs-vite" import { StoryProviders } from "./StoryProviders" import { MarketplaceListView } from "../components/marketplace/MarketplaceListView" import { ItemCard } from "../components/marketplace/ItemCard" +import { InstallModal } from "../components/marketplace/InstallModal" +import { MarketplaceSessionProvider } from "../context/marketplace-session" import type { SkillMarketplaceItem, McpMarketplaceItem, @@ -444,6 +446,19 @@ export const InstalledMcpCard: Story = { ), } +export const InstallMcpModal: Story = { + name: "InstallModal — MCP explanation and destination", + render: () => ( + + +
+ +
+
+
+ ), +} + // --------------------------------------------------------------------------- // Mode Stories // ---------------------------------------------------------------------------