fischerX/docs/development/contributing.md

203 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 贡献指南
> **文档版本**: v1.0.0
> **创建日期**: 2026-05-25
> **适用范围**: 所有希望为 FischerX 做贡献的开发者
## 目录
- [开始之前](#开始之前)
- [如何贡献代码](#如何贡献代码)
- [代码审查流程](#代码审查流程)
- [发布流程](#发布流程)
- [社区行为准则](#社区行为准则)
---
## 开始之前
### 行为准则
我们希望所有贡献者都能遵循以下原则:
- 尊重其他贡献者
- 接受建设性的批评
- 关注对社区最有利的事情
- 对其他社区成员表示友善
### 准备工作
在开始贡献之前,请确保:
1. 阅读了 [快速开始](./quick-start.md)
2. 阅读了 [开发规范](./coding-standards.md)
3. 了解了项目的技术栈
4. 配置好了开发环境
---
## 如何贡献代码
### 1. 寻找问题
- 查看 GitHub Issues 列表
- 寻找标记为 `good first issue` 的问题
- 参与讨论,了解需求
### 2. 创建 Issue
在开始工作之前,请先创建 Issue
- 描述你要解决的问题
- 说明你的解决方案思路
- 等待维护者的反馈
### 3. Fork 仓库
```bash
# Fork 项目到你的 GitHub 账号
# 然后克隆你的 Fork
git clone https://github.com/<your-username>/fischerx.git
cd fischerx
# 添加上游仓库
git remote add upstream https://github.com/<original-owner>/fischerx.git
```
### 4. 创建分支
```bash
# 更新 develop 分支
git checkout develop
git pull upstream develop
# 创建新分支
git checkout -b feature/your-feature-name
```
### 5. 开发与提交
```bash
# 进行开发
# ...
# 运行测试
pnpm test
# 运行 Lint
pnpm lint
# 提交更改
git add .
git commit -m "feat(scope): description"
```
### 6. 创建 Pull Request
1. 推送到你的 Fork
```bash
git push origin feature/your-feature-name
```
2. 在 GitHub 上创建 Pull Request
3. 填写 PR 模板
4. 等待审查
---
## 代码审查流程
### 审查者职责
审查者应该:
- 检查代码是否符合规范
- 验证功能是否正确实现
- 提出改进建议
- 在 24-48 小时内回复
### 审查清单
- [ ] 代码符合项目规范
- [ ] 测试已添加/更新
- [ ] 文档已更新
- [ ] CI 检查通过
- [ ] 没有引入安全问题
### 修改与重新提交
如果有修改要求:
1. 根据审查意见修改代码
2. 提交修改
3. 推送到同一分支
4. PR 会自动更新
---
## 发布流程
### 版本管理
我们使用语义化版本Semantic Versioning
- `MAJOR`:不兼容的 API 更改
- `MINOR`:向后兼容的功能新增
- `PATCH`:向后兼容的问题修复
### 发布步骤
1. 创建发布分支:
```bash
git checkout -b release/x.y.z
```
2. 更新版本号:
```bash
# 更新 package.json
# 更新 CHANGELOG.md
```
3. 测试与修复问题
4. 合并到 main
```bash
git checkout main
git merge release/x.y.z
git tag -a vx.y.z -m "Release vx.y.z"
git push origin main --tags
```
5. 合并回 develop
```bash
git checkout develop
git merge main
```
---
## 社区行为准则
### 我们的承诺
为了营造开放和友好的环境,我们承诺:
- 尊重不同的观点和经验
- 优雅地接受建设性批评
- 关注对社区最有利的事情
### 不可接受的行为
- 使用性化的语言或图像
- 恶意评论或人身攻击
- 公开或私下骚扰
- 未经许可发布他人的私人信息
### 报告问题
如果遇到问题,请联系项目维护者。
---
## 下一步
- [返回快速开始](./quick-start.md)
---
> **文档维护**: 本文档由开发团队维护,如有问题或建议请提交 Issue。
> **最后更新**: 2026-05-25