diff --git a/.claude/commands/rename.md b/.claude/commands/rename.md deleted file mode 100644 index 4dbaf67..0000000 --- a/.claude/commands/rename.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -description: Renombra esta terminal/Claude (se muestra como título en FleetView) ---- -rename: $ARGUMENTS diff --git a/.claude/hooks/goal_tracker.sh b/.claude/hooks/goal_tracker.sh index 25d5514..69d7b2a 100755 --- a/.claude/hooks/goal_tracker.sh +++ b/.claude/hooks/goal_tracker.sh @@ -52,26 +52,27 @@ if [ -n "$GOAL_LINE" ]; then block "🎯 Objetivo fijado: ${NEWGOAL}" fi -# --- /rename o rename: (nombre manual de la terminal) --- -RENAME_LINE=$(printf '%s' "$PROMPT" | grep -ioE '^[[:space:]]*(/rename|rename[[:space:]]*:)[[:space:]]*.+' | head -1) +# --- /rename : guarda el nombre para FleetView (.rename del goal) pero NO +# 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 - 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 - -|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 - TMP="${F}.tmp.$$"; jq 'del(.rename)' "$F" > "$TMP" 2>/dev/null && mv "$TMP" "$F" - fi - block "🏷️ Nombre de la terminal borrado." ;; + TMP="${F}.tmp.$$"; jq --arg n "$NEWNAME" '.rename=$n' "$F" > "$TMP" 2>/dev/null && mv "$TMP" "$F" + else + TMP="${F}.tmp.$$"; jq -n --arg n "$NEWNAME" '{rename:$n, phase:"planificando", prompts:[]}' > "$TMP" 2>/dev/null && mv "$TMP" "$F" + fi ;; esac - if [ -f "$F" ]; then - TMP="${F}.tmp.$$" - jq --arg n "$NEWNAME" '.rename=$n' "$F" > "$TMP" 2>/dev/null && mv "$TMP" "$F" - 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" - fi - block "🏷️ Terminal renombrada: ${NEWNAME}" + # NO bloquear: el prompt sigue su curso y el built-in /rename de Claude Code + # renombra la sesion. El hook solo capturo el nombre para la lista de FleetView. + exit 0 fi # --- dod: ---