diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index bbe4b76775d..1938aab5007 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -6,8 +6,11 @@ body: - type: markdown attributes: value: | - Thanks for taking the time to fill out this bug report! - + Thanks for taking the time to file a bug report! + + > ⚠️ **Auto-triage notice for external contributors:** + > Bug reports without **clear reproduction steps, expected vs. actual behavior, and a screenshot or terminal/log output** are auto-closed by our LLM triage bot with an explanation of what was missing. You can fill in the missing details and reopen at any time — the bot will re-evaluate. Internal BerriAI contributors are exempt. + **💡 Tip:** See our [Troubleshooting Guide](https://docs.litellm.ai/docs/troubleshoot) for what information to include. - type: checkboxes id: duplicate-check @@ -20,21 +23,33 @@ body: - type: textarea id: what-happened attributes: - label: What happened? - description: Also tell us, what did you expect to happen? - placeholder: Tell us what you see! - value: "A bug happened!" + label: What happened? (Actual behavior) + description: A clear description of what is happening today, with the bug. + placeholder: e.g. "Calling completion() with model=gpt-4o-mini returns an empty string." + validations: + required: true + - type: textarea + id: expected-behavior + attributes: + label: What did you expect to happen? (Expected behavior) + description: A clear description of what you expected to happen. **Required.** + placeholder: e.g. "I expected completion() to return the model's response text." validations: required: true - type: textarea id: steps-to-reproduce attributes: - label: Steps to Reproduce - description: Please provide detailed steps to reproduce this bug(A curl/python code to reproduce the bug) + label: Steps to reproduce + description: | + Provide a minimal reproduction. Include a runnable Python snippet or a + `curl` command, your config.yaml if relevant, and the exact LiteLLM + version + Python version. Reports without a runnable reproduction are + auto-closed. placeholder: | - 1. config.yaml file/ .env file/ etc. - 2. Run the following code... - 3. Observe the error... + 1. Create `config.yaml` with: ... + 2. Start the proxy with: `litellm --config config.yaml --port 4000` + 3. Run this Python / curl: ... + 4. Observe: ... value: | 1. 2. @@ -44,9 +59,15 @@ body: - type: textarea id: logs attributes: - label: Relevant log output - description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. + label: Relevant log output / screenshot + description: | + **Required.** Paste the full traceback, stderr, proxy logs, or attach a + screenshot showing the bug. For UI bugs a screenshot or screen + recording is mandatory. Without proof of the bug, the issue is + auto-closed. render: shell + validations: + required: true - type: dropdown id: component attributes: @@ -63,14 +84,14 @@ body: - type: input id: version attributes: - label: What LiteLLM version are you on ? + label: What LiteLLM version are you on ? placeholder: v1.53.1 validations: required: true - type: input id: contact attributes: - label: Twitter / LinkedIn details + label: Twitter / LinkedIn details description: We announce new features on Twitter + LinkedIn. If this issue leads to an announcement, and you'd like a mention, we'll gladly shout you out! placeholder: ex. @krrish_dh / https://www.linkedin.com/in/krish-d/ validations: diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 4cc42901897..9844032a98b 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -1,4 +1,4 @@ -name: 🚀 Feature Request +name: 🚀 Feature Request description: Submit a proposal/request for a new LiteLLM feature. title: "[Feature]: " labels: ["enhancement"] @@ -6,7 +6,10 @@ body: - type: markdown attributes: value: | - Thanks for making LiteLLM better! + Thanks for making LiteLLM better! + + > ⚠️ **Auto-triage notice for external contributors:** + > Feature requests need (1) a clear description of the proposed feature, (2) the motivation / use case with a concrete example, and (3) what success looks like. Vague requests are auto-closed by our LLM triage bot with an explanation. Fill in the missing details and reopen at any time — the bot will re-evaluate. Internal BerriAI contributors are exempt. - type: checkboxes id: duplicate-check attributes: @@ -18,16 +21,25 @@ body: - type: textarea id: the-feature attributes: - label: The Feature - description: A clear and concise description of the feature proposal - placeholder: Tell us what you want! + label: The feature + description: A clear and concise description of the feature proposal. What should LiteLLM do that it doesn't today? + placeholder: e.g. "Support per-team max_input_tokens overrides on the proxy." validations: required: true - type: textarea id: motivation attributes: - label: Motivation, pitch - description: Please outline the motivation for the proposal. Is your feature request related to a specific problem? e.g., "I'm working on X and would like Y to be possible". If this is related to another GitHub issue, please link here too. + label: Motivation, pitch, and concrete example + description: | + **Required.** Why is this needed? Include a concrete use case — what + you're trying to accomplish, what's blocked today, and what success + would look like (ideally with an example config / API call / UI flow). + If this is related to another GitHub issue, link it here too. + placeholder: | + I'm running a multi-tenant proxy where team A processes long docs and + team B only does short chats. Today I have to spin up two proxies. + With this feature I could set max_input_tokens per team and route in one + proxy. Example config: ... validations: required: true - type: dropdown @@ -56,7 +68,7 @@ body: - type: input id: contact attributes: - label: Twitter / LinkedIn details + label: Twitter / LinkedIn details description: We announce new features on Twitter + LinkedIn. When this is announced, and you'd like a mention, we'll gladly shout you out! placeholder: ex. @krrish_dh / https://www.linkedin.com/in/krish-d/ validations: diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index f9ce9e5dcb8..b6feb076779 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,10 +1,57 @@ + + ## Relevant issues - + ## Linear ticket - + + +## Problem description + + + +## Expected vs. actual behavior + + + +## QA proof + + ## Pre-Submission checklist @@ -36,13 +83,6 @@ If you're seeing a delay in your PR being merged, ping the LiteLLM Team on [Slac - [ ] **Merge / cherry-pick CI run** Links: -## Screenshots / Proof of Fix - - - ## Type