改为单一信源+内容嵌入模式: - 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
157 lines
4.5 KiB
Bash
Executable File
157 lines
4.5 KiB
Bash
Executable File
#!/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
|