Files
nofx/.github/PULL_REQUEST_TEMPLATE

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

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!