From 648184da438cf2c044448b40d00dd3d3cdf0a160 Mon Sep 17 00:00:00 2001 From: Gilles Soulier Date: Sat, 16 May 2026 10:40:40 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20install.sh=20=E2=80=94=20tags=20corrompu?= =?UTF-8?q?s=20et=20section=20GLOBAL=20vide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug 1 : format_skill_line et print_summary ne lisaient que 8 champs avec IFS='|' read, donc tags héritait de "tags|bundle|/tmp/..." depuis que SKILLS_LIST a 10 champs. Ajout de kind et source_path dans tous les read. Bug 2 : gen_global_section itère sur DETECTED_AGENTS, mais si l'utilisateur appuie ENTER sans sélectionner dans le menu agents, le tableau est vide → aucun skill global affiché. Fallback vers les 4 agents connus si vide, cohérent avec le comportement de _skill_agent_ok(). Co-Authored-By: Claude Sonnet 4.6 --- install.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/install.sh b/install.sh index 5ba0a57..7fb06ce 100755 --- a/install.sh +++ b/install.sh @@ -400,8 +400,8 @@ state_cycle() { # ── Formatage ligne skill (préfixe caché s:IDX\t pour fzf) ─────── format_skill_line() { local entry="$1" idx="$2" - local cat skill agent etat repo_ver local_ver desc tags - IFS='|' read -r cat skill agent etat repo_ver local_ver desc tags <<< "$entry" + local cat skill agent etat repo_ver local_ver desc tags kind source_path + IFS='|' read -r cat skill agent etat repo_ver local_ver desc tags kind source_path <<< "$entry" local key; key=$(make_key "$entry") local action; action=$(state_get "$key") @@ -592,7 +592,9 @@ gen_global_section() { printf "d:section-global\t${GRV_GRAY}── 💾 GLOBAL — Skills installés ── (TAB pour basculer)${RESET}\n" fi local -a global_lines=() - for agent in "${DETECTED_AGENTS[@]}"; do + local -a agents_to_show=("${DETECTED_AGENTS[@]}") + [[ "${#agents_to_show[@]}" -eq 0 ]] && agents_to_show=("claude-code" "gemini-cli" "codex" "hermes") + for agent in "${agents_to_show[@]}"; do base="${agent_dir_map[$agent]:-}" [[ -z "$base" ]] && continue while IFS= read -r skill_md; do @@ -853,8 +855,8 @@ print_summary() { echo -e "\n${GRV_PURPLE}╔══ Tester vos skills ══╗${RESET}\n" for entry in "${SKILLS_LIST[@]}"; do - local cat skill agent etat repo_ver local_ver - IFS='|' read -r cat skill agent etat repo_ver local_ver <<< "$entry" + local cat skill agent etat repo_ver local_ver desc tags kind source_path + IFS='|' read -r cat skill agent etat repo_ver local_ver desc tags kind source_path <<< "$entry" local key; key=$(make_key "$entry") local action; action=$(state_get "$key") [[ "$action" == "skip" ]] && continue