From db8bed03579ba902b5064aece3a056f513f9234f Mon Sep 17 00:00:00 2001 From: "continue[bot]" Date: Mon, 27 Oct 2025 22:44:12 +0000 Subject: [PATCH 1/5] Consolidate duplicate documentation paths from /customization/ to /customize/ This consolidation addresses CON-4476 by eliminating confusing duplicate documentation paths. ## Changes Made ### Structure Consolidation - Removed /docs/customization/ directory entirely - Kept /docs/customize/ as the single canonical path (it contains comprehensive content including deep-dives, model-providers, and model-roles) - Moved better overview content from /customization/overview.mdx to /customize/overview.mdx - Added new top-level pages to /customize/: models.mdx, mcp-tools.mdx, rules.mdx, prompts.mdx, settings.mdx ### Navigation Updates - Removed duplicate "Customization" tab from docs.json navigation - Updated "Customize" tab to include the new top-level pages - All customization content now appears in a single, well-organized tab ### Redirects - Added redirects from all /customization/* paths to /customize/* - Ensures backward compatibility for bookmarks and external links - Updated existing redirects that pointed to /customization/overview ### Link Updates - Updated 16+ internal documentation links from /customization/ to /customize/ - Updated image paths from /images/customization/ to /images/customize/ - Consolidated image directories (removed /docs/images/customization/) ## Reasoning for Content Decisions ### Why Keep /customize/ Over /customization/? 1. More concise - Shorter path is easier to type and remember 2. Complete structure - Already contained extensive subdirectories (deep-dives/, model-providers/, model-roles/) 3. Active development - Model provider docs and deep-dives are actively maintained here 4. Better organization - Clear hierarchy with specialized subdirectories ### Content Consolidation Strategy - Overview page: Used /customization/overview.mdx as base (clearer introduction and practical examples) - New pages: Brought over /customization/ files that provided good card-based overviews for models, rules, prompts, MCP, and settings - Deep-dives: Kept existing comprehensive /customize/deep-dives/ content (no overlap with /customization/) - Model providers: Kept existing /customize/model-providers/ (no equivalent in /customization/) - Model roles: Kept existing /customize/model-roles/ (no equivalent in /customization/) ### Deleted Content Justification All files from /docs/customization/ were either: 1. Duplicates with less comprehensive content than /customize/ equivalents 2. Moved to /customize/ to serve as helpful overview pages 3. No unique information lost - content was either redundant or merged ## Success Metrics Addressed - Zero duplicate documentation paths - All internal links functional (verified) - Clear single source of truth for customization - Backward compatibility via redirects Generated with [Continue](https://continue.dev) Co-Authored-By: Continue Co-authored-by: Username --- docs/customization/overview.mdx | 35 ------------ .../customize/deep-dives/custom-providers.mdx | 2 +- .../mcp-tools.mdx | 2 +- docs/customize/model-roles/00-intro.mdx | 2 +- docs/customize/model-roles/apply.mdx | 2 +- docs/customize/model-roles/embeddings.mdx | 2 +- docs/customize/model-roles/reranking.mdx | 2 +- docs/{customization => customize}/models.mdx | 2 +- docs/customize/overview.mdx | 51 +++++++----------- docs/{customization => customize}/prompts.mdx | 2 +- docs/{customization => customize}/rules.mdx | 0 .../{customization => customize}/settings.mdx | 8 +-- docs/docs.json | 49 ++++++++++------- docs/guides/ollama-guide.mdx | 2 +- docs/ide-extensions/agent/quick-start.mdx | 4 +- .../autocomplete/how-it-works.mdx | 2 +- .../autocomplete/model-setup.mdx | 2 +- docs/ide-extensions/chat/how-to-customize.mdx | 4 +- docs/ide-extensions/chat/model-setup.mdx | 4 +- docs/ide-extensions/edit/model-setup.mdx | 4 +- ...tinue-a5c8c79f3304c08353f3fc727aa5da7e.png | Bin 59494 -> 0 bytes ...rview-c9a104f9b586779c156f9cf34da197c2.png | Bin ...rview-36c30e7e01928d7a9b5b26ff1639c34b.png | Bin ...rview-17194d870840576f9a0dde548f2c70ec.png | Bin ...tinue-a5c8c79f3304c08353f3fc727aa5da7e.png | Bin ...rview-c9a104f9b586779c156f9cf34da197c2.png | Bin ...rview-36c30e7e01928d7a9b5b26ff1639c34b.png | Bin ...rview-17194d870840576f9a0dde548f2c70ec.png | Bin docs/index.mdx | 6 +-- 29 files changed, 75 insertions(+), 112 deletions(-) delete mode 100644 docs/customization/overview.mdx rename docs/{customization => customize}/mcp-tools.mdx (88%) rename docs/{customization => customize}/models.mdx (98%) rename docs/{customization => customize}/prompts.mdx (86%) rename docs/{customization => customize}/rules.mdx (100%) rename docs/{customization => customize}/settings.mdx (95%) delete mode 100644 docs/images/customization/images/configure-continue-a5c8c79f3304c08353f3fc727aa5da7e.png rename docs/images/{customization => customize}/assets/images/mcp-blocks-overview-c9a104f9b586779c156f9cf34da197c2.png (100%) rename docs/images/{customization => customize}/assets/images/model-blocks-overview-36c30e7e01928d7a9b5b26ff1639c34b.png (100%) rename docs/images/{customization => customize}/assets/images/prompts-blocks-overview-17194d870840576f9a0dde548f2c70ec.png (100%) rename docs/images/{customization/assets => customize}/images/configure-continue-a5c8c79f3304c08353f3fc727aa5da7e.png (100%) rename docs/images/{customization => customize}/images/mcp-blocks-overview-c9a104f9b586779c156f9cf34da197c2.png (100%) rename docs/images/{customization => customize}/images/model-blocks-overview-36c30e7e01928d7a9b5b26ff1639c34b.png (100%) rename docs/images/{customization => customize}/images/prompts-blocks-overview-17194d870840576f9a0dde548f2c70ec.png (100%) diff --git a/docs/customization/overview.mdx b/docs/customization/overview.mdx deleted file mode 100644 index f920ddc431d..00000000000 --- a/docs/customization/overview.mdx +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: "Customization Overview" -description: "Learn how to customize Continue with model providers, slash commands, and tools" ---- - -Continue can be deeply customized to fit your specific development workflow and preferences. This guide covers the main ways you can customize Continue to enhance your coding experience. - -## Change Your Model Provider - -Continue allows you to choose your favorite or even add multiple model providers. This allows you to use different models for different tasks, or to try another model if you're not happy with the results from your current model. Continue supports all of the popular model providers, including OpenAI, Anthropic, Microsoft/Azure, Mistral, and more. You can even self host your own model provider if you'd like. Learn more about [model providers](/customize/model-providers/top-level/openai). - -## Select Different Models for Specific Tasks - -Different Continue features can use different models. We call these _model roles_. For example, you can use a different model for Chat mode than you do for Autocomplete. Learn more about [model roles](/customize/model-roles). - -## Create a Slash Command - -Slash commands allow you to easily add custom prompts to Continue. Learn more about [slash commands](/customize/deep-dives/prompts). - -## Call External Tools and Functions - -Unchain your LLM with the power of tools using [Agent mode](/ide-extensions/agent/quick-start). Add custom tools using [MCP Servers](/customization/mcp-tools) - -Whatever you choose, you'll probably start by editing your configuration. - -## Edit Your Configuration - -You can easily access your configuration from the Continue Chat sidebar. Open the sidebar by pressing `cmd/ctrl` + `L` (VS Code) or `cmd/ctrl` + `J` (JetBrains) and click the Agent selector above the main chat input. Then, you can hover over an agent and click the `new window` (hub agents) or `gear` (local agents) icon. - -![configure](/images/customization/images/configure-continue-a5c8c79f3304c08353f3fc727aa5da7e.png) - -## Manage Your Configuration - -- See [Editing Hub Configurations](/hub/configs/edit-a-config) for more details on managing your hub configuration -- See the [Config Deep Dive](/reference) for more details on local configurations \ No newline at end of file diff --git a/docs/customize/deep-dives/custom-providers.mdx b/docs/customize/deep-dives/custom-providers.mdx index 9adc078abcd..a0388071dfe 100644 --- a/docs/customize/deep-dives/custom-providers.mdx +++ b/docs/customize/deep-dives/custom-providers.mdx @@ -184,7 +184,7 @@ You'll then be able to type "@" and see "MCP" in the context providers dropdown. To provide conext beyond the built-in context providers, we now recommend - using [MCP Servers](/customization/mcp-tools) + using [MCP Servers](/customize/mcp-tools) View the [deprecated context providers](/reference/deprecated-context-providers) for documentation on: diff --git a/docs/customization/mcp-tools.mdx b/docs/customize/mcp-tools.mdx similarity index 88% rename from docs/customization/mcp-tools.mdx rename to docs/customize/mcp-tools.mdx index fedc52bdfe7..9e6374c3338 100644 --- a/docs/customization/mcp-tools.mdx +++ b/docs/customize/mcp-tools.mdx @@ -13,7 +13,7 @@ These servers make it possible to: - **Allow partners** to contribute specialized functionality - **Connect to databases** to understand schema and data models during development -![MCP servers overview](/images/customization/images/mcp-blocks-overview-c9a104f9b586779c156f9cf34da197c2.png) +![MCP servers overview](/images/customize/images/mcp-blocks-overview-c9a104f9b586779c156f9cf34da197c2.png) ## Learn More About MCP servers diff --git a/docs/customize/model-roles/00-intro.mdx b/docs/customize/model-roles/00-intro.mdx index 8dcf85c0484..b2345ec8b4c 100644 --- a/docs/customize/model-roles/00-intro.mdx +++ b/docs/customize/model-roles/00-intro.mdx @@ -18,7 +18,7 @@ Models in Continue can be configured to be used for various roles in the extensi These roles can be specified for a `config.yaml` model block using `roles`. See the [YAML Specification](/reference#models) for more details. - For recommendations on which models work best for each role, see our [comprehensive model recommendations](/customization/models#recommended-models). + For recommendations on which models work best for each role, see our [comprehensive model recommendations](/customize/models#recommended-models). ## Selecting model roles diff --git a/docs/customize/model-roles/apply.mdx b/docs/customize/model-roles/apply.mdx index d96bc988d6e..963f9e0c488 100644 --- a/docs/customize/model-roles/apply.mdx +++ b/docs/customize/model-roles/apply.mdx @@ -10,7 +10,7 @@ When editing code, Chat and Edit model output often doesn't clearly align with e ## Recommended Apply models - For the latest Apply model recommendations, see our [comprehensive model recommendations](/customization/models#recommended-models). + For the latest Apply model recommendations, see our [comprehensive model recommendations](/customize/models#recommended-models). We recommend [Morph Fast Apply](https://morphllm.com) or [Relace's Instant Apply model](https://hub.continue.dev/relace/instant-apply) for the fastest Apply experience. You can sign up for Morph's free tier [here](https://morphllm.com/dashboard) or get a Relace API key [here](https://app.relace.ai/settings/api-keys). diff --git a/docs/customize/model-roles/embeddings.mdx b/docs/customize/model-roles/embeddings.mdx index ea1019c5da3..91e172ca2cd 100644 --- a/docs/customize/model-roles/embeddings.mdx +++ b/docs/customize/model-roles/embeddings.mdx @@ -20,7 +20,7 @@ You can add `embed` to a model's `roles` to specify that it can be used to embed ## Recommended embedding models - See our [comprehensive model recommendations](/customization/models#recommended-models) for the best embedding models comparison. + See our [comprehensive model recommendations](/customize/models#recommended-models) for the best embedding models comparison. If you have the ability to use any model, we recommend `voyage-code-3`, which is listed below along with the rest of the options for embeddings models. diff --git a/docs/customize/model-roles/reranking.mdx b/docs/customize/model-roles/reranking.mdx index 93829f46c6f..7d057cbb474 100644 --- a/docs/customize/model-roles/reranking.mdx +++ b/docs/customize/model-roles/reranking.mdx @@ -12,7 +12,7 @@ In Continue, rerankers are designated using the `rerank` role and used by [codeb ## Recommended reranking models - For a comparison of all reranking models including open and closed options, see our [comprehensive model recommendations](/customization/models#recommended-models). + For a comparison of all reranking models including open and closed options, see our [comprehensive model recommendations](/customize/models#recommended-models). If you have the ability to use any model, we recommend `rerank-2` by Voyage AI, which is listed below along with the rest of the options for rerankers. diff --git a/docs/customization/models.mdx b/docs/customize/models.mdx similarity index 98% rename from docs/customization/models.mdx rename to docs/customize/models.mdx index 7c9fd9f442c..9a43ef78cc8 100644 --- a/docs/customization/models.mdx +++ b/docs/customize/models.mdx @@ -12,7 +12,7 @@ import { ModelRecommendations } from "/snippets/ModelRecommendations.jsx"; - **[Embedding](/customize/model-roles/embeddings)**: Transform code into vector representations for semantic search - **[Reranker](/customize/model-roles/reranking)**: Improve search relevance by ordering results based on semantic meaning -![Models Overview](/images/customization/images/model-blocks-overview-36c30e7e01928d7a9b5b26ff1639c34b.png) +![Models Overview](/images/customize/images/model-blocks-overview-36c30e7e01928d7a9b5b26ff1639c34b.png) ## Recommended Models diff --git a/docs/customize/overview.mdx b/docs/customize/overview.mdx index 5f1e5dbe5c1..bec5247fe36 100644 --- a/docs/customize/overview.mdx +++ b/docs/customize/overview.mdx @@ -1,50 +1,35 @@ --- -title: "Overview" -description: "Explore Continue's advanced capabilities for power users and complex development scenarios." +title: "Customization Overview" +description: "Learn how to customize Continue with model providers, slash commands, and tools" --- -## Context Integration +Continue can be deeply customized to fit your specific development workflow and preferences. This guide covers the main ways you can customize Continue to enhance your coding experience. -Specialized context features for codebase understanding and documentation integration. +## Change Your Model Provider -[Browse Context Features →](/guides/understanding-configs) +Continue allows you to choose your favorite or even add multiple model providers. This allows you to use different models for different tasks, or to try another model if you're not happy with the results from your current model. Continue supports all of the popular model providers, including OpenAI, Anthropic, Microsoft/Azure, Mistral, and more. You can even self host your own model provider if you'd like. Learn more about [model providers](/customize/model-providers/overview). -## Deep Dives +## Select Different Models for Specific Tasks -Detailed technical explanations of Continue's internal workings and advanced configuration options. +Different Continue features can use different models. We call these _model roles_. For example, you can use a different model for Chat mode than you do for Autocomplete. Learn more about [model roles](/customize/model-roles). -[Read Deep Dives →](/customize/deep-dives/configuration) +## Create a Slash Command -## Model Providers +Slash commands allow you to easily add custom prompts to Continue. Learn more about [slash commands](/customize/deep-dives/prompts). -Configure and optimize different AI model providers for your specific needs and infrastructure. +## Call External Tools and Functions -[Configure Providers →](/customize/model-providers/overview) +Unchain your LLM with the power of tools using [Agent mode](/ide-extensions/agent/quick-start). Add custom tools using [MCP Servers](/customize/mcp-tools) -## Model Roles +Whatever you choose, you'll probably start by editing your configuration. -Understand how different models can be assigned specific roles in your development workflow. +## Edit Your Configuration -[Learn Model Roles →](/customize/model-roles) +You can easily access your configuration from the Continue Chat sidebar. Open the sidebar by pressing `cmd/ctrl` + `L` (VS Code) or `cmd/ctrl` + `J` (JetBrains) and click the Agent selector above the main chat input. Then, you can hover over an agent and click the `new window` (hub agents) or `gear` (local agents) icon. -## Deep Dives +![configure](/images/customize/images/configure-continue-a5c8c79f3304c08353f3fc727aa5da7e.png) -Detailed technical explanations of Continue's internal workings and advanced configuration options. +## Manage Your Configuration -[Read Deep Dives →](/customization/overview#configuration) - -## Reference - -Complete configuration reference and API documentation. - -[View Reference →](/reference) - -## Troubleshooting - -Solutions to common issues and debugging techniques. - -[Get Help →](/troubleshooting) - ---- - -These advanced topics help you get the most out of Continue in complex development environments. \ No newline at end of file +- See [Editing Hub Configurations](/hub/configs/edit-a-config) for more details on managing your hub configuration +- See the [Config Deep Dive](/reference) for more details on local configurations diff --git a/docs/customization/prompts.mdx b/docs/customize/prompts.mdx similarity index 86% rename from docs/customization/prompts.mdx rename to docs/customize/prompts.mdx index 6ca6e1917c9..28839fdfbd7 100644 --- a/docs/customization/prompts.mdx +++ b/docs/customize/prompts.mdx @@ -9,7 +9,7 @@ description: "These are the specialized instructions that shape how models respo - **Can be shared and reused** across multiple assistants - **Act as automated code reviewers** that ensure consistency across teams -![Prompts Overview](/images/customization/images/prompts-blocks-overview-17194d870840576f9a0dde548f2c70ec.png) +![Prompts Overview](/images/customize/images/prompts-blocks-overview-17194d870840576f9a0dde548f2c70ec.png) ## Learn More diff --git a/docs/customization/rules.mdx b/docs/customize/rules.mdx similarity index 100% rename from docs/customization/rules.mdx rename to docs/customize/rules.mdx diff --git a/docs/customization/settings.mdx b/docs/customize/settings.mdx similarity index 95% rename from docs/customization/settings.mdx rename to docs/customize/settings.mdx index 756195a6461..95d1a4ebff1 100644 --- a/docs/customization/settings.mdx +++ b/docs/customize/settings.mdx @@ -175,16 +175,16 @@ The refined assistant selector features: ## Next Steps - + Set up your AI providers - + Extend Continue with MCP tools - + Define coding preferences - + Customize AI behavior diff --git a/docs/docs.json b/docs/docs.json index 210d06c6c48..38ee27b9ca2 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -132,19 +132,7 @@ } ] }, - { - "group": "Customization", - "icon": "sliders", - "expanded": false, - "pages": [ - "customization/overview", - "customization/models", - "customization/mcp-tools", - "customization/rules", - "customization/prompts", - "customization/settings" - ] - }, + { "group": "Help", "icon": "book-open", @@ -160,6 +148,11 @@ "group": "Customize", "pages": [ "customize/overview", + "customize/models", + "customize/mcp-tools", + "customize/rules", + "customize/prompts", + "customize/settings", { "group": "Model Providers", "icon": "server", @@ -407,16 +400,36 @@ "destination": "/hub/introduction" }, { - "source": "/customize", - "destination": "/customization/overview" + "source": "/customization", + "destination": "/customize/overview" }, { - "source": "/customization", - "destination": "/customization/overview" + "source": "/customization/overview", + "destination": "/customize/overview" + }, + { + "source": "/customization/models", + "destination": "/customize/models" + }, + { + "source": "/customization/mcp-tools", + "destination": "/customize/mcp-tools" + }, + { + "source": "/customization/rules", + "destination": "/customize/rules" + }, + { + "source": "/customization/prompts", + "destination": "/customize/prompts" + }, + { + "source": "/customization/settings", + "destination": "/customize/settings" }, { "source": "/customize/tools", - "destination": "/customization/mcp-tools" + "destination": "/customize/mcp-tools" }, { "source": "/install/vscode", diff --git a/docs/guides/ollama-guide.mdx b/docs/guides/ollama-guide.mdx index 77ca3fd0acb..aa7364e1f58 100644 --- a/docs/guides/ollama-guide.mdx +++ b/docs/guides/ollama-guide.mdx @@ -233,7 +233,7 @@ PARAMETER num_ctx 4096 ### How to Choose the Right Model -Choose models based on your specific needs (see [recommended models](/customization/models#recommended-models) for more options): +Choose models based on your specific needs (see [recommended models](/customize/models#recommended-models) for more options): 1. **Code Generation**: diff --git a/docs/ide-extensions/agent/quick-start.mdx b/docs/ide-extensions/agent/quick-start.mdx index 0ed038b8d04..8d1172a0c17 100644 --- a/docs/ide-extensions/agent/quick-start.mdx +++ b/docs/ide-extensions/agent/quick-start.mdx @@ -50,7 +50,7 @@ You can switch to `Agent` in the mode selector below the chat input box. The mod If Agent mode or Plan mode is disabled with a `Not Supported` message, the selected model or provider doesn't support tools, or Continue doesn't yet support tools - with it. See [Model Blocks](/customization/models) for more information. + with it. See [Model Blocks](/customize/models) for more information. @@ -75,7 +75,7 @@ By default, Agent mode will ask permission when it wants to use a tool. Click `C ![agent requesting permission](/images/ide-extensions/agent/images/agent-permission-c150919a5c43eb4f55d9d4a46ef8b2d6.png) -You can use tool policies to exclude or make usage automatic for specific tools. See [MCP Tools](/customization/mcp-tools) for more background. +You can use tool policies to exclude or make usage automatic for specific tools. See [MCP Tools](/customize/mcp-tools) for more background. ## How to View Tool Responses diff --git a/docs/ide-extensions/autocomplete/how-it-works.mdx b/docs/ide-extensions/autocomplete/how-it-works.mdx index f5933111641..5441a3a53db 100644 --- a/docs/ide-extensions/autocomplete/how-it-works.mdx +++ b/docs/ide-extensions/autocomplete/how-it-works.mdx @@ -24,7 +24,7 @@ Language models aren't perfect, but can be made much closer by adjusting their o - Fixing indentation for proper formatting - Occasionally discarding low-quality responses, such as those with excessive repetition -You can learn more about how it works in the [Autocomplete deep dive](/customization/models#autocomplete). +You can learn more about how it works in the [Autocomplete deep dive](/customize/models#autocomplete). **Looking for AI that predicts your next changes or additions?** Check out diff --git a/docs/ide-extensions/autocomplete/model-setup.mdx b/docs/ide-extensions/autocomplete/model-setup.mdx index 019a3b69fac..3d0a3d6d547 100644 --- a/docs/ide-extensions/autocomplete/model-setup.mdx +++ b/docs/ide-extensions/autocomplete/model-setup.mdx @@ -12,7 +12,7 @@ Setting up the right model for autocomplete is important for a smooth coding exp - For a complete comparison of all models, see our [comprehensive model recommendations](/customization/models#recommended-models). + For a complete comparison of all models, see our [comprehensive model recommendations](/customize/models#recommended-models). ## Next Edit Model diff --git a/docs/ide-extensions/chat/how-to-customize.mdx b/docs/ide-extensions/chat/how-to-customize.mdx index 7017a5d10ce..75eb99508de 100644 --- a/docs/ide-extensions/chat/how-to-customize.mdx +++ b/docs/ide-extensions/chat/how-to-customize.mdx @@ -7,5 +7,5 @@ description: "Learn how to customize the Chat feature in Continue to better suit There are a number of different ways to customize Chat: -- Add [rules](/customization/rules) to give the model persistent instructions through the system prompt -- Create [prompts](/customization/prompts) to kickoff workflows with instructions you repeat often \ No newline at end of file +- Add [rules](/customize/rules) to give the model persistent instructions through the system prompt +- Create [prompts](/customize/prompts) to kickoff workflows with instructions you repeat often \ No newline at end of file diff --git a/docs/ide-extensions/chat/model-setup.mdx b/docs/ide-extensions/chat/model-setup.mdx index 90084c0f17c..e41032eaeb0 100644 --- a/docs/ide-extensions/chat/model-setup.mdx +++ b/docs/ide-extensions/chat/model-setup.mdx @@ -15,7 +15,7 @@ The model you use for for Chat mode will be: - For a comprehensive comparison of all available models by role, see our [model recommendations table](/customization/models#recommended-models). + For a comprehensive comparison of all available models by role, see our [model recommendations table](/customize/models#recommended-models). -For model recommendations, please refer to our [Model Recommendations page](/customization/models). \ No newline at end of file +For model recommendations, please refer to our [Model Recommendations page](/customize/models). \ No newline at end of file diff --git a/docs/ide-extensions/edit/model-setup.mdx b/docs/ide-extensions/edit/model-setup.mdx index 8a2eefd58b3..b0e19d262b2 100644 --- a/docs/ide-extensions/edit/model-setup.mdx +++ b/docs/ide-extensions/edit/model-setup.mdx @@ -12,14 +12,14 @@ The model you set up for Chat mode will be used for Edit mode by default. - See our [comprehensive model recommendations](/customization/models#recommended-models) for the best models for each role, including Edit and Apply. + See our [comprehensive model recommendations](/customize/models#recommended-models) for the best models for each role, including Edit and Apply. ## How to Set Up an Apply Model We also recommend setting up an Apply model for the best Edit experience. -For recommended Apply models, please refer to our [Model Recommendations page](/customization/models). +For recommended Apply models, please refer to our [Model Recommendations page](/customize/models). ## How to Determine Model Compatibility diff --git a/docs/images/customization/images/configure-continue-a5c8c79f3304c08353f3fc727aa5da7e.png b/docs/images/customization/images/configure-continue-a5c8c79f3304c08353f3fc727aa5da7e.png deleted file mode 100644 index bb1d5ed306ecf282731af310dcefe390c2aede9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59494 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

;0D4JM>_=qr&`jWKYC<1fqL- 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 - + Connect your preferred AI models - + Configure AI behavior and constraints - + Extend functionality with MCP tools From 76e89194ab6b1a479c1dc084fb98e2863955caa4 Mon Sep 17 00:00:00 2001 From: BekahHW Date: Tue, 11 Nov 2025 15:17:10 -0500 Subject: [PATCH 2/5] Clean up overview --- docs/customize/overview.mdx | 44 +++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/docs/customize/overview.mdx b/docs/customize/overview.mdx index bec5247fe36..7c329838af0 100644 --- a/docs/customize/overview.mdx +++ b/docs/customize/overview.mdx @@ -1,29 +1,51 @@ --- title: "Customization Overview" -description: "Learn how to customize Continue with model providers, slash commands, and tools" +description: "Learn how to customize Continue with model providers, rules, prompts, and tools" --- -Continue can be deeply customized to fit your specific development workflow and preferences. This guide covers the main ways you can customize Continue to enhance your coding experience. +## Context Integration -## Change Your Model Provider +Specialized context features for codebase understanding and documentation integration. -Continue allows you to choose your favorite or even add multiple model providers. This allows you to use different models for different tasks, or to try another model if you're not happy with the results from your current model. Continue supports all of the popular model providers, including OpenAI, Anthropic, Microsoft/Azure, Mistral, and more. You can even self host your own model provider if you'd like. Learn more about [model providers](/customize/model-providers/overview). +[Browse Context Features →](/guides/understanding-configs) -## Select Different Models for Specific Tasks +## Deep Dives -Different Continue features can use different models. We call these _model roles_. For example, you can use a different model for Chat mode than you do for Autocomplete. Learn more about [model roles](/customize/model-roles). +Detailed technical explanations of Continue's internal workings and advanced configuration options. -## Create a Slash Command +[Read Deep Dives →](/customize/deep-dives/configuration) + +## Model Providers + +Configure and optimize different AI model providers for your specific needs and infrastructure. + +[Configure Providers →](/customize/model-providers/overview) + +## Model Roles + +Understand how different models can be assigned specific roles in your development workflow. + +[Learn Model Roles →](/customize/model-roles) + +## Deep Dives + +Detailed technical explanations of Continue's internal workings and advanced configuration options. + +[Read Deep Dives →](/customization/overview#configuration) + +## Reference + +Complete configuration reference and API documentation. + +[View Reference →](/reference) -Slash commands allow you to easily add custom prompts to Continue. Learn more about [slash commands](/customize/deep-dives/prompts). ## Call External Tools and Functions -Unchain your LLM with the power of tools using [Agent mode](/ide-extensions/agent/quick-start). Add custom tools using [MCP Servers](/customize/mcp-tools) +Add custom tools using [MCP Servers](/customize/mcp-tools) -Whatever you choose, you'll probably start by editing your configuration. -## Edit Your Configuration +## Edit Your IDE Configuration You can easily access your configuration from the Continue Chat sidebar. Open the sidebar by pressing `cmd/ctrl` + `L` (VS Code) or `cmd/ctrl` + `J` (JetBrains) and click the Agent selector above the main chat input. Then, you can hover over an agent and click the `new window` (hub agents) or `gear` (local agents) icon. From 5b9a2c3fba06d95f40b8865c5b78d97191bea641 Mon Sep 17 00:00:00 2001 From: BekahHW Date: Tue, 11 Nov 2025 15:22:52 -0500 Subject: [PATCH 3/5] Broaden prompts definition --- docs/customize/prompts.mdx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/customize/prompts.mdx b/docs/customize/prompts.mdx index 28839fdfbd7..e0b28df9e20 100644 --- a/docs/customize/prompts.mdx +++ b/docs/customize/prompts.mdx @@ -1,15 +1,14 @@ --- title: "Prompts" -description: "These are the specialized instructions that shape how models respond:" +description: "These are the specialized instructions that shape how models and agents respond:" --- - **Define interaction patterns** for specific tasks or frameworks - **Encode domain expertise** for particular technologies - **Ensure consistent guidance** aligned with organizational practices -- **Can be shared and reused** across multiple assistants +- **Can be shared and reused** across multiple agents - **Act as automated code reviewers** that ensure consistency across teams -![Prompts Overview](/images/customize/images/prompts-blocks-overview-17194d870840576f9a0dde548f2c70ec.png) ## Learn More From 44b4053d8a127c43329d1e1bc2ffa80907ab40e5 Mon Sep 17 00:00:00 2001 From: BekahHW Date: Tue, 11 Nov 2025 15:40:20 -0500 Subject: [PATCH 4/5] Update Guides structure to make it easier to see --- docs/docs.json | 47 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/docs/docs.json b/docs/docs.json index 38ee27b9ca2..c59cdc0865f 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -232,21 +232,38 @@ "group": "Guides", "pages": [ "guides/overview", - "guides/understanding-configs", - "guides/configuring-models-rules-tools", - "guides/codebase-documentation-awareness", - "guides/cli", - "guides/doc-writing-agent-cli", - "guides/continuous-ai", - "guides/continuous-ai-readiness-assessment", - "guides/plan-mode-guide", - "guides/ollama-guide", - "guides/instinct", - "guides/running-continue-without-internet", - "guides/custom-code-rag", - "guides/how-to-self-host-a-model", - "guides/notion-continue-guide", - "guides/github-pr-review-bot" + { + "group": "Understanding Continue", + "pages": [ + "guides/understanding-configs", + "guides/configuring-models-rules-tools", + "guides/codebase-documentation-awareness", + "guides/plan-mode-guide", + "guides/ollama-guide", + "guides/instinct", + "guides/running-continue-without-internet", + "guides/custom-code-rag", + "guides/how-to-self-host-a-model" + ] + }, + { + "group": "CLI Guides", + "pages": ["guides/cli", "guides/doc-writing-agent-cli"] + }, + { + "group": "Continuous AI Guides", + "pages": [ + "guides/continuous-ai", + "guides/continuous-ai-readiness-assessment" + ] + }, + { + "group": "Integration Guides", + "pages": [ + "guides/notion-continue-guide", + "guides/github-pr-review-bot" + ] + } ] }, { From e4ae674965e1a6b1f14b6db81d304ecee0687c98 Mon Sep 17 00:00:00 2001 From: "continue[bot]" Date: Tue, 11 Nov 2025 22:27:17 +0000 Subject: [PATCH 5/5] Fix PR feedback: restore settings page redirect and overview content - Remove conflicting redirect from /customize/settings to /customize/overview - Restore 'Change Your Model Provider' section to overview page - Restore introductory copy explaining customization options - Add redirect for /customization/overview#change-your-model-provider anchor Addresses feedback from https://github.com/continuedev/continue/pull/8469#pullrequestreview-3450368908 Co-authored-by: bdougieyo Generated with [Continue](https://continue.dev) Co-Authored-By: Continue --- docs/customize/overview.mdx | 47 +++++++++++++++++++++++-------------- docs/docs.json | 17 ++++---------- 2 files changed, 35 insertions(+), 29 deletions(-) diff --git a/docs/customize/overview.mdx b/docs/customize/overview.mdx index 7c329838af0..13549d23e79 100644 --- a/docs/customize/overview.mdx +++ b/docs/customize/overview.mdx @@ -3,35 +3,49 @@ title: "Customization Overview" description: "Learn how to customize Continue with model providers, rules, prompts, and tools" --- -## Context Integration +Continue can be deeply customized to fit your specific development workflow and preferences. This guide covers the main ways you can customize Continue to enhance your coding experience. -Specialized context features for codebase understanding and documentation integration. +## Change Your Model Provider -[Browse Context Features →](/guides/understanding-configs) +Continue allows you to choose your favorite or even add multiple model providers. This allows you to use different models for different tasks, or to try another model if you're not happy with the results from your current model. Continue supports all of the popular model providers, including OpenAI, Anthropic, Microsoft/Azure, Mistral, and more. You can even self host your own model provider if you'd like. -## Deep Dives +[Learn more about model providers →](/customize/model-providers/overview) -Detailed technical explanations of Continue's internal workings and advanced configuration options. +## Select Different Models for Specific Tasks -[Read Deep Dives →](/customize/deep-dives/configuration) +Different Continue features can use different models. We call these _model roles_. For example, you can use a different model for Chat mode than you do for Autocomplete. + +[Learn more about model roles →](/customize/model-roles) -## Model Providers +## Create Custom Prompts -Configure and optimize different AI model providers for your specific needs and infrastructure. +Create custom slash commands and prompt templates to streamline your workflow. -[Configure Providers →](/customize/model-providers/overview) +[Learn more about prompts →](/customize/prompts) -## Model Roles +## Configure Rules + +Set up rules to guide AI responses and ensure consistent behavior across your codebase. + +[Learn more about rules →](/customize/rules) + +## Call External Tools and Functions -Understand how different models can be assigned specific roles in your development workflow. +Unchain your LLM with the power of tools using [Agent mode](/ide-extensions/agent/quick-start). Add custom tools using [MCP Servers](/customize/mcp-tools). -[Learn Model Roles →](/customize/model-roles) +[Learn more about MCP tools →](/customize/mcp-tools) + +## Customize VS Code Settings + +Adjust IDE-specific settings to optimize your Continue experience. + +[Learn more about settings →](/customize/settings) ## Deep Dives Detailed technical explanations of Continue's internal workings and advanced configuration options. -[Read Deep Dives →](/customization/overview#configuration) +[Read Deep Dives →](/customize/deep-dives/configuration) ## Reference @@ -40,12 +54,11 @@ Complete configuration reference and API documentation. [View Reference →](/reference) -## Call External Tools and Functions - -Add custom tools using [MCP Servers](/customize/mcp-tools) +--- +Whatever you choose, you'll probably start by editing your configuration. -## Edit Your IDE Configuration +## Edit Your Configuration You can easily access your configuration from the Continue Chat sidebar. Open the sidebar by pressing `cmd/ctrl` + `L` (VS Code) or `cmd/ctrl` + `J` (JetBrains) and click the Agent selector above the main chat input. Then, you can hover over an agent and click the `new window` (hub agents) or `gear` (local agents) icon. diff --git a/docs/docs.json b/docs/docs.json index c59cdc0865f..bd439d2d67e 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -424,6 +424,10 @@ "source": "/customization/overview", "destination": "/customize/overview" }, + { + "source": "/customization/overview#change-your-model-provider", + "destination": "/customize/overview#change-your-model-provider" + }, { "source": "/customization/models", "destination": "/customize/models" @@ -1108,18 +1112,7 @@ "source": "/hub/blocks/bundles", "destination": "/hub/introduction" }, - { - "source": "/customize/settings", - "destination": "/customize/overview" - }, - { - "source": "/advanced/deep-dives/settings", - "destination": "/customize/overview" - }, - { - "source": "/customize/deep-dives/settings", - "destination": "/customize/overview" - }, + { "source": "/customize/custom-providers#@greptile-context-provider", "destination": "/reference/deprecated-context-providers"