#!/bin/bash # ============================================================================= # Cursor Rules 拆分脚本 # 功能:将大型.cursorrules文件拆分为多个专门的规范文件 # 使用:./scripts/split-cursorrules.sh # ============================================================================= set -e # 颜色定义 GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' RED='\033[0;31m' NC='\033[0m' # No Color echo -e "${BLUE}🔄 开始拆分 .cursorrules 文件...${NC}" # 检查原文件是否存在 if [ ! -f ".cursorrules" ]; then echo -e "${RED}❌ 未找到 .cursorrules 文件${NC}" exit 1 fi # 创建.cursor目录 mkdir -p .cursor # 备份原文件 cp .cursorrules .cursorrules.backup echo -e "${GREEN}✅ 已备份原文件为 .cursorrules.backup${NC}" # 拆分文件的行号范围(根据实际内容调整) echo -e "${YELLOW}📊 分析文件结构...${NC}" # 获取各部分的行号 DOCS_START=$(grep -n "# 第一部分:项目文档管理规范" .cursorrules | cut -d: -f1) FRONTEND_START=$(grep -n "# 第二部分:Web前端开发规范" .cursorrules | cut -d: -f1) BACKEND_START=$(grep -n "# 第三部分:后端开发规范" .cursorrules | cut -d: -f1) MOBILE_START=$(grep -n "# 第四部分:移动端开发规范" .cursorrules | cut -d: -f1) COMMON_START=$(grep -n "# 通用开发原则" .cursorrules | cut -d: -f1) API_START=$(grep -n "# 第五部分:API测试和登录方法" .cursorrules | cut -d: -f1) echo -e "${BLUE}📝 开始拆分各部分...${NC}" # 1. 拆分文档管理规范 echo -e "${YELLOW} 拆分文档管理规范...${NC}" sed -n "${DOCS_START},$((FRONTEND_START-1))p" .cursorrules > .cursor/cursorrules-docs.md echo -e "${GREEN} ✅ 创建 cursorrules-docs.md${NC}" # 2. 拆分前端开发规范 echo -e "${YELLOW} 拆分前端开发规范...${NC}" sed -n "${FRONTEND_START},$((BACKEND_START-1))p" .cursorrules > .cursor/cursorrules-frontend.md echo -e "${GREEN} ✅ 创建 cursorrules-frontend.md${NC}" # 3. 拆分后端开发规范 echo -e "${YELLOW} 拆分后端开发规范...${NC}" sed -n "${BACKEND_START},$((MOBILE_START-1))p" .cursorrules > .cursor/cursorrules-backend.md echo -e "${GREEN} ✅ 创建 cursorrules-backend.md${NC}" # 4. 拆分移动端开发规范 echo -e "${YELLOW} 拆分移动端开发规范...${NC}" sed -n "${MOBILE_START},$((COMMON_START-1))p" .cursorrules > .cursor/cursorrules-mobile.md echo -e "${GREEN} ✅ 创建 cursorrules-mobile.md${NC}" # 5. 拆分API测试规范 echo -e "${YELLOW} 拆分API测试规范...${NC}" sed -n "${API_START},\$p" .cursorrules > .cursor/cursorrules-api-test.md echo -e "${GREEN} ✅ 创建 cursorrules-api-test.md${NC}" # 6. 创建新的主配置文件 echo -e "${YELLOW} 创建新的主配置文件...${NC}" cp .cursor/cursorrules-main-example.md .cursorrules.new echo -e "${GREEN} ✅ 创建 .cursorrules.new${NC}" # 7. 创建README文件 cat > .cursor/README.md << 'EOF' # Cursor Rules 模块化配置 ## 📁 文件说明 - **cursorrules-docs.md** - 项目文档管理规范 - **cursorrules-frontend.md** - Vue3 + TypeScript 前端开发规范 - **cursorrules-backend.md** - Spring Boot 后端开发规范 - **cursorrules-mobile.md** - uniapp 移动端开发规范 - **cursorrules-api-test.md** - API测试和登录方法 ## 🎯 使用方法 Cursor会根据当前工作目录自动应用相应规范: - 在 `web/` 目录工作时自动应用前端规范 - 在 `backend/` 目录工作时自动应用后端规范 - 在 `mobile/` 目录工作时自动应用移动端规范 - 在 `docs/` 目录工作时自动应用文档规范 - 在 `test/` 目录工作时自动应用API测试规范 ## 🔄 规范更新 当需要更新特定技术栈的规范时: 1. 直接编辑对应的专门文件 2. 无需修改其他文件 3. Cursor会自动使用更新后的规范 --- **📝 注意**: 主配置文件(.cursorrules)现在只包含通用原则,具体规范在各专门文件中。 EOF echo -e "${GREEN} ✅ 创建 .cursor/README.md${NC}" # 8. 显示拆分结果 echo -e "\n${BLUE}📊 拆分完成!文件统计:${NC}" echo -e " 📄 原文件: $(wc -l < .cursorrules) 行" echo -e " 📚 文档规范: $(wc -l < .cursor/cursorrules-docs.md) 行" echo -e " 🌐 前端规范: $(wc -l < .cursor/cursorrules-frontend.md) 行" echo -e " ⚙️ 后端规范: $(wc -l < .cursor/cursorrules-backend.md) 行" echo -e " 📱 移动端规范: $(wc -l < .cursor/cursorrules-mobile.md) 行" echo -e " 🧪 API测试规范: $(wc -l < .cursor/cursorrules-api-test.md) 行" echo -e " 🎯 新主配置: $(wc -l < .cursorrules.new) 行" echo -e "\n${YELLOW}📋 后续操作:${NC}" echo -e "1. 检查拆分结果是否正确" echo -e "2. 测试新配置文件的效果" echo -e "3. 如果满意,执行: ${BLUE}mv .cursorrules.new .cursorrules${NC}" echo -e "4. 删除备份文件: ${BLUE}rm .cursorrules.backup${NC}" echo -e "\n${GREEN}🎉 拆分脚本执行完成!${NC}"