#!/usr/bin/env bash # ============================================================ # sync-ai-rules.sh — 将 RULES.md 完整内容同步到所有 AI 工具配置文件 # # 用法: bash scripts/sync-ai-rules.sh # # 设计原则: # RULES.md 是唯一信源,本脚本将其内容嵌入到各工具配置文件 # 开发者只需编辑 RULES.md,然后运行本脚本即可同步所有工具 # ============================================================ set -euo pipefail cd "$(dirname "$0")/.." RULES_FILE="RULES.md" if [ ! -f "$RULES_FILE" ]; then echo "❌ $RULES_FILE not found" exit 1 fi RULES_CONTENT=$(cat "$RULES_FILE") TIMESTAMP=$(date '+%Y-%m-%d %H:%M') echo "📝 Syncing RULES.md → AI tool configs..." # ============================================================ # 1. AGENTS.md (Codex CLI / Claude Code) # ============================================================ cat > AGENTS.md << HEREDOC # HealthLink-HIS — AI 开发规范 > 🤖 本文件由 Codex CLI、Claude Code 等工具自动读取。 > 工具进入项目目录时会自动加载此文件作为开发规范上下文。 --- ${RULES_CONTENT} --- > 📅 最后同步: ${TIMESTAMP} | 源文件: RULES.md | 重新同步: \`bash scripts/sync-ai-rules.sh\` HEREDOC echo " ✅ AGENTS.md" # ============================================================ # 2. .cursorrules (Cursor IDE / Codeium Windsurf) # ============================================================ cat > .cursorrules << HEREDOC # HealthLink-HIS — AI 开发规范 (Cursor) > 🤖 Cursor IDE 打开本项目时自动加载此文件。 --- ${RULES_CONTENT} --- > 📅 最后同步: ${TIMESTAMP} | 源文件: RULES.md | 重新同步: \`bash scripts/sync-ai-rules.sh\` HEREDOC echo " ✅ .cursorrules" # ============================================================ # 3. .github/copilot-instructions.md (GitHub Copilot) # ============================================================ mkdir -p .github cat > .github/copilot-instructions.md << HEREDOC # HealthLink-HIS — AI 开发规范 (GitHub Copilot) > 🤖 GitHub Copilot 打开本项目时自动加载此文件。 --- ${RULES_CONTENT} --- > 📅 最后同步: ${TIMESTAMP} | 源文件: RULES.md | 重新同步: \`bash scripts/sync-ai-rules.sh\` HEREDOC echo " ✅ .github/copilot-instructions.md" # ============================================================ # 4. .windsurfrules (Windsurf / Codeium) # ============================================================ cat > .windsurfrules << HEREDOC # HealthLink-HIS — AI 开发规范 (Windsurf) > 🤖 Windsurf 打开本项目时自动加载此文件。 --- ${RULES_CONTENT} --- > 📅 最后同步: ${TIMESTAMP} | 源文件: RULES.md | 重新同步: \`bash scripts/sync-ai-rules.sh\` HEREDOC echo " ✅ .windsurfrules" # ============================================================ # 5. .clinerules (Cline) # ============================================================ cat > .clinerules << HEREDOC # HealthLink-HIS — AI 开发规范 (Cline) > 🤖 Cline 打开本项目时自动加载此文件。 --- ${RULES_CONTENT} --- > 📅 最后同步: ${TIMESTAMP} | 源文件: RULES.md | 重新同步: \`bash scripts/sync-ai-rules.sh\` HEREDOC echo " ✅ .clinerules" # ============================================================ # 6. .qwenrules (Qwen Coder / 通义灵码) # ============================================================ cat > .qwenrules << HEREDOC # HealthLink-HIS — AI 开发规范 (Qwen Coder) > 🤖 通义灵码 / Qwen Coder 打开本项目时自动加载此文件。 --- ${RULES_CONTENT} --- > 📅 最后同步: ${TIMESTAMP} | 源文件: RULES.md | 重新同步: \`bash scripts/sync-ai-rules.sh\` HEREDOC echo " ✅ .qwenrules" # ============================================================ # 7. .aider.conf.yml (Aider) — YAML格式,嵌入指令 # ============================================================ # Aider 支持 instruction-files 指向文件,同时也支持直接在 .aider.conf.yml 中写 instructions # 这里用 instructions 指令把内容内联 cat > .aider.conf.yml << HEREDOC # Aider configuration for HealthLink-HIS # Aider 自动读取此文件获取开发规范 instructions: | $(echo "$RULES_CONTENT" | sed 's/^/ /') HEREDOC echo " ✅ .aider.conf.yml" echo "" echo "🎉 All 7 AI tool configs synced from RULES.md" echo " 文件大小:" for f in AGENTS.md .cursorrules .github/copilot-instructions.md .windsurfrules .clinerules .qwenrules .aider.conf.yml; do size=$(wc -c < "$f" 2>/dev/null || echo "0") echo " $f: ${size} bytes" done