# 贡献指南 ## 概述 感谢您对 DeEarthX-CE 项目的关注和支持!我们欢迎来自社区的贡献,包括代码提交、问题报告、功能建议等。本指南将帮助您了解如何参与项目开发。 ## 开发环境设置 ### 前提条件 在开始贡献之前,请确保您的系统满足以下要求: - **Node.js**:v16.0+(推荐使用最新稳定版) - **pnpm**:v8.0+(包管理器) - **Rust**:最新稳定版(用于 Tauri 构建) - **Git**:用于版本控制 ### 克隆仓库 ```bash git clone https://github.com/yourusername/DeEarthX-CE.git cd DeEarthX-CE ``` ### 安装依赖 ```bash pnpm install ``` ### 启动开发服务器 ```bash # 启动前端开发服务器 pnpm run dev # 启动后端开发服务器(如果需要) pnpm run backend:dev ``` ## 代码规范 ### 代码风格 - **TypeScript**:使用 TypeScript 官方推荐的代码风格 - **Vue**:遵循 Vue 3 风格指南 - **Rust**:遵循 Rust 官方代码风格 ### 提交规范 我们使用 Conventional Commits 规范进行提交信息的编写: ``` (): [optional body] [optional footer(s)] ``` **类型**: - `feat`:新功能 - `fix`:修复 bug - `docs`:文档更新 - `style`:代码风格调整 - `refactor`:代码重构 - `test`:测试相关 - `chore`:构建、依赖等杂项 ## 开发流程 ### 分支管理 - `main`:主分支,包含稳定版本 - `develop`:开发分支,包含最新开发内容 - `feature/xxx`:功能分支,用于开发新功能 - `fix/xxx`:修复分支,用于修复 bug ### 开发步骤 1. **创建分支**:从 `develop` 分支创建新的功能或修复分支 2. **开发代码**:实现功能或修复 bug 3. **运行测试**:确保代码通过所有测试 4. **提交代码**:使用规范的提交信息 5. **创建 PR**:向 `develop` 分支提交 Pull Request 6. **代码审查**:等待项目维护者的代码审查 7. **合并代码**:审查通过后,代码将被合并到 `develop` 分支 ## 测试 ### 运行测试 ```bash # 运行前端测试 pnpm run test:frontend # 运行后端测试 pnpm run test:backend # 运行所有测试 pnpm run test ``` ### 测试规范 - 为新功能编写单元测试 - 为 bug 修复编写回归测试 - 确保测试覆盖主要功能和边缘情况 ## 文档 ### 文档更新 - 更新 API 文档以反映代码变更 - 更新用户文档以反映功能变更 - 确保文档与代码保持同步 ### 文档规范 - 使用 Markdown 格式 - 保持文档结构清晰 - 提供详细的使用示例 ## 问题报告 如果您发现了 bug 或有功能建议,请在 GitHub Issues 页面提交: 1. **搜索现有问题**:确保问题尚未被报告 2. **创建新问题**:提供详细的问题描述 3. **添加标签**:为问题添加适当的标签 4. **提供复现步骤**:详细说明如何复现 bug 5. **提供环境信息**:包括操作系统、Node.js 版本等 ## 功能请求 如果您有新功能的想法,请在 GitHub Issues 页面提交功能请求: 1. **搜索现有请求**:确保功能尚未被请求 2. **创建新请求**:提供详细的功能描述 3. **添加标签**:为请求添加 `feature` 标签 4. **说明功能价值**:解释该功能对用户的价值 5. **提供实现建议**:如果有实现思路,欢迎分享 ## 代码审查 ### 审查流程 1. **接收 PR**:项目维护者接收 Pull Request 2. **代码审查**:审查代码质量、风格和功能 3. **提供反馈**:提出改进建议 4. **修改代码**:根据反馈修改代码 5. **合并 PR**:审查通过后合并代码 ### 审查标准 - **代码质量**:代码是否清晰、高效 - **功能完整性**:是否实现了所有需求 - **测试覆盖**:是否有足够的测试 - **文档更新**:是否更新了相关文档 - **兼容性**:是否与现有代码兼容 ## 发布流程 ### 版本号规范 我们使用语义化版本号(Semantic Versioning): ``` MAJOR.MINOR.PATCH ``` - `MAJOR`:不兼容的 API 变更 - `MINOR`:向后兼容的功能添加 - `PATCH`:向后兼容的 bug 修复 ### 发布步骤 1. **更新版本号**:在 `package.json` 和相关文件中更新版本号 2. **更新 CHANGELOG**:记录版本变更内容 3. **构建项目**:确保项目能够正常构建 4. **运行测试**:确保所有测试通过 5. **创建发布**:在 GitHub 上创建新的发布 6. **部署**:部署到相关平台 ## 行为准则 我们希望所有参与者能够遵循以下行为准则: - **尊重他人**:尊重所有社区成员,无论其背景如何 - **建设性沟通**:使用友好、建设性的语言进行沟通 - **包容多样性**:欢迎不同背景和观点的贡献者 - **专注于项目**:讨论应集中在项目相关的话题上 - **解决冲突**:以积极的方式解决冲突 ## 联系方式 如果您有任何问题或需要帮助,可以通过以下方式联系我们: - **GitHub Issues**:用于问题报告和功能请求 - **Discord**:用于实时讨论和社区交流 - **Email**:用于重要事项的沟通 ## 致谢 感谢所有为 DeEarthX-CE 项目做出贡献的开发者和社区成员!您的贡献是项目成功的关键。