Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 36 additions & 15 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
Expand All @@ -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:
Expand All @@ -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:
Expand Down
28 changes: 20 additions & 8 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
name: 🚀 Feature Request
name: 🚀 Feature Request
description: Submit a proposal/request for a new LiteLLM feature.
title: "[Feature]: "
labels: ["enhancement"]
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:
Expand All @@ -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
Expand Down Expand Up @@ -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:
Expand Down
69 changes: 59 additions & 10 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,66 @@
<!--
👋 Hi there — please read before submitting.

To keep the review queue healthy for everyone, **every external PR is
auto-triaged** by an LLM bot ("Agent Shin") on open / reopen, regardless of
whether the PR is a draft or marked ready for review. PRs that don't meet
the rubric below are auto-closed with an explanation.

To pass triage, your PR must satisfy AT LEAST ONE of:

(A) Link a related GitHub issue (e.g. "Fixes #1234" or "Resolves
https://github.com/BerriAI/litellm/issues/1234"), OR

(B) Provide ALL of the following IN THIS PR DESCRIPTION:
- A clear problem description (what bug or missing feature this addresses)
- Expected vs. actual behavior
- Visual QA proof (before/after screenshots, screen recording, or
terminal output demonstrating that the fix/feature works end-to-end)

Every external PR (including drafts, regardless of age) also receives a
Greptile code review. Any PR with a Greptile Confidence Score below 4/5 is
auto-closed.

If your PR was auto-closed and you've addressed the feedback, you have two
options to bring it back:

- **Open a new PR** with the updated branch (recommended — GitHub does not
let external contributors reopen a PR that was closed by a bot or
maintainer).
- **Or** comment `@agent-shin reconsider` on the closed PR. Agent Shin
will re-run triage and reopen the PR if it now meets the bar.

Internal BerriAI contributors are exempt from this auto-triage — fill in the
Linear ticket section instead.
-->

## Relevant issues

<!-- e.g. "Fixes #000" -->
<!-- e.g. "Fixes #000". If you have no related issue, fill in the
"Problem description / Expected vs. Actual / QA proof" sections below. -->

## Linear ticket

<!-- if you are an internal contributor, add the Linear ticket e.g. "Resolves LIT-1234" to magically link the Linear ticket to the GitHub PR -->
<!-- INTERNAL CONTRIBUTORS ONLY: add the Linear ticket e.g. "Resolves LIT-1234"
to magically link the Linear ticket to the GitHub PR. External contributors:
leave this blank and fill in the problem/expected-actual/QA sections below. -->

## Problem description

<!-- What bug or missing feature does this PR address? One or two paragraphs.
External contributors: required unless you linked a GitHub issue above. -->

## Expected vs. actual behavior

<!-- What did you expect to happen? What is happening today (before this PR)?
External contributors: required unless you linked a GitHub issue above. -->

## QA proof

<!-- Required for external contributors: include before/after screenshots,
a screen recording, or terminal/log output that demonstrates the fix or feature
works end-to-end. For UI changes, before/after screenshots are mandatory.
For backend changes, terminal output of a passing test or curl command is fine. -->

## Pre-Submission checklist

Expand All @@ -13,7 +69,7 @@
- [ ] I have Added testing in the [`tests/test_litellm/`](https://github.com/BerriAI/litellm/tree/main/tests/test_litellm) directory, **Adding at least 1 test is a hard requirement** - [see details](https://docs.litellm.ai/docs/extras/contributing_code)
- [ ] My PR passes all unit tests on [`make test-unit`](https://docs.litellm.ai/docs/extras/contributing_code)
- [ ] My PR's scope is as isolated as possible, it only solves 1 specific problem
- [ ] I have requested a Greptile review by commenting `@greptileai` and received a **Confidence Score of at least 4/5** before requesting a maintainer review
- [ ] I have received a Greptile **Confidence Score of at least 4/5** before requesting a maintainer review (Greptile reviews automatically on open; comment `@greptileai` to re-trigger after pushing fixes)

## Delays in PR merge?

Expand All @@ -36,13 +92,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

<!-- Include screenshots, screen recordings, or log output demonstrating that your changes work as expected.
For bug fixes: show reproduction before the fix and passing behavior after.
For new features: show the feature working end-to-end.
For UI changes: include before/after screenshots. -->

## Type

<!-- Select the type of Pull Request -->
Expand Down
Loading
Loading