- SKILL.md: Istruzioni complete per LLM (Fasi 1-5) - references/mapping_patterns.md: 13 pattern di trasformazione - references/skill_template.md: Template standardizzato SKILL.md - scripts/: 3 script meccanici bash (scan, structure, packaging) - PIANO_SVILUPPO.md: Piano di sviluppo originale (documentazione) Approccio: LLM-native con script minimali per operazioni meccaniche. Token usage stimato: ~35-65K per framework. Vantaggi: comprensione semantica, adattabilità, manutenzione semplice.
140 lines
3.1 KiB
Bash
Executable file
140 lines
3.1 KiB
Bash
Executable file
#!/bin/bash
|
|
# 03_generate_packaging.sh — Genera INSTALL.sh e README.md
|
|
# Solo meccanico: generazione file packaging
|
|
|
|
set -e
|
|
|
|
DIST_DIR="$1"
|
|
FRAMEWORK_NAME="$(basename "$DIST_DIR" | sed 's/-suite$//')"
|
|
|
|
if [ -z "$DIST_DIR" ] || [ ! -d "$DIST_DIR" ]; then
|
|
echo "❌ Usage: $0 <dist-dir>"
|
|
exit 1
|
|
fi
|
|
|
|
echo "📦 Generazione packaging per: $DIST_DIR"
|
|
echo "=============================================="
|
|
|
|
# Conta skills e references
|
|
SKILLS_COUNT=$(find "$DIST_DIR" -mindepth 1 -maxdepth 1 -type d ! -name "references" 2>/dev/null | wc -l | tr -d ' ')
|
|
REFS_COUNT=$(find "$DIST_DIR/references" -name "*.md" 2>/dev/null | wc -l | tr -d ' ')
|
|
|
|
# Genera INSTALL.sh
|
|
echo ""
|
|
echo "### Generazione INSTALL.sh..."
|
|
|
|
cat > "$DIST_DIR/INSTALL.sh" << EOF
|
|
#!/bin/bash
|
|
# Installazione ${FRAMEWORK_NAME}-skills
|
|
|
|
SOURCE="\$(cd "\$(dirname "\${BASH_SOURCE[0]}")" && pwd)"
|
|
TARGET="\$HOME/.openclaw/skills/${FRAMEWORK_NAME}-skills"
|
|
|
|
echo "📦 Installing ${FRAMEWORK_NAME}-skills..."
|
|
echo ""
|
|
|
|
# Verifica destinazione
|
|
if [ -d "\$TARGET" ]; then
|
|
echo "⚠️ Directory esistente: \$TARGET"
|
|
read -p "Sovrascrivere? (y/N) " confirm
|
|
if [ "\$confirm" != "y" ]; then
|
|
echo "❌ Installazione annullata"
|
|
exit 1
|
|
fi
|
|
rm -rf "\$TARGET"
|
|
fi
|
|
|
|
# Crea directory parent
|
|
mkdir -p "\$(dirname "\$TARGET")"
|
|
|
|
# Copia skills
|
|
cp -r "\$SOURCE" "\$TARGET"
|
|
|
|
echo "✅ Installation complete!"
|
|
echo ""
|
|
echo "Skills installate in: \$TARGET"
|
|
echo ""
|
|
echo "Skills incluse (${SKILLS_COUNT}):"
|
|
for skill in "\$TARGET"/*/; do
|
|
if [ -d "\$skill" ] && [ "\$(basename "\$skill")" != "references" ]; then
|
|
echo " - \$(basename "\$skill")"
|
|
fi
|
|
done
|
|
EOF
|
|
|
|
chmod +x "$DIST_DIR/INSTALL.sh"
|
|
echo " ✓ INSTALL.sh generato"
|
|
|
|
# Genera README.md
|
|
echo ""
|
|
echo "### Generazione README.md..."
|
|
|
|
cat > "$DIST_DIR/README.md" << EOF
|
|
# ${FRAMEWORK_NAME}-skills
|
|
|
|
Suite di AgentSkills generate da framework-translator.
|
|
|
|
## Panoramica
|
|
|
|
- **Skills:** ${SKILLS_COUNT}
|
|
- **References:** ${REFS_COUNT}
|
|
- **Lingua:** Da rilevare
|
|
- **Dominio:** Da rilevare
|
|
|
|
## Installazione
|
|
|
|
### Metodo 1: Script Automatico
|
|
|
|
\`\`\`bash
|
|
./INSTALL.sh
|
|
\`\`\`
|
|
|
|
### Metodo 2: Copia Manuale
|
|
|
|
\`\`\`bash
|
|
cp -r . ~/.openclaw/skills/${FRAMEWORK_NAME}-skills
|
|
\`\`\`
|
|
|
|
## Skills Incluse
|
|
|
|
EOF
|
|
|
|
# Lista skills
|
|
for skill_dir in "$DIST_DIR"/*/; do
|
|
if [ -d "$skill_dir" ] && [ "$(basename "$skill_dir")" != "references" ]; then
|
|
skill_name=$(basename "$skill_dir")
|
|
echo "- **$skill_name**" >> "$DIST_DIR/README.md"
|
|
fi
|
|
done
|
|
|
|
cat >> "$DIST_DIR/README.md" << EOF
|
|
|
|
## References
|
|
|
|
EOF
|
|
|
|
# Lista references
|
|
if [ -d "$DIST_DIR/references" ]; then
|
|
for ref_file in "$DIST_DIR/references"/*.md; do
|
|
if [ -f "$ref_file" ]; then
|
|
ref_name=$(basename "$ref_file")
|
|
echo "- \`$ref_name\`" >> "$DIST_DIR/README.md"
|
|
fi
|
|
done
|
|
fi
|
|
|
|
cat >> "$DIST_DIR/README.md" << EOF
|
|
|
|
---
|
|
|
|
_Generato da framework-translator il $(date +%Y-%m-%d)_
|
|
EOF
|
|
|
|
echo " ✓ README.md generato"
|
|
|
|
echo ""
|
|
echo "=============================================="
|
|
echo "✅ Packaging completato"
|
|
echo ""
|
|
echo "File generati:"
|
|
ls -la "$DIST_DIR"/*.sh "$DIST_DIR"/*.md 2>/dev/null || true
|