| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #!/usr/bin/env bash
- #
- # 雨飏001 · 数字生命引导脚本 (Linux/macOS)
- # 用法: bash bootstrap.sh
- #
- set -euo pipefail
- HARNESS="${HOME}/.fmode-harness"
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- # 如果脚本在仓库内运行,HARNESS 就是仓库根目录
- if [ -d "${SCRIPT_DIR}/.git" ]; then
- HARNESS="${SCRIPT_DIR}"
- fi
- echo "=========================================="
- echo " 雨飏001 · 数字生命引导"
- echo " 版本: v0.1"
- echo "=========================================="
- echo ""
- # 1. 检查环境
- echo "[1/5] 检查系统环境..."
- OS="$(uname -s)"
- ARCH="$(uname -m)"
- echo " 系统: ${OS} ${ARCH}"
- # 2. 检查必要命令
- echo "[2/5] 检查必要工具..."
- for cmd in git curl; do
- if command -v $cmd &>/dev/null; then
- echo " ✅ $cmd"
- else
- echo " ❌ $cmd 未安装"
- exit 1
- fi
- done
- # 3. 检查密钥
- echo "[3/5] 检查密钥配置..."
- if [ -f "${HARNESS}/.env" ]; then
- echo " ✅ 密钥文件已存在"
- source "${HARNESS}/.env"
- else
- echo " ⚠️ 密钥文件不存在,将创建模板"
- echo " 请编辑 ${HARNESS}/.env 填入真实密钥"
- cp "${HARNESS}/secrets/.env.example" "${HARNESS}/.env" 2>/dev/null || true
- fi
- # 4. 检查 SSH 密钥
- echo "[4/5] 检查 SSH 密钥..."
- if [ -f "${HOME}/.ssh/id_ed25519" ]; then
- echo " ✅ SSH 密钥已存在"
- else
- echo " ⚠️ SSH 密钥不存在,创建..."
- ssh-keygen -t ed25519 -C "agent-yuyang001" -f "${HOME}/.ssh/id_ed25519" -N ""
- echo " 🔑 公钥:"
- cat "${HOME}/.ssh/id_ed25519.pub"
- echo " 请将此公钥添加到 Git 服务器"
- fi
- # 5. 克隆项目
- echo "[5/5] 克隆项目仓库..."
- PROJECTS_DIR="${HARNESS}/projects"
- mkdir -p "${PROJECTS_DIR}"
- echo ""
- echo "=========================================="
- echo " ✅ 引导完成"
- echo " 仓库路径: ${HARNESS}"
- echo " 下一步: 编辑 .env 文件填入密钥"
- echo " 运行 setup.sh 安装依赖"
- echo "=========================================="
|