Files
fn_registry/bash/functions/infra/launch_kittyclaude.md
T
egutierrez 927437a8d8 feat(infra): grupo claude-fleet — FleetView TUI + orquestacion de Claudes
Sistema FleetView para centralizar la flota de procesos Claude Code vivos en una
sola ventana kitty + tmux (socket aislado -L fleet) con un panel TUI:

- list_claude_fleet (+ tipo claude_fleet): escanea ~/.claude/sessions + goals +
  runtime, valida procesos vivos (anti-PID-reciclado), join por sessionId.
- list_resumable_claudes (+ tipo resumable_claude): sesiones cerradas reanudables.
- wrappers tmux: tmux_new_claude_window (con --resume), tmux_swap_window_into_console
  (preserva ancho del sidebar), tmux_map_claude_panes.
- launch_kittyclaude: comando entrypoint; instala atajos alt+flechas/enter/n/0/k/r,
  mouse on, remain-on-exit off; fija el ancho del sidebar con hooks.
- docs/capabilities/claude-fleet.md + entrada en el INDEX.

Incluye ademas funciones datascience en progreso (excel/duckdb/postgres) y ajustes
varios de docs e infra de otra sesion, agrupados aqui para no perderlos.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 00:04:41 +02:00

5.1 KiB

name, kind, lang, domain, version, purity, signature, description, tags, params, output, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags params output uses_functions uses_types returns returns_optional error_type imports tested tests test_file_path file_path
launch_kittyclaude function bash infra 1.1.0 impure launch_kittyclaude [--cwd <dir>] [--bin <path>] [--session <name>] [--cols <n>] Entrypoint de FleetView: abre una ventana kitty con una sesion tmux (socket aislado -L fleet) de dos panes (TUI fleetview a la izquierda, claude --dangerously-skip-permissions a la derecha) para centralizar la flota de Claudes. Instala atajos alt+flechas/alt+enter/alt+n que controlan la TUI desde cualquier pane, y fija el ancho del sidebar con hooks.
claude-fleet
infra
kitty
tmux
claude
fleetview
launcher
name desc
--cwd Directorio de trabajo de ambos panes tmux. Opcional. Default: raiz del repo fn_registry, derivada dinamicamente via git rev-parse desde la ubicacion del script (sin hardcodear paths de usuario).
name desc
--bin Ruta al binario de la TUI fleetview que corre en el pane izquierdo. Opcional. Default: <repo>/apps/fleetview/fleetview. Si no es ejecutable, el pane izquierdo muestra un mensaje de como compilarla y deja una shell viva.
name desc
--session Nombre de la sesion tmux a crear o reutilizar. Opcional. Default: fleet. La funcion es idempotente sobre este nombre.
name desc
--cols Ancho en columnas del pane izquierdo (la TUI). Opcional. Default: 40.
Crea/reutiliza una sesion tmux detached con dos panes y lanza una ventana kitty 'FleetView' adjunta a ella, desacoplada del shell padre (setsid). Imprime el estado por stdout. Sin valor de retorno; exit 0 en exito.
false error_go_core
false
bash/functions/infra/launch_kittyclaude.sh

Ejemplo

# Via fn run (resuelve por nombre o ID):
fn run launch_kittyclaude

# Directo, con cwd explicito:
launch_kittyclaude --cwd ~/fn_registry

# Sesion y ancho de pane personalizados:
launch_kittyclaude --session fleet --cols 50

Tras invocarlo aparece una ventana kitty titulada FleetView con dos panes lado a lado: a la izquierda la TUI fleetview, a la derecha una sesion de claude --dangerously-skip-permissions. Volver a invocarlo NO duplica la sesion: reusa la existente y solo abre otra kitty adjunta.

Cuando usarla

Usala cuando quieras un unico punto de entrada a la flota de Claudes en vez de N ventanas kitty sueltas: lanzas kittyclaude y tienes la TUI de control y un Claude listo para trabajar en la misma ventana. Tipico al empezar la jornada o al retomar el trabajo en el repo fn_registry.

Gotchas

  • Idempotencia tmux: si la sesion <session> (default fleet) ya existe, NO se recrea el layout; solo se abre una kitty nueva adjunta a la misma sesion. Para empezar de cero: tmux kill-session -t fleet antes de invocar.
  • kitty detached (setsid): la ventana se lanza con setsid ... & para sobrevivir al cierre de la terminal que la invoco. No bloquea al shell padre.
  • exec en los panes: tanto la TUI como claude se lanzan con exec, asi que al terminar el proceso el pane se cierra en vez de dejar una shell zombie colgando. Excepcion: el fallback cuando fleetview no esta compilado deja una shell interactiva a proposito (para que veas el mensaje y puedas compilar).
  • Requiere fleetview compilado: el default --bin apunta a <repo>/apps/fleetview/fleetview. Si ese binario no existe, el pane izquierdo muestra cd apps/fleetview && go build -o fleetview . en lugar de fallar en silencio. Compila la TUI antes para el flujo completo.
  • Socket tmux aislado (-L fleet): toda la sesion vive en un server tmux propio, separado del tmux por defecto del usuario. Asi los atajos bind -n NO afectan otras sesiones (ej. una sesion mobile-1 del movil) y matar el server fleet no toca nada mas: tmux -L fleet kill-server.
  • Atajos en el socket, NO en kitty.conf: instala bind -n para alt+flechas (mover el cursor de la TUI), alt+enter (conmutar al Claude seleccionado) y alt+n (abrir Claude nuevo). Son bindings de tmux que redirigen la tecla al pane de la TUI (send-keys -t console.0), asi funcionan ESTES DONDE ESTES (incluido escribiendo en el pane de Claude). No modifican la configuracion de kitty ni los atajos globales del escritorio.
  • Ancho del sidebar via hooks: client-resized y window-layout-changed re-fijan el pane 0 (TUI) a --cols columnas, porque el attach de kitty y el conmutar de Claude redistribuyen el espacio.
  • Necesita kitty y tmux en el PATH: aborta con codigo != 0 si falta alguno.

Capability growth log

  • v1.2.0 (2026-06-16) — ancho del sidebar por defecto 47 columnas; ctrl+0 como atajo alterno para abrir Claude nuevo; mouse on (clic/rueda enrutados a la TUI) y extended-keys on (para que ctrl+0 llegue distinguible por el protocolo de teclado de kitty).
  • v1.1.0 (2026-06-16) — socket tmux aislado -L fleet; instala atajos alt+flechas / alt+enter / alt+n que controlan la TUI desde cualquier pane; hooks que mantienen fijo el ancho del sidebar tras attach/conmutar.