#!/bin/bash

# 配置部分 - 可以根据需要修改
FOLDERS_TO_COPY=(".claude")  # 要复制的文件夹列表
FILES_TO_COPY=("CLAUDE.md" "clone_project.sh")  # 要复制的具体文件列表
FILE_EXTENSIONS=("pdf")  # 要复制的文件后缀列表

# Python 依赖包配置
PYTHON_REQUIREMENTS=(
    "langgraph"
    "langchain-openai"
    "langchain-google-genai"
)

# 获取当前文件夹名称
CURRENT_FOLDER=$(basename "$(pwd)")

# 获取当前日期（格式：MMDD_HHMM）
DATE=$(date +"%m%d_%H%M")

# 组合新文件夹名称
NEW_FOLDER="${CURRENT_FOLDER}_${DATE}"

# 在父目录中创建新文件夹的完整路径
NEW_FOLDER_PATH="../${NEW_FOLDER}"

echo "当前文件夹: $CURRENT_FOLDER"
echo "新文件夹名称: $NEW_FOLDER"
echo "新文件夹路径: $NEW_FOLDER_PATH"

# 检查新文件夹是否已存在
if [ -d "$NEW_FOLDER_PATH" ]; then
    echo "错误: 文件夹 '$NEW_FOLDER_PATH' 已存在"
    exit 1
fi

# 在父目录中创建新文件夹
echo "在父目录中创建文件夹: $NEW_FOLDER"
mkdir -p "$NEW_FOLDER_PATH"

# 复制指定的文件夹
echo "正在复制指定文件夹..."
for folder in "${FOLDERS_TO_COPY[@]}"; do
    if [ -d "$folder" ]; then
        echo "复制文件夹: $folder 到 $NEW_FOLDER"
        cp -r "$folder" "$NEW_FOLDER_PATH/"
    else
        echo "警告: 文件夹 '$folder' 不存在，跳过复制"
    fi
done

# 复制指定的文件
echo "正在复制指定文件..."
for file in "${FILES_TO_COPY[@]}"; do
    if [ -f "$file" ]; then
        echo "复制文件: $file 到 $NEW_FOLDER"
        cp "$file" "$NEW_FOLDER_PATH/"
    else
        echo "警告: 文件 '$file' 不存在，跳过复制"
    fi
done

# 复制指定后缀的文件
echo "正在复制指定后缀的文件..."
for ext in "${FILE_EXTENSIONS[@]}"; do
    FILES_FOUND=$(find . -maxdepth 1 -name "*.${ext}" -type f)
    if [ -n "$FILES_FOUND" ]; then
        echo "复制 *.${ext} 文件到 $NEW_FOLDER"
        cp *.${ext} "$NEW_FOLDER_PATH/" 2>/dev/null
        echo "已复制的 *.${ext} 文件:"
        ls -1 "$NEW_FOLDER_PATH"/*.${ext} 2>/dev/null | sed 's/.*\//  - /'
    else
        echo "警告: 当前目录下没有找到 *.${ext} 文件"
    fi
done

# 创建 requirements.txt 文件
echo "正在创建 requirements.txt 文件..."
REQUIREMENTS_FILE="$NEW_FOLDER_PATH/requirements.txt"
> "$REQUIREMENTS_FILE"  # 清空文件
for package in "${PYTHON_REQUIREMENTS[@]}"; do
    echo "$package" >> "$REQUIREMENTS_FILE"
done
echo "requirements.txt 文件已创建，包含以下依赖包:"
cat "$REQUIREMENTS_FILE" | sed 's/^/  - /'

echo "操作完成！"
echo "新文件夹 '$NEW_FOLDER' 已创建，并已复制相关文件。"

# 检查 conda 是否可用
if ! command -v conda &> /dev/null; then
    echo "错误: conda 未找到，请确保已安装 conda 并添加到 PATH"
    exit 1
fi



# 初始化 conda（确保在当前 shell 中生效）
eval "$(conda shell.bash hook)"

echo "正在创建 conda 环境: ${NEW_FOLDER}"
conda create -n "${NEW_FOLDER}" python=3.10 -y

echo "正在激活环境并安装依赖包..."
conda run -n "${NEW_FOLDER}" pip install -r "${NEW_FOLDER_PATH}/requirements.txt"

echo "✅ 环境创建完成！"
echo "📋 使用以下命令激活环境:"
echo "   conda activate ${NEW_FOLDER}"
echo ""
echo "📦 已安装的包:"
conda run -n "${NEW_FOLDER}" pip list | grep -E "(langgraph|langchain)"

echo "新工程路径:"
echo "   $(cd .. && pwd)/$NEW_FOLDER"

#删除 conda env remove -n env_name