Skip to content

Commit f732011

Browse files
authored
Add cluster hub pages for AI, privacy, PDF, image, and on-device AI tools (#61)
* Add cluster hub pages for AI, privacy, PDF, image, and on-device AI tools * Update llms.txt surfaces with clusters, data profiles, and honest limitations (#64) Correct the blanket "every tool runs 100% in your browser, works offline" claim in /llms.txt and /llms-full.txt — not true across the whole catalogue. Both files now source a per-tool network data profile (on-device, model-download, remote-processing, remote-data) from a new src/lib/llms-data-profile.ts registry, backed by each tool's own implementation and its existing authored UI copy: 14 tools download AI model weights from a CDN on first use (Transformers.js, Tesseract.js, Segment Anything) then run on-device; Live Dictation uses the browser's native Web Speech API, which sends audio to the browser vendor in Chrome/Edge; Currency Converter fetches exchange rates from an external API. Every other tool is correctly on-device. Also: - Add a Collections section listing all five /collections/* cluster hubs (from src/lib/tool-clusters.ts) with their member tools. - Fix the tool count to 152 (matching `bun run validate`) by excluding landingFor SEO variants consistently in both files — the previous llms.txt included all 176 route-level variants. - Both files stay force-static and generated purely from tools-config.ts, blog-data.ts, and tool-clusters.ts — no hardcoded lists. - Left a comment at the insertion point for /alternatives/* comparison pages (src/lib/comparisons.ts), which land on a separate branch not in this tree. Adds src/__tests__/lib/llms-txt.test.ts covering registry integrity, full tool/blog/cluster coverage, and that no network-touching tool is described with an unqualified "nothing leaves your device" claim.
1 parent 65bf177 commit f732011

28 files changed

Lines changed: 2676 additions & 32 deletions

File tree

messages/ar.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5357,5 +5357,45 @@
53575357
"contactHeading": "أسئلة",
53585358
"contactBody": "أسئلتك حول هذه الشروط مرحّب بها — تواصل معنا عبر GitHub."
53595359
}
5360+
},
5361+
"Clusters": {
5362+
"collectionLabel": "مجموعة",
5363+
"allToolsLink": "كل الأدوات",
5364+
"openTool": "افتح الأداة",
5365+
"relatedHeading": "مجموعات ذات صلة",
5366+
"toolCount": "{count} أداة",
5367+
"englishFallbackNote": "الدليل المفصّل في هذه الصفحة مكتوب بالإنجليزية والعربية. واللغات الأخرى تعرض النصّ الإنجليزي.",
5368+
"names": {
5369+
"ai-developer-tools": {
5370+
"title": "أدوات الذكاء الاصطناعي للمطوّرين",
5371+
"tagline": "ميزانية التوكنات وصياغة البرومبت وملفات الإعداد التي تكتبها حين تبني فوق نموذج لغوي.",
5372+
"metaTitle": "أدوات الذكاء الاصطناعي للمطوّرين — عدّ التوكنات، حساب التكلفة، بناء البرومبت، وإعداد MCP",
5373+
"metaDescription": "ثلاث عشرة أداة تعمل داخل المتصفّح لمن يبني فوق نماذج اللغة: عدّ التوكنات، قياس نافذة السياق، تقدير تكلفة الـAPI، تنسيق البرومبت بصيغة ChatML أو XML، بناء مخطّط JSON لاستدعاء الأدوات، توليد إعدادات خوادم MCP، ومقارنة نسختين من ملف تعليمات."
5374+
},
5375+
"privacy-first-tools": {
5376+
"title": "أدوات تحترم الخصوصية",
5377+
"tagline": "البيانات الوصفية وبيانات الاعتماد والحجب والتوقيع — تُنجَز في التبويب لا على خادم أحدهم.",
5378+
"metaTitle": "أدوات تحترم الخصوصية — عالِج ملفاتك داخل متصفّحك دون رفعها إلى أي خادم",
5379+
"metaDescription": "ستّ عشرة أداة للأعمال التي لا يُستحسن تسليمها لخادم غريب: إزالة بيانات EXIF وإحداثيات GPS من الصور، حجب البيانات الشخصية، تمويه الوجوه، تشفير الملاحظات، توليد كلمات المرور ورموز TOTP، وتوقيع ملفات PDF وقراءتها — كلّها داخل تبويب متصفّحك."
5380+
},
5381+
"pdf-tools": {
5382+
"title": "أدوات PDF",
5383+
"tagline": "الدمج والتقسيم والتدوير والختم والاستخراج — مع حساب صريح لثمن الضغط والتحويل إلى Word.",
5384+
"metaTitle": "أدوات PDF داخل المتصفّح — دمج وتقسيم وتدوير وضغط وتوقيع واستخراج دون رفع",
5385+
"metaDescription": "ثلاث عشرة عملية على ملفات PDF تعمل داخل متصفّحك عبر pdf-lib وpdf.js: دمج وتقسيم وإعادة ترتيب وتدوير وضغط وعلامة مائية وختم توقيع واستخراج نصّ وبناء PDF من صور والتحويل بين PDF وWord."
5386+
},
5387+
"image-tools": {
5388+
"title": "أدوات الصور",
5389+
"tagline": "ثماني عشرة أداة قائمة على canvas لتصغير الصور وتغيير صيغتها وتغيير شكلها وجعلها صالحة للعرض.",
5390+
"metaTitle": "أدوات الصور في المتصفّح — الضغط لحجم محدّد، تحويل AVIF وHEIC، القصّ والتحجيم والتمويه",
5391+
"metaDescription": "ثماني عشرة أداة للصور تعمل على canvas داخل متصفّحك: بلوغ حجم ملف محدّد بدقّة، التحويل بين PNG وJPEG وWebP وAVIF وHEIC، القصّ والتحجيم، إزالة البيانات الوصفية، حجب المناطق الحسّاسة، وبناء الأيقونات والنماذج والمجمّعات."
5392+
},
5393+
"on-device-ai": {
5394+
"title": "الذكاء الاصطناعي على الجهاز",
5395+
"tagline": "Whisper والترجمة والتعرّف الضوئي والتجزئة والكلام العصبي، تُنفَّذ على معالجك أنت — مع ذكر أحجام التنزيل مقدّمًا.",
5396+
"metaTitle": "الذكاء الاصطناعي على الجهاز — Whisper والترجمة والتعرّف الضوئي ونماذج الصور داخل متصفّحك",
5397+
"metaDescription": "ثلاث عشرة أداة تنزّل نموذج تعلّم آلة إلى متصفّحك وتشغّله فيه: تفريغ Whisper، ترجمة بلا واجهة خارجية، تلخيص، تصنيف، كشف البيانات الشخصية، تحويل نصّ إلى كلام عصبي، إزالة خلفية، تكبير، وتقدير عمق."
5398+
}
5399+
}
53605400
}
53615401
}

messages/de.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5357,5 +5357,45 @@
53575357
"contactHeading": "Fragen",
53585358
"contactBody": "Fragen zu diesen Bedingungen sind willkommen — erreiche uns über GitHub."
53595359
}
5360+
},
5361+
"Clusters": {
5362+
"collectionLabel": "Sammlung",
5363+
"allToolsLink": "Alle Tools",
5364+
"openTool": "Tool öffnen",
5365+
"relatedHeading": "Verwandte Sammlungen",
5366+
"toolCount": "{count} Tools",
5367+
"englishFallbackNote": "Der ausführliche Leitfaden auf dieser Seite ist auf Englisch und Arabisch verfasst. In anderen Sprachen wird der englische Text angezeigt.",
5368+
"names": {
5369+
"ai-developer-tools": {
5370+
"title": "KI-Tools für Entwickler",
5371+
"tagline": "Token-Budgets, Prompt-Formate und die Konfigurationsdateien, die man schreibt, wenn man auf einem Sprachmodell aufbaut.",
5372+
"metaTitle": "KI- und LLM-Entwicklertools — Tokens zählen, Kosten schätzen, Prompts formatieren, MCP konfigurieren",
5373+
"metaDescription": "Dreizehn Werkzeuge, die im Browser laufen, für alle, die auf Sprachmodellen aufbauen: Tokens zählen, Kontextfenster messen, API-Kosten schätzen, Prompts formatieren, JSON-Schema-Tooldefinitionen erstellen und MCP-Konfigurationen generieren."
5374+
},
5375+
"privacy-first-tools": {
5376+
"title": "Datenschutzfreundliche Tools",
5377+
"tagline": "Metadaten, Zugangsdaten, Schwärzungen und Unterschriften — im Tab erledigt statt auf fremden Servern.",
5378+
"metaTitle": "Datenschutzfreundliche Browser-Tools — Dateien lokal verarbeiten, ohne sie hochzuladen",
5379+
"metaDescription": "Sechzehn Tools für Aufgaben, die man keinem fremden Server überlässt: EXIF und GPS aus Fotos entfernen, personenbezogene Daten schwärzen, Gesichter unkenntlich machen, Notizen verschlüsseln, Passwörter und TOTP-Codes erzeugen sowie PDFs signieren oder auslesen — alles im eigenen Browser."
5380+
},
5381+
"pdf-tools": {
5382+
"title": "PDF-Tools",
5383+
"tagline": "Zusammenfügen, teilen, drehen, stempeln und extrahieren — mit einer ehrlichen Rechnung, was Komprimierung und Word-Konvertierung kosten.",
5384+
"metaTitle": "PDF-Tools im Browser — zusammenfügen, teilen, drehen, komprimieren, signieren und extrahieren ohne Upload",
5385+
"metaDescription": "Dreizehn PDF-Operationen, die mit pdf-lib und pdf.js im eigenen Browser laufen: zusammenfügen, teilen, neu sortieren, drehen, komprimieren, mit Wasserzeichen versehen, eine Unterschrift aufbringen, Text extrahieren, ein PDF aus Bildern erstellen und zwischen PDF und Word konvertieren."
5386+
},
5387+
"image-tools": {
5388+
"title": "Bild-Tools",
5389+
"tagline": "Achtzehn Canvas-Werkzeuge für die vier Dinge, die man wirklich mit Bildern macht: verkleinern, Format ändern, Ausschnitt ändern, präsentabel machen.",
5390+
"metaTitle": "Bild-Tools im Browser — auf eine exakte Dateigröße komprimieren, AVIF und HEIC konvertieren, zuschneiden, unkenntlich machen",
5391+
"metaDescription": "Achtzehn Bildwerkzeuge, die im eigenen Browser auf Canvas laufen: eine exakte Dateigröße treffen, zwischen PNG, JPEG, WebP, AVIF und HEIC konvertieren, zuschneiden und skalieren, Metadaten entfernen, sensible Bereiche unkenntlich machen sowie Favicons, Mockups und Collagen erstellen."
5392+
},
5393+
"on-device-ai": {
5394+
"title": "KI direkt auf dem Gerät",
5395+
"tagline": "Whisper, Übersetzung, OCR, Segmentierung und neuronale Sprache — ausgeführt auf Ihrer eigenen CPU oder GPU, mit vorab genannten Downloadgrößen.",
5396+
"metaTitle": "KI auf dem Gerät — Whisper, Übersetzung, OCR und Bildmodelle im Browser",
5397+
"metaDescription": "Dreizehn Tools, die ein Machine-Learning-Modell in den Browser laden und dort ausführen: Whisper-Transkription, Übersetzung ohne API, Zusammenfassung, Klassifikation, Erkennung personenbezogener Daten, neuronale Sprachausgabe, Freistellen, Hochskalieren und Tiefenschätzung."
5398+
}
5399+
}
53605400
}
53615401
}

messages/en.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5357,5 +5357,45 @@
53575357
"contactHeading": "Questions",
53585358
"contactBody": "Questions about these terms are welcome — reach us on GitHub."
53595359
}
5360+
},
5361+
"Clusters": {
5362+
"collectionLabel": "Collection",
5363+
"allToolsLink": "All tools",
5364+
"openTool": "Open tool",
5365+
"relatedHeading": "Related collections",
5366+
"toolCount": "{count} tools",
5367+
"englishFallbackNote": "The in-depth guide on this page is written in English and Arabic. Other languages show the English text.",
5368+
"names": {
5369+
"ai-developer-tools": {
5370+
"title": "AI and LLM developer tools",
5371+
"tagline": "Token budgets, prompt shaping, and the config files you end up writing when you build on top of a language model.",
5372+
"metaTitle": "AI & LLM Developer Tools — Token Counting, Cost Estimates, Prompt Formats, MCP and Agent Config",
5373+
"metaDescription": "Thirteen browser-based utilities for building on language models: count tokens, size a context window, estimate API spend, format prompts for ChatML or Claude XML, draft JSON Schema tool definitions, generate MCP config, and diff agent instruction files."
5374+
},
5375+
"privacy-first-tools": {
5376+
"title": "Privacy-first tools",
5377+
"tagline": "Metadata, credentials, redaction and signatures — handled in the tab instead of on someone else's server.",
5378+
"metaTitle": "Privacy-First Browser Tools — Process Files Locally Without Uploading Them",
5379+
"metaDescription": "Sixteen tools for work you should not hand to a stranger's server: strip EXIF and GPS from photos, redact personal data, censor faces, encrypt notes, generate passwords and TOTP codes, and sign or read PDFs — all inside your own browser."
5380+
},
5381+
"pdf-tools": {
5382+
"title": "PDF tools",
5383+
"tagline": "Merge, split, rotate, stamp and extract — with a straight account of what compression and Word conversion really cost.",
5384+
"metaTitle": "Browser PDF Tools — Merge, Split, Rotate, Compress, Sign and Extract Without Uploading",
5385+
"metaDescription": "Thirteen PDF operations that run in your own browser with pdf-lib and pdf.js: merge, split, reorder, rotate, compress, watermark, stamp a signature, extract text, build a PDF from images, and convert between PDF and Word."
5386+
},
5387+
"image-tools": {
5388+
"title": "Image tools",
5389+
"tagline": "Eighteen canvas utilities for the four things people actually do to images: make them smaller, change the format, change the shape, make them presentable.",
5390+
"metaTitle": "Browser Image Tools — Compress to a Target Size, Convert AVIF and HEIC, Crop, Resize, Censor",
5391+
"metaDescription": "Eighteen image utilities that run on canvas in your own browser: hit an exact file-size budget, convert between PNG, JPEG, WebP, AVIF and HEIC, crop and resize, strip metadata, censor sensitive regions, and build favicons, mockups and collages."
5392+
},
5393+
"on-device-ai": {
5394+
"title": "On-device AI tools",
5395+
"tagline": "Whisper, translation, OCR, segmentation and neural speech, executed on your own CPU or GPU — with the download sizes stated up front.",
5396+
"metaTitle": "On-Device AI Tools — Whisper, Translation, OCR and Image Models Running in Your Browser",
5397+
"metaDescription": "Thirteen tools that download a machine-learning model into your browser and run it there: Whisper transcription, translation with no API, summarisation, classification, PII detection, neural text-to-speech, background removal, upscaling and depth estimation."
5398+
}
5399+
}
53605400
}
53615401
}

messages/es.json

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5357,5 +5357,45 @@
53575357
"contactHeading": "Preguntas",
53585358
"contactBody": "Las preguntas sobre estos términos son bienvenidas — contáctanos en GitHub."
53595359
}
5360+
},
5361+
"Clusters": {
5362+
"collectionLabel": "Colección",
5363+
"allToolsLink": "Todas las herramientas",
5364+
"openTool": "Abrir herramienta",
5365+
"relatedHeading": "Colecciones relacionadas",
5366+
"toolCount": "{count} herramientas",
5367+
"englishFallbackNote": "La guía detallada de esta página está escrita en inglés y árabe. En los demás idiomas se muestra el texto en inglés.",
5368+
"names": {
5369+
"ai-developer-tools": {
5370+
"title": "Herramientas de IA para desarrolladores",
5371+
"tagline": "Presupuesto de tokens, formato de prompts y los archivos de configuración que acabas escribiendo al construir sobre un modelo de lenguaje.",
5372+
"metaTitle": "Herramientas de IA y LLM para desarrolladores — tokens, costes, prompts y configuración de MCP",
5373+
"metaDescription": "Trece utilidades que funcionan en el navegador para quien construye sobre modelos de lenguaje: contar tokens, medir la ventana de contexto, estimar el coste de la API, dar formato a prompts, crear esquemas JSON de herramientas y generar configuración de MCP."
5374+
},
5375+
"privacy-first-tools": {
5376+
"title": "Herramientas que respetan la privacidad",
5377+
"tagline": "Metadatos, credenciales, censura y firmas: todo dentro de la pestaña y no en el servidor de un desconocido.",
5378+
"metaTitle": "Herramientas que respetan la privacidad — procesa tus archivos sin subirlos",
5379+
"metaDescription": "Dieciséis herramientas para tareas que no conviene entregar al servidor de un desconocido: borrar EXIF y GPS de las fotos, ocultar datos personales, censurar caras, cifrar notas, generar contraseñas y códigos TOTP, y firmar o leer PDF, todo en tu propio navegador."
5380+
},
5381+
"pdf-tools": {
5382+
"title": "Herramientas PDF",
5383+
"tagline": "Unir, dividir, rotar, sellar y extraer, con una explicación honesta de lo que cuestan la compresión y la conversión a Word.",
5384+
"metaTitle": "Herramientas PDF en el navegador — unir, dividir, rotar, comprimir, firmar y extraer sin subir nada",
5385+
"metaDescription": "Trece operaciones sobre PDF que se ejecutan en tu propio navegador con pdf-lib y pdf.js: unir, dividir, reordenar, rotar, comprimir, poner marca de agua, estampar una firma, extraer texto, crear un PDF a partir de imágenes y convertir entre PDF y Word."
5386+
},
5387+
"image-tools": {
5388+
"title": "Herramientas de imagen",
5389+
"tagline": "Dieciocho utilidades basadas en canvas para las cuatro cosas que de verdad se hacen con una imagen: reducirla, cambiar su formato, cambiar su forma y dejarla presentable.",
5390+
"metaTitle": "Herramientas de imagen en el navegador — comprimir a un tamaño exacto, convertir AVIF y HEIC, recortar y censurar",
5391+
"metaDescription": "Dieciocho utilidades de imagen que funcionan sobre canvas en tu propio navegador: alcanzar un tamaño de archivo exacto, convertir entre PNG, JPEG, WebP, AVIF y HEIC, recortar y redimensionar, borrar metadatos, censurar zonas sensibles y crear favicons, mockups y collages."
5392+
},
5393+
"on-device-ai": {
5394+
"title": "IA que se ejecuta en tu dispositivo",
5395+
"tagline": "Whisper, traducción, OCR, segmentación y voz neuronal, ejecutados en tu propia CPU o GPU, con los tamaños de descarga dichos de antemano.",
5396+
"metaTitle": "IA en el dispositivo — Whisper, traducción, OCR y modelos de imagen dentro de tu navegador",
5397+
"metaDescription": "Trece herramientas que descargan un modelo de aprendizaje automático a tu navegador y lo ejecutan ahí: transcripción con Whisper, traducción sin API, resumen, clasificación, detección de datos personales, voz neuronal, eliminación de fondo, escalado y estimación de profundidad."
5398+
}
5399+
}
53605400
}
53615401
}

0 commit comments

Comments
 (0)