split-cursorrules.sh 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. #!/bin/bash
  2. # =============================================================================
  3. # Cursor Rules 拆分脚本
  4. # 功能:将大型.cursorrules文件拆分为多个专门的规范文件
  5. # 使用:./scripts/split-cursorrules.sh
  6. # =============================================================================
  7. set -e
  8. # 颜色定义
  9. GREEN='\033[0;32m'
  10. YELLOW='\033[1;33m'
  11. BLUE='\033[0;34m'
  12. RED='\033[0;31m'
  13. NC='\033[0m' # No Color
  14. echo -e "${BLUE}🔄 开始拆分 .cursorrules 文件...${NC}"
  15. # 检查原文件是否存在
  16. if [ ! -f ".cursorrules" ]; then
  17. echo -e "${RED}❌ 未找到 .cursorrules 文件${NC}"
  18. exit 1
  19. fi
  20. # 创建.cursor目录
  21. mkdir -p .cursor
  22. # 备份原文件
  23. cp .cursorrules .cursorrules.backup
  24. echo -e "${GREEN}✅ 已备份原文件为 .cursorrules.backup${NC}"
  25. # 拆分文件的行号范围(根据实际内容调整)
  26. echo -e "${YELLOW}📊 分析文件结构...${NC}"
  27. # 获取各部分的行号
  28. DOCS_START=$(grep -n "# 第一部分:项目文档管理规范" .cursorrules | cut -d: -f1)
  29. FRONTEND_START=$(grep -n "# 第二部分:Web前端开发规范" .cursorrules | cut -d: -f1)
  30. BACKEND_START=$(grep -n "# 第三部分:后端开发规范" .cursorrules | cut -d: -f1)
  31. MOBILE_START=$(grep -n "# 第四部分:移动端开发规范" .cursorrules | cut -d: -f1)
  32. COMMON_START=$(grep -n "# 通用开发原则" .cursorrules | cut -d: -f1)
  33. API_START=$(grep -n "# 第五部分:API测试和登录方法" .cursorrules | cut -d: -f1)
  34. echo -e "${BLUE}📝 开始拆分各部分...${NC}"
  35. # 1. 拆分文档管理规范
  36. echo -e "${YELLOW} 拆分文档管理规范...${NC}"
  37. sed -n "${DOCS_START},$((FRONTEND_START-1))p" .cursorrules > .cursor/cursorrules-docs.md
  38. echo -e "${GREEN} ✅ 创建 cursorrules-docs.md${NC}"
  39. # 2. 拆分前端开发规范
  40. echo -e "${YELLOW} 拆分前端开发规范...${NC}"
  41. sed -n "${FRONTEND_START},$((BACKEND_START-1))p" .cursorrules > .cursor/cursorrules-frontend.md
  42. echo -e "${GREEN} ✅ 创建 cursorrules-frontend.md${NC}"
  43. # 3. 拆分后端开发规范
  44. echo -e "${YELLOW} 拆分后端开发规范...${NC}"
  45. sed -n "${BACKEND_START},$((MOBILE_START-1))p" .cursorrules > .cursor/cursorrules-backend.md
  46. echo -e "${GREEN} ✅ 创建 cursorrules-backend.md${NC}"
  47. # 4. 拆分移动端开发规范
  48. echo -e "${YELLOW} 拆分移动端开发规范...${NC}"
  49. sed -n "${MOBILE_START},$((COMMON_START-1))p" .cursorrules > .cursor/cursorrules-mobile.md
  50. echo -e "${GREEN} ✅ 创建 cursorrules-mobile.md${NC}"
  51. # 5. 拆分API测试规范
  52. echo -e "${YELLOW} 拆分API测试规范...${NC}"
  53. sed -n "${API_START},\$p" .cursorrules > .cursor/cursorrules-api-test.md
  54. echo -e "${GREEN} ✅ 创建 cursorrules-api-test.md${NC}"
  55. # 6. 创建新的主配置文件
  56. echo -e "${YELLOW} 创建新的主配置文件...${NC}"
  57. cp .cursor/cursorrules-main-example.md .cursorrules.new
  58. echo -e "${GREEN} ✅ 创建 .cursorrules.new${NC}"
  59. # 7. 创建README文件
  60. cat > .cursor/README.md << 'EOF'
  61. # Cursor Rules 模块化配置
  62. ## 📁 文件说明
  63. - **cursorrules-docs.md** - 项目文档管理规范
  64. - **cursorrules-frontend.md** - Vue3 + TypeScript 前端开发规范
  65. - **cursorrules-backend.md** - Spring Boot 后端开发规范
  66. - **cursorrules-mobile.md** - uniapp 移动端开发规范
  67. - **cursorrules-api-test.md** - API测试和登录方法
  68. ## 🎯 使用方法
  69. Cursor会根据当前工作目录自动应用相应规范:
  70. - 在 `web/` 目录工作时自动应用前端规范
  71. - 在 `backend/` 目录工作时自动应用后端规范
  72. - 在 `mobile/` 目录工作时自动应用移动端规范
  73. - 在 `docs/` 目录工作时自动应用文档规范
  74. - 在 `test/` 目录工作时自动应用API测试规范
  75. ## 🔄 规范更新
  76. 当需要更新特定技术栈的规范时:
  77. 1. 直接编辑对应的专门文件
  78. 2. 无需修改其他文件
  79. 3. Cursor会自动使用更新后的规范
  80. ---
  81. **📝 注意**: 主配置文件(.cursorrules)现在只包含通用原则,具体规范在各专门文件中。
  82. EOF
  83. echo -e "${GREEN} ✅ 创建 .cursor/README.md${NC}"
  84. # 8. 显示拆分结果
  85. echo -e "\n${BLUE}📊 拆分完成!文件统计:${NC}"
  86. echo -e " 📄 原文件: $(wc -l < .cursorrules) 行"
  87. echo -e " 📚 文档规范: $(wc -l < .cursor/cursorrules-docs.md) 行"
  88. echo -e " 🌐 前端规范: $(wc -l < .cursor/cursorrules-frontend.md) 行"
  89. echo -e " ⚙️ 后端规范: $(wc -l < .cursor/cursorrules-backend.md) 行"
  90. echo -e " 📱 移动端规范: $(wc -l < .cursor/cursorrules-mobile.md) 行"
  91. echo -e " 🧪 API测试规范: $(wc -l < .cursor/cursorrules-api-test.md) 行"
  92. echo -e " 🎯 新主配置: $(wc -l < .cursorrules.new) 行"
  93. echo -e "\n${YELLOW}📋 后续操作:${NC}"
  94. echo -e "1. 检查拆分结果是否正确"
  95. echo -e "2. 测试新配置文件的效果"
  96. echo -e "3. 如果满意,执行: ${BLUE}mv .cursorrules.new .cursorrules${NC}"
  97. echo -e "4. 删除备份文件: ${BLUE}rm .cursorrules.backup${NC}"
  98. echo -e "\n${GREEN}🎉 拆分脚本执行完成!${NC}"