Files
mes_skills/docs/structure_script_install.md
T

2.5 KiB

Architecture de install.sh

Vue d'ensemble

install.sh est un script bash autonome qui :

  1. Vérifie les dépendances (git, fzf)
  2. Détecte les agents IA installés
  3. Clone le dépôt en /tmp
  4. Présente un menu fzf interactif avec état par skill
  5. Installe les skills sélectionnés sans sudo
  6. Affiche un bilan + commandes de test

Variables d'environnement

Variable Défaut Effet
SKILLS_DEBUG=1 non Affiche chaque étape en détail
SKILLS_DRY_RUN=1 non Simule sans écrire de fichiers
SKILLS_REPO=/path (Gitea) Utilise un dépôt local
SKILLS_TAG=bash (tous) Filtre les skills par tag
SKILLS_AGENT=claude (auto) Force un seul agent

Palette Gruvbox Dark (256 couleurs)

Variable Code Usage
GRV_GREEN \033[38;5;142m Succès, installé ✓
GRV_YELLOW \033[38;5;214m MAJ dispo ↑
GRV_AQUA \033[38;5;108m Nouveau skill +
GRV_GRAY \033[38;5;245m Non applicable ·
GRV_RED \033[38;5;167m Erreur fatale
GRV_ORANGE \033[38;5;208m Avertissement
GRV_BLUE \033[38;5;109m Info, action globale
GRV_PURPLE \033[38;5;175m Encadrés, titres

Flux d'exécution

check_deps()
  └─ fzf absent → install_fzf() ou exit
  └─ git absent → exit 1

detect_agents() → tableau DETECTED_AGENTS[]

clone_repo() → /tmp/mes_skills_<PID>/

scan_skills()
  └─ pour chaque skills/<cat>/<nom>/<agent>.md du dépôt
  └─ si agent dans DETECTED_AGENTS
  └─ get_local_version() vs get_repo_version()
  └─ compare_versions() → état (✓ ↑ + ·)

run_menu()  [fzf + fichier état /tmp/skills_state_<PID>]
  └─ TAB → cycle_action() + reload
  └─ ENTER → liste des sélections

install_selected()
  └─ mkdir -p destination
  └─ cp <agent>.md → SKILL.md

print_summary()
  └─ bilan coloré
  └─ commandes de test copiables
  └─ liens docs agents

cleanup() [trap EXIT]

Destinations d'installation (sans sudo)

Agent Global Local
claude-code ~/.claude/skills/<cat>/<nom>/SKILL.md .claude/skills/<cat>/<nom>/SKILL.md
gemini-cli ~/.gemini/skills/<cat>/<nom>/SKILL.md .gemini/skills/<cat>/<nom>/SKILL.md
codex ~/.codex/skills/<cat>/<nom>/SKILL.md .codex/skills/<cat>/<nom>/SKILL.md
hermes ~/.hermes/skills/<cat>/<nom>/SKILL.md .hermes/skills/<cat>/<nom>/SKILL.md