Aller au contenu
PaneflowPaneflow

Référence du schéma paneflow.json

Chaque clé de paneflow.json avec son type, sa valeur par défaut, son moment d'application et ses notes runtime.

paneflow.json est un fichier JSON propre à l'utilisateur. Toutes les clés sont optionnelles, et {} est une configuration valide. Le loader Rust et les résolveurs runtime sont la source du comportement ; le JSON Schema publié reflète les clés publiques pour la validation éditeur et l'autocomplétion.

Les clés top-level inconnues sont ignorées au runtime, mais signalées par le schéma dans les éditeurs. Une sauvegarde valide est rechargée par le watcher de config. Pendant le hot reload, un JSON invalide garde la dernière config valide au lieu de diffuser les defaults. Au démarrage, un fichier invalide retombe sur les defaults et logue un avertissement.

Emplacements

PlateformeChemin
Linux et macOS~/.paneflow/paneflow.json
Windows%USERPROFILE%\.paneflow\paneflow.json

PANEFLOW_HOME déplace tout le dossier (config, session, worktrees, cache, binaires auxiliaires). Une configuration trouvée aux anciens emplacements (~/.config/paneflow, ~/Library/Application Support/paneflow, %APPDATA%\paneflow) est copiée dans ~/.paneflow au premier lancement.

Schéma éditeur

Ajoute ceci en haut du fichier pour l'autocomplétion dans VS Code, Zed, les IDE JetBrains, Helix et les autres éditeurs compatibles JSON Schema :

paneflow.json
{
"$schema": "https://github.com/arthjean/paneflow/raw/main/schemas/paneflow.schema.json",
"$schemaVersion": "1.0.0"
}

Clés top-level

CléTypeDéfautApplicationNotes
$schemastringaucunÉditeur seulPointe l'éditeur vers le schéma publié. Ignoré par Paneflow.
$schemaVersionstring1.0.0Démarrage/reloadUne version inconnue logue un warning sans bloquer le chargement.
default_shellstring/nullrepli shell plateformeNouveau terminalUnix : configuré -> $SHELL -> /bin/sh. Windows : configuré -> pwsh.exe -> powershell.exe -> %ComSpec% -> C:\Windows\System32\cmd.exe -> cmd.exe.
themestring/nullPaneflow DarkHot reloadVariante claire ou sombre d'un preset : Paneflow, Vercel, Claude, Cursor, Tailwind. Les noms antérieurs aux presets (One Dark, PaneFlow Light, Vercel, Claude, Cursor) restent résolus. La recherche runtime ignore la casse.
theme_modestring/nulldarkHot reloadlight et dark forcent le thème intégré correspondant ; system suit l'apparence de l'OS.
font_familystring/nullJetBrainsMono Nerd Font embarquéeCache hot reloadAccepte .PaneflowMono, JetBrainsMono NF, JetBrainsMono NFM, .PaneflowSans, les polices embarquées ou une monospace système installée.
font_fallbacksstring array/nullpile de repli GPUICache hot reloadFamilles de repli consultées quand font_family ne couvre pas un glyphe.
font_sizenumber/null13.0Cache hot reloadTaille en points, plage 8.0 à 32.0 ; une valeur invalide retombe sur 13.0.
font_weightstring/nullnormalCache hot reloadthin, extra_light, light, semi_light, normal, medium, semi_bold, bold, extra_bold, black, extra_black.
line_heightnumber/null1.0Cache hot reloadMultiplicateur de la hauteur de ligne propre à la police (ascent, descent et line gap), plage 0.8 à 2.5. La cellule est arrondie au pixel physique.
cell_widthnumber/null1.0Cache hot reloadMultiplicateur de l'avance de la police, plage 0.8 à 2.0. La cellule est arrondie au pixel physique.
unfocused_pane_opacitynumber/null1.0Hot reloadOpacité des panneaux qui n'ont pas le focus, quand un workspace contient plus d'un panneau. Plage 0.15 à 1.0 ; 1.0 désactive l'atténuation.
reduce_motionboolean/nullfalseHot reloadRéduit les mouvements non essentiels de l'interface : les transitions au survol s'appliquent instantanément et les animations décoratives rendent une image fixe. Le défilement au pavé tactile dans un terminal avance par lignes entières au lieu de suivre le geste au pixel près.
sidebar_showobject/nulltout désactivéHot reloadCe qu'une ligne d'onglet de session affiche en plus de son nom : branch ajoute sa branche git, diffstat ajoute ses compteurs d'insertions et de suppressions, pr remplace l'icône de branche par un glyphe de pull request coloré selon l'état de la demande quand il en existe une, indent_guide trace un filet sous l'icône de dossier d'un espace de travail, le long de ses lignes d'onglets. Les deux premiers lisent le worktree lié à l'onglet, ou le checkout de son espace de travail quand l'onglet n'est lié à rien ; pr nécessite la CLI gh et ne répond que pour les dépôts distants GitHub. Se règle depuis le menu Customize Sidebar du rail.
worktreesobject/nullvoir plus basRechargement à chaudOù Paneflow range les worktrees git qu'il crée pour les branches et comment il les nettoie : dir, auto_remove, keep_limit, for_new_branches. Settings > Worktrees édite les mêmes clés.
window_decorationsstring/nullclientDémarrageclient dessine le chrome Paneflow ; server délègue au compositeur OS.
window_backdropstring/nullautoDémarrageauto, mica, blurred, acrylic, transparent, opaque ou off. Sous Windows, blurred et acrylic définis dans la config reviennent à auto ; seule PANEFLOW_WINDOW_BACKDROP y applique le flou. PANEFLOW_WINDOW_BACKDROP surcharge un lancement.
windows_terminal_materialboolean/nullfalseRendu fenêtre/terminalWindows seulement. Active le matériau derrière le fond terminal. Le style d'interface Blended le passe à true, Themed à false. Ignoré ailleurs.
windows_chrome_materialboolean/nullfalseRendu fenêtre/chromeWindows seulement. Active le matériau natif dans la carte de navigation principale. Le style d'interface Blended le passe à true, Themed à false. Ignoré ailleurs.
macos_chrome_materialboolean/nullfalseRendu fenêtre/chromemacOS seulement. Active le matériau Sidebar natif dans la carte de navigation principale. Le style d'interface Blended le passe à true, Themed à false. Ignoré ailleurs.
linux_terminal_materialboolean/nullfalseRendu fenêtre/terminalLinux seulement. Rend la carte du terminal translucide au-dessus du voile de la fenêtre, pour laisser passer le flou du compositeur. Le style d'interface Blended le passe à true, Themed à false. Ignoré ailleurs.
linux_chrome_materialboolean/nullfalseRendu fenêtre/chromeLinux seulement. Pose un voile translucide derrière la sidebar et la barre de titre, pour laisser passer le flou du compositeur. Le style d'interface Blended le passe à true, Themed à false. Ignoré ailleurs.
option_as_metaboolean/nulltrue sous Linux et Windows, false sous macOSHot reloadEnvoie Alt/Option comme Meta avec préfixe ESC. Sur macOS, true fait envoyer Meta à Option plus une lettre au lieu de composer un caractère ; garde false si Option doit produire des caractères Unicode. Un rechargement de la config l'applique aux terminaux ouverts.
shell_integrationboolean/nulltrueNouveau terminalActive les snippets shell Paneflow pour OSC 7 CWD et OSC 133.
editorobject/nullminimap off, scrollbar onRechargement à chaudCe que l'éditeur de code dessine à côté du texte : minimap ajoute une minimap le long du bord droit, scrollbar conserve la barre de défilement verticale. Se règle depuis le menu de contrôles de l'éditeur ; le choix s'applique à chaque fichier ouvert.
automationobject/nulltout désactivéRechargement à chaudTravail de fond lancé après un tour d'agent : tab_auto_naming résume les derniers échanges de la session en un nom d'onglet de 2 à 5 mots via la CLI de l'agent (claude -p, codex exec, opencode run, pi --print) sans outils, au plus une fois toutes les trois minutes par session et seulement si la conversation a grandi. Un nom que vous avez saisi n'est jamais remplacé ; « Reset name » rouvre l'onglet à ce nom.
submit_paste_delay_msinteger/null70Envoi IPCDélai plancher entre bracketed paste et Enter pour paneflow send --submit. Plage 10 à 5000.
external_editorstring/nullautoProchaine ouvertureÉditeur qui ouvre les liens de fichiers, y compris ceux du terminal : auto, system, zed, cursor, windsurf, code ou visual_studio. auto utilise $VISUAL, puis $EDITOR, puis le premier éditeur connu présent dans le PATH ; system passe toujours par l'ouvreur de l'OS. Un éditeur nommé absent du PATH retombe sur auto.
shortcutsobject{}Hot reloadMappe des frappes vers des noms d'actions. Voir raccourcis et actions.
terminalobject/nulldefaults ci-dessousMixteRéglages terminal, renderer et PTY.
commandsarray[]Settings/RunEntrées de palette et modèles de workspace.
agent_profilesarray[]Rechargement à chaudEntrées de lancement personnalisées qui exécutent un agent intégré avec des variables d'environnement et des arguments en plus, par exemple un second compte Claude Code via CLAUDE_CONFIG_DIR. Settings > Agents > Profiles édite la même liste.
claude_code_bypass_permissionsboolean/nullfalseProchain lancement ClaudeAjoute --permission-mode bypassPermissions au lanceur Claude Code. Option risquée.
ai_unrestrictedboolean/nullfalseChaque appel IPCAutorise les conducteurs fiables à soumettre vers d'autres panneaux sans PANEFLOW_IPC_SCRIPTING.
ai_injection_fenceboolean/nulltrueChaque lectureEncapsule surface.read dans une clôture de sortie non fiable par défaut.
on_quitask, keep, stop, nullaskÀ la fermetureCe que fait la fermeture de l'app quand des sessions hébergées tournent : ask ouvre le dialogue de fermeture, keep laisse toutes les sessions tourner, stop les arrête toutes et éteint l'hôte. Sans session active, l'app quitte et éteint l'hôte inactif.
sidebar_ended_sessions0, 3, 5, 10, null5Prochain rendu de la barre latéraleNombre de sessions terminées qu'un workspace prévisualise dans la barre latérale avant que le reste se replie sous une ligne « N autres sessions terminées ». Rien n'est supprimé ; le plafond ne règle que l'aperçu.
agent_panelobject/nulldefaults ci-dessousAgents UINotifications de la vue Agents.
agentsobject/nulldefaults ci-dessousRestauration et prochain lancementRestauration des conversations d'agent et pré-attribution de l'identifiant de session Claude Code.
telemetryobject/null{ "enabled": null }Démarrage/consentementConsentement télémétrie desktop. PANEFLOW_NO_TELEMETRY=1 le surcharge.

Boutons de lancement d'agents

Chaque clé de bouton est boolean/null. null ou l'omission auto-détecte le binaire CLI. false masque le bouton. true force son affichage.

Sous Windows, la palette de pane, le menu New pane et l'écran d'accueil ne proposent que Claude Code, Codex, Amp, Gemini et Copilot, les runtimes qui déclarent le support de Windows, et masquent les entrées agent_profiles basées sur les autres. Linux et macOS gardent tous les agents ci-dessous.

CléAgent
claude_code_button_visibleClaude Code
codex_button_visibleCodex
opencode_button_visibleOpenCode
pi_button_visiblePi
hermes_agent_button_visibleHermes Agent
grok_button_visibleGrok
amp_button_visibleAmp
gemini_button_visibleGemini
copilot_button_visibleCopilot
factory_button_visibleFactory
openclaw_button_visibleOpenClaw
muse_button_visibleMuse Code
fx_button_visiblefx (Linux et macOS)

terminal

CléTypeDéfautApplicationNotes
terminal.ligaturesboolean/nulltrueCache hot reloadActive les ligatures de programmation quand la police les supporte.
terminal.integrated_glyphsboolean/nulltrueHot reloadDessine les glyphes de blocs intégrés comme des quads remplis.
terminal.color_emojiboolean/nulltrueHot reloadUtilise le chemin emoji couleur de la plateforme.
terminal.cursor_colorstring/nullcurseur du thèmeHot reload/nouveau terminal#RRGGBB, RRGGBB, #RGB ou RGB.
terminal.scrollbarboolean/nulltrueNouvelle vue terminalBarre de défilement en surimpression, visible pendant le défilement ou au survol du bord droit d'un volet.
terminal.scrollback_linesinteger/null10000Nouveau terminalPlage 100 à 100000. Cached plafonne à 1000.
terminal.cursor_shapestring/nullblockNouveau terminalvintage, block, beam, underline, double_underline ou hollow.
terminal.osc52_clipboardstring/nullcopyCréation d'une vue terminalDisponible depuis v0.17.5. copy autorise le terminal focalisé à écrire dans le presse-papiers système via OSC 52 ; off refuse toutes les écritures OSC 52. La lecture du presse-papiers via OSC 52 est toujours refusée. Les vues terminal existantes conservent leur réglage jusqu'à leur recréation.
terminal.xt_checksum_reportboolean/nullfalseNouvelle sessionDisponible depuis v0.17.7. Répond aux requêtes de checksum DECRQCRA (CSI Pi ; Pg ; Pt ; Pl ; Pb ; Pr * y), dont dépendent des suites de conformité comme vttest et esctest. Désactivé par défaut, car un programme en cours d'exécution peut calculer le checksum de l'écran cellule par cellule et relire ainsi tout ce qu'il affiche, y compris la sortie d'autres programmes. Tant qu'il est désactivé, XTCHECKSUM (CSI Ps # y) est aussi ignoré. Le host de sessions le lit à chaque démarrage de session.
terminal.xt_checksum_extensioninteger/null0Nouvelle sessionDisponible depuis v0.17.7. Mode de calcul du checksum DECRQCRA, avec les bits de XTCHECKSUM et du checksumExtension de xterm : 1 garde le résultat positif, 2 ignore les attributs vidéo des cellules, 4 compte les blancs, 8 compte comme des espaces les cellules jamais écrites, 16 utilise les points de code complets au lieu des valeurs DEC sur 8 bits. 0 correspond au calcul d'un vrai terminal DEC. Plage 0 à 31. Une valeur hors plage, comme 32, -1, 1.5 ou "4", ne retire que cette clé : elle retombe à 0 avec un avertissement qui nomme la clé et la plage, et le reste du fichier s'applique, au démarrage comme au rechargement. Un reset complet (ESC c) revient à cette valeur.
terminal.cursor_blinkstring/nullterminal_controlledNouveau terminalon, off ou terminal_controlled.
terminal.envobject/nullaucunNouveau terminalVariables injectées dans chaque nouveau terminal. Le env de surface gagne en cas de collision. Les valeurs sont transmises telles quelles : pas d'expansion de ~ ni de $NAME, contrairement à agent_profiles.*.env. Les clés que Paneflow définit pour chaque terminal, comme TERM, ZDOTDIR et les variables PANEFLOW_*, sont ignorées et journalisées une fois. LANG vaut en_US.UTF-8 par défaut uniquement quand LANG, LC_ALL et LC_CTYPE sont tous non définis.
terminal.scroll_multipliernumber/null1.0Nouvelle vue terminalPlage 0.1 à 10.0. Ignoré en mouse-reporting et en scroll alternate-screen.
terminal.minimum_contrastnumber/nullAuto (60)Hot reloadContraste APCA (Lc) minimal imposé entre le texte et le fond de sa cellule, sur les couleurs choisies par un programme (truecolor et indices de palette 16 à 255). Les seize couleurs ANSI du thème, son premier plan et son fond ne sont jamais corrigés. Non défini, il vaut Auto, soit 60 sur chaque thème ; 0 désactive la correction ; une valeur négative ou non numérique vaut Auto. Plage 0 à 90.

agent_panel

CléTypeDéfautNotes
agent_panel.notify_when_agent_waitingstring/nullNeverPrimaryScreen, AllScreens ou Never. Régit aussi les notifications de bureau que les programmes du terminal envoient avec OSC 9 ou OSC 777.

agents

CléTypeDéfautNotes
agents.restore_conversationsboolean/nulltrueQuand la session hébergée d'un panneau n'a pas survécu, par exemple après un redémarrage, Paneflow ouvre un shell dans le dossier enregistré et tape la commande de reprise du runtime pour la dernière conversation lancée dans ce panneau. Mettez false pour seulement rouvrir le shell.
agents.claude_preassign_session_idboolean/nullfalseLe shim Claude Code ajoute --session-id <uuid> à un nouveau lancement interactif de claude, pour que Paneflow connaisse la conversation avant l'arrivée du moindre hook. Lu par les panneaux lancés après le changement.

worktrees

Paneflow crée un worktree git quand tu ouvres une branche depuis la palette « New pane », le menu contextuel d'un onglet ou paneflow up. Rien n'est écrit dans le checkout : le marqueur de propriété vit dans le git dir propre au worktree (.git/worktrees/<name>/ dans le dépôt principal), donc git status reste propre et le marqueur disparaît avec le worktree. Settings > Worktrees édite les mêmes clés et liste les worktrees que Paneflow gère.

Laisser le nom de branche vide dans la palette crée un checkout détaché sur la base choisie, nommé <base>-<sha7> ; « Create branch here… » dans le menu contextuel de l'onglet le transforme en branche plus tard, en gardant les modifications non commitées.

Un fichier .worktreeinclude à la racine du dépôt liste les fichiers et dossiers ignorés par git à copier dans chaque nouveau worktree, un chemin par ligne relatif à la racine, # pour les commentaires, / final optionnel pour les dossiers. Sans ce fichier, Paneflow copie les .env* de premier niveau et AGENTS.override.md s'ils existent. Un fichier déjà présent dans le worktree n'est jamais écrasé.

Avant de supprimer un worktree géré, automatiquement ou à la main, Paneflow sauvegarde ses modifications non commitées dans un commit de snapshot sous refs/paneflow/snapshots/ dans le dépôt principal : éditions suivies, nouveaux fichiers et la branche courante. Settings > Worktrees liste les snapshots ; Restore recrée le worktree avec ces modifications non commitées sur la même branche, Delete supprime la ref. Un worktree propre ne laisse aucun snapshot.

CléTypeDéfautNotes
worktrees.dirstring/null~/.paneflow/worktreesDossier racine des worktrees gérés. Chaque dépôt reçoit un sous-dossier <repo>-<hash>, chaque branche un dossier dedans. Le défaut est ~/.paneflow/worktrees sur toutes les plateformes (%USERPROFILE%\.paneflow\worktrees sur Windows). ~ désigne le dossier personnel. Les worktrees créés sous une racine antérieure, y compris l'ancien voisin <repo>.worktrees/, continuent de fonctionner là où ils sont.
worktrees.auto_removeboolean/nulltrueSupprime un worktree géré à la fermeture de son workspace, et rogne les plus anciens au-delà de keep_limit. Les modifications non commitées sont d'abord sauvegardées dans un snapshot, et la branche n'est jamais supprimée. false garde chaque worktree jusqu'à sa suppression depuis Settings > Worktrees ou le menu de l'onglet.
worktrees.keep_limitinteger/null15Nombre de worktrees gérés à conserver avant que les plus anciens sans onglet ouvert soient supprimés. De 0 à 200.
worktrees.for_new_branchesboolean/nulltrueÉtat par défaut du toggle Worktree du formulaire New branch. true crée un worktree pour la branche ; false bascule le checkout du workspace dessus, et le pane s'ouvre à la racine du dépôt. Le toggle réécrit cette clé, et la bascule est refusée tant qu'un agent travaille dans ce checkout.
{
  "worktrees": {
    "dir": "~/worktrees",
    "auto_remove": true,
    "keep_limit": 15
  }
}

agent_profiles

agent_profiles est une liste. Chaque entrée ajoute un item de lancement qui exécute l'un des agents intégrés avec des variables d'environnement et des arguments en plus. Les profils apparaissent dans la palette de pane à côté des agents intégrés, et gardent le suivi de statut, les hooks et les sessions de l'agent de base. Settings > Agents > Profiles édite la même liste.

CléTypeDéfautNotes
agent_profiles.*.namestringrequisLibellé affiché dans le lanceur.
agent_profiles.*.agentstringrequisTag de l'agent de base : claude_code, codex, opencode, pi, hermes, grok, amp, gemini, copilot, factory ou openclaw.
agent_profiles.*.envobject{}Variables d'environnement posées sur le processus de l'agent. Un ~ en tête désigne le dossier personnel, et $NAME, ${NAME} ou %NAME% n'importe où dans la valeur prend cette variable dans l'environnement de Paneflow. Un $ ou % qui ne nomme rien reste littéral ; un nom que l'environnement ne définit pas est refusé par l'éditeur des Settings et, dans une config écrite à la main, laisse la valeur entière intacte avec un avertissement dans le log.
agent_profiles.*.argsstring array[]Arguments ajoutés après les propres options de l'agent de base. Chaque token doit être un mot simple : lettres, chiffres, -, _, ., =.

Une entrée avec un tag d'agent inconnu, un nom vide ou un token non sûr est ignorée avec un avertissement ; les autres profils se chargent quand même.

{
  "agent_profiles": [
    {
      "name": "Claude perso",
      "agent": "claude_code",
      "env": { "CLAUDE_CONFIG_DIR": "~/.claude-perso" },
      "args": ["--model", "opus"]
    }
  ]
}

commands

Les entrées commands alimentent à la fois les commandes shell simples et les modèles Settings > Workspaces. Une entrée doit avoir name; workspace et command sont mutuellement exclusifs.

CléTypeDéfautNotes
commands[].namestringrequisNom affiché. Ne peut pas être vide.
commands[].descriptionstring/nullaucunDescription lisible par l'utilisateur.
commands[].keywordsstring array[]Mots-clés de recherche floue.
commands[].workspaceobject/nullaucunModèle de workspace.
commands[].commandstring/nullaucunCommande shell simple.

Clés d'un modèle de workspace :

CléTypeDéfautNotes
commands[].workspace.namestring/nullnom de commandeNom affiché du workspace.
commands[].workspace.cwdstring/nullcwd courantRépertoire par défaut du workspace.
commands[].workspace.layout_presetstring/nullaucuneven_h, even_v, main_vertical ou tiled.
commands[].workspace.colorstring/nullaucunCouleur d'accent hex à six chiffres, sans #.
commands[].workspace.layoutobject/nulllayout du presetRacine de l'arbre de layout.

Clés de layout :

CléTypeNotes
commands[].workspace.layout.typestringpane ou split.
commands[].workspace.layout.surfacesarrayRequis pour les noeuds pane.
commands[].workspace.layout.directionstringRequis pour split : horizontal ou vertical.
commands[].workspace.layout.rationumber/nullAncien ratio de split binaire, plage 0.1 à 0.9. Ignoré si ratios existe.
commands[].workspace.layout.ratiosnumber array/nullRatios par enfant pour les layouts N-aires. Doit correspondre au nombre d'enfants et sommer près de 1.0.
commands[].workspace.layout.childrenarrayRequis pour split; minimum deux noeuds de layout.

Clés de surface dans un panneau :

CléTypeDéfautNotes
commands[].workspace.layout.surfaces[].surface_typestring/nullterminalSeules les surfaces terminal sont rendues aujourd'hui.
commands[].workspace.layout.surfaces[].namestring/nulldérivéNom d'onglet de surface.
commands[].workspace.layout.surfaces[].custom_namestring/nullaucunNom assigné par l'utilisateur qui survit au redémarrage.
commands[].workspace.layout.surfaces[].commandstring/nullshellCommande lancée à la création de la surface.
commands[].workspace.layout.surfaces[].promptstring/nullaucunPrompt pré-rempli après le lancement d'une commande agent.
commands[].workspace.layout.surfaces[].cwdstring/nullcwd du workspaceRépertoire de travail par surface. Les chemins relatifs partent du cwd du workspace.
commands[].workspace.layout.surfaces[].pathstring/nullaucunFichier ouvert par une surface markdown. Ignoré par les surfaces terminal.
commands[].workspace.layout.surfaces[].envobject/nullaucunVariables d'environnement supplémentaires. Gagne sur terminal.env en cas de collision.
commands[].workspace.layout.surfaces[].focusboolean/nullfalseDonne le focus initial à cette surface.
commands[].workspace.layout.surfaces[].scrollbackstring/nullaucunScrollback texte brut restauré avec la surface.
commands[].workspace.layout.surfaces[].agentstring/nullaucunTag stable de la CLI agent détectée dans la surface.
commands[].workspace.layout.surfaces[].font_sizenumber/nullfont_size globalSurcharge de taille de police par surface, plage 8.0 à 32.0.
commands[].workspace.layout.surfaces[].sessionstring/nullaucunUUID de la session persistante de l'hôte à laquelle le terminal se rattache à la restauration. Écrit par Paneflow.
commands[].workspace.layout.surfaces[].agent_sessionobject/nullaucunDernière conversation d'agent lancée dans la surface : runtime (id du catalogue), id (id de session du fournisseur) et cwd. Paneflow la rouvre quand la session de l'hôte n'a pas survécu. Écrit par Paneflow.

telemetry

CléTypeDéfautNotes
telemetry.enabledboolean/nullnullnull signifie sans réponse, true opt-in, false opt-out.

Exemple complet

paneflow.json
{
"$schema": "https://github.com/arthjean/paneflow/raw/main/schemas/paneflow.schema.json",
"$schemaVersion": "1.0.0",
"theme": "One Dark",
"font_family": "JetBrainsMono Nerd Font",
"font_size": 13,
"line_height": 1.0,
"cell_width": 1.0,
"windows_chrome_material": false,
"macos_chrome_material": false,
"terminal": {
  "ligatures": true,
  "scrollback_lines": 10000,
  "cursor_shape": "block"
},
"agent_panel": {
  "notify_when_agent_waiting": "PrimaryScreen"
},
"commands": [
  {
    "name": "API + Claude",
    "description": "Open the API project with Claude and tests",
    "workspace": {
      "name": "API",
      "cwd": "~/projects/api",
      "layout_preset": "even_h",
      "layout": {
        "type": "pane",
        "surfaces": [
          {
            "name": "Claude",
            "agent": "claude_code",
            "command": "claude",
            "prompt": "Review the API changes"
          }
        ]
      }
    }
  }
]
}