From d2ea8c15e3648760142d91cc771f44ac5fe1bea2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mr=2E=20=C3=85nand?=
<73425223+Astrodevil@users.noreply.github.com>
Date: Tue, 17 Mar 2026 17:41:58 +0530
Subject: [PATCH] docs: sidebar QA fixes and index updates
- Fix duplicate docs: RBAC and MCP Troubleshooting cross-links in secondary positions
- Add observability_index for Integrations
- Update guides, integrations, learn, tutorials index pages
Made-with: Cursor
---
docs/my-website/docs/guides/index.md | 70 ++++---
docs/my-website/docs/integrations/index.md | 34 ++--
.../docs/integrations/observability_index.md | 28 +++
docs/my-website/docs/learn/index.md | 152 ++++++--------
docs/my-website/docs/tutorials/index.md | 82 ++++----
docs/my-website/sidebars.js | 192 ++++++++++++------
6 files changed, 313 insertions(+), 245 deletions(-)
create mode 100644 docs/my-website/docs/integrations/observability_index.md
diff --git a/docs/my-website/docs/guides/index.md b/docs/my-website/docs/guides/index.md
index 4818f08b5be..294bdf1412b 100644
--- a/docs/my-website/docs/guides/index.md
+++ b/docs/my-website/docs/guides/index.md
@@ -11,48 +11,56 @@ import NavigationCards from '@site/src/components/NavigationCards';
---
-## Model Configuration
+## Core Features
---
-## Security & Networking
+## Configuration & Cost
-
----
-
-## AI Capabilities
-
-
+/>
\ No newline at end of file
diff --git a/docs/my-website/docs/integrations/index.md b/docs/my-website/docs/integrations/index.md
index 0134fdc4dfe..67e087a9763 100644
--- a/docs/my-website/docs/integrations/index.md
+++ b/docs/my-website/docs/integrations/index.md
@@ -20,60 +20,60 @@ items={[
icon: "๐ชข",
title: "Langfuse",
description: "LLM observability and analytics.",
- to: "../observability/langfuse_integration",
+ to: "/docs/observability/langfuse_integration",
},
{
icon: "๐ถ",
title: "Datadog",
description: "Metrics, traces, and dashboards.",
- to: "../observability/datadog",
+ to: "/docs/observability/datadog",
},
{
icon: "๐ก",
title: "OpenTelemetry",
description: "Vendor-neutral tracing.",
- to: "../observability/opentelemetry_integration",
+ to: "/docs/observability/opentelemetry_integration",
},
{
icon: "๐",
title: "LangSmith",
description: "LLM debugging and evaluation.",
- to: "../observability/langsmith_integration",
+ to: "/docs/observability/langsmith_integration",
},
{
icon: "๐ฅ",
title: "Arize / Phoenix",
description: "ML observability and evaluation.",
- to: "../observability/arize_integration",
+ to: "/docs/observability/arize_integration",
},
{
icon: "๐",
title: "Helicone",
description: "LLM request logging and analytics.",
- to: "../observability/helicone_integration",
+ to: "/docs/observability/helicone_integration",
},
{
icon: "๐",
title: "MLflow",
description: "Experiment tracking.",
- to: "../observability/mlflow",
+ to: "/docs/observability/mlflow",
},
{
icon: "๐๏ธ",
title: "Weights & Biases",
description: "ML experiment tracking.",
- to: "../observability/wandb_integration",
+ to: "/docs/observability/wandb_integration",
},
{
icon: "๐",
title: "PostHog",
description: "Product analytics.",
- to: "../observability/posthog_integration",
+ to: "/docs/observability/posthog_integration",
},
]}
/>
-[View all observability integrations โ](../observability/callbacks.md)
+[View all observability integrations โ](/docs/observability_integrations)
---
@@ -124,42 +124,42 @@ items={[
icon: "๐ก๏ธ",
title: "Lakera AI",
description: "Prompt injection detection.",
- to: "../proxy/guardrails/lakera_ai",
+ to: "/docs/proxy/guardrails/lakera_ai",
},
{
icon: "โ๏ธ",
title: "Azure Content Safety",
description: "Content moderation.",
- to: "../proxy/guardrails/azure_content_guardrail",
+ to: "/docs/proxy/guardrails/azure_content_guardrail",
},
{
icon: "๐๏ธ",
title: "Bedrock Guardrails",
description: "AWS Bedrock safety.",
- to: "../proxy/guardrails/bedrock",
+ to: "/docs/proxy/guardrails/bedrock",
},
{
icon: "๐ค",
title: "OpenAI Moderation",
description: "OpenAI content policy.",
- to: "../proxy/guardrails/openai_moderation",
+ to: "/docs/proxy/guardrails/openai_moderation",
},
{
icon: "๐",
title: "Secret Detection",
description: "Prevent credential leaks.",
- to: "../proxy/guardrails/secret_detection",
+ to: "/docs/proxy/guardrails/secret_detection",
},
{
icon: "๐ต๏ธ",
title: "PII Masking",
description: "Mask sensitive data.",
- to: "../proxy/guardrails/pii_masking_v2",
+ to: "/docs/proxy/guardrails/pii_masking_v2",
},
]}
/>
-[View all guardrail providers โ](../proxy/guardrails/quick_start.md)
+[View all guardrail providers โ](/docs/guardrail_providers)
---
diff --git a/docs/my-website/docs/integrations/observability_index.md b/docs/my-website/docs/integrations/observability_index.md
new file mode 100644
index 00000000000..8ab83950cdc
--- /dev/null
+++ b/docs/my-website/docs/integrations/observability_index.md
@@ -0,0 +1,28 @@
+---
+title: Observability
+sidebar_label: Overview
+slug: observability_integrations
+---
+
+Track, debug, and analyze LLM calls with observability platforms.
+
+import NavigationCards from '@site/src/components/NavigationCards';
+
+## Observability Integrations
+
+
+
+[View all observability integrations โ](/docs/observability/callbacks)
diff --git a/docs/my-website/docs/learn/index.md b/docs/my-website/docs/learn/index.md
index 95f4251951a..bb8ffe851e5 100644
--- a/docs/my-website/docs/learn/index.md
+++ b/docs/my-website/docs/learn/index.md
@@ -10,12 +10,12 @@ LiteLLM gives you a single OpenAI-compatible interface to 100+ LLM providers. Us
---
-## 1. Make Your First Call
+## Get Started
-Set up your environment and call your first model.
+Set up your environment and make your first LLM call.
+[View all getting started tutorials โ](/docs/tutorials/getting_started)
+
---
-## 2. Connect Your Tools
+## Guides
-Point your existing tools and frameworks at LiteLLM.
+Focused references for SDK features and proxy configuration. Each guide is self-contained.
+
+[View all guides โ](/docs/guides)
+
+---
+
+## Tutorials
+
+Step-by-step walkthroughs for integrating LiteLLM with external tools and services.
+
+
+[View all tutorials โ](/docs/tutorials)
+
---
-## 3. Configure LiteLLM
+## Production
-Learn how specific SDK features and proxy options work.
-
-
-
----
-
-## 4. Run in Production
-
-Add observability, access control, and safety to your deployment.
-
-
+Add observability, access control, and safety to your deployment. See the [Production section](/docs/tutorials#production) in Tutorials for Observability & Safety, Proxy & Gateway, and more.
diff --git a/docs/my-website/docs/tutorials/index.md b/docs/my-website/docs/tutorials/index.md
index b8bf4f76eb4..1d32ae5a940 100644
--- a/docs/my-website/docs/tutorials/index.md
+++ b/docs/my-website/docs/tutorials/index.md
@@ -18,73 +18,75 @@ columns={2}
items={[
{
icon: "โก",
- title: "Set Up Your Environment",
- description: "Get your API keys for OpenAI, Cohere, and AI21 โ no waitlist required โ and configure your environment before making your first LLM call.",
- to: "/docs/tutorials/installation",
- },
- {
- icon: "๐งช",
- title: "Build an LLM Playground",
- description: "Create a Streamlit playground to evaluate and compare multiple LLM providers side by side in under 10 minutes.",
- to: "/docs/tutorials/first_playground",
+ title: "Getting Started",
+ description: "Installation, playground, text completion, and mock completions.",
+ to: "/docs/tutorials/getting_started",
},
]}
/>
---
-## Browse All Tutorials
+## Integrations
+
+---
+
+## Production
+
+
+
+---
+
+## Advanced Features
+
+
diff --git a/docs/my-website/sidebars.js b/docs/my-website/sidebars.js
index bb77a3cc7cc..b64291ac1df 100644
--- a/docs/my-website/sidebars.js
+++ b/docs/my-website/sidebars.js
@@ -25,6 +25,7 @@ const sidebars = {
{
type: "category",
label: "Observability",
+ link: { type: "doc", id: "integrations/observability_index" },
items: [
{
type: "category",
@@ -34,17 +35,23 @@ const sidebars = {
type: "autogenerated",
dirName: "contribute_integration"
}
- ]
+ ],
},
{
type: "autogenerated",
dirName: "observability"
- }
+ },
],
},
{
type: "category",
label: "Guardrail Providers",
+ link: {
+ type: "generated-index",
+ title: "Guardrail Providers",
+ description: "Add safety and content filtering to LLM calls",
+ slug: "/guardrail_providers"
+ },
items: [
...[
"proxy/guardrails/qualifire",
@@ -161,6 +168,8 @@ const sidebars = {
"tutorials/copilotkit_sdk",
"tutorials/google_adk",
"tutorials/livekit_xai_realtime",
+ { type: "doc", id: "tutorials/instructor", label: "Instructor with LiteLLM" },
+ { type: "doc", id: "langchain/langchain", label: "LangChain with LiteLLM" },
"projects/openai-agents"
]
},
@@ -305,7 +314,11 @@ const sidebars = {
"mcp_control",
"mcp_cost",
"mcp_guardrail",
- "mcp_troubleshoot",
+ {
+ type: "link",
+ label: "MCP Troubleshooting Guide โ",
+ href: "/docs/mcp_troubleshoot"
+ },
],
},
],
@@ -367,7 +380,11 @@ const sidebars = {
type: "category",
label: "Teams & Organizations",
items: [
- "proxy/access_control",
+ {
+ type: "link",
+ label: "Role-based Access Controls (RBAC) โ",
+ href: "/docs/proxy/access_control"
+ },
"proxy/self_serve",
"proxy/public_teams",
"proxy/ui_project_management",
@@ -462,7 +479,7 @@ const sidebars = {
{
type: "link",
label: "Providers โ",
- href: "/docs/integrations#guardrail-providers",
+ href: "/docs/guardrail_providers",
},
{
type: "category",
@@ -1134,45 +1151,77 @@ const learnSidebar = {
items: [
{
type: "category",
- label: "Completion & Messaging",
+ label: "Completion Basics",
collapsible: true,
collapsed: false,
+ link: {
+ type: "generated-index",
+ title: "Completion Basics",
+ description: "Streaming, function calling, JSON mode, vision, audio, and more",
+ slug: "/guides/completion_basics"
+ },
items: [
"completion/stream",
"completion/function_call",
"completion/json_mode",
"completion/vision",
"completion/audio",
- "completion/document_understanding",
- "completion/image_generation_chat",
"completion/batching",
"completion/prefix",
"completion/predict_outputs",
"completion/provider_specific_params",
"reasoning_content",
- {
- type: "category",
- label: "Prompt Config",
- collapsible: true,
- collapsed: true,
- items: [
- "completion/prompt_caching",
- "completion/prompt_formatting",
- ],
- },
"completion/drop_params",
- "completion/message_trimming",
- "completion/message_sanitization",
"completion/model_alias",
"completion/mock_requests",
"completion/reliable_completions",
],
},
+ {
+ type: "category",
+ label: "Documents, Images & Messages",
+ collapsible: true,
+ collapsed: true,
+ link: {
+ type: "generated-index",
+ title: "Documents, Images & Messages",
+ description: "Document understanding, image generation, message trimming, and sanitization",
+ slug: "/guides/input_output_handling"
+ },
+ items: [
+ "completion/document_understanding",
+ "completion/image_generation_chat",
+ "completion/message_trimming",
+ "completion/message_sanitization",
+ ],
+ },
+ {
+ type: "category",
+ label: "Prompt Optimization",
+ collapsible: true,
+ collapsed: true,
+ link: {
+ type: "generated-index",
+ title: "Prompt Optimization",
+ description: "Prompt caching and prompt formatting",
+ slug: "/guides/prompt_optimization"
+ },
+ items: [
+ "completion/prompt_caching",
+ "completion/prompt_formatting",
+ ],
+ },
{
type: "category",
label: "AI Capabilities",
collapsible: true,
collapsed: true,
+ link: {
+ type: "generated-index",
+ title: "AI Capabilities",
+ description: "Web search, code interpreter, knowledge base, and more",
+ slug: "/guides/ai_capabilities"
+ },
items: [
"completion/web_search",
"completion/web_fetch",
@@ -1180,22 +1229,40 @@ const learnSidebar = {
"completion/knowledgebase",
"guides/code_interpreter",
"proxy/veo_video_generation",
- { type: "doc", id: "rag_ingest", label: "RAG Ingest" },
- { type: "doc", id: "rag_query", label: "RAG Query" },
],
},
{
type: "category",
- label: "Models & Customization",
+ label: "Models & Configuration",
collapsible: true,
collapsed: true,
+ link: {
+ type: "generated-index",
+ title: "Models & Configuration",
+ description: "Fine-tuned models, security settings, and adapters",
+ slug: "/guides/models_configuration"
+ },
items: [
"guides/finetuned_models",
"guides/security_settings",
- "budget_manager",
"extras/creating_adapters",
],
},
+ {
+ type: "category",
+ label: "Budgets & Cost",
+ collapsible: true,
+ collapsed: true,
+ link: {
+ type: "generated-index",
+ title: "Budgets & Cost",
+ description: "Set spend limits and track costs",
+ slug: "/guides/budgets_cost"
+ },
+ items: [
+ "budget_manager",
+ ],
+ },
],
},
@@ -1211,64 +1278,39 @@ const learnSidebar = {
type: "category",
label: "Getting Started",
collapsed: false,
+ link: {
+ type: "generated-index",
+ title: "Getting Started",
+ description: "Installation, playground, text completion, and mock completions",
+ slug: "/tutorials/getting_started"
+ },
items: [
- "tutorials/first_playground",
"tutorials/installation",
+ "tutorials/first_playground",
"tutorials/text_completion",
"tutorials/mock_completion",
],
},
{
- type: "category",
+ type: "link",
label: "Agent SDKs & Frameworks",
- collapsed: true,
- items: [
- "tutorials/openai_agents_sdk",
- "tutorials/claude_agent_sdk",
- "tutorials/copilotkit_sdk",
- "tutorials/google_adk",
- "tutorials/livekit_xai_realtime",
- { type: "doc", id: "tutorials/instructor", label: "Instructor with LiteLLM" },
- { type: "doc", id: "langchain/langchain", label: "LangChain with LiteLLM" },
- ],
+ href: "/docs/agent_sdks",
},
{
- type: "category",
+ type: "link",
label: "AI Coding Tools",
- collapsed: true,
- items: [
- "tutorials/openweb_ui",
- {
- type: "category",
- label: "Claude Code",
- collapsed: true,
- items: [
- "tutorials/claude_responses_api",
- "tutorials/claude_code_max_subscription",
- "tutorials/claude_code_customer_tracking",
- "tutorials/claude_code_prompt_cache_routing",
- "tutorials/claude_code_websearch",
- "tutorials/claude_mcp",
- "tutorials/claude_non_anthropic_models",
- "tutorials/claude_code_plugin_marketplace",
- "tutorials/claude_code_beta_headers",
- ],
- },
- "tutorials/cursor_integration",
- "tutorials/github_copilot_integration",
- "tutorials/opencode_integration",
- "tutorials/openclaw_integration",
- "tutorials/cost_tracking_coding",
- "tutorials/litellm_gemini_cli",
- "tutorials/litellm_qwen_code_cli",
- "tutorials/openai_codex",
- "tutorials/google_genai_sdk",
- ],
+ href: "/docs/ai_tools",
},
{
type: "category",
label: "Provider Tutorials",
collapsed: true,
+ link: {
+ type: "generated-index",
+ title: "Provider Tutorials",
+ description: "Set up Azure OpenAI, HuggingFace, TogetherAI, local models, and more",
+ slug: "/tutorials/provider_tutorials"
+ },
items: [
"tutorials/azure_openai",
"tutorials/TogetherAI_liteLLM",
@@ -1285,6 +1327,12 @@ const learnSidebar = {
type: "category",
label: "Proxy & Gateway",
collapsed: true,
+ link: {
+ type: "generated-index",
+ title: "Proxy & Gateway",
+ description: "Access control, SSO, SCIM, tag management, and prompt caching",
+ slug: "/tutorials/proxy_gateway"
+ },
items: [
"tutorials/default_team_self_serve",
"tutorials/msft_sso",
@@ -1298,6 +1346,12 @@ const learnSidebar = {
type: "category",
label: "Observability & Safety",
collapsed: true,
+ link: {
+ type: "generated-index",
+ title: "Observability & Safety",
+ description: "Logging, guardrails, PII masking, and evaluation suites",
+ slug: "/tutorials/observability_safety"
+ },
items: [
"tutorials/elasticsearch_logging",
"tutorials/litellm_proxy_aporia",
@@ -1310,6 +1364,12 @@ const learnSidebar = {
type: "category",
label: "Advanced Features",
collapsed: true,
+ link: {
+ type: "generated-index",
+ title: "Advanced Features",
+ description: "Model fallbacks, provider-specific params, and realtime audio",
+ slug: "/tutorials/advanced_features"
+ },
items: [
"tutorials/model_fallbacks",
"tutorials/fallbacks",