Files
his/scripts/sync-ai-rules.sh
华佗 355c905026 feat: AI工具配置文件内嵌完整规则 — 打开项目即自动生效
改为单一信源+内容嵌入模式:
- RULES.md: 唯一规范信源(218行)
- scripts/sync-ai-rules.sh: 一键同步脚本
- 7个工具配置文件全部内嵌完整规则内容(非引用)

支持的AI工具(打开项目自动加载):
- AGENTS.md → Codex CLI / Claude Code
- .cursorrules → Cursor IDE
- .github/copilot-instructions.md → GitHub Copilot
- .windsurfrules → Windsurf / Codeium
- .clinerules → Cline
- .qwenrules → Qwen Coder / 通义灵码
- .aider.conf.yml → Aider

使用: 编辑 RULES.md 后运行 bash scripts/sync-ai-rules.sh
2026-06-06 09:47:10 +08:00

157 lines
4.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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