| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- #!/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}"
|