Référence du schéma paneflow.json
Chaque clé de paneflow.json avec son type, sa valeur par défaut, sa stabilité et un exemple.
Chaque clé que Paneflow reconnaît aujourd'hui, regroupée par ce qu'elle contrôle. Toutes les clés sont optionnelles et se résolvent sur une valeur par défaut sensée quand omises. La source faisant autorité est le JSON Schema livré à chaque release.
Cœur
Les cinq clés les plus demandées.
Comment définir default_shell ?
Type : string (optionnel). Défaut : $SHELL.
{ "default_shell": "/bin/zsh" }Paneflow résout la valeur via une chaîne de repli : chemin configuré
(s'il est exécutable) -> $SHELL -> /bin/sh. Un shell configuré
manquant ou non exécutable passe au maillon suivant et émet un
avertissement dans les logs.
Comment définir theme ?
Type : string (optionnel). Défaut : "One Dark".
Thèmes intégrés :
"One Dark"- thème sombre, par défaut."PaneFlow Light"- thème clair.
{ "theme": "PaneFlow Light" }Les noms inconnus retombent sur "One Dark" et émettent un
avertissement dans les logs. Les thèmes se rechargent à chaud à la
sauvegarde du fichier (sondage mtime 500 ms) - aucun redémarrage
nécessaire.
Comment définir window_decorations ?
Type : "client" | "server" (optionnel). Défaut : "client".
{ "window_decorations": "client" }"client" dessine une barre de titre personnalisée (CSD) ;
"server" délègue au compositeur de l'OS (SSD). Le défaut est
"client" sur toutes les plateformes ; il n'y a pas de surcharge
spécifique à l'OS. Lu une seule fois au démarrage - les
changements nécessitent un redémarrage.
Comment définir shortcuts ?
Type : object mappant frappe -> nom_d'action (optionnel).
Défaut : objet vide (les défauts intégrés s'appliquent).
{
"shortcuts": {
"ctrl+shift+t": "new_tab",
"ctrl+shift+w": "close_pane"
}
}Les clés sont des chaînes de frappes ; les valeurs sont des noms d'actions. Vois la référence des raccourcis complète pour le vocabulaire d'actions. Les entrées utilisateur surchargent les défauts intégrés avec une sémantique de dernière écriture gagnante.
Comment définir commands ?
Type : array de définitions de commande (optionnel). Défaut :
tableau vide.
{
"commands": [
{
"name": "Open API",
"workspace": { "cwd": "~/projects/api" }
}
]
}Le schéma accepte les entrées commands, mais le runtime les
ignore actuellement et logue
"commands are not yet implemented - they will be ignored". La
forme structurelle est stable ; l'activation runtime arrive dans
une version ultérieure.
Typographie
Les trois clés de typographie ont atterri dans une release 0.2.x
précoce ; le projet n'a pas épinglé de tag de release par clé, donc
la valeur exacte de since est approximative.
Comment définir font_family ?
Type : string (optionnel). Défaut : chaîne de repli monospace de
la plateforme.
{ "font_family": "JetBrains Mono" }Paneflow essaye d'abord la famille configurée, puis retombe sur la première famille monospace installée qu'il peut localiser.
Comment définir font_size ?
Type : number (optionnel, pixels). Défaut : 14.
{ "font_size": 14 }Comment définir line_height ?
Type : number (optionnel, multiplicateur dans la plage
1.0–2.5). Défaut : 1.3.
{ "line_height": 1.3 }Les valeurs hors de la plage 1.0–2.5 sont rejetées avec un
avertissement dans les logs et la valeur par défaut est utilisée à
la place.
Entrée
Comment définir option_as_meta ?
Type : boolean (optionnel, Unix). Défaut : true.
{ "option_as_meta": false }Quand true (le défaut), la touche Alt (Linux) ou Option (macOS)
envoie un préfixe ESC - le comportement Meta-key standard utilisé par
Emacs, Vim et la plupart des applications terminales. Mets à false
si tu veux qu'Option produise des caractères Unicode natifs sur
macOS (par exemple, Option+e -> é).
Boutons d'agents IA
Bascules pour les boutons de lancement rapide par agent dans la barre de titre des volets.
Comment définir claude_code_button_visible ?
Type : boolean (optionnel). Défaut : true.
{ "claude_code_button_visible": false }Comment définir claude_code_bypass_permissions ?
Type : boolean (optionnel). Défaut : false.
{ "claude_code_bypass_permissions": true }Quand true, le lanceur Claude Code invoque la CLI avec
--dangerously-skip-permissions. Désactivé par défaut pour la
sécurité.
Comment définir codex_button_visible ?
Type : boolean (optionnel). Défaut : true.
{ "codex_button_visible": false }Comment définir opencode_button_visible ?
Type : boolean (optionnel). Défaut : true.
{ "opencode_button_visible": false }Télémétrie
Comment définir telemetry ?
Type : object { enabled: boolean | null } (optionnel). Défaut :
{ "enabled": null } (invite au premier lancement).
{ "telemetry": { "enabled": false } }Mets enabled: false pour désactiver tout reporting PostHog. Mets
enabled: true pour opter sans l'invite du premier lancement.
Terminal
Comment définir terminal.ligatures ?
Type : boolean à l'intérieur de l'objet terminal (optionnel).
Défaut : false.
{ "terminal": { "ligatures": true } }Active les ligatures de programmation pour les polices qui les embarquent (Fira Code, JetBrains Mono, Iosevka, etc.). La police doit contenir les glyphes de ligature pour que la fonctionnalité prenne effet.
Un exemple complet
{
"$schema": "https://github.com/ArthurDEV44/paneflow/raw/main/schemas/paneflow.schema.json",
"default_shell": "/bin/zsh",
"theme": "One Dark",
"font_family": "JetBrains Mono",
"font_size": 14,
"line_height": 1.3,
"window_decorations": "client",
"option_as_meta": true,
"shortcuts": {},
"terminal": { "ligatures": false },
"telemetry": { "enabled": null },
"claude_code_button_visible": true,
"claude_code_bypass_permissions": false,
"codex_button_visible": true,
"opencode_button_visible": true,
"commands": []
}Pour la définition de schéma en direct, vois
paneflow.schema.json.