#!/bin/bash # 02_create_structure.sh — Crea struttura distribuzione # Solo meccanico: mkdir, mv, organizzazione file set -e FRAMEWORK_NAME="$1" SOURCE_DIR="$2" if [ -z "$FRAMEWORK_NAME" ] || [ -z "$SOURCE_DIR" ]; then echo "❌ Usage: $0 " echo " framework-name: nome per la suite (es. orto-skills)" echo " source-dir: directory con skills e references generate" exit 1 fi if [ ! -d "$SOURCE_DIR" ]; then echo "❌ Error: Directory not found: $SOURCE_DIR" exit 1 fi DIST_DIR="${FRAMEWORK_NAME}-suite" echo "📦 Creazione struttura distribuzione: $DIST_DIR" echo "==============================================" # Crea directory distribuzione mkdir -p "$DIST_DIR" # Sposta/maintieni skills echo "" echo "### Spostamento skills..." for skill_dir in "$SOURCE_DIR"/*/; do if [ -d "$skill_dir" ]; then skill_name=$(basename "$skill_dir") if [ "$skill_name" != "references" ]; then mv "$skill_dir" "$DIST_DIR/" echo " ✓ Skill: $skill_name" fi fi done # Sposta/maintieni references echo "" echo "### Spostamento references..." if [ -d "$SOURCE_DIR/references" ]; then mv "$SOURCE_DIR/references" "$DIST_DIR/" echo " ✓ References directory" fi # Crea symlink in ogni skill echo "" echo "### Creazione symlink references..." for skill_dir in "$DIST_DIR"/*/; do if [ -d "$skill_dir" ] && [ "$(basename "$skill_dir")" != "references" ]; then ln -sf ../references "$skill_dir/references" 2>/dev/null || { echo " ⚠️ Symlink fallito per $(basename "$skill_dir")" continue } echo " ✓ Symlink: $(basename "$skill_dir")/references → ../references" fi done echo "" echo "==============================================" echo "✅ Struttura creata: $DIST_DIR" echo "" echo "Contenuto:" ls -la "$DIST_DIR"