209 lines
5.2 KiB
Markdown
209 lines
5.2 KiB
Markdown
# 贡献指南
|
||
|
||
## 概述
|
||
|
||
感谢您对 DeEarthX-CE 项目的关注和支持!我们欢迎来自社区的贡献,包括代码提交、问题报告、功能建议等。本指南将帮助您了解如何参与项目开发。
|
||
|
||
[XCCGit仓库](https://git.xcclyc.cn/xcclyc/DeEarthX-CE)
|
||
|
||
## 开发环境设置
|
||
|
||
### 前提条件
|
||
|
||
在开始贡献之前,请确保您的系统满足以下要求:
|
||
|
||
- **Node.js**:v22.0+(推荐使用最新稳定版)
|
||
- **pnpm**:v8.0+(包管理器)
|
||
- **Rust**:最新稳定版(用于 Tauri 构建)
|
||
- **Git**:用于版本控制
|
||
|
||
### 克隆仓库
|
||
|
||
```bash
|
||
git clone https://git.xcclyc.cn/xcclyc/DeEarthX-CE.git
|
||
cd DeEarthX-CE
|
||
```
|
||
|
||
### 安装依赖
|
||
|
||
```bash
|
||
pnpm install
|
||
```
|
||
|
||
### 启动开发服务器
|
||
|
||
```bash
|
||
# 启动前端开发服务器
|
||
pnpm run dev
|
||
|
||
# 启动后端开发服务器(如果需要)
|
||
pnpm run test
|
||
```
|
||
|
||
## 代码规范
|
||
|
||
### 代码风格
|
||
|
||
- **TypeScript**:使用 TypeScript 官方推荐的代码风格
|
||
- **Vue**:遵循 Vue 3 风格指南
|
||
- **Rust**:遵循 Rust 官方代码风格
|
||
|
||
### 提交规范
|
||
|
||
我们使用 Conventional Commits 规范进行提交信息的编写:
|
||
|
||
```
|
||
<type>(<scope>): <description>
|
||
|
||
[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 或有功能建议,请在 XCCGit Issues 页面提交:
|
||
|
||
1. **搜索现有问题**:确保问题尚未被报告
|
||
2. **创建新问题**:提供详细的问题描述
|
||
3. **添加标签**:为问题添加适当的标签
|
||
4. **提供复现步骤**:详细说明如何复现 bug
|
||
5. **提供环境信息**:包括操作系统、Node.js 版本等
|
||
|
||
## 功能请求
|
||
|
||
如果您有新功能的想法,请在 XCCGit Issues 页面提交功能请求:
|
||
|
||
[XCCGit](https://git.xcclyc.cn/xcclyc/DeEarthX-CE/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. **创建发布**:在 XCCGit 上创建新的发布
|
||
6. **部署**:部署到相关平台
|
||
|
||
## 行为准则
|
||
|
||
我们希望所有参与者能够遵循以下行为准则:
|
||
|
||
- **尊重他人**:尊重所有社区成员,无论其背景如何
|
||
- **建设性沟通**:使用友好、建设性的语言进行沟通
|
||
- **包容多样性**:欢迎不同背景和观点的贡献者
|
||
- **专注于项目**:讨论应集中在项目相关的话题上
|
||
- **解决冲突**:以积极的方式解决冲突
|
||
|
||
## 联系方式
|
||
|
||
如果您有任何问题或需要帮助,可以通过以下方式联系我们:
|
||
|
||
- **XCCGit Issues**:用于问题报告和功能请求
|
||
- **QQ**:简单直接
|
||
- **Email**:用于重要事项的沟通
|
||
|
||
## 致谢
|
||
|
||
感谢所有为 DeEarthX-CE 项目做出贡献的开发者和社区成员!您的贡献是项目成功的关键。 |