# 贡献指南 > **文档版本**: 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