mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-03 11:00:58 +08:00
178 lines
4.4 KiB
Markdown
178 lines
4.4 KiB
Markdown
# PR Templates
|
|
|
|
## 📋 Template Overview
|
|
|
|
We offer 4 specialized templates for different types of PRs to help contributors quickly fill out PR information:
|
|
|
|
### 1. 🔧 Backend Template
|
|
**File:** `backend.md`
|
|
|
|
**Use for:**
|
|
- Go code changes
|
|
- API endpoint development
|
|
- Trading logic implementation
|
|
- Backend performance optimization
|
|
- Database-related changes
|
|
|
|
**Includes:**
|
|
- Go test environment
|
|
- Security considerations
|
|
- Performance impact assessment
|
|
- `go fmt` and `go build` checks
|
|
|
|
### 2. 🎨 Frontend Template
|
|
**File:** `frontend.md`
|
|
|
|
**Use for:**
|
|
- UI/UX changes
|
|
- React/Vue component development
|
|
- Frontend styling updates
|
|
- Browser compatibility fixes
|
|
- Frontend performance optimization
|
|
|
|
**Includes:**
|
|
- Screenshots/demo requirements
|
|
- Browser testing checklist
|
|
- Internationalization checks
|
|
- Responsive design verification
|
|
- `npm run lint` and `npm run build` checks
|
|
|
|
### 3. 📝 Documentation Template
|
|
**File:** `docs.md`
|
|
|
|
**Use for:**
|
|
- README updates
|
|
- API documentation
|
|
- Tutorials and guides
|
|
- Code comment improvements
|
|
- Translation work
|
|
|
|
**Includes:**
|
|
- Documentation type classification
|
|
- Content quality checks
|
|
- Bilingual requirements (EN/CN)
|
|
- Link validity verification
|
|
|
|
### 4. 📦 General Template
|
|
**File:** `general.md`
|
|
|
|
**Use for:**
|
|
- Mixed-type changes
|
|
- Cross-domain PRs
|
|
- Build configuration changes
|
|
- Dependency updates
|
|
- When unsure which template to use
|
|
|
|
## 🤖 Automatic Template Suggestion
|
|
|
|
Our GitHub Action automatically analyzes your PR and suggests the most suitable template:
|
|
|
|
### How it works:
|
|
|
|
1. **File Analysis**
|
|
- Detects all changed file types in the PR
|
|
|
|
2. **Smart Detection**
|
|
- If >50% are `.go` files → Suggests **Backend template**
|
|
- If >50% are `.js/.ts/.tsx/.vue` files → Suggests **Frontend template**
|
|
- If >70% are `.md` files → Suggests **Documentation template**
|
|
|
|
3. **Auto-comment**
|
|
- If it detects you're using the default template but should use a specialized one
|
|
- It will automatically add a friendly comment suggestion
|
|
|
|
4. **Auto-labeling**
|
|
- Automatically adds corresponding labels: `backend`, `frontend`, `documentation`
|
|
|
|
## 📖 How to Use
|
|
|
|
### Method 1: URL Parameter (Recommended)
|
|
|
|
When creating a PR, add the template parameter to the URL:
|
|
|
|
```
|
|
https://github.com/YOUR_ORG/nofx/compare/dev...YOUR_BRANCH?template=backend.md
|
|
```
|
|
|
|
Replace `backend.md` with:
|
|
- `backend.md` - Backend template
|
|
- `frontend.md` - Frontend template
|
|
- `docs.md` - Documentation template
|
|
- `general.md` - General template
|
|
|
|
### Method 2: Manual Selection
|
|
|
|
1. When creating a PR, the default template will be shown
|
|
|
|
2. Follow the guidance links at the top to view the corresponding template
|
|
|
|
3. Copy the template content into the PR description
|
|
|
|
### Method 3: Follow Auto-suggestion
|
|
|
|
1. Create a PR with any template
|
|
|
|
2. GitHub Action will automatically analyze and comment with a suggestion
|
|
|
|
3. Update the PR description based on the suggestion
|
|
|
|
## 🎯 Best Practices
|
|
|
|
1. **Choose in Advance**
|
|
- Determine the change type before creating the PR
|
|
|
|
2. **Complete Filling**
|
|
- Don't skip required items
|
|
|
|
3. **Keep it Concise**
|
|
- Keep descriptions clear but concise
|
|
|
|
4. **Add Screenshots**
|
|
- For UI changes, always add screenshots
|
|
|
|
5. **Test Evidence**
|
|
- Provide evidence that tests pass
|
|
|
|
## 🔧 Customization
|
|
|
|
If you need to modify templates or auto-detection logic:
|
|
|
|
1. **Modify Templates**
|
|
- Edit `.github/PULL_REQUEST_TEMPLATE/*.md` files
|
|
|
|
2. **Adjust Detection Threshold**
|
|
- Edit `.github/workflows/pr-template-suggester.yml`
|
|
- Modify file type percentage thresholds (current: 50% backend, 50% frontend, 70% docs)
|
|
|
|
3. **Add New Template**
|
|
- Create a new `.md` file in the `PULL_REQUEST_TEMPLATE/` directory
|
|
- Update the workflow to support new file type detection
|
|
|
|
## ❓ FAQ
|
|
|
|
**Q: My PR has both frontend and backend code, which template should I use?**
|
|
|
|
A: Use the **General template** (`general.md`), or choose the template for the primary change type.
|
|
|
|
---
|
|
|
|
**Q: What if the automatically suggested template is not suitable?**
|
|
|
|
A: You can ignore the suggestion and continue using the current template. Auto-suggestions are for reference only.
|
|
|
|
---
|
|
|
|
**Q: Can I not use any template?**
|
|
|
|
A: Not recommended. Templates help ensure PRs contain necessary information and speed up reviews.
|
|
|
|
---
|
|
|
|
**Q: How to disable automatic template suggestions?**
|
|
|
|
A: Delete or disable the `.github/workflows/pr-template-suggester.yml` file.
|
|
|
|
---
|
|
|
|
🌟 **Thank you for using our PR template system!**
|