{
  "name": "Vue 3 项目开发规范",
  "version": "1.0.0",
  "description": "Vue 3 Composition API 项目开发规范与最佳实践",
  "rules": {
    "项目结构": {
      "description": "项目目录结构规范",
      "rules": [
        "/ 作为源代码根目录",
        "components/ 存放可复用组件",
        "composables/ 存放组合式函数",
        "views/ 存放页面级组件",
        "router/ 路由配置",
        "store/ 状态管理",
        "assets/ 静态资源",
        "utils/ 工具函数",
        "api/ 接口请求",
        "pages/ 页面文件",
        "static/ 静态资源",
        "uni_modules/ 插件目录"
      ]
    },
    "组件开发": {
      "description": "组件开发规范",
      "rules": [
        "使用 <script setup> 语法糖",
        "组件名使用 PascalCase 命名",
        "props 必须指定类型",
        "使用 defineProps 和 defineEmits 声明属性和事件",
        "组件文件使用 .vue 扩展名",
        "组件名与文件名保持一致"
      ]
    },
    "组合式函数": {
      "description": "组合式函数开发规范",
      "rules": [
        "使用 use 前缀命名",
        "一个函数只做一件事",
        "返回响应式数据和方法",
        "处理异步操作时使用 try/catch",
        "提供清晰的函数文档"
      ]
    },
    "状态管理": {
      "description": "状态管理规范",
      "rules": [
        "使用 ref 管理简单状态",
        "使用 reactive 管理复杂状态",
        "使用 computed 处理派生状态",
        "使用 watch 处理副作用",
        "大型应用使用 Pinia 进行状态管理",
        "避免过度使用全局状态"
      ]
    },
    "性能优化": {
      "description": "性能优化规范",
      "rules": [
        "合理使用 v-memo",
        "避免不必要的组件重渲染",
        "使用 shallowRef 处理大型对象",
        "及时清理事件监听器",
        "使用 keep-alive 缓存组件",
        "合理使用异步组件"
      ]
    },
    "代码风格": {
      "description": "代码风格规范",
      "rules": [
        "使用 ESLint 和 Prettier",
        "遵循 Vue 3 风格指南",
        "使用有意义的变量命名",
        "添加必要的代码注释",
        "保持代码简洁清晰",
        "遵循 DRY 原则"
      ]
    },
    "错误处理": {
      "description": "错误处理规范",
      "rules": [
        "使用 try/catch 处理异步错误",
        "实现全局错误处理",
        "提供友好的错误提示",
        "记录关键错误日志",
        "处理边界情况",
        "实现优雅的降级策略"
      ]
    },
    "测试规范": {
      "description": "测试规范",
      "rules": [
        "编写单元测试",
        "测试关键业务逻辑",
        "模拟外部依赖",
        "测试错误场景",
        "保持测试代码简洁",
        "定期运行测试用例"
      ]
    },
    "uni-app规范": {
      "description": "uni-app 开发规范",
      "rules": [
        "使用条件编译处理平台差异",
        "遵循 uni-app 生命周期规范",
        "使用 uni-app 内置组件和API",
        "合理使用 uni-app 路由管理",
        "适配不同平台样式差异",
        "使用 uni-app 插件市场组件"
      ]
    },
    "跨平台适配": {
      "description": "跨平台开发规范",
      "rules": [
        "使用 rpx 作为尺寸单位",
        "适配不同平台导航栏",
        "处理平台特定API差异",
        "使用条件编译处理平台特性",
        "统一管理平台特定样式",
        "处理不同平台兼容性问题"
      ]
    },
    "性能优化": {
      "description": "uni-app 性能优化规范",
      "rules": [
        "合理使用分包加载",
        "优化图片资源大小",
        "使用组件按需加载",
        "避免频繁的页面跳转",
        "合理使用缓存机制",
        "优化首屏加载速度"
      ]
    }
  },
  "开发工具": {
    "description": "推荐使用的开发工具",
    "tools": [
      "HBuilderX - 开发工具",
      "Vite - 构建工具",
      "ESLint - 代码检查",
      "Prettier - 代码格式化",
      "Vue DevTools - 调试工具",
      "Vitest - 单元测试"
    ]
  },
  "最佳实践": {
    "description": "Vue 3 开发最佳实践",
    "practices": [
      "使用 Composition API 组织代码",
      "实现响应式数据管理",
      "优化组件性能",
      "保持代码可维护性",
      "遵循 Vue 3 官方推荐",
      "遵循 uni-app 开发规范",
      "做好跨平台适配",
      "注重性能优化"
    ]
  }
} 