Saltar al contenido
Paneflow

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?

Stable Since v0.1.7

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?

Stable Since v0.1.7

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?

Stable Since v0.2.3

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?

Stable Since v0.1.7

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?

Beta Since v0.1.7

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?

Stable

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?

Stable

Tipo: number (opcional, píxeles). Predeterminado: 14.

{ "font_size": 14 }

¿Cómo defino line_height?

Stable

Tipo: number (opcional, multiplicador en el rango 1.02.5). Predeterminado: 1.3.

{ "line_height": 1.3 }

Los valores fuera del rango 1.02.5 se rechazan con una advertencia en el log y se usa el predeterminado en su lugar.

Entrada

¿Cómo defino option_as_meta?

Stable Since v0.2.14

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?

Stable Since v0.2.10

Tipo: boolean (opcional). Predeterminado: true.

{ "claude_code_button_visible": false }

¿Cómo defino claude_code_bypass_permissions?

Stable Since v0.2.10

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?

Stable Since v0.2.10

Tipo: boolean (opcional). Predeterminado: true.

{ "codex_button_visible": false }

¿Cómo defino opencode_button_visible?

Stable Since v0.2.13

Tipo: boolean (opcional). Predeterminado: true.

{ "opencode_button_visible": false }

Telemetría

¿Cómo defino telemetry?

Stable Since v0.2.9

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?

Stable Since v0.2.14

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.

On this page