Рыба проекта. Минимальная функциональность

This commit is contained in:
2026-08-03 22:22:24 +03:00
commit 8c8631ac9c
80 changed files with 10618 additions and 0 deletions
Executable
+66
View File
@@ -0,0 +1,66 @@
#!/usr/bin/env bash
set -euo pipefail
# Configuration
REPO_URL="https://git.tswf.io/ai-agents/ai-agent-skills.git"
TARGET_DIR=".agents/skills"
# Get script directory for relative paths
if [ -n "${BASH_SOURCE[0]+x}" ]; then
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
fi
# Create target directory if it doesn't exist
mkdir -p "$TARGET_DIR"
# Create temporary directory
TEMP_DIR=$(mktemp -d)
echo "Created temporary directory: $TEMP_DIR"
# Ensure cleanup on exit
cleanup() {
if [ -d "$TEMP_DIR" ]; then
rm -rf "$TEMP_DIR"
echo "Cleaned up temporary directory"
fi
}
trap cleanup EXIT
# Clone repository
echo "Cloning repository $REPO_URL..."
git clone --depth 1 "$REPO_URL" "$TEMP_DIR/repo"
# Check if clone was successful
if [ ! -d "$TEMP_DIR/repo" ]; then
echo "Error: Failed to clone repository"
exit 1
fi
# Find and process skills (subdirectories in the cloned repo)
SKILLS_FOUND=0
for skill_path in "$TEMP_DIR/repo/skills"/*/; do
# Skip if no directories found (glob returns literal pattern if no match)
[ -d "$skill_path" ] || continue
skill_name=$(basename "$skill_path")
target_skill_path="$TARGET_DIR/$skill_name"
# Remove existing skill if present
if [ -e "$target_skill_path" ]; then
echo "Removing existing skill: $skill_name"
rm -rf "$target_skill_path"
fi
# Copy new skill
echo "Installing skill: $skill_name"
cp -r "$skill_path" "$target_skill_path"
SKILLS_FOUND=$((SKILLS_FOUND + 1))
done
if [ "$SKILLS_FOUND" -eq 0 ]; then
echo "Warning: No skills found in repository"
else
echo "Successfully synchronized $SKILLS_FOUND skill(s) to $TARGET_DIR"
fi