Les tests de
apps/cli/src/cli.rs et apps/cli/src/mcp/tests.rs comparent le contrat de la CLI et du serveur MCP à docs/fr/reference/cli.mdx, docs/fr/reference/mcp.mdx et skills/syntheo/references/. Une modification de ce contrat sans mise à jour de la documentation fait échouer la CI.Les reproductions interactives de l’app (
docs/snippets/*.gen.jsx en français, docs/snippets/en/*.gen.jsx en anglais, générées par scripts/sync-docs-ui.mjs depuis scripts/docs-ui/*.jsx.tpl et, pour le texte anglais propre aux modèles, scripts/docs-ui/en.json) reprennent les couleurs de packages/design-system/src/tokens.css, les libellés de apps/desktop/src/i18n/locales/fr/messages.po et en/messages.po, et les icônes de packages/ui/src/components/icons-*.tsx. Un changement de couleur, de libellé ou d’icône est repris en relançant le script ; un libellé supprimé fait échouer apps/desktop/src/docs-ui.test.ts. Quand la structure d’un écran change, mettez à jour le modèle indiqué dans Reproductions interactives.Prise en main
| Page | Sources |
|---|---|
| Syntheo | Contenu éditorial, sans source dans le code. |
| Installer l’application | apps/desktop/src-tauri/src/lib.rs |
| Désinstaller Syntheo | plugins/store2crates/storagecrates/brand |
| Configurer la transcription et l’IA | packages/provider-validationpackages/storecrates/owhisper-clientcrates/owhisper-interfacecrates/openai-transcriptioncrates/ws-clientplugins/transcriptionplugins/store2apps/desktop/src/aiapps/desktop/src/onboardingapps/desktop/src/settings/ai/sttapps/desktop/src/settings/ai/llm |
| Votre première réunion | plugins/permissionsapps/desktop/src/homeapps/desktop/src/onboarding |
| L’esprit Syntheo | Contenu éditorial, sans source dans le code. |
Utiliser Syntheo
| Page | Sources |
|---|---|
| Enregistrer une réunion | packages/editorpackages/utilspackages/utils/src/summary-eligibility.tscrates/audiocrates/audio-actualcrates/audio-devicecrates/device-monitorcrates/audio-synccrates/aeccrates/vad-maskingcrates/listener-corecrates/transcription-corecrates/supervisorcrates/owhisper-clientcrates/owhisper-interfacecrates/transcriptplugins/transcriptionplugins/windowsplugins/dbplugins/sessioncrates/db-app (session_ops, session_lifecycle_ops, session_content_ops, session_move_ops, session_participant_ops)crates/db-app (session_transcript_ops, transcript_batch_ops, transcript_live_ops)crates/fs-sync-coreapps/desktop/src/sttapps/desktop/src/store/zustand/listenerapps/desktop/src/store/zustand/ai-taskapps/desktop/src/services/enhancerapps/desktop/src/sessionapps/desktop/src/meeting-floatapps/desktop/src/settings/generalapps/desktop/src/session/components/capsule/channel-toggles.tsxapps/desktop/src/store/zustand/listener/muted-channels.tsapps/desktop/src/settings/general/audio-settings.tsxapps/desktop/src/settings/general/speaker-device.tsapps/desktop/src/stt/system-audio-change-notice.tsxcrates/audio-device/src/speaker_output.rsplugins/windows/src/window/layer_shell.rs |
| Dicter dans d’autres applications | crates/audiocrates/owhisper-clientplugins/dictationplugins/shortcutapps/desktop/src/dictationapps/desktop/src/settings/dictation.tsxapps/desktop/src/settings/dictionary |
| Automatiser la capture | crates/listener-corecrates/detectplugins/detectplugins/notificationplugins/windowscrates/notificationcrates/notification-interfacecrates/notification-linuxcrates/notification-windowsapps/desktop/src/sttapps/desktop/src/meeting-floatapps/desktop/src/settings/general |
| Importer un enregistrement | crates/audio-utilscrates/mp3crates/listener2-corecrates/transcription-corecrates/owhisper-clientcrates/owhisper-interfaceplugins/transcriptionplugins/fs-synccrates/db-app (session_transcript_ops, transcript_batch_ops, transcript_live_ops)crates/fs-sync-coreapps/cli/src/commands/recording_import.rscrates/agent-access/src/recording_import.rsapps/desktop/src/sttapps/desktop/src/stt/transcription-route.tsapps/desktop/src/stt/batch-eta.tscrates/listener-core/src/actors/file_stream |
| Notes, comptes rendus et transcriptions | packages/editorpackages/utilspackages/utils/src/folders.tscrates/transcriptplugins/dbplugins/sessionplugins/fs-syncplugins/tantivyplugins/exportcrates/db-app (session_ops, session_lifecycle_ops, session_content_ops, session_move_ops, session_participant_ops)crates/db-app/src/session_review_ops.rscrates/db-app/src/summary_ops.rscrates/db-app (folder_catalog_ops, attachment_ops)crates/fs-sync-corecrates/export-corecrates/template-appcrates/summarycrates/agent-access/src/export_markdown.rsapps/desktop/src-tauri/src/search_index.rsapps/desktop/src/sessionapps/desktop/src/foldersapps/desktop/src/homeapps/desktop/src/search |
| Dossiers et projets | apps/desktop/src/foldersapps/desktop/src/folders/projectapps/desktop/src/folders/suggestionapps/desktop/src/session/components/folder-picker.tsxapps/desktop/src/session/components/living-document/fiche-folder.tsxapps/desktop/src/session/late-filing.tsapps/desktop/src/homeapps/desktop/src/search/unifiedapps/desktop/src/shared/open-note-dialog.tsxapps/desktop/src/shared/palette-search-groups.tsxapps/desktop/src/templates/resolution.tscrates/db-app (folder_catalog_ops, attachment_ops) |
| Personnaliser les comptes rendus | packages/storeplugins/templatecrates/db-app/src/summary_ops.rscrates/db-app (template_ops, template_types)crates/template-appcrates/template-app/assetscrates/summaryapps/desktop/src/templates/auto-form.tsxapps/desktop/src/templates/resolution.tsapps/desktop/src/folders/folder-template.tsapps/desktop/src/store/zustand/ai-taskapps/desktop/src/services/enhancerapps/desktop/src/templates |
| Discuter avec vos réunions | packages/editorpackages/storeplugins/sessionplugins/templatecrates/template-appcrates/template-app/assetsapps/desktop/src/chatapps/desktop/src/composerapps/desktop/src/chat/ask-folder.tsapps/desktop/src/shared/palette-search-groups.tsx |
| Contacts | crates/transcriptplugins/contactscrates/db-app (session_ops, session_lifecycle_ops, session_content_ops, session_move_ops, session_participant_ops)crates/db-app/src/contact_ops.rsapps/desktop/src/contacts |
| Automatisations | plugins/local-apiapps/desktop/src/automationsapps/desktop/src/settings/automationsplugins/local-api/src/automation_command.rsapps/desktop/src/session/components/capsule/automation-menu.tsxapps/desktop/src/session/components/outer-header/overflowapps/desktop/src/chat/components/body/empty.tsx |
| Utiliser plusieurs langues | crates/listener2-corecrates/languageplugins/transcriptionplugins/templatecrates/template-appcrates/template-app/assetscrates/askama-utilsapps/desktop/src/sttapps/desktop/src/i18napps/desktop/src/settings/generalapps/desktop/src/settings/dictionary |
Confidentialité et sécurité
| Page | Sources |
|---|---|
| Données et confidentialité | packages/dbcrates/audio-actualcrates/listener-coreplugins/transcriptionplugins/dbplugins/fs-syncplugins/settingsplugins/store2plugins/tracingcrates/db-corecrates/db-app/src/managed_settings.rscrates/db-app (session_audio_ops, capture_lifecycle_ops, session_hold, session_purge)crates/storagecrates/brandapps/desktop/src-tauri/src/db.rsapps/desktop/src/services/audio-retention.tsapps/desktop/src/lockapps/desktop/src/settings/privacy |
| Utiliser Syntheo sans réseau | packages/provider-validationcrates/listener-corecrates/owhisper-clientplugins/transcriptionapps/desktop/src/aiapps/desktop/src/settings/ai/sttapps/desktop/src/settings/ai/llm |
| Sécurité | packages/provider-validationplugins/store2crates/db-app/src/managed_settings.rsapps/desktop/src/lockapps/desktop/src/settings/privacy |
| Syntheo Desktop et le RGPD | crates/owhisper-clientapps/desktop/src/services/audio-retention.tsapps/desktop/src/docs-rgpd.test.ts |
CLI et agents
| Page | Sources |
|---|---|
| Installer la CLI | skills/syntheoagent-plugins/syntheocrates/xtaskapps/cli/src/db.rsapps/cli/src/commands/doctor.rsapps/desktop/src-tauri/src/embedded_cli.rsapps/desktop/src/settings/developers/cli.tsx |
| Agents : vue d’ensemble | skills/syntheoagent-plugins/syntheoapps/cli/src/commands/proposals.rscrates/agent-access/src/proposals.rsapps/desktop/src-tauri/src/agents-content.mdapps/desktop/src/session |
| CLI pour les agents | skills/syntheocrates/db-corecrates/db-app/src/session_review_ops.rscrates/tiptapapps/cli/src/db.rsapps/cli/src/cli.rsapps/cli/src/commands/meetings.rscrates/agent-access/src/lib.rsapps/desktop/src-tauri/src/embedded_cli.rs |
| MCP pour les agents | skills/syntheoagent-plugins/syntheocrates/db-app/src/session_review_ops.rscrates/tiptapapps/cli/src/mcp/crates/agent-access/src/lib.rs |
| Compétence Syntheo | skills/syntheoagent-plugins/syntheodocs/skill.mdscripts/publish-syntheo-skill.mjsapps/desktop/src-tauri/src/agent_skills.rsapps/desktop/src/settings/developers/skills.tsx |
Recettes
| Page | Sources |
|---|---|
| Préparer une réunion récurrente | Contenu éditorial, sans source dans le code. |
Référence
| Page | Sources |
|---|---|
| Référence de la CLI | skills/syntheocrates/transcriptcrates/tiptapapps/cli/src/cli.rsapps/cli/src/output.rsapps/cli/src/commands/recording_import.rsapps/cli/src/commands/proposals.rsapps/cli/src/commands/meetings.rsapps/cli/src/commands/doctor.rscrates/agent-access/src/lib.rscrates/agent-access/src/export_markdown.rscrates/cli-docs |
| Référence MCP | skills/syntheocrates/transcriptapps/cli/src/mcp/crates/agent-access/src/lib.rscrates/agent-access/src/recording_import.rscrates/agent-access/src/proposals.rs |
| Référence des webhooks | plugins/local-apicrates/db-app (webhook_ops, webhook_types)apps/desktop/src/settings/developers/webhooks.tsx |
| Erreurs et codes de sortie | skills/syntheoapps/cli/src/error.rs |
Projet
| Page | Sources |
|---|---|
| Architecture | packages/dbcrates/listener-corecrates/owhisper-clientplugins/tantivy |
| Feuille de route | Contenu éditorial, sans source dans le code. |
Aide
| Page | Sources |
|---|---|
| Questions fréquentes | Contenu éditorial, sans source dans le code. |
| Dépannage | crates/audio-actualcrates/audio-devicecrates/device-monitorcrates/listener-corecrates/owhisper-clientcrates/ws-clientplugins/transcriptionplugins/permissionsplugins/tracingapps/cli/src/db.rsapps/cli/src/commands/doctor.rsapps/desktop/src-tauri/src/lib.rsapps/desktop/src-tauri/src/startup.rsapps/desktop/src-tauri/src/db.rsapps/desktop/src/sttapps/desktop/src/settings/ai/stt |
Reproductions interactives
Chaque composant dedocs/snippets/*.gen.jsx reproduit un écran de l’app. Quand la structure d’une de ces sources change (ordre, sections, états), mettez à jour le modèle correspondant dans scripts/docs-ui/, puis lancez node scripts/sync-docs-ui.mjs.
| Composant | Pages | Modèle | Sources reproduites |
|---|---|---|---|
<AppSettings> (menu) | Enregistrer une réunion, Configurer la transcription et l’IA, Utiliser plusieurs langues, Dicter dans d’autres applications, Automatiser la capture, Données et confidentialité, Dépannage | settings.jsx.tpl | apps/desktop/src/sidebar/settings-nav-groups.tsapps/desktop/src/sidebar/settings.tsxapps/desktop/src/sidebar/settings-server-status.tsx |
<AppSettings section="meetings"> | Enregistrer une réunion, Automatiser la capture, Dépannage | settings-meetings.jsx.tpl | apps/desktop/src/settings/general/index.tsxapps/desktop/src/settings/general/meeting-settings.tsxapps/desktop/src/settings/general/audio-settings.tsx |
<AppSettings section="transcription">, section="intelligence" | Configurer la transcription et l’IA, Dépannage | settings-servers.jsx.tpl | apps/desktop/src/settings/ai/sttapps/desktop/src/settings/ai/llmapps/desktop/src/settings/ai/sharedpackages/provider-validation/src/index.ts |
<AppSettings section="app"> | Utiliser plusieurs langues | settings-profile.jsx.tpl | apps/desktop/src/settings/general/index.tsxapps/desktop/src/settings/general/account-profile.tsxapps/desktop/src/settings/general/app-settings.tsxapps/desktop/src/settings/general/main-language.tsxapps/desktop/src/settings/general/spoken-languages.tsxapps/desktop/src/settings/general/single-language-model-hint.tsxapps/desktop/src/settings/general/timezone.tsxapps/desktop/src/settings/general/storage |
<AppSettings section="dictation"> | Dicter dans d’autres applications | settings-dictation.jsx.tpl | apps/desktop/src/settings/dictation.tsxapps/desktop/src/settings/dictation-shortcut.tsxapps/desktop/src/dictation/state.ts |
<AppSettings section="privacy">, section="permissions" | Données et confidentialité, Dépannage | settings-privacy.jsx.tpl | apps/desktop/src/settings/privacy/index.tsxapps/desktop/src/settings/general/permissions.tsx |
<AppPalette> | Votre première réunion, Notes, comptes rendus et transcriptions, Dossiers et projets | palette.jsx.tpl | apps/desktop/src/shared/open-note-dialog.tsxapps/desktop/src/shared/palette-search-groups.tsxapps/desktop/src/search/unified/labels.ts |
<AppScreen>, <Capsule> et capsule commune | Enregistrer une réunion | meeting.jsx.tpl, note.jsx.tpl | apps/desktop/src/session/components/capsule/index.tsx |
<AppHome> | Votre première réunion | quickstart.jsx.tpl | apps/desktop/src/home |
<DictationScreen> | Dicter dans d’autres applications | dictation.jsx.tpl | apps/desktop/src/meeting-float/overlay/bar.tsxapps/desktop/src/meeting-float/overlay/dictation.tsxapps/desktop/src/dictation/panel.ts |
<AutoCaptureScreen> | Automatiser la capture | automatic-capture.jsx.tpl | apps/desktop/src/stt/detect-events.tsapps/desktop/src/stt/meeting-apps.tscrates/notification-linux/src/impl.rsapps/desktop/src/meeting-float/overlay/bar.tsx |
<ImportScreen> | Importer un enregistrement | import.jsx.tpl | apps/desktop/src/session/components/outer-headerapps/desktop/src/session/components/capsule/import-progress.tsxapps/desktop/src/session/components/capsule/session-import-progress.tsxapps/desktop/src/stt/batch-eta.ts |
<NoteActions> | Notes, comptes rendus et transcriptions | notes.jsx.tpl | apps/desktop/src/session/components/outer-header/overflowapps/desktop/src/session/components/living-documentapps/desktop/src/session/components/capsule/automation-menu.tsx |
<FolderPage> | Dossiers et projets | folders.jsx.tpl | apps/desktop/src/foldersapps/desktop/src/sidebar/folders.tsxapps/desktop/src/session/folder-instructions.tsx |
<TemplatesEditor> | Personnaliser les comptes rendus | templates.jsx.tpl | apps/desktop/src/templates |
<ContactsScreen> | Contacts | contacts.jsx.tpl | apps/desktop/src/sidebar/contacts.tsxapps/desktop/src/contacts |
<AskNote> | Discuter avec vos réunions | chat.jsx.tpl | apps/desktop/src/chat/componentsapps/desktop/src/editor-bridge/mention-config.tsapps/desktop/src/session/components/living-document/summary-review.tsxapps/desktop/src/automations/launch.tsx |
<AutomationEditor> | Automatisations | automations.jsx.tpl | apps/desktop/src/sidebar/automations.tsxapps/desktop/src/settings/automationsapps/desktop/src/automations |
<Troubleshooter>, <DataFlows> | Dépannage, Données et confidentialité | troubleshooting.jsx.tpl | apps/desktop/src/stt/live-transcript-interrupted.ts ; le reste réutilise les écrans ci-dessus. <DataFlows> est une illustration de la doc, pas un écran de l’app. |