feature_request.yaml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. name: Feature request
  2. description: Suggest an idea or improvement for 3x-ui
  3. title: "[Feature]: "
  4. labels: ["enhancement", "needs triage"]
  5. body:
  6. - type: markdown
  7. attributes:
  8. value: |
  9. Thanks for taking the time to suggest a feature. Please **search
  10. [existing issues](../issues?q=is%3Aissue)** first — duplicates will be closed.
  11. - type: textarea
  12. id: is-related-problem
  13. attributes:
  14. label: Is your feature request related to a problem?
  15. description: A clear and concise description of the problem you're hitting today.
  16. placeholder: I'm always frustrated when …
  17. validations:
  18. required: true
  19. - type: textarea
  20. id: solution
  21. attributes:
  22. label: Describe the solution you'd like
  23. description: |
  24. What should the panel do? Be specific — UI placement, API shape,
  25. config keys, expected behavior under edge cases.
  26. placeholder: |
  27. On the Inbounds page, add a button that …
  28. The backend should expose a new endpoint at …
  29. validations:
  30. required: true
  31. - type: textarea
  32. id: alternatives
  33. attributes:
  34. label: Alternatives you've considered
  35. description: Other ways you tried to solve this, and why they fell short.
  36. validations:
  37. required: false
  38. - type: textarea
  39. id: use-case
  40. attributes:
  41. label: Concrete use case
  42. description: |
  43. Walk us through a real scenario where this feature would help.
  44. Numbers help (e.g. "I manage 200 clients across 5 inbounds and …").
  45. validations:
  46. required: false
  47. - type: textarea
  48. id: mockup
  49. attributes:
  50. label: Mockups, screenshots, or examples
  51. description: |
  52. Drag images, paste config snippets, or link to similar features in
  53. other tools. Helps us understand the shape of the request.
  54. validations:
  55. required: false
  56. - type: dropdown
  57. id: area
  58. attributes:
  59. label: Which parts of the panel would this affect?
  60. multiple: true
  61. options:
  62. - Frontend (UI / panel pages)
  63. - Backend (API endpoints, login, settings)
  64. - Xray config generation
  65. - Subscription (share links / Clash / JSON)
  66. - Statistics / traffic counters
  67. - Database / migrations
  68. - Install / upgrade script
  69. - Docker image
  70. - Multi-node (sub-nodes)
  71. - Telegram bot
  72. - Other
  73. validations:
  74. required: false
  75. - type: checkboxes
  76. id: contribution
  77. attributes:
  78. label: Are you willing to help?
  79. description: Optional — but maintainers prioritize requests with community help.
  80. options:
  81. - label: I'd like to implement this feature myself and open a PR.
  82. required: false
  83. - label: I can help test once a PR is open.
  84. required: false
  85. - type: checkboxes
  86. id: checklist
  87. attributes:
  88. label: Before submitting
  89. options:
  90. - label: I searched [existing issues](../issues?q=is%3Aissue) and this feature has not been requested.
  91. required: true
  92. - label: This feature request is written in English.
  93. required: true