From 6a4a1ea714deabbd5139b29a2ce0b17da8929c07 Mon Sep 17 00:00:00 2001 From: leemour Date: Sat, 31 Oct 2026 04:53:52 +0100 Subject: [PATCH 1/5] docs(mail): register Mail (@wirecat/mail-cli) on the site with EN/RU/ES pages Add mail-cli to tools.json (docsRef v0.1.0, not tagged yet), the sidebar (tool list in the three meta files, icon, overview link), reviewed page descriptions, an English comparison page, Russian and Spanish translations of seven pages and the command reference with their source fingerprints, an overview title correction, and rows in the docs start, installation, features, skills, MCP, configuration and roadmap lists. The site builds only after mail-cli publishes v0.1.0: sync reads the docs from that tag, and changelog translations and the release notes review need the released changelog. Co-Authored-By: Claude Opus 5.5 --- content/docs/configuration.es.mdx | 2 +- content/docs/configuration.mdx | 2 +- content/docs/configuration.ru.mdx | 2 +- content/docs/features.es.mdx | 1 + content/docs/features.mdx | 1 + content/docs/features.ru.mdx | 1 + content/docs/index.es.mdx | 1 + content/docs/index.mdx | 1 + content/docs/index.ru.mdx | 1 + content/docs/installation.es.mdx | 1 + content/docs/installation.mdx | 1 + content/docs/installation.ru.mdx | 1 + content/docs/mcp.es.mdx | 1 + content/docs/mcp.mdx | 1 + content/docs/mcp.ru.mdx | 1 + content/docs/meta.es.json | 1 + content/docs/meta.json | 1 + content/docs/meta.ru.json | 1 + content/docs/roadmap.es.md | 1 + content/docs/roadmap.md | 1 + content/docs/roadmap.ru.md | 1 + content/docs/skills.es.mdx | 1 + content/docs/skills.mdx | 1 + content/docs/skills.ru.mdx | 1 + lib/docs-sidebar-tree.tsx | 3 +- lib/mail-descriptions.ts | 51 +++ lib/seo.ts | 2 + scripts/docs-corrections.json | 9 + tools.json | 13 + translations/mail/commands.es.md | 572 +++++++++++++++++++++++ translations/mail/commands.ru.md | 573 ++++++++++++++++++++++++ translations/mail/configuration.es.md | 30 ++ translations/mail/configuration.ru.md | 30 ++ translations/mail/index.es.md | 11 + translations/mail/index.ru.md | 13 + translations/mail/installation.es.md | 28 ++ translations/mail/installation.ru.md | 28 ++ translations/mail/providers.es.md | 90 ++++ translations/mail/providers.ru.md | 90 ++++ translations/mail/security.es.md | 39 ++ translations/mail/security.ru.md | 43 ++ translations/mail/troubleshooting.es.md | 21 + translations/mail/troubleshooting.ru.md | 21 + translations/mail/usage.es.md | 81 ++++ translations/mail/usage.ru.md | 83 ++++ translations/pages/mail/compare.en.md | 41 ++ translations/sources.json | 18 +- 47 files changed, 1912 insertions(+), 5 deletions(-) create mode 100644 lib/mail-descriptions.ts create mode 100644 translations/mail/commands.es.md create mode 100644 translations/mail/commands.ru.md create mode 100644 translations/mail/configuration.es.md create mode 100644 translations/mail/configuration.ru.md create mode 100644 translations/mail/index.es.md create mode 100644 translations/mail/index.ru.md create mode 100644 translations/mail/installation.es.md create mode 100644 translations/mail/installation.ru.md create mode 100644 translations/mail/providers.es.md create mode 100644 translations/mail/providers.ru.md create mode 100644 translations/mail/security.es.md create mode 100644 translations/mail/security.ru.md create mode 100644 translations/mail/troubleshooting.es.md create mode 100644 translations/mail/troubleshooting.ru.md create mode 100644 translations/mail/usage.es.md create mode 100644 translations/mail/usage.ru.md create mode 100644 translations/pages/mail/compare.en.md diff --git a/content/docs/configuration.es.mdx b/content/docs/configuration.es.mdx index 450bc51a..d0ab0624 100644 --- a/content/docs/configuration.es.mdx +++ b/content/docs/configuration.es.mdx @@ -74,7 +74,7 @@ Las dos herramientas comparten la mayoría de los ajustes, como `limit`, `sends_ - **Telegram:** [guía de configuración de Telegram](./tg/configuration.md) · [todos los ajustes de Telegram, sus valores predeterminados y variables de entorno](./tg/configuration-reference.md). - **MAX:** [guía de configuración de MAX](./max/configuration.md) · [todos los ajustes de MAX, sus valores predeterminados y variables de entorno](./max/configuration-reference.md). -Las demás herramientas tienen sus propios archivos de ajustes: [Zoom](./zm/configuration.md), [Google Drive](./drive/configuration.md), [Google Calendar](./gcal/configuration.md) y [Memo](./memo/configuration.md). +Las demás herramientas tienen sus propios archivos de ajustes: [Zoom](./zm/configuration.md), [Google Drive](./drive/configuration.md), [Google Calendar](./gcal/configuration.md), [Mail](./mail/configuration.md) y [Memo](./memo/configuration.md). ## Perfiles y bots diff --git a/content/docs/configuration.mdx b/content/docs/configuration.mdx index c4a10165..c11451ed 100644 --- a/content/docs/configuration.mdx +++ b/content/docs/configuration.mdx @@ -74,7 +74,7 @@ The two tools share most settings, such as `limit`, `sends_per_hour`, `record` a - **Telegram:** [Telegram configuration guide](./tg/configuration.md) · [every Telegram setting, default and environment variable](./tg/configuration-reference.md). - **MAX:** [MAX configuration guide](./max/configuration.md) · [every MAX setting, default and environment variable](./max/configuration-reference.md). -The other tools have their own settings files: [Zoom](./zm/configuration.md), [Google Drive](./drive/configuration.md), [Google Calendar](./gcal/configuration.md) and [Memo](./memo/configuration.md). +The other tools have their own settings files: [Zoom](./zm/configuration.md), [Google Drive](./drive/configuration.md), [Google Calendar](./gcal/configuration.md), [Mail](./mail/configuration.md) and [Memo](./memo/configuration.md). ## Profiles and bots diff --git a/content/docs/configuration.ru.mdx b/content/docs/configuration.ru.mdx index 73960b42..85977260 100644 --- a/content/docs/configuration.ru.mdx +++ b/content/docs/configuration.ru.mdx @@ -74,7 +74,7 @@ tg personal config unset limit - **Telegram:** [руководство по настройкам Telegram](./tg/configuration.md) · [все настройки Telegram, значения по умолчанию и переменные окружения](./tg/configuration-reference.md). - **MAX:** [руководство по настройкам MAX](./max/configuration.md) · [все настройки MAX, значения по умолчанию и переменные окружения](./max/configuration-reference.md). -У остальных инструментов свои файлы настроек: [Zoom](./zm/configuration.md), [Google Drive](./drive/configuration.md), [Google Calendar](./gcal/configuration.md) и [Memo](./memo/configuration.md). +У остальных инструментов свои файлы настроек: [Zoom](./zm/configuration.md), [Google Drive](./drive/configuration.md), [Google Calendar](./gcal/configuration.md), [Mail](./mail/configuration.md) и [Memo](./memo/configuration.md). ## Профили и боты diff --git a/content/docs/features.es.mdx b/content/docs/features.es.mdx index 315f8a4d..ed45e169 100644 --- a/content/docs/features.es.mdx +++ b/content/docs/features.es.mdx @@ -102,6 +102,7 @@ Las operaciones de cada servicio, diferencias de compatibilidad y sintaxis exact - **Zoom:** [reuniones](./zoom.mdx), [uso diario](./zm/usage.md), [búsqueda](./zm/search.md) y [comandos](./zm/commands.md). - **Google Drive:** [uso diario](./drive/usage.md), [búsqueda](./drive/search.md) y [comandos](./drive/commands.md). - **Google Calendar:** [uso diario](./gcal/usage.md), [escenarios](./gcal/scenarios.md) y [comandos](./gcal/commands.md). +- **Mail:** [uso diario](./mail/usage.md), [preparar el buzón](./mail/providers.md) y [comandos](./mail/commands.md). - **Memo:** [notas y archivos](./memo/index.md) y [correo](./email.mdx). Las futuras fuentes y tareas se describen en la [hoja de ruta](./roadmap.md); una integración prevista todavía no es una función disponible. Empieza con [una primera tarea](./first-tasks.md) y comprueba las fuentes del resultado. diff --git a/content/docs/features.mdx b/content/docs/features.mdx index 1be52a53..b46f5fab 100644 --- a/content/docs/features.mdx +++ b/content/docs/features.mdx @@ -102,6 +102,7 @@ Exact messenger operations, supported differences and command syntax belong in t - **Zoom:** [meetings](./zoom.mdx), [daily use](./zm/usage.md), [search](./zm/search.md) and [commands](./zm/commands.md). - **Google Drive:** [daily use](./drive/usage.md), [search](./drive/search.md) and [commands](./drive/commands.md). - **Google Calendar:** [daily use](./gcal/usage.md), [scenarios](./gcal/scenarios.md) and [commands](./gcal/commands.md). +- **Mail:** [daily use](./mail/usage.md), [preparing the mailbox](./mail/providers.md) and [commands](./mail/commands.md). - **Memo:** [notes and files](./memo/index.md) and [email](./email.mdx). Future sources and workflows are described in the [roadmap](./roadmap.md); a planned integration is not an available capability. Start with [a first task](./first-tasks.md) and check the sources behind the result. diff --git a/content/docs/features.ru.mdx b/content/docs/features.ru.mdx index cd8b4215..a1863d5c 100644 --- a/content/docs/features.ru.mdx +++ b/content/docs/features.ru.mdx @@ -102,6 +102,7 @@ Memo также импортирует почту из настроенных а - **Zoom:** [встречи](./zoom.mdx), [повседневные задачи](./zm/usage.md), [поиск](./zm/search.md) и [команды](./zm/commands.md). - **Google Drive:** [повседневные задачи](./drive/usage.md), [поиск](./drive/search.md) и [команды](./drive/commands.md). - **Google Calendar:** [повседневные задачи](./gcal/usage.md), [сценарии](./gcal/scenarios.md) и [команды](./gcal/commands.md). +- **Mail:** [повседневные задачи](./mail/usage.md), [подготовка ящика](./mail/providers.md) и [команды](./mail/commands.md). - **Memo:** [заметки и файлы](./memo/index.md) и [почта](./email.mdx). Будущие источники и задачи описаны в [планах](./roadmap.md); запланированная интеграция ещё не является доступной возможностью. Начните с [первой задачи](./first-tasks.md) и проверьте источники результата. diff --git a/content/docs/index.es.mdx b/content/docs/index.es.mdx index 0f138f74..a36fa30a 100644 --- a/content/docs/index.es.mdx +++ b/content/docs/index.es.mdx @@ -24,6 +24,7 @@ todas las herramientas. | Notas, archivos locales o correo | [Configurar Memo](./memo/installation.md) | | Documentos de Google Drive | [Conectar Google Drive](./drive/installation.md) | | Reuniones de Google Calendar | [Conectar Google Calendar](./gcal/installation.md) | +| Correo de un buzón, solo lectura | [Conectar Mail](./mail/installation.md) | | Reuniones, transcripciones o grabaciones de Zoom | [Conectar Zoom](./zm/installation.md) | Cada guía explica la instalación, el acceso a la cuenta si hace falta y los primeros datos que diff --git a/content/docs/index.mdx b/content/docs/index.mdx index 662ff463..5c1f78a3 100644 --- a/content/docs/index.mdx +++ b/content/docs/index.mdx @@ -21,6 +21,7 @@ behind its answer. Start with one source; you do not need every tool. | Notes, local files or email | [Set up Memo](./memo/installation.md) | | Documents in Google Drive | [Connect Google Drive](./drive/installation.md) | | Meetings in Google Calendar | [Connect Google Calendar](./gcal/installation.md) | +| Email from a mailbox, read only | [Connect Mail](./mail/installation.md) | | Zoom meetings, transcripts or recordings | [Connect Zoom](./zm/installation.md) | Each guide explains installation, account access if needed, and the first data to retrieve. diff --git a/content/docs/index.ru.mdx b/content/docs/index.ru.mdx index 474d33a2..8a2703e4 100644 --- a/content/docs/index.ru.mdx +++ b/content/docs/index.ru.mdx @@ -24,6 +24,7 @@ description: "Выберите переписку, документы или в | Заметки, локальные файлы или почта | [Настроить Memo](./memo/installation.md) | | Документы в Google Диске | [Подключить Google Drive](./drive/installation.md) | | Встречи в Google Календаре | [Подключить Google Calendar](./gcal/installation.md) | +| Письма из почтового ящика, только чтение | [Подключить Mail](./mail/installation.md) | | Встречи, расшифровки или записи Zoom | [Подключить Zoom](./zm/installation.md) | В каждой инструкции есть установка, доступ к аккаунту при необходимости и первый набор данных. diff --git a/content/docs/installation.es.mdx b/content/docs/installation.es.mdx index 1f490c3c..11f3aaf1 100644 --- a/content/docs/installation.es.mdx +++ b/content/docs/installation.es.mdx @@ -37,6 +37,7 @@ las herramientas y abre el inicio de sesión de cada una. [Qué hace la aplicaci | Chats de WhatsApp | [Instalar WhatsApp](./wa/installation.md); los números empresariales usan [Cloud API](./wa/bot.md) | | Documentos de Google Drive | [Instalar Drive](./drive/installation.md) desde npm, conectar Google y elegir una carpeta | | Reuniones de Google Calendar | [Instalar Google Calendar](./gcal/installation.md) desde npm e iniciar sesión en Google con tu propio cliente de Google | +| Correo por IMAP | [Instalar Mail](./mail/installation.md) desde npm y crear antes una contraseña de aplicación para tu buzón | | Reuniones o transcripciones de Zoom | [Instalar Zoom](./zm/installation.md); conectar una aplicación existente/nueva o importar VTT sin ella | Cada guía incluye los comandos exactos, los pasos de acceso, las plataformas compatibles y la diff --git a/content/docs/installation.mdx b/content/docs/installation.mdx index 041fe1d0..03625d75 100644 --- a/content/docs/installation.mdx +++ b/content/docs/installation.mdx @@ -36,6 +36,7 @@ skills and opens each tool's sign-in. [What the app does](./desktop/index.mdx). | WhatsApp chats | [Install WhatsApp](./wa/installation.md); business numbers use [Cloud API bot setup](./wa/bot.md) | | Google Drive documents | [Install Drive](./drive/installation.md) from npm, connect Google and choose a folder | | Google Calendar meetings | [Install Google Calendar](./gcal/installation.md) from npm and sign in to Google with your own Google client | +| Email over IMAP | [Install Mail](./mail/installation.md) from npm, then make an app password for your mailbox | | Zoom meetings or transcripts | [Install Zoom](./zm/installation.md); connect an existing/new app or import VTT files without one | Each guide supplies its exact commands, account steps, supported platforms and repairs. A Zoom diff --git a/content/docs/installation.ru.mdx b/content/docs/installation.ru.mdx index 6f0dba4f..c7d8df65 100644 --- a/content/docs/installation.ru.mdx +++ b/content/docs/installation.ru.mdx @@ -37,6 +37,7 @@ Linux. Оно устанавливает и обновляет эти инстр | Чаты WhatsApp | [Установить WhatsApp](./wa/installation.md); для бизнес-номеров — [настройка Cloud API бота](./wa/bot.md) | | Документы Google Диска | [Установить Drive](./drive/installation.md) из npm, подключить Google и выбрать папку | | Встречи Google Календаря | [Установить Google Calendar](./gcal/installation.md) из npm и войти в Google через свой клиент Google | +| Почта по IMAP | [Установить Mail](./mail/installation.md) из npm, затем создать пароль приложения для ящика | | Встречи или расшифровки Zoom | [Установить Zoom](./zm/installation.md); подключить существующее/новое приложение или импортировать VTT без него | В каждой инструкции есть точные команды, вход в аккаунт, поддерживаемые платформы и исправление diff --git a/content/docs/mcp.es.mdx b/content/docs/mcp.es.mdx index 6ad6feee..8e64959c 100644 --- a/content/docs/mcp.es.mdx +++ b/content/docs/mcp.es.mdx @@ -148,6 +148,7 @@ Cada herramienta inicia su propio servidor. Conéctalo con el comando que tu cli - **Zoom:** `zm personal mcp serve`. - **Google Drive:** `drive personal --read-only mcp serve`. - **Google Calendar:** `gcal personal mcp serve`. +- **Mail:** `mail personal mcp serve`. - **Memo:** `memo mcp serve`. ## Qué puede hacer el agente diff --git a/content/docs/mcp.mdx b/content/docs/mcp.mdx index 823a4d85..666998c9 100644 --- a/content/docs/mcp.mdx +++ b/content/docs/mcp.mdx @@ -148,6 +148,7 @@ Each tool starts its own server. Connect it with the command your client uses fo - **Zoom:** `zm personal mcp serve`. - **Google Drive:** `drive personal --read-only mcp serve`. - **Google Calendar:** `gcal personal mcp serve`. +- **Mail:** `mail personal mcp serve`. - **Memo:** `memo mcp serve`. ## What the agent can do diff --git a/content/docs/mcp.ru.mdx b/content/docs/mcp.ru.mdx index 85f7671e..04fc3a1f 100644 --- a/content/docs/mcp.ru.mdx +++ b/content/docs/mcp.ru.mdx @@ -152,6 +152,7 @@ Hermes использует `mcp_servers` в `~/.hermes/config.yaml`. Добав - **Zoom:** `zm personal mcp serve`. - **Google Drive:** `drive personal --read-only mcp serve`. - **Google Calendar:** `gcal personal mcp serve`. +- **Mail:** `mail personal mcp serve`. - **Memo:** `memo mcp serve`. ## Что агент может делать diff --git a/content/docs/meta.es.json b/content/docs/meta.es.json index 55ef8c8a..4439ddec 100644 --- a/content/docs/meta.es.json +++ b/content/docs/meta.es.json @@ -47,6 +47,7 @@ "wa", "drive", "gcal", + "mail", "zm", "memo", "---Detalles técnicos---", diff --git a/content/docs/meta.json b/content/docs/meta.json index 953d47c0..af8789fb 100644 --- a/content/docs/meta.json +++ b/content/docs/meta.json @@ -47,6 +47,7 @@ "wa", "drive", "gcal", + "mail", "zm", "memo", "---Technical details---", diff --git a/content/docs/meta.ru.json b/content/docs/meta.ru.json index ee237617..e8bc5b9b 100644 --- a/content/docs/meta.ru.json +++ b/content/docs/meta.ru.json @@ -47,6 +47,7 @@ "wa", "drive", "gcal", + "mail", "zm", "memo", "---Технические подробности---", diff --git a/content/docs/roadmap.es.md b/content/docs/roadmap.es.md index bce90b8a..8da3a90d 100644 --- a/content/docs/roadmap.es.md +++ b/content/docs/roadmap.es.md @@ -49,6 +49,7 @@ También están disponibles los chats de [WhatsApp](./wa/index.md) y los bots em - [Hoja de ruta de Zoom](./zm/roadmap.md) - [Hoja de ruta de Google Drive](./drive/roadmap.md) - [Hoja de ruta de Google Calendar](./gcal/roadmap.md) +- [Hoja de ruta de Mail](./mail/roadmap.md) - [Hoja de ruta de Memo](./memo/roadmap.md) - [Hoja de ruta de WhatsApp](./wa/roadmap.md) diff --git a/content/docs/roadmap.md b/content/docs/roadmap.md index 6475849e..b13576b3 100644 --- a/content/docs/roadmap.md +++ b/content/docs/roadmap.md @@ -48,6 +48,7 @@ what comes next. - [Zoom roadmap](./zm/roadmap.md) - [Google Drive roadmap](./drive/roadmap.md) - [Google Calendar roadmap](./gcal/roadmap.md) +- [Mail roadmap](./mail/roadmap.md) - [Memo roadmap](./memo/roadmap.md) - [WhatsApp roadmap](./wa/roadmap.md) diff --git a/content/docs/roadmap.ru.md b/content/docs/roadmap.ru.md index a134f2cc..0f26b6d5 100644 --- a/content/docs/roadmap.ru.md +++ b/content/docs/roadmap.ru.md @@ -47,6 +47,7 @@ WireCat собирает ваш контекст в одном месте. Со - [Планы Zoom](./zm/roadmap.md) - [Планы Google Drive](./drive/roadmap.md) - [Планы Google Calendar](./gcal/roadmap.md) +- [Планы Mail](./mail/roadmap.md) - [Планы Memo](./memo/roadmap.md) - [Планы WhatsApp](./wa/roadmap.md) diff --git a/content/docs/skills.es.mdx b/content/docs/skills.es.mdx index 1914deb9..f27e3578 100644 --- a/content/docs/skills.es.mdx +++ b/content/docs/skills.es.mdx @@ -21,6 +21,7 @@ Los ejemplos usan `tg` para Telegram. Para otra herramienta, cambia el repositor - **WhatsApp** (`wa`): repositorio `WireCatLabs/whatsapp-cli`, skill `whatsapp-cli` - **Google Drive** (`drive`): repositorio `WireCatLabs/drive-cli`, skill `drive-cli` - **Google Calendar** (`gcal`): repositorio `WireCatLabs/gcal-cli`, skill `gcal-cli` +- **Mail** (`mail`): repositorio `WireCatLabs/mail-cli`, skill `mail-cli` - **Zoom** (`zm`): repositorio `WireCatLabs/zoom-cli`, skill `zoom-cli` - **Memo** (`memo`): repositorio `WireCatLabs/cli-memo`, skill `cli-memo` diff --git a/content/docs/skills.mdx b/content/docs/skills.mdx index 9e6a2a5e..199faf33 100644 --- a/content/docs/skills.mdx +++ b/content/docs/skills.mdx @@ -21,6 +21,7 @@ The examples use `tg` for Telegram. For another tool, replace the repository and - **WhatsApp** (`wa`): repository `WireCatLabs/whatsapp-cli`, skill `whatsapp-cli` - **Google Drive** (`drive`): repository `WireCatLabs/drive-cli`, skill `drive-cli` - **Google Calendar** (`gcal`): repository `WireCatLabs/gcal-cli`, skill `gcal-cli` +- **Mail** (`mail`): repository `WireCatLabs/mail-cli`, skill `mail-cli` - **Zoom** (`zm`): repository `WireCatLabs/zoom-cli`, skill `zoom-cli` - **Memo** (`memo`): repository `WireCatLabs/cli-memo`, skill `cli-memo` diff --git a/content/docs/skills.ru.mdx b/content/docs/skills.ru.mdx index 4a1cb884..59ad3830 100644 --- a/content/docs/skills.ru.mdx +++ b/content/docs/skills.ru.mdx @@ -21,6 +21,7 @@ description: "Установите навык инструмента через - **WhatsApp** (`wa`): репозиторий `WireCatLabs/whatsapp-cli`, навык `whatsapp-cli` - **Google Drive** (`drive`): репозиторий `WireCatLabs/drive-cli`, навык `drive-cli` - **Google Calendar** (`gcal`): репозиторий `WireCatLabs/gcal-cli`, навык `gcal-cli` +- **Mail** (`mail`): репозиторий `WireCatLabs/mail-cli`, навык `mail-cli` - **Zoom** (`zm`): репозиторий `WireCatLabs/zoom-cli`, навык `zoom-cli` - **Memo** (`memo`): репозиторий `WireCatLabs/cli-memo`, навык `cli-memo` diff --git a/lib/docs-sidebar-tree.tsx b/lib/docs-sidebar-tree.tsx index 4b1352c6..008727a1 100644 --- a/lib/docs-sidebar-tree.tsx +++ b/lib/docs-sidebar-tree.tsx @@ -160,6 +160,7 @@ const folderIcons = { wa: WhatsAppIcon, drive: FolderOpen, gcal: CalendarDays, + mail: Mail, memo: NotebookPen, zm: Video, desktop: Monitor, @@ -221,7 +222,7 @@ export function unifiedDocsTree(tree: Root, lang = "en"): Root { } } if (node.type !== "page") return node - const slug = /\/docs\/(tg|max|wa|drive|gcal|memo|zm)\/?$/.test(node.url) + const slug = /\/docs\/(tg|max|wa|drive|gcal|mail|memo|zm)\/?$/.test(node.url) ? "index" : (node.url.split("/").filter(Boolean).at(-1) ?? "") const Icon = sidebarIcons[slug as keyof typeof sidebarIcons] ?? FileText diff --git a/lib/mail-descriptions.ts b/lib/mail-descriptions.ts new file mode 100644 index 00000000..a76af104 --- /dev/null +++ b/lib/mail-descriptions.ts @@ -0,0 +1,51 @@ +export const mailDescriptions: Record> = { + en: { + compare: "See what Mail does and does not do: read-only IMAP sync, offline search, no sending, no Outlook yet.", + index: "Sync your mailbox over IMAP into a local store, so you and your AI agent can search mail offline.", + installation: "Install the Mail CLI with npm, check the Node.js version and run doctor.", + usage: "Connect a mailbox with an app password, sync mail in parts, script the output and connect an agent.", + providers: + "Turn on IMAP and make an app password for Yandex, Gmail, iCloud, Mail.ru, Fastmail or another provider.", + commands: "Find every Mail CLI command, option and exit code in the generated reference.", + configuration: "See and change a profile's mailbox settings, permissions and run records.", + troubleshooting: "Fix Mail CLI profile, app password, keyring, rate limit and settings-file problems.", + security: "What the Mail CLI keeps, where the app password lives and how to treat synced mail.", + changelog: "Read Mail CLI release notes, including new capabilities, changes and fixes.", + roadmap: "See which Mail CLI capabilities are available and which work remains planned.", + }, + ru: { + compare: + "Что Mail умеет и чего нет: синхронизация IMAP только для чтения, поиск без сети, без отправки, пока без Outlook.", + index: "Синхронизируйте почтовый ящик по IMAP в локальное хранилище: вы и ваш ИИ-агент ищете письма без интернета.", + installation: "Установите Mail CLI через npm, проверьте версию Node.js и запустите doctor.", + usage: + "Подключите ящик с паролем приложения, синхронизируйте почту частями, получайте вывод для скриптов и подключайте агента.", + providers: + "Включите IMAP и создайте пароль приложения для Yandex, Gmail, iCloud, Mail.ru, Fastmail или другого провайдера.", + commands: "Все команды, параметры и коды выхода Mail CLI в сгенерированном справочнике.", + configuration: "Посмотрите и измените настройки ящика профиля, разрешения и записи запусков.", + troubleshooting: + "Исправьте проблемы с профилем, паролем приложения, связкой ключей, лимитами и файлом настроек Mail CLI.", + security: "Что хранит Mail CLI, где лежит пароль приложения и как обращаться с синхронизированной почтой.", + changelog: "Заметки о выпусках Mail CLI: новые возможности, изменения и исправления.", + roadmap: "Какие возможности Mail CLI уже есть и какие работы ещё запланированы.", + }, + es: { + compare: + "Qué hace y qué no hace Mail: sincronización IMAP de solo lectura, búsqueda sin conexión, sin envío y aún sin Outlook.", + index: + "Sincroniza tu buzón por IMAP en un almacén local para que tú y tu agente de IA busquéis correo sin conexión.", + installation: "Instala la CLI de Mail con npm, comprueba la versión de Node.js y ejecuta doctor.", + usage: + "Conecta un buzón con una contraseña de aplicación, sincroniza el correo por partes, usa la salida en scripts y conecta un agente.", + providers: + "Activa IMAP y crea una contraseña de aplicación para Yandex, Gmail, iCloud, Mail.ru, Fastmail u otro proveedor.", + commands: "Todos los comandos, opciones y códigos de salida de la CLI de Mail en la referencia generada.", + configuration: "Consulta y cambia los ajustes del buzón de un perfil, los permisos y los registros de ejecución.", + troubleshooting: + "Resuelve problemas de perfil, contraseña de aplicación, llavero, límites y archivo de ajustes de la CLI de Mail.", + security: "Qué guarda la CLI de Mail, dónde vive la contraseña de aplicación y cómo tratar el correo sincronizado.", + changelog: "Notas de versión de la CLI de Mail: nuevas capacidades, cambios y correcciones.", + roadmap: "Qué capacidades de la CLI de Mail están disponibles y qué trabajo sigue previsto.", + }, +} diff --git a/lib/seo.ts b/lib/seo.ts index 42716421..dff8ba90 100644 --- a/lib/seo.ts +++ b/lib/seo.ts @@ -2,6 +2,7 @@ import type { Metadata } from "next" import siteConfig from "../site.config.json" import { driveDescriptions } from "./drive-descriptions" import { gcalDescriptions } from "./gcal-descriptions" +import { mailDescriptions } from "./mail-descriptions" import { memoDescriptions } from "./memo-descriptions" import { readerGuide } from "./reader-guides" import seoCopy from "./seo-copy.json" @@ -99,6 +100,7 @@ export function documentationDescription(lang: string, slugs: string[], authored const reviewed = { drive: driveDescriptions, gcal: gcalDescriptions, + mail: mailDescriptions, memo: memoDescriptions, wa: whatsappDescriptions, }[selectedTool?.name ?? ""] diff --git a/scripts/docs-corrections.json b/scripts/docs-corrections.json index 9fb1cb23..dd72d2f1 100644 --- a/scripts/docs-corrections.json +++ b/scripts/docs-corrections.json @@ -2344,5 +2344,14 @@ } ] } + }, + { + "tool": "mail", + "slug": "index", + "source": "https://github.com/WireCatLabs/mail-cli/blob/main/docs/index.md", + "reason": "The overview page's sidebar label is its title. mail's overview is titled with the command name; the other tools' overview pages carry the product name. Drop this once the release's own heading is Mail.", + "replacements": { + "en": [{ "before": "title: \"mail\"", "after": "title: \"Mail\"" }] + } } ] diff --git a/tools.json b/tools.json index 9bbf0f20..a96caccb 100644 --- a/tools.json +++ b/tools.json @@ -62,6 +62,19 @@ "es": "Guarda tu Google Calendar en tu ordenador, busca reuniones sin conexión y reconoce a los asistentes de tus otros chats." } }, + { + "name": "mail", + "displayName": "Mail", + "repo": "WireCatLabs/mail-cli", + "package": "@wirecat/mail-cli", + "lang": "en", + "docsRef": "v0.1.0", + "summary": { + "en": "Sync your mailbox over IMAP into a local store, so you and your AI agent can search mail offline. Read only.", + "ru": "Синхронизируйте почтовый ящик по IMAP в локальное хранилище: вы и ваш ИИ-агент ищете письма без интернета. Только чтение.", + "es": "Sincroniza tu buzón por IMAP en un almacén local para que tú y tu agente de IA busquéis correo sin conexión. Solo lectura." + } + }, { "name": "zm", "displayName": "Zoom", diff --git a/translations/mail/commands.es.md b/translations/mail/commands.es.md new file mode 100644 index 00000000..7cf8f97b --- /dev/null +++ b/translations/mail/commands.es.md @@ -0,0 +1,572 @@ +--- +title: "Comandos de mail" +--- + + + + +Todos los comandos, opciones y códigos de salida, generados a partir del propio programa. Para obtener la misma lista en +JSON, ejecuta `mail commands --json`. Las descripciones conservan el idioma de la ayuda. + +**La primera palabra es el perfil**, un nombre que eliges tú: `mail personal config show`. `MAIL_PROFILE` +hace lo mismo para toda una sesión de la terminal. Nunca se da un perfil por supuesto: un comando que usa una cuenta +se detiene si no lo tiene y muestra los perfiles de este ordenador. + +## Opciones para todos los comandos + +| Option | What it does | +|---|---| +| `-V, --version` | output the version number. | +| `-v, --verbose` | more detail in what is shown: -v ids, -vv everything we know. Default: `0`. | +| `--json` | machine-readable output: one JSON value on stdout; --json=id,text keeps only those fields. | +| `--jsonl` | machine-readable output: one JSON object per line, for streaming and jq. | +| `--quiet` | diagnostics off; a failure is still said. | +| `--trace` | the connection's own log lines on stderr — never content. | +| `--debug` | on a failure, its whole record — cause and stack — in place of the short line. | +| `--timeout ` | give up on the whole command after this — 30s, 2m, 500ms. | +| `--offline` | answer from what was recorded and never connect; fails if nothing was. | +| `--no-input` | never prompt or open interactive login; piped input remains available. | +| `--max-input-bytes ` | maximum buffered input bytes (default: 16777216). | +| `--max-output-bytes ` | maximum machine output bytes (default: 4194304; 0 disables). | +| `--brief` | found items as reference, title, time, author and excerpt only. | +| `--full` | found items with their whole text and every provider field. | +| `--dry-run` | preview parsed arguments and permissions before running the action. | +| `--yes` | go ahead without the question an ask level puts before a write. | +| `--record` | keep this run even where the config says record false; record_input false leaves the typed words out. | +| `--no-record` | do not keep this run, even if it fails. | + +## `mail commands` + +every command by section; --json prints its contract, one path per call + +### `mail commands info` + +one command contract, or all schemas, error reasons and explicit overrides + +```sh +mail commands info [path] +``` + +| Argument | | What it is | +|---|---|---| +| `path` | optional | one command path; without one, export schemas, error reasons and explicit overrides. | + +**Returns:** one command contract, or all schemas, error reasons and explicit overrides + +**Example:** `mail commands info commands` + +## `mail session` + +keep this profile's app password in the OS keyring + +### `mail session start` + +sign this profile in. A new profile needs its mailbox: --address, or it is asked at a terminal; the server is found (built-in providers, the MX record, ISPDB, the domain's autoconfig; all providers: https://github.com/WireCatLabs/mail-cli/blob/main/docs/providers.md), the steps to prepare the mailbox are shown, the app password is asked (hidden) or read from MAIL_PASSWORD, checked against the server, and only then the profile and the keyring entry are saved. An existing profile only asks for the password again. Without a terminal nothing is asked: a missing --address or password is a validation error + +**Changes something on this computer only.** + +```sh +mail session start [options] +``` + +| Option | What it does | +|---|---| +| `--address ` | the full mail address of a new profile, also the login for most providers. | +| `--provider ` | skip discovery and use a built-in provider: Yandex, Gmail, iCloud, Mail.ru, Fastmail, Outlook. | +| `--host ` | skip discovery and use this IMAP host. | +| `--port ` | IMAP port (default 993). | +| `--security ` | tls or starttls (default tls). | +| `--login ` | the login name, when it is not the full address. | +| `--folder ` | sync only this folder; repeat it for more. | + +**Returns:** sign in; a new profile is created first + +**Example:** `mail ya session start --address me@example.com`, `mail ya session start`, `mail me session start --address me@example.com --host imap.example.com --security tls` + +### `mail session status` + +show where this profile's app password comes from; the password is never printed + +```sh +mail session status [options] +``` + +| Option | What it does | +|---|---| +| `--check` | log in to the server to prove the password still works. | + +**Returns:** show where this profile's app password comes from; the password is never printed + +**Example:** `mail ya session status`, `mail ya session status --check --json` + +### `mail session end` + +forget this profile's app password on this computer; synced mail stays + +**Changes something on this computer only.** + +```sh +mail session end +``` + +**Returns:** forget this profile's app password on this computer; synced mail stays + +**Example:** `mail ya session end` + +## `mail account` + +the mailbox behind this profile + +### `mail account check` + +log in to the server and list what it supports (IDLE, CONDSTORE, MOVE, Gmail extensions) + +```sh +mail account check +``` + +**Returns:** log in and list what the server supports + +**Example:** `mail ya account check`, `mail ya account check --json` + +## `mail folders` + +the folders of this profile's mailbox + +### `mail folders list` + +the folders of the mailbox with their role (inbox, sent, trash, ...) and message counts + +```sh +mail folders list +``` + +**Returns:** the folders with their role and message counts + +**Example:** `mail ya folders list`, `mail ya folders list --json` + +## `mail sync` + +read mail from the server into the shared store; mail already stored is skipped + +**Changes something on this computer only.** + +```sh +mail sync [options] +``` + +| Option | What it does | +|---|---| +| `--since-time