Referencia del esquema paneflow.json
Cada clave de paneflow.json con su tipo, valor predeterminado, estabilidad y un ejemplo.
Cada clave que Paneflow reconoce hoy, agrupada por lo que controla. Todas las claves son opcionales y se resuelven a un valor predeterminado sensato cuando se omiten. La fuente autoritativa es el JSON Schema que se entrega con cada release.
Núcleo
Las cinco claves más solicitadas.
¿Cómo defino default_shell?
Tipo: string (opcional). Predeterminado: $SHELL.
{ "default_shell": "/bin/zsh" }Paneflow resuelve el valor a través de una cadena de respaldo:
ruta configurada (si es ejecutable) -> $SHELL -> /bin/sh. Una
shell configurada faltante o no ejecutable cae al siguiente
eslabón y emite una advertencia en el log.
¿Cómo defino theme?
Tipo: string (opcional). Predeterminado: "One Dark".
Temas integrados:
"One Dark"- tema oscuro, predeterminado."PaneFlow Light"- tema claro.
{ "theme": "PaneFlow Light" }Los nombres desconocidos caen a "One Dark" y emiten una
advertencia en el log. Los temas se recargan en caliente al
guardar el archivo (sondeo de mtime de 500 ms) - sin reiniciar.
¿Cómo defino window_decorations?
Tipo: "client" | "server" (opcional). Predeterminado: "client".
{ "window_decorations": "client" }"client" dibuja una barra de título personalizada (CSD);
"server" delega al compositor del SO (SSD). El predeterminado
es "client" en todas las plataformas; no hay sobrescritura
específica de SO. Se lee una vez al arranque - los cambios
requieren reinicio.
¿Cómo defino shortcuts?
Tipo: object que mapea pulsación -> action_name (opcional).
Predeterminado: objeto vacío (se aplican los predeterminados
integrados).
{
"shortcuts": {
"ctrl+shift+t": "new_tab",
"ctrl+shift+w": "close_pane"
}
}Las claves son cadenas de pulsación; los valores son nombres de acción. Mira la referencia completa de atajos para el vocabulario de acciones. Las entradas de usuario sobrescriben los predeterminados integrados con semántica de última escritura gana.
¿Cómo defino commands?
Tipo: array de definiciones de comando (opcional).
Predeterminado: array vacío.
{
"commands": [
{
"name": "Open API",
"workspace": { "cwd": "~/projects/api" }
}
]
}El esquema acepta entradas commands, pero el runtime actualmente
las ignora y registra
"commands are not yet implemented - they will be ignored". La
forma estructural es estable; la activación en runtime llega en un
release posterior.
Tipografía
Las tres claves de tipografía aterrizaron en un release temprano
0.2.x; el proyecto no fijó etiquetas de release por clave, así
que el valor exacto de since es aproximado.
¿Cómo defino font_family?
Tipo: string (opcional). Predeterminado: cadena de respaldo
monospace de la plataforma.
{ "font_family": "JetBrains Mono" }Paneflow prueba primero la familia configurada, luego cae a la primera familia monospace instalada que pueda localizar.
¿Cómo defino font_size?
Tipo: number (opcional, píxeles). Predeterminado: 14.
{ "font_size": 14 }¿Cómo defino line_height?
Tipo: number (opcional, multiplicador en el rango 1.0–2.5).
Predeterminado: 1.3.
{ "line_height": 1.3 }Los valores fuera del rango 1.0–2.5 se rechazan con una
advertencia en el log y se usa el predeterminado en su lugar.
Entrada
¿Cómo defino option_as_meta?
Tipo: boolean (opcional, Unix). Predeterminado: true.
{ "option_as_meta": false }Cuando es true (el predeterminado), la tecla Alt (Linux) o la
tecla Option (macOS) envía un prefijo ESC - el comportamiento
estándar de tecla Meta usado por Emacs, Vim y la mayoría de
aplicaciones de terminal. Define a false si quieres que Option
produzca caracteres Unicode nativos en macOS (por ejemplo,
Option+e -> é).
Botones de agentes de IA
Interruptores para los botones de lanzamiento rápido por agente en la barra de título del panel.
¿Cómo defino claude_code_button_visible?
Tipo: boolean (opcional). Predeterminado: true.
{ "claude_code_button_visible": false }¿Cómo defino claude_code_bypass_permissions?
Tipo: boolean (opcional). Predeterminado: false.
{ "claude_code_bypass_permissions": true }Cuando es true, el lanzador de Claude Code invoca la CLI con
--dangerously-skip-permissions. Desactivado por defecto por
seguridad.
¿Cómo defino codex_button_visible?
Tipo: boolean (opcional). Predeterminado: true.
{ "codex_button_visible": false }¿Cómo defino opencode_button_visible?
Tipo: boolean (opcional). Predeterminado: true.
{ "opencode_button_visible": false }Telemetría
¿Cómo defino telemetry?
Tipo: object { enabled: boolean | null } (opcional).
Predeterminado: { "enabled": null } (aviso en el primer
lanzamiento).
{ "telemetry": { "enabled": false } }Define enabled: false para deshabilitar todo reporte a PostHog.
Define enabled: true para optar sin el aviso del primer
lanzamiento.
Terminal
¿Cómo defino terminal.ligatures?
Tipo: boolean dentro del objeto terminal (opcional).
Predeterminado: false.
{ "terminal": { "ligatures": true } }Habilita ligaduras de programación para fuentes que las entreguen (Fira Code, JetBrains Mono, Iosevka, etc.). La fuente debe contener los glifos de ligadura para que la función surta efecto.
Un ejemplo completo
{
"$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": []
}Para la definición del esquema en vivo mira
paneflow.schema.json.