fix(goals): /rename delega al built-in de Claude Code (no bloquea)
El hook capturaba /rename y bloqueaba el prompt, impidiendo que el comando NATIVO /rename de Claude Code renombrara la sesion. Ahora el hook guarda el nombre para FleetView (.rename del goal) y NO bloquea, asi el built-in tambien actua. Elimina commands/rename.md (competia con el built-in y lo tapaba). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
description: Renombra esta terminal/Claude (se muestra como título en FleetView)
|
|
||||||
---
|
|
||||||
rename: $ARGUMENTS
|
|
||||||
@@ -52,26 +52,27 @@ if [ -n "$GOAL_LINE" ]; then
|
|||||||
block "🎯 Objetivo fijado: ${NEWGOAL}"
|
block "🎯 Objetivo fijado: ${NEWGOAL}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# --- /rename <texto> o rename: <texto> (nombre manual de la terminal) ---
|
# --- /rename <texto>: guarda el nombre para FleetView (.rename del goal) pero NO
|
||||||
RENAME_LINE=$(printf '%s' "$PROMPT" | grep -ioE '^[[:space:]]*(/rename|rename[[:space:]]*:)[[:space:]]*.+' | head -1)
|
# bloquea, para que el comando NATIVO /rename de Claude Code renombre tambien
|
||||||
|
# la sesion (prompt bar + /resume picker). Por eso NO debe existir
|
||||||
|
# ~/.claude/commands/rename.md: competiria con el built-in y lo taparia. ---
|
||||||
|
RENAME_LINE=$(printf '%s' "$PROMPT" | grep -ioE '^[[:space:]]*/rename([[:space:]]+.*)?$' | head -1)
|
||||||
if [ -n "$RENAME_LINE" ]; then
|
if [ -n "$RENAME_LINE" ]; then
|
||||||
NEWNAME=$(printf '%s' "$RENAME_LINE" | sed -E 's#^[[:space:]]*(/rename|rename[[:space:]]*:)[[:space:]]*##; s/[[:space:]]+$//')
|
NEWNAME=$(printf '%s' "$RENAME_LINE" | sed -E 's#^[[:space:]]*/rename[[:space:]]*##; s/[[:space:]]+$//')
|
||||||
case "$NEWNAME" in
|
case "$NEWNAME" in
|
||||||
-|clear|none|borrar|quitar|reset)
|
""|-|clear|none|borrar|quitar|reset)
|
||||||
|
# /rename sin texto: Claude Code auto-genera; borramos el override de FleetView.
|
||||||
|
[ -f "$F" ] && { TMP="${F}.tmp.$$"; jq 'del(.rename)' "$F" > "$TMP" 2>/dev/null && mv "$TMP" "$F"; } ;;
|
||||||
|
*)
|
||||||
if [ -f "$F" ]; then
|
if [ -f "$F" ]; then
|
||||||
TMP="${F}.tmp.$$"; jq 'del(.rename)' "$F" > "$TMP" 2>/dev/null && mv "$TMP" "$F"
|
TMP="${F}.tmp.$$"; jq --arg n "$NEWNAME" '.rename=$n' "$F" > "$TMP" 2>/dev/null && mv "$TMP" "$F"
|
||||||
fi
|
|
||||||
block "🏷️ Nombre de la terminal borrado." ;;
|
|
||||||
esac
|
|
||||||
if [ -f "$F" ]; then
|
|
||||||
TMP="${F}.tmp.$$"
|
|
||||||
jq --arg n "$NEWNAME" '.rename=$n' "$F" > "$TMP" 2>/dev/null && mv "$TMP" "$F"
|
|
||||||
else
|
else
|
||||||
# Sin objetivo aun: crear el archivo minimo con el rename.
|
TMP="${F}.tmp.$$"; jq -n --arg n "$NEWNAME" '{rename:$n, phase:"planificando", prompts:[]}' > "$TMP" 2>/dev/null && mv "$TMP" "$F"
|
||||||
TMP="${F}.tmp.$$"
|
fi ;;
|
||||||
jq -n --arg n "$NEWNAME" '{rename:$n, phase:"planificando", prompts:[]}' > "$TMP" 2>/dev/null && mv "$TMP" "$F"
|
esac
|
||||||
fi
|
# NO bloquear: el prompt sigue su curso y el built-in /rename de Claude Code
|
||||||
block "🏷️ Terminal renombrada: ${NEWNAME}"
|
# renombra la sesion. El hook solo capturo el nombre para la lista de FleetView.
|
||||||
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# --- dod: <texto> ---
|
# --- dod: <texto> ---
|
||||||
|
|||||||
Reference in New Issue
Block a user