diff --git a/README.de.md b/README.de.md new file mode 100644 index 0000000..cc00ce8 --- /dev/null +++ b/README.de.md @@ -0,0 +1,397 @@ +
+
+
|
|
+| Kleineres Panel — kompakter Fußabdruck über jedem Editor | Einstellungen — Präferenzen, Berechtigungen, Wartung |
+|
|
|
+
+## Wie funktioniert es?
+
+```
+ ┌──────────────┐ hotkey ┌──────────────┐ select ┌──────────────┐
+ │ any app │ ──────────► │ PromptPanel │ ──────────► │ clipboard │
+ │ (ChatGPT, │ (global) │ NSPanel │ (Enter) │ (write) │
+ │ Claude, │ │ │ └──────┬───────┘
+ │ Cursor…) │ ◄──────────── │ │ │
+ └──────────────┘ paste / focus└──────────────┘ │
+ ▲ restored │
+ └────────── CGEvent ⌘V (Accessibility permission) ◄───────────┘
+ fallback: clipboard only + toast
+```
+
+1. Du drückst das konfigurierte Tastenkürzel (die `KeyboardShortcuts`-Bibliothek erfasst es systemweit).
+2. PromptPanel legt ein `NSPanel` über das aktive Fenster, fokussiert das Suchfeld und zeigt die Einträge des aktuellen Projekts sowie des `Universal`-Projekts, sortiert nach Anheften → manuell → Aktualität → Nutzungshäufigkeit.
+3. Du tippst, um zu filtern (live, ohne Bestätigung), wählst mit den Pfeiltasten und drückst `Enter`.
+4. Der ausgewählte Inhalt wird **immer** zuerst in die Systemzwischenablage geschrieben (das ist die Garantie — die Zwischenablage schlägt nie stillschweigend fehl).
+5. Das Panel verschwindet, die vorherige App erhält wieder den Fokus, und PromptPanel synthetisiert ein `⌘V` per `CGEvent`. Fehlt die Accessibility-Berechtigung oder blockiert die Ziel-App synthetische Ereignisse, teilt dir ein Toast mit: „Kopiert — drücke ⌘V zum Einfügen."
+6. Die Ausführung wird lokal protokolliert, damit du App-spezifische Paste-Probleme später diagnostizieren kannst.
+
+Diese Trennung — **Zwischenablage als Garantie, Auto-Paste als Best-Effort** — ist die wichtigste Design-Entscheidung des Projekts.
+
+## Installation
+
+> **Systemanforderung:** macOS 14 (Sonoma) oder neuer. Apple Silicon und Intel werden beide unterstützt.
+
+### Option A — Aus dem Quellcode bauen (aktueller Weg während der Vorabversion)
+
+```bash
+# 1. Clone
+git clone https://github.com/tytsxai/PromptPanel.git
+cd PromptPanel
+
+# 2. Build the .app bundle (signed ad-hoc by default)
+./scripts/build-app.sh
+
+# 3. Move it into Applications (or run from dist/)
+open dist/PromptPanel.app
+```
+
+Anforderungen zum Bauen:
+
+- Xcode 15+ mit dem macOS-14-SDK
+- Swift-5.10-Toolchain (`xcrun swift --version`)
+
+### Option B — Signiertes & notarisiertes Release
+
+GitHub Releases enthalten derzeit nur Quellcode-/Dokumentations-Release-Notes; es ist noch kein notarisiertes Binary-Asset angehängt. Bis die Developer-ID-Notarisierungskette vollständig ist, baue lokal mit `./scripts/build-app.sh`.
+
+### Einrichtung beim ersten Start
+
+1. **Erteile die Accessibility-Berechtigung**, wenn du dazu aufgefordert wirst. macOS nutzt sie, um synthetische `⌘V`-Tastenanschläge zuzulassen. Ohne sie kopiert PromptPanel weiterhin zuverlässig in die Zwischenablage; du fügst dann nur manuell ein.
+2. **Lege dein Tastenkürzel** unter Settings → Hotkey fest. Der aktuelle Standard ist `⌥2`; wähle ein anderes Kürzel, falls es mit deinem Setup kollidiert.
+3. **Erstelle ein Projekt** oder beginne, Einträge zu `Universal` hinzuzufügen.
+
+## Schnellstart
+
+```text
+1. ⌥2 → panel appears, search field focused
+2. type "review" → filters to your code-review prompt
+3. ↵ → content pasted into the active text field
+4. (panel hides) → keep working
+```
+
+Du kannst das aktive Projekt direkt im Panel wechseln, ohne das Hauptfenster zu öffnen — nur mit der Tastatur, ohne Umweg.
+
+## Konfiguration
+
+| Einstellung | Ort | Hinweise |
+|---|---|---|
+| Globales Tastenkürzel | Settings → Hotkey | Ein Kürzel. Umschaltverhalten: dieselbe Taste schließt |
+| Theme | Settings → Appearance | Hell / Dunkel / System folgen |
+| Start bei der Anmeldung | Settings → General | Nutzt `SMAppService` |
+| Update-Kanal | GitHub Releases (manuell) | Sparkle 2 ist eingebaut, aber deaktiviert, bis ein signierter Appcast gehostet wird; abonniere Release-Benachrichtigungen und ersetze die `.app` |
+| Datenbank-Speicherort | `~/Library/Application Support/PromptPanel/promptpanel.db` | Einzeldatei-SQLite, einfach zu sichern |
+| Logs | `~/Library/Logs/PromptPanel/` | Über „Runtime Health" im Hauptfenster einsehbar |
+
+## Datenschutz & Daten
+
+- **Lokal-orientiert per Definition.** Deine Prompts liegen in einer einzigen SQLite-Datei auf deinem Mac. Die App sendet deine Inhalte nirgendwohin per POST.
+- **Keine Telemetrie.** Keine Analytics-SDKs, keine Metrik-Endpunkte, kein Crash-Reporting-Dienst.
+- **Netzwerkzugriff** ist im aktuellen Release gleich null. Sparkle ist gebündelt, aber der Update-Feed ist nicht konfiguriert, sodass überhaupt keine ausgehenden Aufrufe stattfinden, es sei denn, ein zukünftiger Build wird mit einem Appcast ausgeliefert.
+- **Keine Konten.** Es gibt nichts, wo man sich anmelden müsste.
+- **Open Source.** Prüfe `Sources/PromptPanel/Core/`, um alles Obige zu verifizieren.
+
+Wenn deine Prompts proprietäre Informationen enthalten — interne Architektur, Kunden-Briefings, NDA-gebundenen Kontext — ist genau das die Eigenschaft, die du willst.
+
+## Wie schneidet PromptPanel im Vergleich zu Alternativen ab?
+
+> Schnelle Orientierung, keine Abrechnung. Diese Tools sind gut in dem, was sie tun.
+
+| | **PromptPanel** | TextExpander | Espanso | Raycast Snippets | Alfred Snippets | Browser-Prompt-Erweiterungen |
+|---|:---:|:---:|:---:|:---:|:---:|:---:|
+| Open Source | ✅ MIT | ❌ | ✅ GPLv3 | Teilweise | ❌ | variiert |
+| macOS-nativ (kein Electron / keine Web-Runtime) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| Funktioniert in jeder App (nicht nur im Browser) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| Schnellsuche-Panel-UI (nicht nur Trigger-Strings) | ✅ | teilweise | ❌ | ✅ | ✅ | variiert |
+| Projekt- / Kontexttrennung | ✅ erstklassig | Gruppen | Ordner | Ordner | Ordner | selten |
+| Reine Tastaturbedienung | ✅ | teilweise | ✅ | ✅ | ✅ | variiert |
+| Rein-lokal- / Keine-Cloud-Option | ✅ Standard | optional, kostenpflichtige Stufen drängen zur Cloud | ✅ | Konto erforderlich | ✅ | meist Cloud |
+| Kostenlos | ✅ | $$$ | ✅ | Freemium | erfordert Powerpack | variiert |
+| Speziell um den AI-Prompt-Workflow herum gebaut | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ aber nur im Browser |
+
+**Kurzfassung:** Wenn du nur im Browser lebst, ist eine Browser-Erweiterung in Ordnung. Wenn du in Cursor/VS Code/Terminal/Slack/überall lebst, willst du etwas Natives, Panel-basiertes. Unter den nativen, Panel-basierten Optionen ist PromptPanel die quelloffene, auf AI-Prompts zugeschnittene.
+
+## Workflow-Beispiele
+
+Konkrete Wege, wie Menschen PromptPanel im Alltag nutzen — diese dienen zugleich als die Long-Tail-„Wie mache ich …"-Fragen, die PromptPanel beantworten soll.
+
+- **Starte einen frischen ChatGPT- / Claude-Chat mit deinem Standard-Role- / System-Prompt.** Tastenkürzel → `role` tippen → Enter. Kein erneutes Eintippen von „Du bist ein Senior Staff Engineer, der …" zum 200. Mal.
+- **Füge einen Cursor- / Copilot-Projektkontext-Block in eine neue Datei ein.** Speichere einen mehrabsätzigen „Hier ist die Architektur, die Konventionen und die Einschränkungen"-Block einmal; füge ihn mit einem Tastendruck in jede neue Cursor-Sitzung ein.
+- **Füge eine Code-Review-Checkliste in einen PR-Entwurf ein.** Die lange Aufzählungs-Checkliste liegt in PromptPanel; ein Tastenkürzel hängt sie an eine GitHub-PR-Beschreibung an.
+- **Feuere einen wiederkehrenden Terminal-Befehl mit exakter Flag-Kombination ab.** `kubectl get pods --context=prod --namespace=… -o jsonpath=…` — einmal getippt, gespeichert, mit einem kurzen Suchbegriff aufgerufen.
+- **Füge ein Meeting-Notes-Template in Notion / Obsidian / Apple Notes ein.** Jeden Montag beim Standup dasselbe Template → ein Tastenkürzel, null Copy-Paste aus einem Notizen-Scratchpad.
+- **Schiebe ein Kundenservice- / Vertriebs-Antwort-Template in Slack oder E-Mail.** Unterschiedliche Tonalität pro Template, ausgewählt aus einem Schnellsuche-Panel statt aus einem Notizen-Ordner.
+- **Wechsle zwischen Projekten mit isolierten Prompt-Sets.** Jede Projektgruppe behält ihre eigenen Role-Prompts, Snippets und Templates, sodass der Kontext nie zwischen Kunden durchsickert.
+
+## Tech-Stack
+
+- **Sprache:** Swift 5.10
+- **UI:** AppKit (`NSPanel`, `NSStatusItem`) + SwiftUI
+- **Speicher:** SQLite über [GRDB.swift](https://github.com/groue/GRDB.swift)
+- **Tastenkürzel:** [sindresorhus/KeyboardShortcuts](https://github.com/sindresorhus/KeyboardShortcuts) (Carbon Hot Key unter der Haube)
+- **Auto-Paste:** `CGEvent` synthetisiert ⌘V nach der Fokus-Wiederherstellung
+- **Login-Item:** `SMAppService`
+- **Updater:** [Sparkle 2](https://sparkle-project.org/)
+- **Vertrieb:** Developer ID + Apple-Notarisierung (kein Mac App Store)
+- **Build:** Swift Package Manager — kein Xcode-Projekt erforderlich
+
+Siehe [docs/技术选型.md](docs/技术选型.md) für das vollständige Entscheidungsprotokoll.
+
+## Projektstruktur
+
+```
+PromptPanel/
+├── Sources/PromptPanel/
+│ ├── App/ # AppDelegate, AppState, lifecycle
+│ ├── Core/
+│ │ ├── Database/ # SQLite open / migrate / recover
+│ │ ├── Repositories/ # Project, Entry, Settings, Log
+│ │ ├── Services/ # PanelService, ExecuteService, SearchService…
+│ │ ├── Diagnostics/ # Hotkey-to-focus timing
+│ │ └── Utils/
+│ ├── Integrations/ # Clipboard, Paste (CGEvent), Tray, Hotkey, Updater
+│ ├── Features/
+│ │ ├── Panel/ # QuickPanelView + ViewModel — the hero feature
+│ │ └── MainWindow/ # Library + Settings
+│ └── Resources/ # Info.plist, entitlements, AppIcon, Assets
+├── Tests/PromptPanelTests/
+├── frontend-draft/ # UI source-of-truth (HTML/JSX mockups + screenshots)
+├── scripts/ # build-app.sh, notarize, release readiness, restore
+├── docs/ # public architecture, FAQ, PRD, release, ops, handoff docs
+├── .github/ # contribution, security, conduct, issue/PR templates, CI
+├── llms.txt # short AI-search / LLM-readable project index
+├── codemeta.json # structured open-source software metadata
+└── Package.swift # SwiftPM package definition
+```
+
+## Dokumentation
+
+Das öffentliche Dokumentationsset ist Teil des Repositorys:
+
+- [Dokumentationsindex](docs/README.md)
+- [FAQ](docs/FAQ.md)
+- [Produkt-PRD](docs/项目快贴-PRD.md)
+- [Projektvorstellung](docs/项目介绍.md)
+- [Architektur](docs/架构说明.md)
+- [Kernmodule und Logik](docs/关键模块与核心逻辑.md)
+- [API- und Funktionsvertrag](docs/API与功能说明.md)
+- [Konfiguration](docs/配置说明.md)
+- [Deployment](docs/部署说明.md)
+- [Entwicklungsstandards](docs/开发规范.md)
+- [Anwendungsbeispiele](docs/使用示例.md)
+- [Betrieb und Fehlerbehebung](docs/运维与排错指南.md)
+- [Maintainer-Übergabeleitfaden](docs/接手维护指南.md)
+- [Docs-/Code-Synchronisationsmatrix](docs/文档与代码同步矩阵.md)
+- [Release und Wiederherstellung](docs/生产发布与恢复手册.md)
+- [Roadmap und Beitragsleitfaden](docs/路线图与贡献指南.md)
+- [AI-Suche und Auffindbarkeit](docs/ai-search-discoverability.md)
+- [Vollständiger LLM-Kontext](docs/ai-search/llms-full.txt)
+- [Such-Metadaten JSON-LD](docs/search-metadata.schema.jsonld)
+- [Mitwirken](.github/CONTRIBUTING.md)
+- [Sicherheit](.github/SECURITY.md)
+- [CodeMeta-Software-Metadaten](codemeta.json)
+
+Für Answer-Engines und repository-bewusste AI-Tools beginne mit [llms.txt](llms.txt) oder dem erweiterten [llms-full.txt](docs/ai-search/llms-full.txt).
+
+## Suche & AI-Auffindbarkeit
+
+PromptPanel hält klassische SEO- und GEO-Flächen im Repo, damit Nutzer und Answer-Engines das Projekt genau identifizieren können:
+
+- `README.md` und `README.zh-CN.md` liefern die menschenlesbare Landingpage-Zusammenfassung und aktuelle Screenshots.
+- [llms.txt](llms.txt) ist der kurze AI-lesbare Index für repository-bewusste Tools.
+- [docs/ai-search/llms-full.txt](docs/ai-search/llms-full.txt) ist der erweiterte Answer-Engine-Kontext mit FAQ-artigen Antworten.
+- [codemeta.json](codemeta.json) und [Schema.org JSON-LD](docs/search-metadata.schema.jsonld) beschreiben die App für Software-Kataloge, Such-Crawler und die künftige Veröffentlichung einer Docs-Site.
+- [AI-Suche und Auffindbarkeit](docs/ai-search-discoverability.md) definiert die kanonische Formulierung, die Suchintentions-Map und die Wartungs-Checkliste.
+
+## Roadmap
+
+PromptPanel folgt einer **bewusst kleinen** Roadmap. Das PRD listet Punkte auf, die für immer vom Tisch sind (Cloud-Synchronisierung, Teams, Workflow-Orchestrierung). Im Umfang:
+
+- [x] v1.0 — Hauptpfad vollständig: Tastenkürzel → Suchen → Ausführen, Projekte, Zwischenablage-Fallback, Hell/Dunkel, Login-Item, Sparkle, Signatur- & Notarisierungsskripte
+- [x] JSON- / Markdown-Import & -Export, mit automatischem Backup vor dem Import
+- [ ] „Letzten Eintrag wiederholen" per einem Tastendruck
+- [ ] Variablen-Templates (im Stil `{{name}}`) — nur wenn es sich hinzufügen lässt, ohne den Hauptpfad zu verlangsamen
+
+Siehe [docs/路线图与贡献指南.md](docs/路线图与贡献指南.md) für die Priorisierungsregeln, [CHANGELOG.md](CHANGELOG.md) für das bereits Ausgelieferte und [issues](https://github.com/tytsxai/PromptPanel/issues) für die öffentliche Planung.
+
+## Häufig gestellte Fragen
+
+Für eine ausführlichere FAQ siehe [FAQ.md](docs/FAQ.md). Die größten Hits:
+
+### Ist PromptPanel kostenlos?
+
+Ja. MIT-Lizenz. Keine kostenpflichtige Stufe, kein Nutzungslimit, kein Konto.
+
+### Funktioniert es mit Apple Silicon (M1/M2/M3/M4)?
+
+Ja — es wird als Universal Binary gebaut. Getestet auf sowohl Apple Silicon als auch Intel unter macOS 14+.
+
+### Sendet es meine Prompts irgendwohin?
+
+Nein. Das aktuelle Release macht null Netzwerkaufrufe. Sparkle ist gebündelt, aber der Update-Feed ist in diesem Build nicht konfiguriert, sodass überhaupt kein ausgehender Verkehr entsteht. Deine Prompt-Inhalte verlassen niemals deinen Mac.
+
+### Warum fragt es nach der Accessibility-Berechtigung?
+
+Um nach dem Verschwinden des Panels und der Fokus-Wiederherstellung deiner vorherigen App einen `⌘V`-Tastenanschlag zu synthetisieren. Ohne diese Berechtigung funktioniert die App weiterhin — sie stoppt nur beim Zwischenablage-Schritt und zeigt dir einen „drücke ⌘V zum Einfügen"-Toast.
+
+### Werdet ihr Cloud-Synchronisierung / Team-Sharing / Workflows hinzufügen?
+
+Nein, bewusst nicht. Diese sind im [PRD §4.2](docs/项目快贴-PRD.md) als **dauerhafte Nicht-Ziele** aufgeführt. Die Identität des Produkts ist „Einzelnutzer, rein lokal, schnell". Eines davon hinzuzufügen würde ändern, was das Produkt ist.
+
+### Warum nicht Electron / Tauri?
+
+Die heißesten Pfade in diesem Produkt (Timing des globalen Tastenkürzels, Fokus-Wiederherstellung, synthetische Tastenanschlag-Injektion, Accessibility-Berechtigungsablauf) sind macOS-Systemintegrations-Belange. Eine plattformübergreifende Hülle fügt Latenz und Indirektion hinzu, ohne Funktionen zu bringen, die für dieses Produkt wichtig sind. Siehe [docs/技术选型.md](docs/技术选型.md) für die vollständige Begründung.
+
+### Wie melde ich einen Bug oder wünsche mir eine Funktion?
+
+Öffne ein Issue:
+
+
|
|
+| Panel más pequeño — huella compacta sobre cualquier editor | Ajustes — preferencias, permisos, mantenimiento |
+|
|
|
+
+## ¿Cómo funciona?
+
+```
+ ┌──────────────┐ hotkey ┌──────────────┐ select ┌──────────────┐
+ │ any app │ ──────────► │ PromptPanel │ ──────────► │ clipboard │
+ │ (ChatGPT, │ (global) │ NSPanel │ (Enter) │ (write) │
+ │ Claude, │ │ │ └──────┬───────┘
+ │ Cursor…) │ ◄──────────── │ │ │
+ └──────────────┘ paste / focus└──────────────┘ │
+ ▲ restored │
+ └────────── CGEvent ⌘V (Accessibility permission) ◄───────────┘
+ fallback: clipboard only + toast
+```
+
+1. Pulsas el atajo configurado (la librería `KeyboardShortcuts` lo captura a nivel de todo el sistema).
+2. PromptPanel coloca un `NSPanel` sobre la ventana activa, enfoca el campo de búsqueda y muestra las entradas del proyecto actual más las del proyecto `Universal`, ordenadas por fijado → manual → recencia → número de usos.
+3. Escribes para filtrar (en vivo, sin confirmar), navegas con las flechas y pulsas `Enter`.
+4. El contenido seleccionado **siempre** se escribe primero en el portapapeles del sistema (esta es la garantía: el portapapeles nunca falla en silencio).
+5. El panel se oculta, la app anterior recupera el foco y PromptPanel sintetiza un `⌘V` mediante `CGEvent`. Si falta el permiso de Accessibility o la app de destino bloquea los eventos sintéticos, un aviso te indica "Copiado — pulsa ⌘V para pegar."
+6. La ejecución se registra localmente para que puedas diagnosticar más tarde cualquier problema de pegado específico de una app.
+
+Esta separación — **el portapapeles como garantía, el pegado automático como mejor esfuerzo** — es la decisión de diseño más importante del proyecto.
+
+## Instalación
+
+> **Requisito del sistema:** macOS 14 (Sonoma) o posterior. Se admiten tanto Apple Silicon como Intel.
+
+### Opción A — Compilar desde el código fuente (vía actual mientras esté en pre-release)
+
+```bash
+# 1. Clonar
+git clone https://github.com/tytsxai/PromptPanel.git
+cd PromptPanel
+
+# 2. Compilar el paquete .app (firmado ad-hoc por defecto)
+./scripts/build-app.sh
+
+# 3. Muévelo a Aplicaciones (o ejecútalo desde dist/)
+open dist/PromptPanel.app
+```
+
+Requisitos para compilar:
+
+- Xcode 15+ con el SDK de macOS 14
+- Toolchain de Swift 5.10 (`xcrun swift --version`)
+
+### Opción B — Release firmada y notarizada
+
+Las GitHub Releases actualmente solo incluyen notas de versión de código/documentación; todavía no se adjunta ningún binario notarizado. Hasta que se complete la cadena de notarización de Developer ID, compila localmente con `./scripts/build-app.sh`.
+
+### Configuración de la primera ejecución
+
+1. **Concede el permiso de Accessibility** cuando se te solicite. macOS lo usa para permitir las pulsaciones de teclado sintéticas `⌘V`. Sin él, PromptPanel sigue copiando al portapapeles de forma fiable; simplemente pegas manualmente.
+2. **Configura tu atajo** en Ajustes → Atajo. El valor por defecto actual es `⌥2`; elige otro atajo si entra en conflicto con tu configuración.
+3. **Crea un proyecto** o empieza a añadir entradas a `Universal`.
+
+## Inicio rápido
+
+```text
+1. ⌥2 → aparece el panel, con el foco en el campo de búsqueda
+2. escribe "review"→ filtra hasta tu prompt de revisión de código
+3. ↵ → el contenido se pega en el campo de texto activo
+4. (el panel se oculta) → sigues trabajando
+```
+
+Puedes cambiar el proyecto activo desde dentro del panel sin abrir la ventana principal — solo con el teclado, sin desvíos.
+
+## Configuración
+
+| Ajuste | Dónde | Notas |
+|---|---|---|
+| Atajo global | Ajustes → Atajo | Un único atajo. Comportamiento de alternancia: la misma tecla lo descarta |
+| Tema | Ajustes → Apariencia | Claro / oscuro / seguir al sistema |
+| Inicio al abrir sesión | Ajustes → General | Usa `SMAppService` |
+| Canal de actualización | GitHub Releases (manual) | Sparkle 2 está integrado pero desactivado hasta que se aloje un appcast firmado; suscríbete a las notificaciones de versiones y reemplaza el `.app` |
+| Ubicación de la base de datos | `~/Library/Application Support/PromptPanel/promptpanel.db` | SQLite de un único archivo, fácil de respaldar |
+| Registros | `~/Library/Logs/PromptPanel/` | Se inspeccionan mediante el "Runtime Health" de la ventana principal |
+
+## Privacidad y datos
+
+- **Local-first por definición.** Tus prompts viven en un único archivo SQLite en tu Mac. La app no envía tu contenido a ningún sitio.
+- **Sin telemetría.** Sin SDK de analítica, sin endpoints de métricas, sin servicio de reporte de fallos.
+- **El acceso a la red** es nulo en la versión actual. Sparkle viene incluido, pero el feed de actualización no está configurado, así que no ocurre ninguna llamada saliente en absoluto salvo que una compilación futura incluya un appcast.
+- **Sin cuentas.** No hay nada donde iniciar sesión.
+- **Código abierto.** Audita `Sources/PromptPanel/Core/` para verificar cualquiera de los puntos anteriores.
+
+Si tus prompts contienen información propietaria — arquitectura interna, briefs de clientes, contexto bajo NDA — esta es justamente la propiedad que quieres.
+
+## ¿Cómo se compara PromptPanel con las alternativas?
+
+> Orientación rápida, no un ataque. Estas herramientas son buenas en lo suyo.
+
+| | **PromptPanel** | TextExpander | Espanso | Raycast Snippets | Alfred Snippets | Extensiones de prompts para navegador |
+|---|:---:|:---:|:---:|:---:|:---:|:---:|
+| Código abierto | ✅ MIT | ❌ | ✅ GPLv3 | Parcial | ❌ | variable |
+| Nativo de macOS (sin Electron / runtime web) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| Funciona en cualquier app (no solo en el navegador) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| Panel de búsqueda rápida (no solo cadenas de activación) | ✅ | parcial | ❌ | ✅ | ✅ | variable |
+| Aislamiento por proyecto / contexto | ✅ de primer nivel | grupos | carpetas | carpetas | carpetas | poco frecuente |
+| Flujo solo con teclado | ✅ | parcial | ✅ | ✅ | ✅ | variable |
+| Opción solo local / sin nube | ✅ por defecto | opcional, los planes de pago empujan a la nube | ✅ | requiere cuenta | ✅ | normalmente en la nube |
+| Gratis | ✅ | $$$ | ✅ | freemium | requiere Powerpack | variable |
+| Construido específicamente en torno al flujo de trabajo de prompts de IA | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ pero solo en el navegador |
+
+**En resumen:** si solo vives en el navegador, una extensión de navegador está bien. Si vives en Cursor/VS Code/Terminal/Slack/en todas partes, quieres algo nativo y basado en un panel. Entre las opciones nativas basadas en panel, PromptPanel es la de código abierto y con forma de prompt de IA.
+
+## Ejemplos de flujo de trabajo
+
+Formas concretas en que la gente usa PromptPanel en su día a día — estas también sirven como las preguntas de cola larga de tipo "¿cómo hago…?" que PromptPanel está diseñado para responder.
+
+- **Arranca un chat nuevo de ChatGPT / Claude con tu role / system prompt estándar.** Atajo → escribe `role` → Enter. Se acabó reescribir "Eres un ingeniero senior de plantilla que…" por 200.ª vez.
+- **Suelta un bloque de contexto de proyecto de Cursor / Copilot en un archivo nuevo.** Ten guardado una sola vez un bloque de varios párrafos "aquí están la arquitectura, las convenciones y las restricciones"; pégalo en cualquier sesión nueva de Cursor con una sola pulsación.
+- **Pega un checklist de revisión de código en un borrador de PR.** El largo checklist con viñetas vive en PromptPanel; un atajo lo añade a la descripción de un PR de GitHub.
+- **Lanza un comando de terminal recurrente con la combinación exacta de flags.** `kubectl get pods --context=prod --namespace=… -o jsonpath=…` — se escribe una vez, se guarda y se invoca con una cadena de búsqueda corta.
+- **Inserta una plantilla de notas de reunión en Notion / Obsidian / Apple Notes.** La misma plantilla en cada standup del lunes → un atajo, cero copiar y pegar desde un borrador de una app de notas.
+- **Envía una plantilla de respuesta de atención al cliente / ventas a Slack o al correo.** Un tono distinto por plantilla, elegido desde un panel de búsqueda rápida en lugar de una carpeta de notas.
+- **Cambia entre proyectos con conjuntos de prompts aislados.** Cada grupo de proyecto conserva sus propios role prompts, snippets y plantillas, de modo que el contexto nunca se filtra entre clientes.
+
+## Pila técnica
+
+- **Lenguaje:** Swift 5.10
+- **UI:** AppKit (`NSPanel`, `NSStatusItem`) + SwiftUI
+- **Almacenamiento:** SQLite mediante [GRDB.swift](https://github.com/groue/GRDB.swift)
+- **Atajo:** [sindresorhus/KeyboardShortcuts](https://github.com/sindresorhus/KeyboardShortcuts) (Carbon Hot Key por debajo)
+- **Pegado automático:** `CGEvent` sintetizando ⌘V tras restaurar el foco
+- **Elemento de inicio de sesión:** `SMAppService`
+- **Actualizador:** [Sparkle 2](https://sparkle-project.org/)
+- **Distribución:** Developer ID + notarización de Apple (sin Mac App Store)
+- **Compilación:** Swift Package Manager — no requiere proyecto de Xcode
+
+Consulta [docs/技术选型.md](docs/技术选型.md) para el registro completo de decisiones.
+
+## Estructura del proyecto
+
+```
+PromptPanel/
+├── Sources/PromptPanel/
+│ ├── App/ # AppDelegate, AppState, lifecycle
+│ ├── Core/
+│ │ ├── Database/ # SQLite open / migrate / recover
+│ │ ├── Repositories/ # Project, Entry, Settings, Log
+│ │ ├── Services/ # PanelService, ExecuteService, SearchService…
+│ │ ├── Diagnostics/ # Hotkey-to-focus timing
+│ │ └── Utils/
+│ ├── Integrations/ # Clipboard, Paste (CGEvent), Tray, Hotkey, Updater
+│ ├── Features/
+│ │ ├── Panel/ # QuickPanelView + ViewModel — the hero feature
+│ │ └── MainWindow/ # Library + Settings
+│ └── Resources/ # Info.plist, entitlements, AppIcon, Assets
+├── Tests/PromptPanelTests/
+├── frontend-draft/ # UI source-of-truth (HTML/JSX mockups + screenshots)
+├── scripts/ # build-app.sh, notarize, release readiness, restore
+├── docs/ # public architecture, FAQ, PRD, release, ops, handoff docs
+├── .github/ # contribution, security, conduct, issue/PR templates, CI
+├── llms.txt # short AI-search / LLM-readable project index
+├── codemeta.json # structured open-source software metadata
+└── Package.swift # SwiftPM package definition
+```
+
+## Documentación
+
+El conjunto de documentación pública forma parte del repositorio:
+
+- [Índice de documentación](docs/README.md)
+- [FAQ](docs/FAQ.md)
+- [PRD del producto](docs/项目快贴-PRD.md)
+- [Presentación del proyecto](docs/项目介绍.md)
+- [Arquitectura](docs/架构说明.md)
+- [Módulos y lógica principales](docs/关键模块与核心逻辑.md)
+- [Contrato de API y funciones](docs/API与功能说明.md)
+- [Configuración](docs/配置说明.md)
+- [Despliegue](docs/部署说明.md)
+- [Estándares de desarrollo](docs/开发规范.md)
+- [Ejemplos de uso](docs/使用示例.md)
+- [Operaciones y resolución de problemas](docs/运维与排错指南.md)
+- [Guía de traspaso para mantenedores](docs/接手维护指南.md)
+- [Matriz de sincronización docs/código](docs/文档与代码同步矩阵.md)
+- [Publicación y recuperación](docs/生产发布与恢复手册.md)
+- [Hoja de ruta y guía de contribución](docs/路线图与贡献指南.md)
+- [Búsqueda con IA y descubribilidad](docs/ai-search-discoverability.md)
+- [Contexto completo para LLM](docs/ai-search/llms-full.txt)
+- [Metadatos de búsqueda JSON-LD](docs/search-metadata.schema.jsonld)
+- [Contribuir](.github/CONTRIBUTING.md)
+- [Seguridad](.github/SECURITY.md)
+- [Metadatos de software CodeMeta](codemeta.json)
+
+Para motores de respuesta y herramientas de IA con conocimiento del repositorio, empieza por [llms.txt](llms.txt) o el ampliado [llms-full.txt](docs/ai-search/llms-full.txt).
+
+## Búsqueda y descubribilidad con IA
+
+PromptPanel mantiene dentro del repositorio las superficies clásicas de SEO y GEO para que tanto los usuarios como los motores de respuesta puedan identificar el proyecto con precisión:
+
+- `README.md` y `README.zh-CN.md` ofrecen el resumen de página de aterrizaje para humanos y las capturas de pantalla actuales.
+- [llms.txt](llms.txt) es el índice corto legible por IA para herramientas con conocimiento del repositorio.
+- [docs/ai-search/llms-full.txt](docs/ai-search/llms-full.txt) es el contexto ampliado para motores de respuesta, con respuestas de tipo FAQ.
+- [codemeta.json](codemeta.json) y [Schema.org JSON-LD](docs/search-metadata.schema.jsonld) describen la app para catálogos de software, rastreadores de búsqueda y la futura publicación de un sitio de documentación.
+- [Búsqueda con IA y descubribilidad](docs/ai-search-discoverability.md) define la redacción canónica, el mapa de intención de búsqueda y el checklist de mantenimiento.
+
+## Hoja de ruta
+
+PromptPanel sigue una hoja de ruta **deliberadamente pequeña**. El PRD enumera los elementos que están explícitamente descartados para siempre (sincronización en la nube, equipos, orquestación de flujos de trabajo). Dentro del alcance:
+
+- [x] v1.0 — enlace principal completo: atajo → búsqueda → ejecución, proyectos, respaldo del portapapeles, claro/oscuro, elemento de inicio de sesión, Sparkle, scripts de firma y notarización
+- [x] Importación y exportación en JSON / Markdown, con copia de seguridad automática antes de importar
+- [ ] "Repetir última entrada" con un solo toque
+- [ ] Plantillas con variables (estilo `{{name}}`) — solo si se puede añadir sin ralentizar el enlace principal
+
+Consulta [docs/路线图与贡献指南.md](docs/路线图与贡献指南.md) para las reglas de priorización, [CHANGELOG.md](CHANGELOG.md) para lo que ya se ha publicado y los [issues](https://github.com/tytsxai/PromptPanel/issues) para la planificación pública.
+
+## Preguntas frecuentes
+
+Para una FAQ más extensa, consulta [FAQ.md](docs/FAQ.md). Las más destacadas:
+
+### ¿PromptPanel es gratis?
+
+Sí. Licencia MIT. Sin plan de pago, sin límite de uso, sin cuenta.
+
+### ¿Funciona con Apple Silicon (M1/M2/M3/M4)?
+
+Sí — se compila como binario universal. Probado tanto en Apple Silicon como en Intel con macOS 14+.
+
+### ¿Envía mis prompts a algún sitio?
+
+No. La versión actual no hace ninguna llamada de red. Sparkle viene incluido, pero el feed de actualización no está configurado en esta compilación, así que no ocurre ningún tráfico saliente en absoluto. El contenido de tus prompts nunca sale de tu Mac.
+
+### ¿Por qué pide el permiso de Accessibility?
+
+Para sintetizar una pulsación `⌘V` después de que el panel se oculte y tu app anterior recupere el foco. Sin este permiso la app sigue funcionando — simplemente se detiene en el paso del portapapeles y te muestra un aviso "pulsa ⌘V para pegar".
+
+### ¿Añadiréis sincronización en la nube / uso compartido en equipo / flujos de trabajo?
+
+No, deliberadamente. Están listados como **no-objetivos permanentes** en el [PRD §4.2](docs/项目快贴-PRD.md). La identidad del producto es "un solo usuario, solo local, rápido". Añadir cualquiera de ellos cambiaría lo que es el producto.
+
+### ¿Por qué no Electron / Tauri?
+
+Los caminos más críticos de este producto (temporización del atajo global, restauración del foco, inyección de pulsaciones sintéticas, flujo de permisos de accessibility) son cuestiones de integración con el sistema de macOS. Una capa multiplataforma añade latencia e indirección sin aportar ninguna función que importe para este producto. Consulta [docs/技术选型.md](docs/技术选型.md) para el razonamiento completo.
+
+### ¿Cómo reporto un error o solicito una función?
+
+Abre un issue:
+
+
|
|
+| Panneau réduit — empreinte compacte au-dessus de tout éditeur | Réglages — préférences, permissions, maintenance |
+|
|
|
+
+## Comment ça fonctionne ?
+
+```
+ ┌──────────────┐ hotkey ┌──────────────┐ select ┌──────────────┐
+ │ any app │ ──────────► │ PromptPanel │ ──────────► │ clipboard │
+ │ (ChatGPT, │ (global) │ NSPanel │ (Enter) │ (write) │
+ │ Claude, │ │ │ └──────┬───────┘
+ │ Cursor…) │ ◄──────────── │ │ │
+ └──────────────┘ paste / focus└──────────────┘ │
+ ▲ restored │
+ └────────── CGEvent ⌘V (Accessibility permission) ◄───────────┘
+ fallback: clipboard only + toast
+```
+
+1. Vous appuyez sur le raccourci configuré (la bibliothèque `KeyboardShortcuts` le capture à l'échelle du système).
+2. PromptPanel place un `NSPanel` au-dessus de la fenêtre active, met le champ de recherche au point, et affiche les entrées du projet courant plus celles du projet `Universal`, triées par épinglage → manuel → récence → nombre d'utilisations.
+3. Vous tapez pour filtrer (en direct, sans validation), utilisez les flèches pour choisir, appuyez sur `Enter`.
+4. Le contenu sélectionné est **toujours** d'abord écrit dans le presse-papiers du système (c'est la garantie — le presse-papiers n'échoue jamais en silence).
+5. Le panneau se masque, l'application précédente reprend la mise au point, et PromptPanel synthétise un `⌘V` via `CGEvent`. Si la permission Accessibility est absente ou si l'application cible bloque les événements synthétiques, un toast vous indique « Copié — appuyez sur ⌘V pour coller ».
+6. L'exécution est journalisée localement afin que vous puissiez diagnostiquer plus tard tout problème de collage propre à une application.
+
+Cette séparation — **le presse-papiers comme garantie, le collage automatique en meilleur effort** — est la décision de conception la plus importante du projet.
+
+## Installation
+
+> **Prérequis système :** macOS 14 (Sonoma) ou version ultérieure. Apple Silicon et Intel sont tous deux pris en charge.
+
+### Option A — Compiler depuis les sources (voie actuelle en pré-version)
+
+```bash
+# 1. Clone
+git clone https://github.com/tytsxai/PromptPanel.git
+cd PromptPanel
+
+# 2. Build the .app bundle (signed ad-hoc by default)
+./scripts/build-app.sh
+
+# 3. Move it into Applications (or run from dist/)
+open dist/PromptPanel.app
+```
+
+Prérequis pour la compilation :
+
+- Xcode 15+ avec le SDK macOS 14
+- Chaîne d'outils Swift 5.10 (`xcrun swift --version`)
+
+### Option B — Version signée et notarisée
+
+Les GitHub Releases ne contiennent actuellement que des notes de version portant sur les sources et la documentation ; aucun binaire notarisé n'y est encore attaché. Tant que la chaîne de notarisation Developer ID n'est pas complète, compilez localement avec `./scripts/build-app.sh`.
+
+### Configuration au premier lancement
+
+1. **Accordez la permission Accessibility** lorsque la demande apparaît. macOS s'en sert pour autoriser les frappes synthétiques `⌘V`. Sans elle, PromptPanel copie tout de même de façon fiable dans le presse-papiers ; il vous suffit de coller manuellement.
+2. **Définissez votre raccourci** dans Settings → Hotkey. La valeur par défaut actuelle est `⌥2` ; choisissez un autre raccourci s'il entre en conflit avec votre configuration.
+3. **Créez un projet** ou commencez à ajouter des entrées à `Universal`.
+
+## Démarrage rapide
+
+```text
+1. ⌥2 → panel appears, search field focused
+2. type "review" → filters to your code-review prompt
+3. ↵ → content pasted into the active text field
+4. (panel hides) → keep working
+```
+
+Vous pouvez changer de projet actif depuis l'intérieur du panneau sans ouvrir la fenêtre principale — au clavier uniquement, sans détour.
+
+## Configuration
+
+| Réglage | Emplacement | Notes |
+|---|---|---|
+| Raccourci global | Settings → Hotkey | Un seul raccourci. Comportement de bascule : la même touche ferme |
+| Thème | Settings → Appearance | Clair / sombre / suivre le système |
+| Lancement à l'ouverture de session | Settings → General | Utilise `SMAppService` |
+| Canal de mise à jour | GitHub Releases (manuel) | Sparkle 2 est intégré mais désactivé tant qu'un appcast signé n'est pas hébergé ; abonnez-vous aux notifications de version et remplacez le `.app` |
+| Emplacement de la base de données | `~/Library/Application Support/PromptPanel/promptpanel.db` | SQLite mono-fichier, facile à sauvegarder |
+| Journaux | `~/Library/Logs/PromptPanel/` | Inspectés via la « Runtime Health » de la fenêtre principale |
+
+## Confidentialité & données
+
+- **Local-first par définition.** Vos prompts résident dans un unique fichier SQLite sur votre Mac. L'application ne fait aucun POST de votre contenu où que ce soit.
+- **Aucune télémétrie.** Aucun SDK d'analytics, aucun point de terminaison de métriques, aucun service de rapport de crash.
+- **L'accès réseau** est nul dans la version actuelle. Sparkle est fourni mais le flux de mise à jour n'est pas configuré, donc aucun appel sortant n'a lieu, sauf si une future version embarque un appcast.
+- **Aucun compte.** Il n'y a rien où se connecter.
+- **Open source.** Auditez `Sources/PromptPanel/Core/` pour vérifier tout ce qui précède.
+
+Si vos prompts contiennent des informations propriétaires — architecture interne, briefs clients, contexte soumis à un NDA — c'est exactement la propriété que vous recherchez.
+
+## Comment PromptPanel se compare-t-il aux alternatives ?
+
+> Une orientation rapide, pas un dénigrement. Ces outils sont bons dans ce qu'ils font.
+
+| | **PromptPanel** | TextExpander | Espanso | Raycast Snippets | Alfred Snippets | Extensions de prompts pour navigateur |
+|---|:---:|:---:|:---:|:---:|:---:|:---:|
+| Open source | ✅ MIT | ❌ | ✅ GPLv3 | Partiel | ❌ | variable |
+| Natif macOS (sans Electron / runtime web) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| Fonctionne dans toute application (pas seulement le navigateur) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| Interface panneau de recherche rapide (pas seulement des chaînes de déclenchement) | ✅ | partiel | ❌ | ✅ | ✅ | variable |
+| Isolation par projet / contexte | ✅ de premier ordre | groupes | dossiers | dossiers | dossiers | rare |
+| Flux 100 % clavier | ✅ | partiel | ✅ | ✅ | ✅ | variable |
+| Option 100 % locale / sans cloud | ✅ par défaut | optionnelle, les paliers payants poussent vers le cloud | ✅ | compte requis | ✅ | généralement cloud |
+| Gratuit | ✅ | $$$ | ✅ | freemium | nécessite Powerpack | variable |
+| Conçu spécifiquement autour du flux de travail des prompts IA | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ mais navigateur uniquement |
+
+**En résumé :** si vous vivez uniquement dans le navigateur, une extension de navigateur convient. Si vous vivez dans Cursor/VS Code/Terminal/Slack/partout, il vous faut quelque chose de natif et basé sur un panneau. Parmi les options natives basées sur un panneau, PromptPanel est celle qui est open source et taillée pour les prompts IA.
+
+## Exemples de flux de travail
+
+Des façons concrètes dont les gens utilisent PromptPanel au quotidien — elles font aussi office de questions « comment faire pour... » de longue traîne auxquelles PromptPanel est conçu pour répondre.
+
+- **Lancer une nouvelle conversation ChatGPT / Claude avec votre role / system prompt standard.** Raccourci → tapez `role` → Enter. Fini de retaper « You are a senior staff engineer who... » pour la 200e fois.
+- **Insérer un bloc de contexte de projet Cursor / Copilot dans un nouveau fichier.** Stockez une seule fois un bloc de plusieurs paragraphes « voici l'architecture, les conventions et les contraintes » ; collez-le dans toute nouvelle session Cursor en une frappe.
+- **Coller une checklist de revue de code dans un brouillon de PR.** La longue liste à puces vit dans PromptPanel ; un raccourci l'ajoute à la description d'une PR GitHub.
+- **Déclencher une commande de terminal répétitive avec la combinaison de flags exacte.** `kubectl get pods --context=prod --namespace=… -o jsonpath=…` — tapée une fois, stockée, invoquée par une courte chaîne de recherche.
+- **Insérer un template de notes de réunion dans Notion / Obsidian / Apple Notes.** Le même template à chaque standup du lundi → un raccourci, zéro copier-coller depuis un bloc-notes.
+- **Envoyer un template de réponse service client / commercial dans Slack ou par e-mail.** Un ton différent par template, choisi depuis un panneau de recherche rapide plutôt que dans un dossier de notes.
+- **Basculer entre des projets aux jeux de prompts isolés.** Chaque groupe de projet conserve ses propres role prompts, snippets et templates pour que le contexte ne déborde jamais d'un client à l'autre.
+
+## Pile technique
+
+- **Langage :** Swift 5.10
+- **Interface :** AppKit (`NSPanel`, `NSStatusItem`) + SwiftUI
+- **Stockage :** SQLite via [GRDB.swift](https://github.com/groue/GRDB.swift)
+- **Raccourci :** [sindresorhus/KeyboardShortcuts](https://github.com/sindresorhus/KeyboardShortcuts) (Carbon Hot Key sous le capot)
+- **Collage automatique :** `CGEvent` synthétisant ⌘V après restauration de la mise au point
+- **Élément d'ouverture de session :** `SMAppService`
+- **Mise à jour :** [Sparkle 2](https://sparkle-project.org/)
+- **Distribution :** Developer ID + notarisation Apple (pas de Mac App Store)
+- **Compilation :** Swift Package Manager — aucun projet Xcode requis
+
+Voir [docs/技术选型.md](docs/技术选型.md) pour le journal de décision complet.
+
+## Structure du projet
+
+```
+PromptPanel/
+├── Sources/PromptPanel/
+│ ├── App/ # AppDelegate, AppState, lifecycle
+│ ├── Core/
+│ │ ├── Database/ # SQLite open / migrate / recover
+│ │ ├── Repositories/ # Project, Entry, Settings, Log
+│ │ ├── Services/ # PanelService, ExecuteService, SearchService…
+│ │ ├── Diagnostics/ # Hotkey-to-focus timing
+│ │ └── Utils/
+│ ├── Integrations/ # Clipboard, Paste (CGEvent), Tray, Hotkey, Updater
+│ ├── Features/
+│ │ ├── Panel/ # QuickPanelView + ViewModel — the hero feature
+│ │ └── MainWindow/ # Library + Settings
+│ └── Resources/ # Info.plist, entitlements, AppIcon, Assets
+├── Tests/PromptPanelTests/
+├── frontend-draft/ # UI source-of-truth (HTML/JSX mockups + screenshots)
+├── scripts/ # build-app.sh, notarize, release readiness, restore
+├── docs/ # public architecture, FAQ, PRD, release, ops, handoff docs
+├── .github/ # contribution, security, conduct, issue/PR templates, CI
+├── llms.txt # short AI-search / LLM-readable project index
+├── codemeta.json # structured open-source software metadata
+└── Package.swift # SwiftPM package definition
+```
+
+## Documentation
+
+L'ensemble de la documentation publique fait partie du dépôt :
+
+- [Index de la documentation](docs/README.md)
+- [FAQ](docs/FAQ.md)
+- [PRD produit](docs/项目快贴-PRD.md)
+- [Présentation du projet](docs/项目介绍.md)
+- [Architecture](docs/架构说明.md)
+- [Modules et logique de base](docs/关键模块与核心逻辑.md)
+- [Contrat d'API et de fonctionnalités](docs/API与功能说明.md)
+- [Configuration](docs/配置说明.md)
+- [Déploiement](docs/部署说明.md)
+- [Normes de développement](docs/开发规范.md)
+- [Exemples d'utilisation](docs/使用示例.md)
+- [Exploitation et dépannage](docs/运维与排错指南.md)
+- [Guide de transfert au mainteneur](docs/接手维护指南.md)
+- [Matrice de synchronisation docs/code](docs/文档与代码同步矩阵.md)
+- [Publication et récupération](docs/生产发布与恢复手册.md)
+- [Feuille de route et guide de contribution](docs/路线图与贡献指南.md)
+- [Recherche IA et découvrabilité](docs/ai-search-discoverability.md)
+- [Contexte LLM complet](docs/ai-search/llms-full.txt)
+- [Métadonnées de recherche JSON-LD](docs/search-metadata.schema.jsonld)
+- [Contribuer](.github/CONTRIBUTING.md)
+- [Sécurité](.github/SECURITY.md)
+- [Métadonnées logicielles CodeMeta](codemeta.json)
+
+Pour les moteurs de réponse et les outils IA conscients du dépôt, commencez par [llms.txt](llms.txt) ou par la version étendue [llms-full.txt](docs/ai-search/llms-full.txt).
+
+## Recherche et découvrabilité par l'IA
+
+PromptPanel conserve les surfaces classiques de SEO et de GEO dans le dépôt afin que les utilisateurs et les moteurs de réponse puissent identifier le projet avec précision :
+
+- `README.md` et `README.zh-CN.md` fournissent le résumé de landing-page destiné aux humains et les captures d'écran actuelles.
+- [llms.txt](llms.txt) est l'index court lisible par l'IA pour les outils conscients du dépôt.
+- [docs/ai-search/llms-full.txt](docs/ai-search/llms-full.txt) est le contexte étendu pour moteurs de réponse, avec des réponses de style FAQ.
+- [codemeta.json](codemeta.json) et [Schema.org JSON-LD](docs/search-metadata.schema.jsonld) décrivent l'application pour les catalogues de logiciels, les robots d'indexation et la future publication d'un site de documentation.
+- [Recherche IA et découvrabilité](docs/ai-search-discoverability.md) définit la formulation canonique, la carte des intentions de recherche et la checklist de maintenance.
+
+## Feuille de route
+
+PromptPanel suit une feuille de route **délibérément réduite**. Le PRD liste les éléments explicitement écartés pour toujours (synchronisation cloud, équipes, orchestration de workflows). Dans le périmètre :
+
+- [x] v1.0 — chaîne principale complète : raccourci → recherche → exécution, projets, repli presse-papiers, clair/sombre, élément d'ouverture de session, Sparkle, scripts de signature et de notarisation
+- [x] Import et export JSON / Markdown, avec sauvegarde automatique avant import
+- [ ] « Répéter la dernière entrée » en un geste
+- [ ] Templates avec variables (style `{{name}}`) — uniquement si cela peut être ajouté sans ralentir la chaîne principale
+
+Voir [docs/路线图与贡献指南.md](docs/路线图与贡献指南.md) pour les règles de priorisation, [CHANGELOG.md](CHANGELOG.md) pour ce qui a été livré, et les [issues](https://github.com/tytsxai/PromptPanel/issues) pour la planification publique.
+
+## Questions fréquentes
+
+Pour une FAQ plus complète, voir [FAQ.md](docs/FAQ.md). Les incontournables :
+
+### PromptPanel est-il gratuit ?
+
+Oui. Licence MIT. Pas de palier payant, pas de plafond d'utilisation, pas de compte.
+
+### Fonctionne-t-il avec Apple Silicon (M1/M2/M3/M4) ?
+
+Oui — il se compile en binaire universel. Testé à la fois sur Apple Silicon et Intel sous macOS 14+.
+
+### Envoie-t-il mes prompts où que ce soit ?
+
+Non. La version actuelle ne fait aucun appel réseau. Sparkle est fourni mais le flux de mise à jour n'est pas configuré dans cette build, donc aucun trafic sortant n'a lieu. Le contenu de vos prompts ne quitte jamais votre Mac.
+
+### Pourquoi demande-t-il la permission Accessibility ?
+
+Pour synthétiser une frappe `⌘V` après que le panneau s'est masqué et que votre application précédente a repris la mise au point. Sans cette permission, l'application fonctionne tout de même — elle s'arrête simplement à l'étape du presse-papiers et vous affiche un toast « appuyez sur ⌘V pour coller ».
+
+### Ajouterez-vous la synchronisation cloud / le partage d'équipe / les workflows ?
+
+Non, délibérément. Ceux-ci sont listés comme **non-objectifs permanents** dans le [PRD §4.2](docs/项目快贴-PRD.md). L'identité du produit est « mono-utilisateur, purement local, rapide ». Ajouter l'un d'eux changerait la nature même du produit.
+
+### Pourquoi pas Electron / Tauri ?
+
+Les chemins les plus critiques de ce produit (timing du raccourci global, restauration de la mise au point, injection de frappes synthétiques, flux de permission Accessibility) relèvent de l'intégration au système macOS. Une coque multiplateforme ajoute de la latence et de l'indirection sans apporter aucune fonctionnalité qui compte pour ce produit. Voir [docs/技术选型.md](docs/技术选型.md) pour le raisonnement complet.
+
+### Comment signaler un bug ou demander une fonctionnalité ?
+
+Ouvrez une issue :
+
+
|
|
+| 小型パネル — 任意のエディタ上でコンパクトな占有面積 | 設定 — 環境設定、権限、メンテナンス |
+|
|
|
+
+## どのように動作するか? / How does it work?
+
+```
+ ┌──────────────┐ hotkey ┌──────────────┐ select ┌──────────────┐
+ │ any app │ ──────────► │ PromptPanel │ ──────────► │ clipboard │
+ │ (ChatGPT, │ (global) │ NSPanel │ (Enter) │ (write) │
+ │ Claude, │ │ │ └──────┬───────┘
+ │ Cursor…) │ ◄──────────── │ │ │
+ └──────────────┘ paste / focus└──────────────┘ │
+ ▲ restored │
+ └────────── CGEvent ⌘V (Accessibility permission) ◄───────────┘
+ fallback: clipboard only + toast
+```
+
+1. 設定したホットキーを押す(`KeyboardShortcuts` ライブラリがシステム全体でキャプチャ)。
+2. PromptPanel がアクティブウィンドウ上に `NSPanel` を表示し、検索欄にフォーカスして、現在のプロジェクトと `Universal` プロジェクトのエントリを、ピン → 手動 → 最近使用 → 使用回数の順にソートして表示する。
+3. 入力してフィルタリング(ライブ、送信不要)、矢印キーで選択し、`Enter` を押す。
+4. 選択した内容は **常に** まずシステムクリップボードに書き込まれる(これが保証であり、クリップボードは無言で失敗しない)。
+5. パネルが隠れ、前のアプリがフォーカスを取り戻し、PromptPanel が `CGEvent` 経由で `⌘V` を合成する。Accessibility 権限がない、またはターゲットアプリが合成イベントをブロックする場合は、「Copied — press ⌘V to paste.」というトーストが表示される。
+6. 実行はローカルにログされるので、後からアプリごとの貼り付け問題を診断できる。
+
+この分離 — **クリップボードは保証、自動貼り付けはベストエフォート** — こそが、このプロジェクトで最も重要な設計判断です。
+
+## インストール
+
+> **システム要件:** macOS 14 (Sonoma) 以降。Apple Silicon と Intel の両方に対応。
+
+### 選択肢 A — ソースからビルド(プレリリース中の現在の方法)
+
+```bash
+# 1. Clone
+git clone https://github.com/tytsxai/PromptPanel.git
+cd PromptPanel
+
+# 2. Build the .app bundle (signed ad-hoc by default)
+./scripts/build-app.sh
+
+# 3. Move it into Applications (or run from dist/)
+open dist/PromptPanel.app
+```
+
+ビルドの要件:
+
+- macOS 14 SDK を含む Xcode 15+
+- Swift 5.10 ツールチェイン(`xcrun swift --version`)
+
+### 選択肢 B — 署名済み・公証済みリリース
+
+GitHub Releases には現在、ソース/ドキュメントのリリースノートのみが含まれており、公証済みバイナリアセットはまだ添付されていません。Developer ID の公証チェーンが完成するまでは、`./scripts/build-app.sh` でローカルにビルドしてください。
+
+### 初回起動時のセットアップ
+
+1. **Accessibility 権限を付与する** — プロンプトが表示されたら許可する。macOS はこれを使って合成 `⌘V` キーストロークを許可します。権限がなくても PromptPanel は確実にクリップボードへコピーします。手動で貼り付けるだけです。
+2. **ホットキーを設定する** — 設定 → Hotkey で行います。現在の既定値は `⌥2` です。環境と競合する場合は別のショートカットを選んでください。
+3. **プロジェクトを作成する** か、`Universal` にエントリを追加し始めます。
+
+## クイックスタート / Quick start
+
+```text
+1. ⌥2 → panel appears, search field focused
+2. type "review" → filters to your code-review prompt
+3. ↵ → content pasted into the active text field
+4. (panel hides) → keep working
+```
+
+メインウィンドウを開かずに、パネル内からアクティブなプロジェクトを切り替えられます。キーボードのみで、回り道はありません。
+
+## 設定 / Configuration
+
+| 設定 | 場所 | 備考 |
+|---|---|---|
+| グローバルホットキー | 設定 → Hotkey | ショートカットは 1 つ。トグル動作: 同じキーで閉じる |
+| テーマ | 設定 → Appearance | ライト / ダーク / システムに追従 |
+| ログイン時に起動 | 設定 → General | `SMAppService` を使用 |
+| アップデートチャネル | GitHub Releases(手動) | Sparkle 2 は組み込み済みだが、署名済み appcast がホストされるまで無効。リリース通知を購読し、`.app` を差し替える |
+| データベースの場所 | `~/Library/Application Support/PromptPanel/promptpanel.db` | 単一ファイルの SQLite、バックアップが容易 |
+| ログ | `~/Library/Logs/PromptPanel/` | メインウィンドウの「Runtime Health」から確認 |
+
+## プライバシーとデータ
+
+- **定義上ローカルファースト。** あなたのプロンプトは Mac 上の単一の SQLite ファイルに保存されます。アプリはあなたのコンテンツをどこにも POST しません。
+- **テレメトリなし。** 分析 SDK も、メトリクスのエンドポイントも、クラッシュレポートサービスもありません。
+- **ネットワークアクセス** は現在のリリースでゼロです。Sparkle はバンドルされていますが、アップデートフィードは設定されていないため、将来のビルドが appcast を同梱しない限り、外向きの通信は一切発生しません。
+- **アカウントなし。** サインインするものは何もありません。
+- **オープンソース。** 上記のいずれも `Sources/PromptPanel/Core/` を監査して検証できます。
+
+あなたのプロンプトに独自情報 — 社内アーキテクチャ、クライアント案件、NDA に縛られたコンテキスト — が含まれるなら、これこそがあなたが求める性質です。
+
+## PromptPanel は代替ツールとどう違うか? / How does PromptPanel compare to alternatives?
+
+> 素早い方向づけであり、けなすものではありません。これらのツールはそれぞれの分野で優れています。
+
+| | **PromptPanel** | TextExpander | Espanso | Raycast Snippets | Alfred Snippets | Browser prompt extensions |
+|---|:---:|:---:|:---:|:---:|:---:|:---:|
+| オープンソース | ✅ MIT | ❌ | ✅ GPLv3 | 部分的 | ❌ | まちまち |
+| macOS ネイティブ(Electron / Web ランタイムなし) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| 任意のアプリで動作(ブラウザだけでない) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| クイック検索パネル UI(トリガー文字列だけでない) | ✅ | 部分的 | ❌ | ✅ | ✅ | まちまち |
+| プロジェクト / コンテキスト分離 | ✅ ファーストクラス | グループ | フォルダ | フォルダ | フォルダ | まれ |
+| キーボードのみのフロー | ✅ | 部分的 | ✅ | ✅ | ✅ | まちまち |
+| ローカル専用 / クラウドなしの選択肢 | ✅ 既定 | 任意、有料プランはクラウドへ誘導 | ✅ | アカウント必須 | ✅ | 通常クラウド |
+| 無料 | ✅ | $$$ | ✅ | フリーミアム | Powerpack が必要 | まちまち |
+| AI プロンプトワークフロー専用に構築 | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ ただしブラウザ限定 |
+
+**要するに:** ブラウザの中だけで生きているなら、ブラウザ拡張機能で十分です。Cursor/VS Code/ターミナル/Slack/あらゆる場所で生きているなら、ネイティブでパネルベースのものが必要です。ネイティブでパネルベースの選択肢の中で、PromptPanel はオープンソースで AI プロンプトの形に沿ったものです。
+
+## ワークフローの例 / Workflow examples
+
+PromptPanel を日常でどう使うかの具体例です。これらは PromptPanel が答えるために作られた、ロングテールの「どうすれば…」という問いも兼ねています。
+
+- **標準の role / system prompt で新しい ChatGPT / Claude チャットを立ち上げる。** ホットキー → `role` と入力 → Enter。「あなたはシニアスタッフエンジニアで…」を 200 回目も打ち直す必要はもうありません。
+- **Cursor / Copilot のプロジェクトコンテキストブロックを新しいファイルに落とし込む。** 「これがアーキテクチャ、規約、制約です」という複数段落のブロックを一度保存しておき、任意の新しい Cursor セッションにワンキーで貼り付けます。
+- **コードレビューのチェックリストを PR ドラフトに貼り付ける。** 長い箇条書きのチェックリストを PromptPanel に置いておき、ひとつのホットキーで GitHub PR の説明に追加します。
+- **正確なフラグの組み合わせで繰り返しのターミナルコマンドを実行する。** `kubectl get pods --context=prod --namespace=… -o jsonpath=…` — 一度入力して保存し、短い検索文字列で呼び出します。
+- **議事録テンプレートを Notion / Obsidian / Apple Notes に挿入する。** 毎週月曜のスタンドアップで同じテンプレート → ひとつのホットキー、メモアプリのスクラッチパッドからのコピペはゼロ。
+- **カスタマーサービス / セールスの返信テンプレートを Slack やメールに送り込む。** テンプレートごとに異なるトーンを、メモフォルダではなくクイック検索パネルから選びます。
+- **分離されたプロンプトセットでプロジェクト間を切り替える。** 各プロジェクトグループが独自の role prompt、スニペット、テンプレートを保持するので、コンテキストがクライアント間で混ざりません。
+
+## 技術スタック / Tech stack
+
+- **言語:** Swift 5.10
+- **UI:** AppKit(`NSPanel`、`NSStatusItem`)+ SwiftUI
+- **ストレージ:** [GRDB.swift](https://github.com/groue/GRDB.swift) による SQLite
+- **ホットキー:** [sindresorhus/KeyboardShortcuts](https://github.com/sindresorhus/KeyboardShortcuts)(内部では Carbon Hot Key)
+- **自動貼り付け:** フォーカス復元後に ⌘V を合成する `CGEvent`
+- **ログイン項目:** `SMAppService`
+- **アップデーター:** [Sparkle 2](https://sparkle-project.org/)
+- **配布:** Developer ID + Apple 公証(Mac App Store なし)
+- **ビルド:** Swift Package Manager — Xcode プロジェクト不要
+
+完全な意思決定ログは [docs/技术选型.md](docs/技术选型.md) を参照してください。
+
+## プロジェクト構成 / Project layout
+
+```
+PromptPanel/
+├── Sources/PromptPanel/
+│ ├── App/ # AppDelegate, AppState, lifecycle
+│ ├── Core/
+│ │ ├── Database/ # SQLite open / migrate / recover
+│ │ ├── Repositories/ # Project, Entry, Settings, Log
+│ │ ├── Services/ # PanelService, ExecuteService, SearchService…
+│ │ ├── Diagnostics/ # Hotkey-to-focus timing
+│ │ └── Utils/
+│ ├── Integrations/ # Clipboard, Paste (CGEvent), Tray, Hotkey, Updater
+│ ├── Features/
+│ │ ├── Panel/ # QuickPanelView + ViewModel — the hero feature
+│ │ └── MainWindow/ # Library + Settings
+│ └── Resources/ # Info.plist, entitlements, AppIcon, Assets
+├── Tests/PromptPanelTests/
+├── frontend-draft/ # UI source-of-truth (HTML/JSX mockups + screenshots)
+├── scripts/ # build-app.sh, notarize, release readiness, restore
+├── docs/ # public architecture, FAQ, PRD, release, ops, handoff docs
+├── .github/ # contribution, security, conduct, issue/PR templates, CI
+├── llms.txt # short AI-search / LLM-readable project index
+├── codemeta.json # structured open-source software metadata
+└── Package.swift # SwiftPM package definition
+```
+
+## ドキュメント / Documentation
+
+公開ドキュメント一式はリポジトリの一部です。
+
+- [ドキュメント索引](docs/README.md)
+- [FAQ](docs/FAQ.md)
+- [プロダクト PRD](docs/项目快贴-PRD.md)
+- [プロジェクト紹介](docs/项目介绍.md)
+- [アーキテクチャ](docs/架构说明.md)
+- [コアモジュールとロジック](docs/关键模块与核心逻辑.md)
+- [API と機能仕様](docs/API与功能说明.md)
+- [設定](docs/配置说明.md)
+- [デプロイ](docs/部署说明.md)
+- [開発規約](docs/开发规范.md)
+- [使用例](docs/使用示例.md)
+- [運用とトラブルシューティング](docs/运维与排错指南.md)
+- [メンテナ引き継ぎガイド](docs/接手维护指南.md)
+- [ドキュメント/コード同期マトリクス](docs/文档与代码同步矩阵.md)
+- [リリースとリカバリ](docs/生产发布与恢复手册.md)
+- [ロードマップとコントリビューションガイド](docs/路线图与贡献指南.md)
+- [AI 検索とディスカバラビリティ](docs/ai-search-discoverability.md)
+- [完全な LLM コンテキスト](docs/ai-search/llms-full.txt)
+- [検索メタデータ JSON-LD](docs/search-metadata.schema.jsonld)
+- [コントリビュート](.github/CONTRIBUTING.md)
+- [セキュリティ](.github/SECURITY.md)
+- [CodeMeta ソフトウェアメタデータ](codemeta.json)
+
+回答エンジンやリポジトリを認識する AI ツール向けには、[llms.txt](llms.txt) または拡張版の [llms-full.txt](docs/ai-search/llms-full.txt) から始めてください。
+
+## 検索と AI ディスカバラビリティ / Search & AI Discoverability
+
+PromptPanel は、ユーザーと回答エンジンがプロジェクトを正確に識別できるよう、従来の SEO と GEO の面をリポジトリ内に保持しています。
+
+- `README.md` と `README.zh-CN.md` は、人間向けのランディングページ要約と最新のスクリーンショットを提供します。
+- [llms.txt](llms.txt) は、リポジトリを認識するツール向けの短い AI 可読索引です。
+- [docs/ai-search/llms-full.txt](docs/ai-search/llms-full.txt) は、FAQ 形式の回答を備えた拡張版の回答エンジン向けコンテキストです。
+- [codemeta.json](codemeta.json) と [Schema.org JSON-LD](docs/search-metadata.schema.jsonld) は、ソフトウェアカタログ、検索クローラー、将来のドキュメントサイト公開に向けてアプリを記述します。
+- [AI 検索とディスカバラビリティ](docs/ai-search-discoverability.md) は、正規の表現、検索意図マップ、メンテナンスチェックリストを定義します。
+
+## ロードマップ / Roadmap
+
+PromptPanel は **意図的に小さい** ロードマップに従います。PRD には、永久に対象外の項目(クラウド同期、チーム、ワークフローのオーケストレーション)が明記されています。スコープ内では:
+
+- [x] v1.0 — メインリンク完成: ホットキー → 検索 → 実行、プロジェクト、クリップボードフォールバック、ライト/ダーク、ログイン項目、Sparkle、署名・公証スクリプト
+- [x] JSON / Markdown インポート & エクスポート、インポート前の自動バックアップ付き
+- [ ] ワンタップの「最後のエントリを繰り返す」
+- [ ] 変数テンプレート(`{{name}}` 形式)— メインリンクを遅くせずに追加できる場合のみ
+
+優先順位付けのルールは [docs/路线图与贡献指南.md](docs/路线图与贡献指南.md)、出荷済みの内容は [CHANGELOG.md](CHANGELOG.md)、公開計画は [issues](https://github.com/tytsxai/PromptPanel/issues) を参照してください。
+
+## よくある質問 / Frequently asked questions
+
+より長い FAQ は [FAQ.md](docs/FAQ.md) を参照してください。ここではよくあるものを紹介します。
+
+### PromptPanel は無料ですか?
+
+はい。MIT ライセンスです。有料プランも、使用上限も、アカウントもありません。
+
+### Apple Silicon(M1/M2/M3/M4)で動作しますか?
+
+はい — ユニバーサルバイナリとしてビルドされます。Apple Silicon と Intel の macOS 14+ の両方でテスト済みです。
+
+### 私のプロンプトをどこかに送信しますか?
+
+いいえ。現在のリリースはネットワーク通信を一切行いません。Sparkle はバンドルされていますが、このビルドではアップデートフィードが設定されていないため、外向きのトラフィックはまったく発生しません。あなたのプロンプトの内容が Mac の外に出ることはありません。
+
+### なぜ Accessibility 権限を求めるのですか?
+
+パネルが隠れて前のアプリがフォーカスを取り戻した後に、`⌘V` キーストロークを合成するためです。この権限がなくてもアプリは動作します。クリップボードのステップで止まり、「press ⌘V to paste」というトーストを表示するだけです。
+
+### クラウド同期 / チーム共有 / ワークフローを追加しますか?
+
+いいえ、意図的にしません。それらは [PRD §4.2](docs/项目快贴-PRD.md) で **恒久的な非目標** として記載されています。プロダクトのアイデンティティは「シングルユーザー、ローカル専用、高速」です。そのいずれかを追加すると、プロダクトそのものが変わってしまいます。
+
+### なぜ Electron / Tauri ではないのですか?
+
+このプロダクトの最もホットなパス(グローバルホットキーのタイミング、フォーカス復元、合成キーストロークの注入、Accessibility 権限のフロー)は、macOS のシステム統合に関わる問題です。クロスプラットフォームのシェルは、このプロダクトで重要な機能を何も得られないまま、レイテンシと間接性を増やすだけです。完全な理由は [docs/技术选型.md](docs/技术选型.md) を参照してください。
+
+### バグ報告や機能リクエストはどうすればいいですか?
+
+issue を開いてください:
+
+
|
|
+| 더 작은 패널 — 임의의 에디터 위에 놓이는 컴팩트한 크기 | 설정 — 환경 설정, 권한, 유지 관리 |
+|
|
|
+
+## 어떻게 동작하나요?
+
+```
+ ┌──────────────┐ hotkey ┌──────────────┐ select ┌──────────────┐
+ │ any app │ ──────────► │ PromptPanel │ ──────────► │ clipboard │
+ │ (ChatGPT, │ (global) │ NSPanel │ (Enter) │ (write) │
+ │ Claude, │ │ │ └──────┬───────┘
+ │ Cursor…) │ ◄──────────── │ │ │
+ └──────────────┘ paste / focus└──────────────┘ │
+ ▲ restored │
+ └────────── CGEvent ⌘V (Accessibility permission) ◄───────────┘
+ fallback: clipboard only + toast
+```
+
+1. 설정된 단축키를 누릅니다(`KeyboardShortcuts` 라이브러리가 시스템 전역에서 캡처).
+2. PromptPanel이 활성 창 위에 `NSPanel`을 띄우고, 검색 필드에 포커스를 주며, 현재 프로젝트와 `Universal` 프로젝트의 항목을 고정 → 수동 → 최근순 → 사용 횟수 순으로 정렬해 표시합니다.
+3. 입력해 필터링하고(실시간, 제출 없음), 화살표로 선택한 뒤 `Enter`를 누릅니다.
+4. 선택된 콘텐츠는 **항상** 먼저 시스템 클립보드에 기록됩니다(이것이 보증입니다 — 클립보드는 절대 조용히 실패하지 않습니다).
+5. 패널이 숨겨지고, 이전 앱이 포커스를 되찾으며, PromptPanel이 `CGEvent`로 `⌘V`를 합성합니다. Accessibility 권한이 없거나 대상 앱이 합성 이벤트를 차단하면, "Copied — press ⌘V to paste."라는 토스트가 안내합니다.
+6. 실행은 로컬에 기록되므로 나중에 앱별 붙여넣기 문제를 진단할 수 있습니다.
+
+이 분리 — **보증으로서의 클립보드, 최선의 노력으로서의 자동 붙여넣기** — 는 이 프로젝트에서 가장 중요한 단일 설계 결정입니다.
+
+## 설치
+
+> **시스템 요구 사항:** macOS 14 (Sonoma) 이상. Apple Silicon과 Intel 모두 지원.
+
+### 옵션 A — 소스에서 빌드 (사전 릴리스 단계의 현재 경로)
+
+```bash
+# 1. Clone
+git clone https://github.com/tytsxai/PromptPanel.git
+cd PromptPanel
+
+# 2. Build the .app bundle (signed ad-hoc by default)
+./scripts/build-app.sh
+
+# 3. Move it into Applications (or run from dist/)
+open dist/PromptPanel.app
+```
+
+빌드에 필요한 것:
+
+- macOS 14 SDK를 포함한 Xcode 15+
+- Swift 5.10 툴체인 (`xcrun swift --version`)
+
+### 옵션 B — 서명 및 공증된 릴리스
+
+GitHub Releases는 현재 소스/문서 릴리스 노트만 담고 있으며, 공증된 바이너리 자산은 아직 첨부되지 않았습니다. Developer ID 공증 체인이 완료되기 전까지는 `./scripts/build-app.sh`로 로컬에서 빌드하세요.
+
+### 첫 실행 설정
+
+1. 안내가 나오면 **Accessibility 권한을 부여**하세요. macOS는 이를 통해 합성 `⌘V` 키 입력을 허용합니다. 권한이 없어도 PromptPanel은 여전히 클립보드에 안정적으로 복사하며, 붙여넣기만 수동으로 하면 됩니다.
+2. 설정 → Hotkey에서 **단축키를 지정**하세요. 현재 기본값은 `⌥2`이며, 설정과 충돌하면 다른 단축키를 고르세요.
+3. **프로젝트를 만들거나** `Universal`에 항목 추가를 시작하세요.
+
+## 빠른 시작
+
+```text
+1. ⌥2 → panel appears, search field focused
+2. type "review" → filters to your code-review prompt
+3. ↵ → content pasted into the active text field
+4. (panel hides) → keep working
+```
+
+메인 창을 열지 않고도 패널 안에서 활성 프로젝트를 전환할 수 있습니다 — 키보드만으로, 우회 없이.
+
+## 구성
+
+| 설정 | 위치 | 비고 |
+|---|---|---|
+| 전역 단축키 | 설정 → Hotkey | 단축키 하나. 토글 동작: 같은 키로 닫힘 |
+| 테마 | 설정 → Appearance | 라이트 / 다크 / 시스템 따르기 |
+| 로그인 시 실행 | 설정 → General | `SMAppService` 사용 |
+| 업데이트 채널 | GitHub Releases (수동) | Sparkle 2가 연결되어 있으나 서명된 appcast가 호스팅되기 전까지는 비활성. 릴리스 알림을 구독하고 `.app`을 교체하세요 |
+| 데이터베이스 위치 | `~/Library/Application Support/PromptPanel/promptpanel.db` | 단일 파일 SQLite, 백업이 쉬움 |
+| 로그 | `~/Library/Logs/PromptPanel/` | 메인 창의 "Runtime Health"에서 확인 |
+
+## 개인정보 및 데이터
+
+- **정의상 로컬 우선.** 여러분의 프롬프트는 Mac의 단일 SQLite 파일에 저장됩니다. 앱은 여러분의 콘텐츠를 어디에도 POST하지 않습니다.
+- **텔레메트리 없음.** 분석 SDK 없음, 메트릭 엔드포인트 없음, 크래시 리포팅 서비스 없음.
+- **네트워크 접근**은 현재 릴리스에서 제로입니다. Sparkle이 번들되어 있으나 업데이트 피드가 구성되어 있지 않으므로, 향후 빌드에 appcast가 포함되지 않는 한 아웃바운드 호출은 전혀 발생하지 않습니다.
+- **계정 없음.** 로그인할 대상이 아무것도 없습니다.
+- **오픈 소스.** 위 내용을 검증하려면 `Sources/PromptPanel/Core/`를 감사하세요.
+
+여러분의 프롬프트에 독점 정보 — 내부 아키텍처, 고객 브리프, NDA로 묶인 컨텍스트 — 가 담겨 있다면, 바로 이 특성이 여러분이 원하는 것입니다.
+
+## PromptPanel은 대안들과 어떻게 비교되나요?
+
+> 빠른 이해를 돕기 위한 것이지 깎아내리는 것이 아닙니다. 이 도구들은 각자 잘하는 일이 있습니다.
+
+| | **PromptPanel** | TextExpander | Espanso | Raycast Snippets | Alfred Snippets | Browser prompt extensions |
+|---|:---:|:---:|:---:|:---:|:---:|:---:|
+| 오픈 소스 | ✅ MIT | ❌ | ✅ GPLv3 | 부분적 | ❌ | 다양함 |
+| macOS 네이티브 (Electron / 웹 런타임 없음) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| 모든 앱에서 동작 (브라우저만이 아님) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| 빠른 검색 패널 UI (트리거 문자열만이 아님) | ✅ | 부분적 | ❌ | ✅ | ✅ | 다양함 |
+| 프로젝트 / 컨텍스트 격리 | ✅ 일급 | 그룹 | 폴더 | 폴더 | 폴더 | 드묾 |
+| 키보드 전용 흐름 | ✅ | 부분적 | ✅ | ✅ | ✅ | 다양함 |
+| 로컬 전용 / 클라우드 없음 옵션 | ✅ 기본값 | 선택적, 유료 등급이 클라우드로 유도 | ✅ | 계정 필요 | ✅ | 대개 클라우드 |
+| 무료 | ✅ | $$$ | ✅ | 프리미엄 | Powerpack 필요 | 다양함 |
+| AI 프롬프트 워크플로에 특화되어 제작됨 | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ 단, 브라우저 전용 |
+
+**요약:** 브라우저에서만 산다면 브라우저 확장으로 충분합니다. Cursor/VS Code/Terminal/Slack/어디에서나 산다면, 네이티브이고 패널 기반인 것을 원할 것입니다. 네이티브 패널 기반 옵션 중에서 PromptPanel은 오픈 소스이면서 AI 프롬프트에 맞춰진 것입니다.
+
+## 워크플로 예시
+
+사람들이 PromptPanel을 매일 사용하는 구체적인 방법들 — 이는 PromptPanel이 답하기 위해 만들어진 롱테일 "어떻게 하나요…" 질문 역할도 겸합니다.
+
+- **표준 role / system prompt로 새 ChatGPT / Claude 대화를 시작합니다.** 단축키 → `role` 입력 → Enter. "You are a senior staff engineer who…"를 200번째로 다시 입력할 필요가 없습니다.
+- **Cursor / Copilot project-context 블록을 새 파일에 넣습니다.** 여러 문단짜리 "여기 아키텍처, 컨벤션, 제약이 있다" 블록을 한 번만 저장해 두고, 어떤 새 Cursor 세션에든 키 한 번으로 붙여넣습니다.
+- **코드 리뷰 체크리스트를 PR 초안에 붙여넣습니다.** 긴 불릿 체크리스트가 PromptPanel에 저장되어 있고, 단축키 하나로 GitHub PR 설명에 추가됩니다.
+- **정확한 플래그 조합으로 반복 터미널 명령을 실행합니다.** `kubectl get pods --context=prod --namespace=… -o jsonpath=…` — 한 번 입력해 저장하고, 짧은 검색 문자열로 불러냅니다.
+- **회의록 템플릿을 Notion / Obsidian / Apple Notes에 삽입합니다.** 매주 월요일 스탠드업마다 같은 템플릿 → 단축키 하나, 메모 앱 스크래치패드에서의 복사·붙여넣기 제로.
+- **고객 서비스 / 세일즈 답변 템플릿을 Slack이나 이메일에 넣습니다.** 템플릿마다 다른 어조를, 메모 폴더가 아니라 빠른 검색 패널에서 골라 씁니다.
+- **격리된 프롬프트 세트를 가진 프로젝트 간을 전환합니다.** 각 프로젝트 그룹이 자체 role prompts, snippets, templates를 유지하므로 컨텍스트가 고객 간에 절대 섞이지 않습니다.
+
+## 기술 스택
+
+- **언어:** Swift 5.10
+- **UI:** AppKit (`NSPanel`, `NSStatusItem`) + SwiftUI
+- **저장소:** [GRDB.swift](https://github.com/groue/GRDB.swift)를 통한 SQLite
+- **단축키:** [sindresorhus/KeyboardShortcuts](https://github.com/sindresorhus/KeyboardShortcuts) (내부적으로 Carbon Hot Key)
+- **자동 붙여넣기:** 포커스 복원 후 ⌘V를 합성하는 `CGEvent`
+- **로그인 항목:** `SMAppService`
+- **업데이터:** [Sparkle 2](https://sparkle-project.org/)
+- **배포:** Developer ID + Apple 공증 (Mac App Store 없음)
+- **빌드:** Swift Package Manager — Xcode 프로젝트 불필요
+
+전체 의사 결정 기록은 [docs/技术选型.md](docs/技术选型.md)를 참고하세요.
+
+## 프로젝트 구성
+
+```
+PromptPanel/
+├── Sources/PromptPanel/
+│ ├── App/ # AppDelegate, AppState, lifecycle
+│ ├── Core/
+│ │ ├── Database/ # SQLite open / migrate / recover
+│ │ ├── Repositories/ # Project, Entry, Settings, Log
+│ │ ├── Services/ # PanelService, ExecuteService, SearchService…
+│ │ ├── Diagnostics/ # Hotkey-to-focus timing
+│ │ └── Utils/
+│ ├── Integrations/ # Clipboard, Paste (CGEvent), Tray, Hotkey, Updater
+│ ├── Features/
+│ │ ├── Panel/ # QuickPanelView + ViewModel — the hero feature
+│ │ └── MainWindow/ # Library + Settings
+│ └── Resources/ # Info.plist, entitlements, AppIcon, Assets
+├── Tests/PromptPanelTests/
+├── frontend-draft/ # UI source-of-truth (HTML/JSX mockups + screenshots)
+├── scripts/ # build-app.sh, notarize, release readiness, restore
+├── docs/ # public architecture, FAQ, PRD, release, ops, handoff docs
+├── .github/ # contribution, security, conduct, issue/PR templates, CI
+├── llms.txt # short AI-search / LLM-readable project index
+├── codemeta.json # structured open-source software metadata
+└── Package.swift # SwiftPM package definition
+```
+
+## 문서
+
+공개 문서 세트는 저장소의 일부입니다.
+
+- [문서 색인](docs/README.md)
+- [FAQ](docs/FAQ.md)
+- [제품 PRD](docs/项目快贴-PRD.md)
+- [프로젝트 소개](docs/项目介绍.md)
+- [아키텍처](docs/架构说明.md)
+- [핵심 모듈과 로직](docs/关键模块与核心逻辑.md)
+- [API 및 기능 명세](docs/API与功能说明.md)
+- [구성](docs/配置说明.md)
+- [배포](docs/部署说明.md)
+- [개발 표준](docs/开发规范.md)
+- [사용 예시](docs/使用示例.md)
+- [운영 및 문제 해결](docs/运维与排错指南.md)
+- [관리자 인수인계 가이드](docs/接手维护指南.md)
+- [문서/코드 동기화 매트릭스](docs/文档与代码同步矩阵.md)
+- [릴리스 및 복구](docs/生产发布与恢复手册.md)
+- [로드맵 및 기여 가이드](docs/路线图与贡献指南.md)
+- [AI 검색 및 검색 노출](docs/ai-search-discoverability.md)
+- [전체 LLM 컨텍스트](docs/ai-search/llms-full.txt)
+- [검색 메타데이터 JSON-LD](docs/search-metadata.schema.jsonld)
+- [기여 안내](.github/CONTRIBUTING.md)
+- [보안](.github/SECURITY.md)
+- [CodeMeta 소프트웨어 메타데이터](codemeta.json)
+
+응답 엔진과 저장소 인식 AI 도구를 위해서는 [llms.txt](llms.txt) 또는 확장된 [llms-full.txt](docs/ai-search/llms-full.txt)에서 시작하세요.
+
+## Search & AI Discoverability
+
+PromptPanel은 사용자와 응답 엔진이 프로젝트를 정확히 식별할 수 있도록 전통적인 SEO와 GEO 표면을 저장소 안에 유지합니다.
+
+- `README.md`와 `README.zh-CN.md`는 사람이 보는 랜딩 페이지 요약과 최신 스크린샷을 제공합니다.
+- [llms.txt](llms.txt)는 저장소 인식 도구를 위한 짧은 AI 판독용 색인입니다.
+- [docs/ai-search/llms-full.txt](docs/ai-search/llms-full.txt)는 FAQ 형식의 답변을 담은 확장된 응답 엔진 컨텍스트입니다.
+- [codemeta.json](codemeta.json)과 [Schema.org JSON-LD](docs/search-metadata.schema.jsonld)는 소프트웨어 카탈로그, 검색 크롤러, 향후 문서 사이트 게시를 위해 앱을 설명합니다.
+- [AI 검색 및 검색 노출](docs/ai-search-discoverability.md)은 표준 표현, 검색 의도 지도, 유지 관리 체크리스트를 정의합니다.
+
+## 로드맵
+
+PromptPanel은 **의도적으로 작은** 로드맵을 따릅니다. PRD에는 영원히 논외인 항목(클라우드 동기화, 팀, 워크플로 오케스트레이션)이 나열되어 있습니다. 범위 안에서는:
+
+- [x] v1.0 — 메인 링크 완료: 단축키 → 검색 → 실행, 프로젝트, 클립보드 폴백, 라이트/다크, 로그인 항목, Sparkle, 서명 및 공증 스크립트
+- [x] JSON / Markdown 가져오기 및 내보내기, 가져오기 전 자동 백업
+- [ ] 원탭 "마지막 항목 반복"
+- [ ] 변수 템플릿 (`{{name}}` 형식) — 메인 링크를 느리게 하지 않고 추가할 수 있는 경우에만
+
+우선순위 규칙은 [docs/路线图与贡献指南.md](docs/路线图与贡献指南.md), 배포된 내용은 [CHANGELOG.md](CHANGELOG.md), 공개 계획은 [issues](https://github.com/tytsxai/PromptPanel/issues)를 참고하세요.
+
+## 자주 묻는 질문
+
+더 긴 FAQ는 [FAQ.md](docs/FAQ.md)를 참고하세요. 대표적인 질문들:
+
+### PromptPanel은 무료인가요?
+
+네. MIT 라이선스. 유료 등급 없음, 사용량 제한 없음, 계정 없음.
+
+### Apple Silicon (M1/M2/M3/M4)에서 동작하나요?
+
+네 — 유니버설 바이너리로 빌드됩니다. Apple Silicon과 Intel macOS 14+ 양쪽에서 테스트되었습니다.
+
+### 제 프롬프트를 어딘가로 전송하나요?
+
+아니요. 현재 릴리스는 네트워크 호출을 전혀 하지 않습니다. Sparkle이 번들되어 있지만 이 빌드에서는 업데이트 피드가 구성되어 있지 않아 아웃바운드 트래픽이 전혀 발생하지 않습니다. 여러분의 프롬프트 콘텐츠는 절대 Mac을 떠나지 않습니다.
+
+### 왜 Accessibility 권한을 요청하나요?
+
+패널이 숨겨지고 이전 앱이 포커스를 되찾은 뒤 `⌘V` 키 입력을 합성하기 위함입니다. 이 권한이 없어도 앱은 여전히 동작하며, 클립보드 단계에서 멈추고 "press ⌘V to paste" 토스트를 보여줄 뿐입니다.
+
+### 클라우드 동기화 / 팀 공유 / 워크플로를 추가할 건가요?
+
+아니요, 의도적으로 그렇습니다. 이들은 [PRD §4.2](docs/项目快贴-PRD.md)에 **영구적인 비목표**로 나열되어 있습니다. 제품의 정체성은 "단일 사용자, 로컬 전용, 빠름"입니다. 이 중 어느 것을 추가해도 제품이 무엇인지가 바뀝니다.
+
+### 왜 Electron / Tauri가 아닌가요?
+
+이 제품에서 가장 뜨거운 경로(전역 단축키 타이밍, 포커스 복원, 합성 키 입력 주입, Accessibility 권한 흐름)는 macOS 시스템 통합 문제입니다. 크로스 플랫폼 셸은 이 제품에 중요한 어떤 기능도 얻지 못한 채 지연과 간접 계층만 추가합니다. 전체 근거는 [docs/技术选型.md](docs/技术选型.md)를 참고하세요.
+
+### 버그를 신고하거나 기능을 요청하려면 어떻게 하나요?
+
+이슈를 여세요:
diff --git a/README.zh-CN.md b/README.zh-CN.md
index d77db42..d46d5cc 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -17,7 +17,9 @@ PromptPanel 是一款本地优先的 **macOS Prompt 管理器**、**AI Prompt
[](#隐私与数据)
[](.github/CONTRIBUTING.md)
-[**English**](README.md) · [**简体中文**](README.zh-CN.md) · [**FAQ**](docs/FAQ.md) · [**文档**](docs/README.md) · [**LLM 索引**](llms.txt) · [**变更记录**](CHANGELOG.md) · [**贡献指南**](.github/CONTRIBUTING.md)
+[English](README.md) · [**简体中文**](README.zh-CN.md) · [繁體中文](README.zh-TW.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Español](README.es.md) · [Français](README.fr.md) · [Deutsch](README.de.md)
+
+[**FAQ**](docs/FAQ.md) · [**文档**](docs/README.md) · [**LLM 索引**](llms.txt) · [**变更记录**](CHANGELOG.md) · [**贡献指南**](.github/CONTRIBUTING.md)
diff --git a/README.zh-TW.md b/README.zh-TW.md
new file mode 100644
index 0000000..4a725d5
--- /dev/null
+++ b/README.zh-TW.md
@@ -0,0 +1,378 @@
+
+
+
|
|
+| 小尺寸面板 — 浮在任意編輯器上方 | 設定 — 偏好、權限、維護 |
+|
|
|
+
+## 運作原理
+
+```
+ ┌──────────────┐ 快捷键 ┌──────────────┐ 回车 ┌──────────────┐
+ │ 任意应用 │ ──────────► │ PromptPanel │ ──────────► │ 剪贴板 │
+ │ ChatGPT │ (全局) │ NSPanel │ (执行) │ 写入 │
+ │ Claude │ │ │ └──────┬───────┘
+ │ Cursor…… │ ◄──────────── │ │ │
+ └──────────────┘ 面板退场 └──────────────┘ │
+ ▲ 前台焦点恢复 │
+ └────────── CGEvent ⌘V (需辅助功能权限) ◄──────────────────┘
+ 失败时:仅剪贴板 + Toast 提示
+```
+
+1. 你按下設定的快捷鍵(`KeyboardShortcuts` 在系統層捕獲)
+2. PromptPanel 把 `NSPanel` 彈到目前視窗上方,自動聚焦搜尋框,按「置頂 → 手動排序 → 最近使用 → 使用次數」展示目前專案 + `通用專案` 詞條
+3. 你打字過濾(即時,無需提交),方向鍵選擇,Enter
+4. **永遠先把內容寫進系統剪貼簿**——這是產品的硬承諾,剪貼簿這一步絕不靜默失敗
+5. 面板退場,前一個 app 恢復焦點,PromptPanel 用 `CGEvent` 合成一次 `⌘V`。如果 Accessibility 權限缺失或目標 app 屏蔽合成事件,會有 Toast 告訴你「已複製,按 ⌘V 貼上即可」
+6. 執行結果會寫日誌,方便你後續排查特定 app 的相容性問題
+
+**剪貼簿是承諾,自動貼上是盡力而為**——這是整個專案最重要的設計決定。
+
+## 安裝
+
+> **系統要求**:macOS 14 (Sonoma) 及以上,Apple Silicon 與 Intel 都支援。
+
+### 方式 A · 從原始碼建置(目前推薦)
+
+```bash
+# 1. 克隆
+git clone https://github.com/tytsxai/PromptPanel.git
+cd PromptPanel
+
+# 2. 打 .app 包(默认 ad-hoc 签名)
+./scripts/build-app.sh
+
+# 3. 直接运行,或拖进 /Applications
+open dist/PromptPanel.app
+```
+
+建置依賴:
+
+- Xcode 15+(含 macOS 14 SDK)
+- Swift 5.10 工具鏈(`xcrun swift --version` 檢查)
+
+### 方式 B · 已簽名 / 已公證的發布版
+
+目前 GitHub Releases 只承載原始碼 / 文件發布說明,尚未附帶公證二進位產物。Developer ID 公證鏈路補齊前,先用 `./scripts/build-app.sh` 本地建置。
+
+### 首次執行
+
+1. **授予 Accessibility 權限**:用於合成 `⌘V` 模擬按鍵。不授予也能用,只是主鏈路停在剪貼簿那一步、需要你手動貼上
+2. **設定快捷鍵**:目前預設是 `⌥2`;如果與你自己的快捷鍵衝突,可以在設定裡改掉
+3. **新建一個專案**或者直接往 `通用專案` 裡加詞條
+
+## 快速上手
+
+```text
+1. ⌥2 → 面板浮现,搜索框自动聚焦
+2. 输入 "review" → 过滤到你的代码评审模板
+3. ↵ → 内容粘贴进当前输入框
+4. (面板退场) → 继续手头工作
+```
+
+切換目前專案可以直接在面板內完成,不必打開主視窗——純鍵盤,零繞路。
+
+## 設定
+
+| 設定項 | 位置 | 說明 |
+|---|---|---|
+| 全域快捷鍵 | 設定 → 快捷鍵 | 同一組合再按一次會關閉面板 |
+| 主題 | 設定 → 外觀 | 淺色 / 深色 / 跟隨系統 |
+| 開機啟動 | 設定 → 通用 | 基於 `SMAppService` |
+| 更新通道 | GitHub Releases(手動) | Sparkle 2 已接入但目前發布未設定 appcast,訂閱 Releases 後手動替換 `.app` 即可 |
+| 資料庫位置 | `~/Library/Application Support/PromptPanel/promptpanel.db` | 單檔案,方便備份 |
+| 日誌 | `~/Library/Logs/PromptPanel/` | 主視窗「執行健康」也能查看 |
+
+## 隱私與資料
+
+- **本地優先是定義本身**:所有 Prompt 在你 Mac 的一個 SQLite 檔案裡,內文絕不上傳任何地方
+- **零遙測**:沒有埋點、沒有分析 SDK、沒有第三方當機回報
+- **網路存取**目前版本為零:Sparkle 已打包但 appcast 未設定,沒有任何對外請求;將來啟用更新檢查時也只拉簽名 feed
+- **沒有帳號體系**:根本沒有可登入的東西
+- **程式碼開源**:去 `Sources/PromptPanel/Core/` 翻程式碼就能驗證以上說法
+
+如果你的 Prompt 裡有內部架構、客戶簡報、NDA 範圍內的上下文——這正是你想要的屬性。
+
+## 與同類工具對比
+
+| | **PromptPanel** | TextExpander | Espanso | Raycast Snippets | Alfred Snippets | 瀏覽器 Prompt 外掛 |
+|---|:---:|:---:|:---:|:---:|:---:|:---:|
+| 開源 | ✅ MIT | ❌ | ✅ GPLv3 | 部分 | ❌ | 看外掛 |
+| macOS 原生(非 Electron / Web) | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| 任意應用可用 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
+| 快捷搜尋面板 | ✅ | 部分 | ❌ | ✅ | ✅ | 看外掛 |
+| 專案 / 上下文隔離 | ✅ 一等公民 | groups | folders | folders | folders | 少有 |
+| 全鍵盤流 | ✅ | 部分 | ✅ | ✅ | ✅ | 看外掛 |
+| 純本地 / 不上雲 | ✅ 預設 | 收費版偏推薦雲 | ✅ | 需帳號 | ✅ | 大多上雲 |
+| 免費 | ✅ | $$$ | ✅ | freemium | 需 Powerpack | 看外掛 |
+| 專門為 AI Prompt 工作流設計 | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ 但限瀏覽器 |
+
+**一句話**:如果你只在瀏覽器裡用,瀏覽器外掛就夠。如果你在 Cursor / VS Code / Terminal / Slack / 各處都需要——那你需要原生面板型工具。在原生面板型工具裡,PromptPanel 是開源、專為 AI Prompt 設計的那個。
+
+## 技術棧
+
+- **語言**:Swift 5.10
+- **UI**:AppKit (`NSPanel`, `NSStatusItem`) + SwiftUI
+- **儲存**:SQLite via [GRDB.swift](https://github.com/groue/GRDB.swift)
+- **快捷鍵**:[sindresorhus/KeyboardShortcuts](https://github.com/sindresorhus/KeyboardShortcuts)(底層 Carbon Hot Key)
+- **自動貼上**:焦點恢復後用 `CGEvent` 合成 ⌘V
+- **開機啟動**:`SMAppService`
+- **更新**:[Sparkle 2](https://sparkle-project.org/)
+- **分發**:Developer ID + Apple 公證(不走 Mac App Store)
+- **建置**:Swift Package Manager,無 Xcode 工程
+
+完整選型決策見 [docs/技术选型.md](docs/技术选型.md)。
+
+## 目錄結構
+
+```
+PromptPanel/
+├── Sources/PromptPanel/
+│ ├── App/ # AppDelegate / AppState / 生命周期
+│ ├── Core/
+│ │ ├── Database/ # SQLite 打开 / 迁移 / 损坏恢复
+│ │ ├── Repositories/ # 项目、词条、设置、执行日志
+│ │ ├── Services/ # 面板、执行、搜索、维护等核心服务
+│ │ ├── Diagnostics/ # 快捷键到面板聚焦的时序诊断
+│ │ └── Utils/
+│ ├── Integrations/ # 剪贴板 / 粘贴 / 菜单栏 / 快捷键 / 更新器
+│ ├── Features/
+│ │ ├── Panel/ # QuickPanelView + ViewModel — 主链路
+│ │ └── MainWindow/ # 库管理 + 设置
+│ └── Resources/ # Info.plist / entitlements / 图标 / Assets
+├── Tests/PromptPanelTests/
+├── frontend-draft/ # UI 唯一基准(HTML/JSX 设计稿 + 截图)
+├── scripts/ # 构建、公证、发布预检、备份恢复
+├── docs/ # 公开架构、FAQ、PRD、部署、运维、交接文档
+├── .github/ # 贡献、安全、行为准则、issue/PR 模板、CI
+├── llms.txt # 面向 AI 搜索 / LLM 的简短项目索引
+├── codemeta.json # 开源软件结构化元数据
+└── Package.swift # SwiftPM 包定义
+```
+
+## 文件體系
+
+公開文件會隨儲存庫一起維護:
+
+- [文件總覽](docs/README.md)
+- [FAQ](docs/FAQ.md)
+- [產品 PRD](docs/项目快贴-PRD.md)
+- [專案介紹](docs/项目介绍.md)
+- [架構說明](docs/架构说明.md)
+- [關鍵模組與核心邏輯](docs/关键模块与核心逻辑.md)
+- [API 與功能說明](docs/API与功能说明.md)
+- [設定說明](docs/配置说明.md)
+- [部署說明](docs/部署说明.md)
+- [開發規範](docs/开发规范.md)
+- [使用範例](docs/使用示例.md)
+- [維運與排錯指南](docs/运维与排错指南.md)
+- [接手維護指南](docs/接手维护指南.md)
+- [文件與程式碼同步矩陣](docs/文档与代码同步矩阵.md)
+- [生產發布與恢復手冊](docs/生产发布与恢复手册.md)
+- [路線圖與貢獻指南](docs/路线图与贡献指南.md)
+- [AI 搜尋與可發現性](docs/ai-search-discoverability.md)
+- [完整 LLM 上下文](docs/ai-search/llms-full.txt)
+- [搜尋結構化元資料](docs/search-metadata.schema.jsonld)
+- [貢獻指南](.github/CONTRIBUTING.md)
+- [安全政策](.github/SECURITY.md)
+- [CodeMeta 開源軟體元資料](codemeta.json)
+
+面向 AI 搜尋引擎和儲存庫感知工具,優先讀取 [llms.txt](llms.txt) 或更完整的 [llms-full.txt](docs/ai-search/llms-full.txt)。
+
+## 搜尋與 AI 可發現性
+
+PromptPanel 把傳統 SEO 和 GEO(生成式答案引擎最佳化)入口放在儲存庫裡維護,避免搜尋結果、AI 摘要和 README 說法漂移:
+
+- `README.md` 和 `README.zh-CN.md`:面向真人使用者的入口摘要和目前介面截圖
+- [llms.txt](llms.txt):面向儲存庫感知工具的短索引
+- [docs/ai-search/llms-full.txt](docs/ai-search/llms-full.txt):面向答案引擎的完整上下文和 FAQ 式回答
+- [codemeta.json](codemeta.json) 與 [Schema.org JSON-LD](docs/search-metadata.schema.jsonld):面向軟體索引、搜尋爬蟲和未來文件站的結構化元資料
+- [AI 搜尋與可發現性](docs/ai-search-discoverability.md):統一 canonical 描述、搜尋意圖對映和維護清單
+
+## Roadmap
+
+PromptPanel 走的是**刻意收斂**的路線。PRD 已經把「永不做」列出來了(雲端同步、團隊、複雜工作流)。在範圍內:
+
+- [x] v1.0 — 主鏈路完成:快捷鍵 → 搜尋 → 執行、專案、剪貼簿兜底、明暗、開機啟動、Sparkle、簽名 + 公證腳本
+- [x] JSON / Markdown 匯入匯出,匯入前自動建立本地備份
+- [ ] 一鍵「重複執行上一條詞條」
+- [ ] 變數範本(`{{name}}`)—— 僅當不拖累主鏈路時才做
+
+優先順序和取捨規則見 [docs/路线图与贡献指南.md](docs/路线图与贡献指南.md),已發布內容看 [CHANGELOG.md](CHANGELOG.md),公開規劃看 [issues](https://github.com/tytsxai/PromptPanel/issues)。
+
+## 常見問題
+
+更長的 FAQ 見 [FAQ.md](docs/FAQ.md),這裡挑常被問到的:
+
+### 收費嗎?
+
+不收費。MIT 協議,沒有付費檔、沒有用量上限、沒有帳號。
+
+### 支援 Apple Silicon(M1/M2/M3/M4)嗎?
+
+支援,建置為 universal binary,Apple Silicon 與 Intel 在 macOS 14+ 都測過。
+
+### 我的 Prompt 會不會被發到雲上?
+
+不會。目前版本完全沒有網路呼叫。Sparkle 已打包,但 appcast feed 未設定,因此根本不會發出任何對外請求。Prompt 內文從不離開你的 Mac。
+
+### 為什麼要 Accessibility 權限?
+
+為了在面板退場後給前一個 app 合成一次 `⌘V`。不給權限工具也能用,只是停在剪貼簿那一步、需要你手動 `⌘V`。
+
+### 會加雲端同步 / 團隊共享 / 工作流嗎?
+
+不會,這是有意決定。這些項在 [PRD §4.2](docs/项目快贴-PRD.md) 裡被列為**永不做**。產品的核心身份就是「單使用者、純本地、快」,加了那些就不是這個產品了。
+
+### 為什麼不用 Electron / Tauri?
+
+這個產品的關鍵路徑(全域快捷鍵時序、焦點恢復、合成按鍵、Accessibility 權限引導)本來就在 macOS 系統整合層。跨平台殼只會增加延遲和間接性,不會帶來這個產品需要的能力。詳見 [docs/技术选型.md](docs/技术选型.md)。
+
+### 怎麼報 bug 或提需求?
+
+提 issue: