签入版本
This commit is contained in:
@@ -0,0 +1,188 @@
|
||||
# K. 贡献指南
|
||||
|
||||
:::tip 说明
|
||||
感谢你对本项目的关注!本文档介绍如何参与项目贡献,包括代码提交、Issue 反馈、PR 流程等。
|
||||
:::
|
||||
|
||||
## 开发环境搭建
|
||||
|
||||
1. Fork 项目到自己的 Gitee/GitHub 账号
|
||||
2. 从[官方网站](https://www.rxthink.cn)下载授权源码包
|
||||
3. 参考 [开发环境准备](/zh/quickstart/environment.html) 安装依赖
|
||||
4. 创建开发分支:`git checkout -b feature/your-feature`
|
||||
|
||||
## 分支策略
|
||||
|
||||
| 分支 | 用途 | 说明 |
|
||||
|------|------|------|
|
||||
| `master` | 主分支 | 稳定版本,只接受 PR 合并 |
|
||||
| `feature/*` | 功能分支 | 新功能开发,完成后合并到 master |
|
||||
| `hotfix/*` | 修复分支 | 紧急修复,从 master 拉取,修复后合并回 master |
|
||||
|
||||
```text
|
||||
master ────●───────●───────●───── (发布)
|
||||
↑ ↑
|
||||
feature/a ──●──● feature/b ──●──●
|
||||
```
|
||||
|
||||
## Commit 规范
|
||||
|
||||
提交信息遵循 [Conventional Commits](https://www.conventionalcommits.org/) 格式:
|
||||
|
||||
```html
|
||||
<type>(<scope>): <subject>
|
||||
|
||||
<body>
|
||||
|
||||
<footer>
|
||||
```
|
||||
|
||||
### Type 类型
|
||||
|
||||
| 类型 | 说明 | 示例 |
|
||||
|------|------|------|
|
||||
| `feat` | 新功能 | `feat(user): 添加用户导入功能` |
|
||||
| `fix` | 修复 bug | `fix(auth): 修复 Token 过期未返回 401` |
|
||||
| `docs` | 文档更新 | `docs: 更新部署文档` |
|
||||
| `style` | 代码格式(不影响功能) | `style: 格式化代码` |
|
||||
| `refactor` | 重构(非新功能非修复) | `refactor(service): 重构分页查询逻辑` |
|
||||
| `perf` | 性能优化 | `perf(query): 优化 N+1 查询` |
|
||||
| `test` | 测试相关 | `test: 添加用户模块单元测试` |
|
||||
| `chore` | 构建/工具相关 | `chore: 更新依赖版本` |
|
||||
|
||||
### 示例
|
||||
|
||||
```text
|
||||
feat(generator): 支持树形表格模板生成
|
||||
|
||||
- 新增 ui2/ 树形模板目录
|
||||
- 自动识别 parent_id/pid 字段
|
||||
- 支持 el-tree-select 组件
|
||||
|
||||
Closes #123
|
||||
```
|
||||
|
||||
## PR 流程
|
||||
|
||||
### 1. 准备工作
|
||||
|
||||
```bash
|
||||
# 1. 同步上游代码
|
||||
git fetch upstream
|
||||
git rebase upstream/master
|
||||
|
||||
# 2. 创建功能分支
|
||||
git checkout -b feature/your-feature
|
||||
|
||||
# 3. 开发并提交
|
||||
git add .
|
||||
git commit -m "feat(xxx): 添加xxx功能"
|
||||
|
||||
# 4. 推送到自己的仓库
|
||||
git push origin feature/your-feature
|
||||
```
|
||||
|
||||
### 2. 创建 PR
|
||||
|
||||
- 标题简洁明了,遵循 Commit 规范
|
||||
- 描述清楚做了什么、为什么做、怎么测试的
|
||||
- 关联相关的 Issue(如 `Closes #123`)
|
||||
- 附上截图或 GIF(如有 UI 变更)
|
||||
|
||||
### 3. PR 模板
|
||||
|
||||
```markdown
|
||||
## 变更说明
|
||||
|
||||
简要描述本次变更的内容。
|
||||
|
||||
## 变更类型
|
||||
|
||||
- [ ] 新功能 (feat)
|
||||
- [ ] Bug 修复 (fix)
|
||||
- [ ] 文档更新 (docs)
|
||||
- [ ] 代码重构 (refactor)
|
||||
- [ ] 性能优化 (perf)
|
||||
|
||||
## 测试情况
|
||||
|
||||
- [ ] 本地测试通过
|
||||
- [ ] 添加了单元测试
|
||||
- [ ] 手动验证了功能
|
||||
|
||||
## 关联 Issue
|
||||
|
||||
Closes #xxx
|
||||
```
|
||||
|
||||
### 4. 代码审查
|
||||
|
||||
- 至少一人审查通过后方可合并
|
||||
- 审查关注:正确性 > 安全性 > 可维护性 > 性能
|
||||
- 参考 [代码审查清单](/zh/standards/code-review.html)
|
||||
|
||||
## Issue 规范
|
||||
|
||||
### Bug Report
|
||||
|
||||
```markdown
|
||||
## Bug 描述
|
||||
|
||||
简要描述遇到的问题。
|
||||
|
||||
## 复现步骤
|
||||
|
||||
1. 打开 xxx 页面
|
||||
2. 点击 xxx 按钮
|
||||
3. 输入 xxx 数据
|
||||
4. 看到错误
|
||||
|
||||
## 期望行为
|
||||
|
||||
描述你期望的正确行为。
|
||||
|
||||
## 实际行为
|
||||
|
||||
描述实际发生的行为。
|
||||
|
||||
## 环境信息
|
||||
|
||||
- OS: Windows 11
|
||||
- PHP: 8.2
|
||||
- ThinkPHP: 6.1.x
|
||||
- Node.js: 22.x
|
||||
- Browser: Chrome 120
|
||||
```
|
||||
|
||||
### Feature Request
|
||||
|
||||
```markdown
|
||||
## 功能描述
|
||||
|
||||
简要描述你希望添加的功能。
|
||||
|
||||
## 使用场景
|
||||
|
||||
描述这个功能的使用场景和价值。
|
||||
|
||||
## 方案建议
|
||||
|
||||
如果有实现思路,请描述。
|
||||
```
|
||||
|
||||
## 代码风格
|
||||
|
||||
- PHP:遵循 PSR-12 规范
|
||||
- TypeScript/Vue:遵循 ESLint + Prettier 配置
|
||||
- 详见 [前端编码规范](/zh/standards/frontend-code.html) 和 [后端编码规范](/zh/standards/backend-code.html)
|
||||
|
||||
## 行为准则
|
||||
|
||||
- 尊重每一位贡献者
|
||||
- 建设性地提出意见和建议
|
||||
- 专注于对社区有益的事情
|
||||
- 不接受任何形式的骚扰
|
||||
|
||||
## 总结
|
||||
|
||||
贡献指南涵盖开发环境搭建、分支策略、Commit 规范、PR 流程、Issue 模板、代码风格等内容。核心原则:遵循规范、充分测试、清晰描述、尊重他人。
|
||||
Reference in New Issue
Block a user