Browse Source

Merge branch 'main' into corethink

Kevin van Dijk 1 tháng trước cách đây
mục cha
commit
9f44be1ca0
100 tập tin đã thay đổi với 3123 bổ sung6997 xóa
  1. 5 0
      .changeset/add-slovak-translation.md
  2. 5 0
      .changeset/fix-agent-manager-double-scrollbar.md
  3. 0 5
      .changeset/fix-openai-codex-type.md
  4. 5 0
      .changeset/fix-review-scope-loading.md
  5. 16 0
      .changeset/fix-session-title-readability.md
  6. 0 5
      .changeset/glm-47-temperature.md
  7. 5 0
      .changeset/new-ghosts-press.md
  8. 0 5
      .changeset/openai-responses-config.md
  9. 5 0
      .changeset/remove-dup-title.md
  10. 0 64
      .changeset/shaky-wolves-check.md
  11. 5 0
      .changeset/spotty-turtles-retire.md
  12. 0 5
      .changeset/violet-planets-design.md
  13. 2 2
      .github/workflows/markdoc-build.yml
  14. 4 0
      .gitignore
  15. 1 1
      .kilocode/skills/translation/SKILL.md
  16. 1 1
      .kilocode/workflows/add-missing-translations.md
  17. 206 0
      CHANGELOG.md
  18. 135 11
      CONTRIBUTING.md
  19. 22 6
      README.md
  20. 6 0
      apps/kilocode-docs/.env.docs.sample
  21. 0 2
      apps/kilocode-docs/.env.example
  22. 3 0
      apps/kilocode-docs/.gitattributes
  23. 8 29
      apps/kilocode-docs/.gitignore
  24. 11 0
      apps/kilocode-docs/.kilocode/mcp.json
  25. 0 184
      apps/kilocode-docs/.kilocode/rules/memory-bank-instructions.md
  26. 0 156
      apps/kilocode-docs/.kilocode/rules/memory-bank/architecture.md
  27. 0 1
      apps/kilocode-docs/.kilocode/rules/memory-bank/brief.md
  28. 0 85
      apps/kilocode-docs/.kilocode/rules/memory-bank/context.md
  29. 0 110
      apps/kilocode-docs/.kilocode/rules/memory-bank/product.md
  30. 0 440
      apps/kilocode-docs/.kilocode/rules/memory-bank/tasks.md
  31. 0 184
      apps/kilocode-docs/.kilocode/rules/memory-bank/tech.md
  32. 0 132
      apps/kilocode-docs/.kilocode/rules/memory-bank/todos.md
  33. 0 217
      apps/kilocode-docs/.kilocodemodes
  34. 0 31
      apps/kilocode-docs/.kilocoderules
  35. 110 0
      apps/kilocode-docs/AGENTS.md
  36. 0 7
      apps/kilocode-docs/CHANGELOG.md
  37. 0 201
      apps/kilocode-docs/LICENSE
  38. 46 8
      apps/kilocode-docs/README.md
  39. 137 0
      apps/kilocode-docs/__tests__/previous-docs-redirects.spec.ts
  40. 0 108
      apps/kilocode-docs/blog-posts/auto-generate-commit-messages.md
  41. 115 0
      apps/kilocode-docs/components/Callout.tsx
  42. 93 0
      apps/kilocode-docs/components/CodeBlock.tsx
  43. 22 0
      apps/kilocode-docs/components/Codicon.tsx
  44. 145 0
      apps/kilocode-docs/components/CopyPageButton.tsx
  45. 12 0
      apps/kilocode-docs/components/Heading.tsx
  46. 49 0
      apps/kilocode-docs/components/Icon.tsx
  47. 49 0
      apps/kilocode-docs/components/Image.tsx
  48. 10 0
      apps/kilocode-docs/components/KiloCodeIcon.tsx
  49. 646 0
      apps/kilocode-docs/components/SideNav.tsx
  50. 66 0
      apps/kilocode-docs/components/Table.tsx
  51. 74 0
      apps/kilocode-docs/components/TableOfContents.tsx
  52. 43 0
      apps/kilocode-docs/components/Tabs.tsx
  53. 117 0
      apps/kilocode-docs/components/ThemeToggle.tsx
  54. 523 0
      apps/kilocode-docs/components/TopNav.tsx
  55. 91 0
      apps/kilocode-docs/components/YouTube.tsx
  56. 15 0
      apps/kilocode-docs/components/index.js
  57. 0 240
      apps/kilocode-docs/docs/advanced-usage/available-tools/codebase-search.md
  58. 0 326
      apps/kilocode-docs/docs/advanced-usage/memory-bank.md
  59. 0 44
      apps/kilocode-docs/docs/agent-behavior/custom-instructions.md
  60. BIN
      apps/kilocode-docs/docs/basic-usage/autocomplete-mistral-setup/10-save-settings.png
  61. 0 81
      apps/kilocode-docs/docs/basic-usage/connecting-providers.md
  62. 0 101
      apps/kilocode-docs/docs/basic-usage/the-chat-interface.md
  63. 0 685
      apps/kilocode-docs/docs/cli.md
  64. 0 104
      apps/kilocode-docs/docs/features/api-configuration-profiles.md
  65. 0 47
      apps/kilocode-docs/docs/features/experimental/experimental-features.md
  66. 0 71
      apps/kilocode-docs/docs/features/experimental/native-function-calling.md
  67. 0 52
      apps/kilocode-docs/docs/features/footgun-prompting.md
  68. 0 93
      apps/kilocode-docs/docs/features/model-temperature.md
  69. 0 42
      apps/kilocode-docs/docs/features/more-features.md
  70. 0 46
      apps/kilocode-docs/docs/features/suggested-responses.md
  71. 0 12
      apps/kilocode-docs/docs/getting-started/concepts.md
  72. 0 89
      apps/kilocode-docs/docs/getting-started/connecting-api-provider.md
  73. 0 168
      apps/kilocode-docs/docs/getting-started/installing.md
  74. 0 40
      apps/kilocode-docs/docs/getting-started/setting-up.mdx
  75. 315 0
      apps/kilocode-docs/docs/getting-started/switching-from-cline.md
  76. 0 90
      apps/kilocode-docs/docs/getting-started/your-first-task.md
  77. 0 108
      apps/kilocode-docs/docs/index.mdx
  78. 0 162
      apps/kilocode-docs/docs/jetbrains-troubleshooting.md
  79. 0 26
      apps/kilocode-docs/docs/tips-and-tricks.md
  80. 0 381
      apps/kilocode-docs/docusaurus.config.ts
  81. 0 362
      apps/kilocode-docs/i18n/zh-CN/code.json
  82. 0 63
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current.json
  83. 0 240
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/available-tools/codebase-search.md
  84. 0 42
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/custom-instructions.md
  85. 0 217
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/custom-rules.md
  86. 0 283
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/free-and-budget-models.md
  87. 0 48
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/large-projects.md
  88. 0 39
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/local-models.md
  89. 0 322
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/memory-bank.md
  90. 0 93
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/prompt-engineering.md
  91. 0 51
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/rate-limits-costs.md
  92. 0 28
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/adding-tokens.md
  93. 0 112
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/index.md
  94. 0 89
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup.md
  95. BIN
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/01-open-kilo-code-settings.png
  96. BIN
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/02-add-configuration-profile.png
  97. BIN
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/03-name-your-profile.png
  98. BIN
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/04-select-mistral-provider.png
  99. BIN
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/05-get-api-key.png
  100. BIN
      apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/06-navigate-to-codestral.png

+ 5 - 0
.changeset/add-slovak-translation.md

@@ -0,0 +1,5 @@
+---
+"kilo-code": patch
+---
+
+Add Slovak (sk) language translation for Kilo Code extension and UI

+ 5 - 0
.changeset/fix-agent-manager-double-scrollbar.md

@@ -0,0 +1,5 @@
+---
+"kilo-code": patch
+---
+
+fix(agent-manager): Fix double scrollbar in mode selector dropdowns

+ 0 - 5
.changeset/fix-openai-codex-type.md

@@ -1,5 +0,0 @@
----
-"@kilocode/cli": patch
----
-
-Add missing openai-codex provider type definition

+ 5 - 0
.changeset/fix-review-scope-loading.md

@@ -0,0 +1,5 @@
+---
+"kilo-code": patch
+---
+
+Show loading spinner immediately when opening review scope dialog while scope information is being computed, improving perceived performance for repositories with many changes

+ 16 - 0
.changeset/fix-session-title-readability.md

@@ -0,0 +1,16 @@
+---
+"webview-ui": patch
+---
+
+Fix unreadable text and poor contrast issues in Agent Manager
+
+**Session list item (issue #5618):**
+
+- Change selected session item background from list-activeSelectionBackground to button-background for better contrast
+- Change selected session item text color from list-activeSelectionForeground to button-foreground
+
+**Session detail view:**
+
+- Change session header, messages container, and chat input backgrounds from editor-background to sideBar-background
+- Add explicit text color to session title using titleBar-activeForeground
+- Add explicit color to messages container using sideBar-foreground

+ 0 - 5
.changeset/glm-47-temperature.md

@@ -1,5 +0,0 @@
----
-"kilo-code": patch
----
-
-Set default temperature to 1.0 for Cerebras zai-glm-4.7 model

+ 5 - 0
.changeset/new-ghosts-press.md

@@ -0,0 +1,5 @@
+---
+"kilo-code": patch
+---
+
+Fix 'Delete' toggle button in Auto Approve settings

+ 0 - 5
.changeset/openai-responses-config.md

@@ -1,5 +0,0 @@
----
-"@kilocode/cli": patch
----
-
-Add openai-responses provider support in CLI config validation.

+ 5 - 0
.changeset/remove-dup-title.md

@@ -0,0 +1,5 @@
+---
+"kilo-code": patch
+---
+
+Remove duplicate "Kilo Code Marketplace" title in toolbar (thanks @bernaferrari!)

+ 0 - 64
.changeset/shaky-wolves-check.md

@@ -1,64 +0,0 @@
----
-"kilo-code": minor
----
-
-Include changes from Roo Code v3.39.0-v3.41.2
-
-- Add button to open markdown in VSCode preview for easier reading of formatted content (PR #10773 by @brunobergher)
-- Fix: Add openai-codex to providers that don't require an API key (PR #10786 by @roomote)
-- Fix: Detect Gemini models with space-separated names for proper thought signature injection in LiteLLM (PR #10787 by @daniel-lxs)
-- Feat: Aggregate subtask costs in parent task (#5376 by @hannesrudolph, PR #10757 by @taltas)
-- Fix: Prevent duplicate tool_use IDs causing API 400 errors (PR #10760 by @daniel-lxs)
-- Fix: Handle missing tool identity in OpenAI Native streams (PR #10719 by @hannesrudolph)
-- Fix: Truncate call_id to 64 chars for OpenAI Responses API (PR #10763 by @daniel-lxs)
-- Fix: Gemini thought signature validation errors (PR #10694 by @daniel-lxs)
-- Fix: Filter out empty text blocks from user messages for Gemini compatibility (PR #10728 by @daniel-lxs)
-- Fix: Flatten top-level anyOf/oneOf/allOf in MCP tool schemas (PR #10726 by @daniel-lxs)
-- Fix: Filter Ollama models without native tool support (PR #10735 by @daniel-lxs)
-- Feat: Add settings tab titles to search index (PR #10761 by @roomote)
-- Fix: Clear terminal output buffers to prevent memory leaks that could cause gray screens and performance degradation (#10666, PR #7666 by @hannesrudolph)
-- Fix: Inject dummy thought signatures on ALL tool calls for Gemini models, resolving issues with Gemini tool call handling through LiteLLM (PR #10743 by @daniel-lxs)
-- Fix: Add allowedFunctionNames support for Gemini to prevent mode switch errors (#10711 by @hannesrudolph, PR #10708 by @hannesrudolph)
-- Add settings search functionality to quickly find and navigate to specific settings (PR #10619 by @mrubens)
-- Improve settings search UI with better styling and usability (PR #10633 by @brunobergher)
-- Display edit_file errors in UI after consecutive failures for better debugging feedback (PR #10581 by @daniel-lxs)
-- Improve error display styling and visibility in chat messages (PR #10692 by @brunobergher)
-- Improve stop button visibility and streamline error handling (PR #10696 by @brunobergher)
-- Fix: Omit parallel_tool_calls when not explicitly enabled to prevent API errors (#10553 by @Idlebrand, PR #10671 by @daniel-lxs)
-- Fix: Encode hyphens in MCP tool names before sanitization (#10642 by @pdecat, PR #10644 by @pdecat)
-- Fix: Correct Gemini 3 thought signature injection format via OpenRouter (PR #10640 by @daniel-lxs)
-- Fix: Sanitize tool_use IDs to match API validation pattern (PR #10649 by @daniel-lxs)
-- Fix: Use placeholder for empty tool result content to fix Gemini API validation (PR #10672 by @daniel-lxs)
-- Fix: Return empty string from getReadablePath when path is empty (PR #10638 by @daniel-lxs)
-- Optimize message block cloning in presentAssistantMessage for better performance (PR #10616 by @ArchimedesCrypto)
-- Improve ExtensionHost code organization and cleanup (PR #10600 by @cte)
-- Fix: Ensure all tools have consistent strict mode values for Cerebras compatibility (#10334 by @brianboysen51, PR #10589 by @app/roomote)
-- Fix: Remove convertToSimpleMessages to restore tool calling for OpenAI-compatible providers (PR #10575 by @daniel-lxs)
-- Fix: Make edit_file matching more resilient to prevent false negatives (PR #10585 by @hannesrudolph)
-- Fix: Order text parts before tool calls in assistant messages for vscode-lm (PR #10573 by @daniel-lxs)
-- Fix: Ensure assistant message content is never undefined for Gemini compatibility (PR #10559 by @daniel-lxs)
-- Fix: Merge approval feedback into tool result instead of pushing duplicate messages (PR #10519 by @daniel-lxs)
-- Fix: Round-trip Gemini thought signatures for tool calls (PR #10590 by @hannesrudolph)
-- Feature: Improve error messaging for stream termination errors from provider (PR #10548 by @daniel-lxs)
-- Feature: Add debug setting to settings page for easier troubleshooting (PR #10580 by @hannesrudolph)
-- Chore: Disable edit_file tool for Gemini/Vertex providers (PR #10594 by @hannesrudolph)
-- Chore: Stop overriding tool allow/deny lists for Gemini (PR #10592 by @hannesrudolph)
-- Fix: Stabilize file paths during native tool call streaming to prevent path corruption (PR #10555 by @daniel-lxs)
-- Fix: Disable Gemini thought signature persistence to prevent corrupted signature errors (PR #10554 by @daniel-lxs)
-- Fix: Change minItems from 2 to 1 for Anthropic API compatibility (PR #10551 by @daniel-lxs)
-- Implement sticky provider profile for task-level API config persistence (#8010 by @hannesrudolph, PR #10018 by @hannesrudolph)
-- Add support for image file @mentions (PR #10189 by @hannesrudolph)
-- Add debug-mode proxy routing for debugging API calls (#7042 by @SleeperSmith, PR #10467 by @hannesrudolph)
-- Add Kimi K2 thinking model to Fireworks AI provider (#9201 by @kavehsfv, PR #9202 by @roomote)
-- Add image support documentation to read_file native tool description (#10440 by @nabilfreeman, PR #10442 by @roomote)
-- Add zai-glm-4.7 to Cerebras models (PR #10500 by @sebastiand-cerebras)
-- Tweak the style of follow up suggestion modes (PR #9260 by @mrubens)
-- Fix: Handle PowerShell ENOENT error in os-name on Windows (#9859 by @Yang-strive, PR #9897 by @roomote)
-- Fix: Make command chaining examples shell-aware for Windows compatibility (#10352 by @AlexNek, PR #10434 by @roomote)
-- Fix: Preserve tool_use blocks for all tool_results in kept messages during condensation (PR #10471 by @daniel-lxs)
-- Fix: Add additionalProperties: false to MCP tool schemas for OpenAI Responses API (PR #10472 by @daniel-lxs)
-- Fix: Prevent duplicate tool_result blocks causing API errors (PR #10497 by @daniel-lxs)
-- Fix: Add explicit deduplication for duplicate tool_result blocks (#10465 by @nabilfreeman, PR #10466 by @roomote)
-- Fix: Use task stored API config as fallback for rate limit (PR #10266 by @roomote)
-- Fix: Remove legacy Claude 2 series models from Bedrock provider (#9220 by @KevinZhao, PR #10501 by @roomote)
-- Fix: Add missing description fields for debugProxy configuration (PR #10505 by @roomote) @objectiveSee)

+ 5 - 0
.changeset/spotty-turtles-retire.md

@@ -0,0 +1,5 @@
+---
+"kilo-code": patch
+---
+
+Hook embedding timeout into settings for ollama

+ 0 - 5
.changeset/violet-planets-design.md

@@ -1,5 +0,0 @@
----
-"kilo-code": patch
----
-
-Removed forced context compression for volces.com

+ 2 - 2
.github/workflows/docusaurus-build.yml → .github/workflows/markdoc-build.yml

@@ -1,4 +1,4 @@
-name: Docusaurus Build Check
+name: Markdoc Build Check
 
 env:
     NODE_VERSION: 20.20.0
@@ -15,7 +15,7 @@ permissions:
 
 jobs:
     build:
-        name: Build Docusaurus Site
+        name: Build Markdoc Site
         runs-on: ubuntu-latest
 
         steps:

+ 4 - 0
.gitignore

@@ -53,6 +53,10 @@ logs
 # Nix / Direnv
 .direnv
 
+# Mise
+mise.toml
+mise.local.toml
+
 # Exclude Conport Directory (MCP server)
 context_portal/
 

+ 1 - 1
.kilocode/skills/translation/SKILL.md

@@ -13,7 +13,7 @@ For the translation workflow, use the `/add-missing-translations` command or see
 
 # 1. SUPPORTED LANGUAGES AND LOCATION
 
-- Localize all strings into the following locale files: ar, ca, cs, de, en, es, fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, th, tr, uk, vi, zh-CN, zh-TW
+- Localize all strings into the following locale files: ar, ca, cs, de, en, es, fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, sk, th, tr, uk, vi, zh-CN, zh-TW
 - The VSCode extension has two main areas that require localization:
     - Core Extension: src/i18n/locales/, src/package.nls.json, src/package.nls.<locale>.json (extension backend)
     - WebView UI: webview-ui/src/i18n/locales/ (user interface)

+ 1 - 1
.kilocode/workflows/add-missing-translations.md

@@ -13,7 +13,7 @@ For each language that is missing translations:
 
 When translating, follow these key rules:
 
-1. **Supported Languages**: ar, ca, cs, de, en, es, fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, th, tr, uk, vi, zh-CN, zh-TW
+1. **Supported Languages**: ar, ca, cs, de, en, es, fr, hi, id, it, ja, ko, nl, pl, pt-BR, ru, sk, th, tr, uk, vi, zh-CN, zh-TW
 2. **Voice**: Always use informal speech (e.g., "du" not "Sie" in German)
 3. **Technical Terms**: Don't translate "token", "API", "prompt" and domain-specific technical terms
 4. **Placeholders**: Keep `{{variable}}` placeholders exactly as in the English source

+ 206 - 0
CHANGELOG.md

@@ -1,5 +1,211 @@
 # kilo-code
 
+## 5.5.0
+
+### Minor Changes
+
+- [#4890](https://github.com/Kilo-Org/kilocode/pull/4890) [`535e3d1`](https://github.com/Kilo-Org/kilocode/commit/535e3d1751255487b4a0217fbae6e7b357b85a56) Thanks [@Drilmo](https://github.com/Drilmo)! - feat(agent-manager): add YOLO mode toggle and session rename
+
+    **New Features:**
+
+    - Add YOLO mode toggle button in new agent form to enable/disable auto-approval of tools
+    - Add YOLO mode indicator (⚡) in session header and sidebar for sessions running in YOLO mode
+    - Add inline session rename - click on session title to edit
+
+    **Technical Details:**
+
+    - `yoloMode` maps to `autoApprove` config in agent-runtime
+    - Added translations for all 22 supported locales
+
+### Patch Changes
+
+- [#5744](https://github.com/Kilo-Org/kilocode/pull/5744) [`870cdd5`](https://github.com/Kilo-Org/kilocode/commit/870cdd57e7b096caca536ca0aa0da393a68eb730) Thanks [@fstanis](https://github.com/fstanis)! - Fix Opus 4.6 model name
+
+- [#5767](https://github.com/Kilo-Org/kilocode/pull/5767) [`57daae1`](https://github.com/Kilo-Org/kilocode/commit/57daae1c3765bd1c37ee5791cb465edc7bd9a861) Thanks [@kiloconnect](https://github.com/apps/kiloconnect)! - Update Discord link in docs footer to use kilo.ai/discord
+
+- [#5758](https://github.com/Kilo-Org/kilocode/pull/5758) [`25f0043`](https://github.com/Kilo-Org/kilocode/commit/25f0043f66248cb12c1c353c9cd9935a0d2d9d60) Thanks [@markijbema](https://github.com/markijbema)! - Minor improvement of auto-execute commands with input redirection
+
+## 5.4.1
+
+### Patch Changes
+
+- [#5695](https://github.com/Kilo-Org/kilocode/pull/5695) [`8097ad6`](https://github.com/Kilo-Org/kilocode/commit/8097ad63b455dca2224f2811af69a0333a43fd79) Thanks [@kevinvandijk](https://github.com/kevinvandijk)! - Add support for GPT 5.3 codex in OpenAI Codex provider
+
+- [#5584](https://github.com/Kilo-Org/kilocode/pull/5584) [`bd34af4`](https://github.com/Kilo-Org/kilocode/commit/bd34af4170ec3146f1c9c8ca8d8df28502b4b1fa) Thanks [@Neonsy](https://github.com/Neonsy)! - Add a favorited-task checkbox to batch delete in task history.
+
+- [#4770](https://github.com/Kilo-Org/kilocode/pull/4770) [`abaf633`](https://github.com/Kilo-Org/kilocode/commit/abaf6334f22d14496e38151c329887346525f090) Thanks [@JustinReyes28](https://github.com/JustinReyes28)! - feat: Add new "devstral-2512" Mistral model configuration
+
+## 5.4.0
+
+### Minor Changes
+
+- [#4096](https://github.com/Kilo-Org/kilocode/pull/4096) [`4eb0646`](https://github.com/Kilo-Org/kilocode/commit/4eb06462f78ab7446b319e1736fa837e86e3f1df) Thanks [@OlivierBarbier](https://github.com/OlivierBarbier)! - Fix: Importing a configuration file blocks the configuration of provider parameters #2349
+
+### Patch Changes
+
+- [#5686](https://github.com/Kilo-Org/kilocode/pull/5686) [`e6c26b7`](https://github.com/Kilo-Org/kilocode/commit/e6c26b7e8e468a565017fb05958cd4814d69daa1) Thanks [@marius-kilocode](https://github.com/marius-kilocode)! - Add Claude Opus 4.6 model with adaptive thinking support
+
+- [#4021](https://github.com/Kilo-Org/kilocode/pull/4021) [`b8a6c4e`](https://github.com/Kilo-Org/kilocode/commit/b8a6c4e6b4eab9397efbbaa04202f92816e5afd4) Thanks [@In-line](https://github.com/In-line)! - Add React Compiler integration to improve UI responsiveness
+
+## 5.3.0
+
+### Minor Changes
+
+- [#5649](https://github.com/Kilo-Org/kilocode/pull/5649) [`6fbb740`](https://github.com/Kilo-Org/kilocode/commit/6fbb74084f4090d42ad583dd6ce62c2d3f7826f2) Thanks [@iscekic](https://github.com/iscekic)! - send x-kilocode-mode header
+
+- [#5531](https://github.com/Kilo-Org/kilocode/pull/5531) [`66dbaf2`](https://github.com/Kilo-Org/kilocode/commit/66dbaf2dac3f0d1163b7a9409805d32a9a80af1c) Thanks [@lambertjosh](https://github.com/lambertjosh)! - Add new welcome screen for improved onboarding
+
+### Patch Changes
+
+- [#5582](https://github.com/Kilo-Org/kilocode/pull/5582) [`dc669ab`](https://github.com/Kilo-Org/kilocode/commit/dc669ab484a3d015cea1cadb57271b58a23ef796) Thanks [@lambertjosh](https://github.com/lambertjosh)! - Use brand-colored Kilo Code icons throughout the extension for better visibility
+
+- [#5616](https://github.com/Kilo-Org/kilocode/pull/5616) [`9e139f5`](https://github.com/Kilo-Org/kilocode/commit/9e139f50bc52913fa7e42d3ba4c9090263a14f0b) Thanks [@EloiRamos](https://github.com/EloiRamos)! - fix(ui): prevent TypeError when trimming input during model switching
+
+- [#2792](https://github.com/Kilo-Org/kilocode/pull/2792) [`907fb53`](https://github.com/Kilo-Org/kilocode/commit/907fb53aca1f70b1e3e2f91fbb3bcbdc6b514a48) Thanks [@Honyii](https://github.com/Honyii)! - Added CONTRIBUTING.md file for onboarding new contributors
+
+- [#5638](https://github.com/Kilo-Org/kilocode/pull/5638) [`a5b9106`](https://github.com/Kilo-Org/kilocode/commit/a5b9106e6cebc1a63c1ef5fa507cfaab65aa8ebc) Thanks [@Drilmo](https://github.com/Drilmo)! - fix(agent-manager): sync messages when panel is reopened
+
+    Fixed a bug where closing and reopening the Agent Manager panel would show "Waiting for agent response..." instead of the conversation messages.
+
+- [#5644](https://github.com/Kilo-Org/kilocode/pull/5644) [`e3f353f`](https://github.com/Kilo-Org/kilocode/commit/e3f353f596288b9b8e60b00fa88e60f179160c9a) Thanks [@bernaferrari](https://github.com/bernaferrari)! - Fix contrast on "ideas" intro screen
+
+- [#5583](https://github.com/Kilo-Org/kilocode/pull/5583) [`a23c936`](https://github.com/Kilo-Org/kilocode/commit/a23c9361a5a15cf7bd59efd9c8ea9987e2ec82cc) Thanks [@crazyrabbit0](https://github.com/crazyrabbit0)! - Fix double scroll bar in ModelSelector and KiloProfileSelector by increasing max-height.
+
+- [#5567](https://github.com/Kilo-Org/kilocode/pull/5567) [`9729ab2`](https://github.com/Kilo-Org/kilocode/commit/9729ab2c808a69fadbb8c095e5a626fa75e42859) Thanks [@lambertjosh](https://github.com/lambertjosh)! - Updated chat UI theme to use muted, theme-aware colors for Checkpoint, Thinking, and user message styling
+
+- [#5577](https://github.com/Kilo-Org/kilocode/pull/5577) [`a57f9ac`](https://github.com/Kilo-Org/kilocode/commit/a57f9acb2c07b0888fcfa566c2d345879f890941) Thanks [@Patel230](https://github.com/Patel230)! - fix: allow Ollama models without tool support for autocomplete
+
+- [#5628](https://github.com/Kilo-Org/kilocode/pull/5628) [`84c6db2`](https://github.com/Kilo-Org/kilocode/commit/84c6db2ff906b6d18625dc0de21a77a0e573f4ac) Thanks [@Githubguy132010](https://github.com/Githubguy132010)! - Prevent chat auto-scroll from jumping while you read older messages.
+
+- [#5214](https://github.com/Kilo-Org/kilocode/pull/5214) [`28a46d1`](https://github.com/Kilo-Org/kilocode/commit/28a46d17fe91f13ec0687bb6834b31e2ec454687) Thanks [@kiloconnect](https://github.com/apps/kiloconnect)! - Add GLM-4.7 Flash model to recommended models list for Z.ai provider
+
+- [#5662](https://github.com/Kilo-Org/kilocode/pull/5662) [`228745b`](https://github.com/Kilo-Org/kilocode/commit/228745b4159cd28b7a8fb8d1db1b89e9beb49539) Thanks [@kevinvandijk](https://github.com/kevinvandijk)! - Add improved support for Kimi 2.5 reasoning through AI SDK
+
+## 5.2.2
+
+### Patch Changes
+
+- [#5497](https://github.com/Kilo-Org/kilocode/pull/5497) [`95f9214`](https://github.com/Kilo-Org/kilocode/commit/95f92143d254741e6e0628f43ad90a3464fa7a09) Thanks [@chrarnoldus](https://github.com/chrarnoldus)! - Show sign in prompt when trying paid model when not logged in
+
+- [#5529](https://github.com/Kilo-Org/kilocode/pull/5529) [`1fe7b92`](https://github.com/Kilo-Org/kilocode/commit/1fe7b929e1c218614b9ae71270b304ab47dbf894) Thanks [@lambertjosh](https://github.com/lambertjosh)! - Streamline getting started view: move logo to top, reduce suggestions to 2, remove footer hint text
+
+## 5.2.1
+
+### Patch Changes
+
+- [#5501](https://github.com/Kilo-Org/kilocode/pull/5501) [`cecefc1`](https://github.com/Kilo-Org/kilocode/commit/cecefc1dd660100631eecf8517f2c0c918f6cdb3) Thanks [@Neonsy](https://github.com/Neonsy)! - Adding Kimi K2.5
+
+## 5.2.0
+
+### Minor Changes
+
+- [#5477](https://github.com/Kilo-Org/kilocode/pull/5477) [`59a792e`](https://github.com/Kilo-Org/kilocode/commit/59a792eeb461497fe2968ca17e2858389c55894a) Thanks [@chrarnoldus](https://github.com/chrarnoldus)! - Improve idea box during onboarding experience
+
+### Patch Changes
+
+- [#5503](https://github.com/Kilo-Org/kilocode/pull/5503) [`e53f086`](https://github.com/Kilo-Org/kilocode/commit/e53f0865d32296cb5e4db5f853466f5fa7671371) Thanks [@lambertjosh](https://github.com/lambertjosh)! - Fix mode selection after anonymous usage
+
+- [#5426](https://github.com/Kilo-Org/kilocode/pull/5426) [`56d086b`](https://github.com/Kilo-Org/kilocode/commit/56d086b4853abfeebff6b1afb6c8d0431c232542) Thanks [@lambertjosh](https://github.com/lambertjosh)! - OpenAI Codex: Add ChatGPT subscription usage limits dashboard
+
+- [#4947](https://github.com/Kilo-Org/kilocode/pull/4947) [`53080fd`](https://github.com/Kilo-Org/kilocode/commit/53080fddfc62a171ebae09fe38629aec8b0e6098) Thanks [@CaiDingxian](https://github.com/CaiDingxian)! - feat(moonshot): add new Kimi models and coding API endpoint
+
+- [#5451](https://github.com/Kilo-Org/kilocode/pull/5451) [`af25644`](https://github.com/Kilo-Org/kilocode/commit/af25644f8482bd1a10e6645ed3061421ac23045e) Thanks [@kiloconnect](https://github.com/apps/kiloconnect)! - Updated welcome screen model names in all translations
+
+## 5.1.0
+
+### Minor Changes
+
+- [`8140071`](https://github.com/Kilo-Org/kilocode/commit/8140071cf0235906d06e14034372af5941b0b9cc) Thanks [@markijbema](https://github.com/markijbema)! - New users can now start using Kilo Code immediately without any configuration - a default Kilo Code Gateway profile with a free model is automatically set up on first launch
+
+- [#5288](https://github.com/Kilo-Org/kilocode/pull/5288) [`016ea49`](https://github.com/Kilo-Org/kilocode/commit/016ea49a3a875a8e60c846b314a7040852701262) Thanks [@lambertjosh](https://github.com/lambertjosh)! - Remove Gemini CLI provider support.
+
+### Patch Changes
+
+- [#5420](https://github.com/Kilo-Org/kilocode/pull/5420) [`ebcfca8`](https://github.com/Kilo-Org/kilocode/commit/ebcfca8ea1dd3aad87e3a2598370208a1daaddc6) Thanks [@pedroheyerdahl](https://github.com/pedroheyerdahl)! - Improved Portuguese (Brazil) translation
+
+## 5.0.0
+
+### Major Changes
+
+- [#5400](https://github.com/Kilo-Org/kilocode/pull/5400) [`5a49128`](https://github.com/Kilo-Org/kilocode/commit/5a49128a570f1725b705b2da7b19486649e526ed) Thanks [@Sureshkumars](https://github.com/Sureshkumars)! - Add Local review mode
+
+### Minor Changes
+
+- [#5234](https://github.com/Kilo-Org/kilocode/pull/5234) [`796e188`](https://github.com/Kilo-Org/kilocode/commit/796e188f6213f8093e3e6cadd5b019d55993f948) Thanks [@kevinvandijk](https://github.com/kevinvandijk)! - Include changes from Roo Code v3.39.0-v3.41.2
+
+    - Add button to open markdown in VSCode preview for easier reading of formatted content (PR #10773 by @brunobergher)
+    - Fix: Add openai-codex to providers that don't require an API key (PR #10786 by @roomote)
+    - Fix: Detect Gemini models with space-separated names for proper thought signature injection in LiteLLM (PR #10787 by @daniel-lxs)
+    - Feat: Aggregate subtask costs in parent task (#5376 by @hannesrudolph, PR #10757 by @taltas)
+    - Fix: Prevent duplicate tool_use IDs causing API 400 errors (PR #10760 by @daniel-lxs)
+    - Fix: Handle missing tool identity in OpenAI Native streams (PR #10719 by @hannesrudolph)
+    - Fix: Truncate call_id to 64 chars for OpenAI Responses API (PR #10763 by @daniel-lxs)
+    - Fix: Gemini thought signature validation errors (PR #10694 by @daniel-lxs)
+    - Fix: Filter out empty text blocks from user messages for Gemini compatibility (PR #10728 by @daniel-lxs)
+    - Fix: Flatten top-level anyOf/oneOf/allOf in MCP tool schemas (PR #10726 by @daniel-lxs)
+    - Fix: Filter Ollama models without native tool support (PR #10735 by @daniel-lxs)
+    - Feat: Add settings tab titles to search index (PR #10761 by @roomote)
+    - Fix: Clear terminal output buffers to prevent memory leaks that could cause gray screens and performance degradation (#10666, PR #7666 by @hannesrudolph)
+    - Fix: Inject dummy thought signatures on ALL tool calls for Gemini models, resolving issues with Gemini tool call handling through LiteLLM (PR #10743 by @daniel-lxs)
+    - Fix: Add allowedFunctionNames support for Gemini to prevent mode switch errors (#10711 by @hannesrudolph, PR #10708 by @hannesrudolph)
+    - Add settings search functionality to quickly find and navigate to specific settings (PR #10619 by @mrubens)
+    - Improve settings search UI with better styling and usability (PR #10633 by @brunobergher)
+    - Display edit_file errors in UI after consecutive failures for better debugging feedback (PR #10581 by @daniel-lxs)
+    - Improve error display styling and visibility in chat messages (PR #10692 by @brunobergher)
+    - Improve stop button visibility and streamline error handling (PR #10696 by @brunobergher)
+    - Fix: Omit parallel_tool_calls when not explicitly enabled to prevent API errors (#10553 by @Idlebrand, PR #10671 by @daniel-lxs)
+    - Fix: Encode hyphens in MCP tool names before sanitization (#10642 by @pdecat, PR #10644 by @pdecat)
+    - Fix: Correct Gemini 3 thought signature injection format via OpenRouter (PR #10640 by @daniel-lxs)
+    - Fix: Sanitize tool_use IDs to match API validation pattern (PR #10649 by @daniel-lxs)
+    - Fix: Use placeholder for empty tool result content to fix Gemini API validation (PR #10672 by @daniel-lxs)
+    - Fix: Return empty string from getReadablePath when path is empty (PR #10638 by @daniel-lxs)
+    - Optimize message block cloning in presentAssistantMessage for better performance (PR #10616 by @ArchimedesCrypto)
+    - Improve ExtensionHost code organization and cleanup (PR #10600 by @cte)
+    - Fix: Ensure all tools have consistent strict mode values for Cerebras compatibility (#10334 by @brianboysen51, PR #10589 by @app/roomote)
+    - Fix: Remove convertToSimpleMessages to restore tool calling for OpenAI-compatible providers (PR #10575 by @daniel-lxs)
+    - Fix: Make edit_file matching more resilient to prevent false negatives (PR #10585 by @hannesrudolph)
+    - Fix: Order text parts before tool calls in assistant messages for vscode-lm (PR #10573 by @daniel-lxs)
+    - Fix: Ensure assistant message content is never undefined for Gemini compatibility (PR #10559 by @daniel-lxs)
+    - Fix: Merge approval feedback into tool result instead of pushing duplicate messages (PR #10519 by @daniel-lxs)
+    - Fix: Round-trip Gemini thought signatures for tool calls (PR #10590 by @hannesrudolph)
+    - Feature: Improve error messaging for stream termination errors from provider (PR #10548 by @daniel-lxs)
+    - Feature: Add debug setting to settings page for easier troubleshooting (PR #10580 by @hannesrudolph)
+    - Chore: Disable edit_file tool for Gemini/Vertex providers (PR #10594 by @hannesrudolph)
+    - Chore: Stop overriding tool allow/deny lists for Gemini (PR #10592 by @hannesrudolph)
+    - Fix: Stabilize file paths during native tool call streaming to prevent path corruption (PR #10555 by @daniel-lxs)
+    - Fix: Disable Gemini thought signature persistence to prevent corrupted signature errors (PR #10554 by @daniel-lxs)
+    - Fix: Change minItems from 2 to 1 for Anthropic API compatibility (PR #10551 by @daniel-lxs)
+    - Implement sticky provider profile for task-level API config persistence (#8010 by @hannesrudolph, PR #10018 by @hannesrudolph)
+    - Add support for image file @mentions (PR #10189 by @hannesrudolph)
+    - Add debug-mode proxy routing for debugging API calls (#7042 by @SleeperSmith, PR #10467 by @hannesrudolph)
+    - Add Kimi K2 thinking model to Fireworks AI provider (#9201 by @kavehsfv, PR #9202 by @roomote)
+    - Add image support documentation to read_file native tool description (#10440 by @nabilfreeman, PR #10442 by @roomote)
+    - Add zai-glm-4.7 to Cerebras models (PR #10500 by @sebastiand-cerebras)
+    - Tweak the style of follow up suggestion modes (PR #9260 by @mrubens)
+    - Fix: Handle PowerShell ENOENT error in os-name on Windows (#9859 by @Yang-strive, PR #9897 by @roomote)
+    - Fix: Make command chaining examples shell-aware for Windows compatibility (#10352 by @AlexNek, PR #10434 by @roomote)
+    - Fix: Preserve tool_use blocks for all tool_results in kept messages during condensation (PR #10471 by @daniel-lxs)
+    - Fix: Add additionalProperties: false to MCP tool schemas for OpenAI Responses API (PR #10472 by @daniel-lxs)
+    - Fix: Prevent duplicate tool_result blocks causing API errors (PR #10497 by @daniel-lxs)
+    - Fix: Add explicit deduplication for duplicate tool_result blocks (#10465 by @nabilfreeman, PR #10466 by @roomote)
+    - Fix: Use task stored API config as fallback for rate limit (PR #10266 by @roomote)
+    - Fix: Remove legacy Claude 2 series models from Bedrock provider (#9220 by @KevinZhao, PR #10501 by @roomote)
+    - Fix: Add missing description fields for debugProxy configuration (PR #10505 by @roomote) @objectiveSee)
+
+### Patch Changes
+
+- [#5354](https://github.com/Kilo-Org/kilocode/pull/5354) [`7156a35`](https://github.com/Kilo-Org/kilocode/commit/7156a35649d97a10694229a8a89fd10c5a9f9607) Thanks [@marius-kilocode](https://github.com/marius-kilocode)! - Fixed broken image display in Agent Manager message list. Images pasted or attached to messages now render correctly as thumbnails in both user feedback messages and queued messages.
+
+- [#5373](https://github.com/Kilo-Org/kilocode/pull/5373) [`cb41705`](https://github.com/Kilo-Org/kilocode/commit/cb41705691d4be7dc915d9d2f42fbcfaa033d9a8) Thanks [@sebastiand-cerebras](https://github.com/sebastiand-cerebras)! - Set default temperature to 1.0 for Cerebras zai-glm-4.7 model
+
+- [#5402](https://github.com/Kilo-Org/kilocode/pull/5402) [`930931e`](https://github.com/Kilo-Org/kilocode/commit/930931eefe2d5da11ef1b98dc2f8145cb26feb2f) Thanks [@PeterDaveHello](https://github.com/PeterDaveHello)! - Improve zh-TW translations
+
+- [#5407](https://github.com/Kilo-Org/kilocode/pull/5407) [`77cfa54`](https://github.com/Kilo-Org/kilocode/commit/77cfa54e05dbd57d8c2e333da67b1b049bdebdf8) Thanks [@chrarnoldus](https://github.com/chrarnoldus)! - Add native tool calling support to Nano-GPT provider
+
+- [#5396](https://github.com/Kilo-Org/kilocode/pull/5396) [`fdae881`](https://github.com/Kilo-Org/kilocode/commit/fdae881bfb3483066117db54bb85c7497d4bff5f) Thanks [@markijbema](https://github.com/markijbema)! - Revert "Using Kilo for work?" button in low credit warning, restore free models link
+
+- [#5364](https://github.com/Kilo-Org/kilocode/pull/5364) [`5e8ed35`](https://github.com/Kilo-Org/kilocode/commit/5e8ed3526110f6868b8b8af203eb3e733493a387) Thanks [@huangdaxianer](https://github.com/huangdaxianer)! - Removed forced context compression for volces.com
+
 ## 4.153.0
 
 ### Minor Changes

+ 135 - 11
CONTRIBUTING.md

@@ -1,16 +1,140 @@
-# Welcome to the Kilocode Project
+# Contributing to Kilo Code
 
-See [the Documentation for details on contributing](https://kilo.ai/docs/extending/contributing-to-kilo)
+First off, thanks for taking the time to contribute! ❤️
 
-## TL;DR
+All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for the team and smooth out the experience for all involved. The community looks forward to your contributions. 🎉
 
-There are lots of ways to contribute to the project
+If you don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
 
-- **Code Contributions** Implement new features or fix bugs
-- **Documentation:** Improve existing docs or create new guides
-- **Custom Modes:** Create and share specialized modes
-- **Bug Reports:** Report issues you encounter
-- **Feature Requests:** Suggest new features or improvements
-- **Community Support:** Help other users in the community
+- Star the project
+- Post on X or Linkedin about Kilo Code `#kilocode
+- Mention the project at local meetups and tell your friends/colleagues
 
-The Kilocode Community is [on Discord](https://kilo.ai/discord)
+## Table of Contents
+
+- [Code of Conduct](#code-of-conduct)
+- [I Have a Question](#i-have-a-question)
+- [I Want To Contribute](#i-want-to-contribute)
+    - [Code Contributors](#code-contributors)
+    - [Reporting Bugs](#reporting-bugs)
+    - [Custom Modes](#custom-modes)
+    - [Feature Requests](#feature-requests)
+    - [Improving The Documentation](#improving-the-documentation)
+    - [Improving The Design](#improving-the-design)
+    - [Publish a Blog Post or Case Study](#publish-a-blog-post-or-case-study)
+    - [Commit Messages](#commit-messages)
+- [Pull requests](#pull-requests)
+
+## Code of Conduct
+
+This project and everyone participating in it is governed by the [Code of Conduct](https://github.com/Kilo-Org/kilocode/blob/main/CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior
+to [[email protected]](mailto:[email protected]).
+
+## I Have a Question
+
+If you need clarification after reading this document, we encourage you to join our [discord](https://kilocode.ai/discord) workspace and join channels [kilo-dev-contributors](https://discord.com/channels/1349288496988160052/1391109167275577464) and [extensions-support channel](https://discord.com/channels/1349288496988160052/1349358641295265864).
+
+## I Want To Contribute
+
+### Code Contributors
+
+We’re excited that you’re interested in contributing code to Kilo Code! Before you start, please take a look at our [Development Guide](https://github.com/Kilo-Org/kilocode/blob/main/DEVELOPMENT.md), it includes setup instructions, build steps, and details on running tests locally.
+
+#### What to Expect
+
+- A GUI-based change with settings may involve 12–13 files, plus about 18 more for internationalization (i18n).
+
+- A new feature or major update might also require corresponding tests, translations, and settings configuration updates.
+
+Don’t let that scare you off, we just want you to have a realistic idea of what’s involved before diving in. You’ll learn a lot, and we’re here to help if you get stuck.
+
+#### Tips Before You Start
+
+- If your change affects any UI elements or Settings, expect it to touch multiple files and translations.
+
+- You can use our translation workflow to automate adding i18n strings instead of editing each language manually.
+
+Unsure if your contribution is “small” or “large”? Start a quick discussion in [kilo-dev-contributors](https://discord.com/channels/1349288496988160052/1391109167275577464) channel on discord or open an issue with good context, follow the commit and pull request guidelines below once you’re ready to open a PR.
+
+### Reporting Bugs
+
+Please use our issues templates that provide hints on what information we need to help you.
+
+> You must never report security related issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. Instead sensitive bugs must be sent by email to [[email protected]](mailto:[email protected]).
+
+### Custom Modes
+
+Custom modes are a powerful way to extend Kilo Code's capabilities. To create and share a custom mode:
+
+- Follow the [Custom Modes documentation](https://kilo.ai/docs/customize/custom-modes) to create your mode.
+
+- Test your mode thoroughly
+
+- Share your mode with the community on [Reddit](https://www.reddit.com/r/kilocode/) or you can show off / start a discussion on [show-off-your-builds](https://discord.com/channels/1349288496988160052/1375399779760214037) or [workflows-and-integration](https://discord.com/channels/1349288496988160052/1420236932780130418) on discord.
+
+### Feature Requests
+
+Suggest feature requests in [Discussion](https://github.com/Kilo-Org/kilocode/discussions), only open an [Issue](https://github.com/Kilo-Org/kilocode/issues/new/choose) for reporting a bug or actual contributions. Don't open issues for questions or support, instead join our [Discord workspace](https://kilocode.ai/discord) and ask there.
+
+- Provide as much context as you can about what you're running into.
+
+### Improving The Documentation
+
+If you notice outdated information or areas that could be clarified, kindly start a discussion in the [general](https://discord.com/channels/1349288496988160052/1349288496988160055) channel on discord.
+Please note that the main [documentation](https://github.com/Kilo-Org/docs) repository has been archived, you can still view it for reference.
+
+### Improving The Design
+
+Design contributions are welcome! To ensure smooth collaboration, please use the Design Improvement Template when opening a design-related issue.
+This helps us gather the right context (such as wireframes, mockups, or visual references) and maintain a consistent design language across the project. Feedback and iterations are highly encouraged, design is always a shared process.
+
+### Publish a Blog Post or Case Study
+
+We love hearing how people use or extend Kilo Code in their own projects. If you’ve written about your experience, we’re happy to review it!
+Our blog and case study repository has been archived, you can still access it [here](https://github.com/Kilo-Org/docs/tree/main/blog-posts) for reference. To share your work, please start a discussion in the [general](https://discord.com/channels/1349288496988160052/1349288496988160055) channel on discord, summarizing your post or case study, with a link to the full content.
+
+### Commit Messages
+
+Writing clear and consistent commit messages helps maintainers understand the purpose of your changes. A good commit message should:
+
+- Be written in the present tense (e.g., Add new feature, not Added new feature)
+
+- Be short (50 characters or less for the summary line)
+
+- Include additional context in the body if needed
+
+- Reference related issue numbers (e.g., Fixes `#123)
+
+- Keep each commit focused on one logical change
+
+## Pull Requests
+
+When you’re ready to contribute your changes, follow these steps to create a clear and reviewable pull request:
+
+- Push your changes to your fork:
+
+    ```bash
+    git push origin your-branch-name
+    ```
+
+- Open a Pull Request against the main Kilo Code repository.
+
+- Select "Compare across forks" and choose your fork and branch.
+
+- Fill out the PR template with:
+
+- A clear description of your changes
+
+    - Any related issues (e.g., “Fixes `#123”)
+
+    - Testing steps or screenshots (if applicable)
+
+    - Notes for reviewers, if special attention is needed
+
+For more context, kindly read the official [contributing docs](https://kilo.ai/docs/contributing).
+
+Your contributions, big or small help make Kilo Code better for everyone!🫶
+
+## References
+
+This document was adapted from [https://contributing.md](https://contributing.md/)!

+ 22 - 6
README.md

@@ -9,7 +9,7 @@
 # 🚀 Kilo
 
 > Kilo is the all-in-one agentic engineering platform. Build, ship, and iterate faster with the most popular open source coding agent.
-> #1 on OpenRouter. 1M+ Kilo Coders. 20T+ tokens processed
+> #1 on OpenRouter. 1.5M+ Kilo Coders. 25T+ tokens processed
 
 - ✨ Generate code from natural language
 - ✅ Checks its own work
@@ -24,6 +24,8 @@
   <img src="https://media.githubusercontent.com/media/Kilo-Org/kilocode/main/kilo.gif" width="100%" />
 </p>
 
+## Quick Links
+
 - [VS Code Marketplace](https://kilo.ai/vscode-marketplace?utm_source=Readme) (download)
 - [Official Kilo.ai Home page](https://kilo.ai) (learn more)
 
@@ -31,12 +33,12 @@
 
 - **Code Generation:** Kilo can generate code using natural language.
 - **Inline Autocomplete:** Get intelligent code completions as you type, powered by AI.
-- **Task Automation:** Kilo can automate repetitive coding tasks.
-- **Automated Refactoring:** Kilo can refactor and improve existing code.
+- **Task Automation:** Kilo can automate repetitive coding tasks to save time..
+- **Automated Refactoring:** Kilo can refactor and improve existing code efficiently.
 - **MCP Server Marketplace**: Kilo can easily find, and use MCP servers to extend the agent capabilities.
 - **Multi Mode**: Plan with Architect, Code with Coder, and Debug with Debugger, and make your own custom modes.
 
-## How to get started with Kilo
+## Get Started
 
 1. Install the Kilo Code extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=kilocode.Kilo-Code).
 2. Create your account to access 500+ cutting-edge AI models including Gemini 3 Pro, Claude 4.5 Sonnet & Opus, and GPT-5 – with transparent pricing that matches provider rates exactly.
@@ -44,9 +46,23 @@
 
 [![Watch the video](https://img.youtube.com/vi/pqGfYXgrhig/maxresdefault.jpg)](https://youtu.be/pqGfYXgrhig)
 
-## Extension Development
+## Developer Setup
+
+If you want to contribute or modify the extension locally, see the [DEVELOPMENT.md](/DEVELOPMENT.md) file for build and setup instructions.
+
+## Contributing
+
+We welcome contributions from developers, writers, and enthusiasts!
+To get started, please read our [Contributing Guide](/CONTRIBUTING.md). It includes details on setting up your environment, coding standards, types of contribution and how to submit pull requests.
+
+## Code of Conduct
+
+Our community is built on respect, inclusivity, and collaboration. Please review our [Code of Conduct](/CODE_OF_CONDUCT.md) to understand the expectations for all contributors and community members.
+
+## License
 
-For details on building and developing the extension, see [DEVELOPMENT.md](/DEVELOPMENT.md)
+This project is licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).
+You’re free to use, modify, and distribute this code, including for commercial purposes as long as you include proper attribution and license notices. See [License](/LICENSE).
 
 ## Contributing
 

+ 6 - 0
apps/kilocode-docs/.env.docs.sample

@@ -0,0 +1,6 @@
+NEXT_PUBLIC_ALGOLIA_APP_ID=ABC123
+NEXT_PUBLIC_ALGOLIA_API_KEY=zyz6789
+NEXT_PUBLIC_ALGOLIA_INDEX_NAME="Kilo Code Docs"
+NEXT_PUBLIC_ALGOLIA_ASSISTANT_ID=foo-bar
+NEXT_PUBLIC_POSTHOG_KEY=phc_QWERTY
+NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com

+ 0 - 2
apps/kilocode-docs/.env.example

@@ -1,2 +0,0 @@
-POSTHOG_API_KEY=your_posthog_api_key
-FREE_TIER_AMOUNT=$7

+ 3 - 0
apps/kilocode-docs/.gitattributes

@@ -0,0 +1,3 @@
+
+# Use bd merge for beads JSONL files
+.beads/issues.jsonl merge=beads

+ 8 - 29
apps/kilocode-docs/.gitignore

@@ -1,31 +1,10 @@
-.release-notes/
-# Dependencies
-/node_modules
-
-# Production
-/build
-
-# Generated files
-.docusaurus
-.cache-loader
-*.js
-!src/**/*.js
-
-# Misc
+node_modules/
 .DS_Store
-.env
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-.npmrc
-
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-.devcontainer
-TEMP/
-
-.history/
+.next/
 .vercel
+package-lock.json
+yarn.lock
+screenshots/
+.beads/
+.env
+next-env.d.ts

+ 11 - 0
apps/kilocode-docs/.kilocode/mcp.json

@@ -0,0 +1,11 @@
+{
+	"mcpServers": {
+		"context7": {
+			"command": "npx",
+			"args": ["-y", "@upstash/context7-mcp"],
+			"env": { "DEFAULT_MINIMUM_TOKENS": "" },
+			"alwaysAllow": ["resolve-library-id", "query-docs"],
+			"disabled": true
+		}
+	}
+}

+ 0 - 184
apps/kilocode-docs/.kilocode/rules/memory-bank-instructions.md

@@ -1,184 +0,0 @@
-# Memory Bank
-
-I am an expert software engineer with a unique characteristic: my memory resets completely between sessions. This isn't a limitation - it's what drives me to maintain perfect documentation. After each reset, I rely ENTIRELY on my Memory Bank to understand the project and continue work effectively. I MUST read ALL memory bank files at the start of EVERY task - this is not optional. The memory bank files are located in `.kilocode/rules/memory-bank` folder.
-
-When I start a task, I will include `[Memory Bank: Active]` at the beginning of my response if I successfully read the memory bank files, or `[Memory Bank: Missing]` if the folder doesn't exist or is empty. If memory bank is missing, I will warn the user about potential issues and suggest initialization.
-
-## Memory Bank Structure
-
-The Memory Bank consists of core files and optional context files, all in Markdown format.
-
-### Core Files (Required)
-
-1. `brief.md`
-   This file is created and maintained manually by the developer. Don't edit this file directly but suggest to user to update it if it can be improved.
-
-    - Foundation document that shapes all other files
-    - Created at project start if it doesn't exist
-    - Defines core requirements and goals
-    - Source of truth for project scope
-
-2. `product.md`
-
-    - Why this project exists
-    - Problems it solves
-    - How it should work
-    - User experience goals
-
-3. `context.md`
-   This file should be short and factual, not creative or speculative.
-
-    - Current work focus
-    - Recent changes
-    - Next steps
-
-4. `architecture.md`
-
-    - System architecture
-    - Source Code paths
-    - Key technical decisions
-    - Design patterns in use
-    - Component relationships
-    - Critical implementation paths
-
-5. `tech.md`
-    - Technologies used
-    - Development setup
-    - Technical constraints
-    - Dependencies
-    - Tool usage patterns
-
-### Additional Files
-
-Create additional files/folders within memory-bank/ when they help organize:
-
-- `tasks.md` - Documentation of repetitive tasks and their workflows
-- `todos.md` - List of currently active TODOs and missing documentation items. When items are completed, they should be removed from the list
-- Complex feature documentation
-- Integration specifications
-- API documentation
-- Testing strategies
-- Deployment procedures
-
-## Core workflows
-
-### Memory Bank Initialization
-
-The initialization step is CRITICALLY IMPORTANT and must be done with extreme thoroughness as it defines all future effectiveness of the Memory Bank. This is the foundation upon which all future interactions will be built.
-
-When user requests initialization of the memory bank (command `initialize memory bank`), I'll perform an exhaustive analysis of the project, including:
-
-- All source code files and their relationships
-- Configuration files and build system setup
-- Project structure and organization patterns
-- Documentation and comments
-- Dependencies and external integrations
-- Testing frameworks and patterns
-
-I must be extremely thorough during initialization, spending extra time and effort to build a comprehensive understanding of the project. A high-quality initialization will dramatically improve all future interactions, while a rushed or incomplete initialization will permanently limit my effectiveness.
-
-After initialization, I will ask the user to read through the memory bank files and verify product description, used technologies and other information. I should provide a summary of what I've understood about the project to help the user verify the accuracy of the memory bank files. I should encourage the user to correct any misunderstandings or add missing information, as this will significantly improve future interactions.
-
-### Memory Bank Update
-
-Memory Bank updates occur when:
-
-1. Discovering new project patterns
-2. After implementing significant changes
-3. When user explicitly requests with the phrase **update memory bank** (MUST review ALL files)
-4. When context needs clarification
-
-If I notice significant changes that should be preserved but the user hasn't explicitly requested an update, I should suggest: "Would you like me to update the memory bank to reflect these changes?"
-
-To execute Memory Bank update, I will:
-
-1. Review ALL project files
-2. Document current state
-3. Document Insights & Patterns
-4. If requested with additional context (e.g., "update memory bank using information from @/Makefile"), focus special attention on that source
-
-Note: When triggered by **update memory bank**, I MUST review every memory bank file, even if some don't require updates. Focus particularly on context.md as it tracks current state.
-
-### Add Task
-
-When user completes a repetitive task (like adding support for a new model version) and wants to document it for future reference, they can request: **add task** or **store this as a task**.
-
-This workflow is designed for repetitive tasks that follow similar patterns and require editing the same files. Examples include:
-
-- Adding support for new AI model versions
-- Implementing new API endpoints following established patterns
-- Adding new features that follow existing architecture
-
-Tasks are stored in the file `tasks.md` in the memory bank folder. The file is optional an can be empty. The file can store many tasks.
-
-To execute Add Task workflow:
-
-1. Create or update `tasks.md` in the memory bank folder
-2. Document the task with:
-    - Task name and description
-    - Files that need to be modified
-    - Step-by-step workflow followed
-    - Important considerations or gotchas
-    - Example of the completed implementation
-3. Include any context that was discovered during task execution but wasn't previously documented
-
-Example task entry:
-
-```markdown
-## Add New Model Support
-
-**Last performed:** [date]
-**Files to modify:**
-
-- `/providers/gemini.md` - Add model to documentation
-- `/src/providers/gemini-config.ts` - Add model configuration
-- `/src/constants/models.ts` - Add to model list
-- `/tests/providers/gemini.test.ts` - Add test cases
-
-**Steps:**
-
-1. Add model configuration with proper token limits
-2. Update documentation with model capabilities
-3. Add to constants file for UI display
-4. Write tests for new model configuration
-
-**Important notes:**
-
-- Check Google's documentation for exact token limits
-- Ensure backward compatibility with existing configurations
-- Test with actual API calls before committing
-```
-
-### Regular Task Execution
-
-In the beginning of EVERY task I MUST read ALL memory bank files - this is not optional.
-
-The memory bank files are located in `.kilocode/rules/memory-bank` folder. If the folder doesn't exist or is empty, I will warn user about potential issues with the memory bank. I will include `[Memory Bank: Active]` at the beginning of my response if I successfully read the memory bank files, or `[Memory Bank: Missing]` if the folder doesn't exist or is empty. If memory bank is missing, I will warn the user about potential issues and suggest initialization. I should briefly summarize my understanding of the project to confirm alignment with the user's expectations, like:
-
-"[Memory Bank: Active] I understand we're building a React inventory system with barcode scanning. Currently implementing the scanner component that needs to work with the backend API."
-
-When starting a task that matches a documented task in `tasks.md`, I should mention this and follow the documented workflow to ensure no steps are missed.
-
-If the task was repetitive and might be needed again, I should suggest: "Would you like me to add this task to the memory bank for future reference?"
-
-In the end of the task, when it seems to be completed, I will update `context.md` accordingly. If the change seems significant, I will suggest to the user: "Would you like me to update memory bank to reflect these changes?" I will not suggest updates for minor changes.
-
-## Context Window Management
-
-When the context window fills up during an extended session:
-
-1. I should suggest updating the memory bank to preserve the current state
-2. Recommend starting a fresh conversation/task
-3. In the new conversation, I will automatically load the memory bank files to maintain continuity
-
-## Technical Implementation
-
-Memory Bank is built on Kilo Code's Custom Rules feature, with files stored as standard markdown documents that both the user and I can access.
-
-## Important Notes
-
-REMEMBER: After every memory reset, I begin completely fresh. The Memory Bank is my only link to previous work. It must be maintained with precision and clarity, as my effectiveness depends entirely on its accuracy.
-
-If I detect inconsistencies between memory bank files, I should prioritize brief.md and note any discrepancies to the user.
-
-IMPORTANT: I MUST read ALL memory bank files at the start of EVERY task - this is not optional. The memory bank files are located in `.kilocode/rules/memory-bank` folder.

+ 0 - 156
apps/kilocode-docs/.kilocode/rules/memory-bank/architecture.md

@@ -1,156 +0,0 @@
-# Architecture Overview
-
-## System Architecture
-
-The Kilo Code documentation site is built using Docusaurus 3.8.1, a modern static site generator optimized for documentation websites. The architecture follows a standard Docusaurus pattern with custom enhancements for the Kilo Code brand and functionality.
-
-## Project Structure
-
-### Root Configuration
-
-- [`package.json`](package.json:1) - Project dependencies and build scripts
-- [`docusaurus.config.ts`](docusaurus.config.ts:1) - Main Docusaurus configuration
-- [`sidebars.ts`](sidebars.ts:1) - Documentation navigation structure
-- [`.env.example`](.env.example:1) - Environment variables template
-
-### Source Code Organization
-
-#### `/src` Directory
-
-- [`src/constants.ts`](src/constants.ts:1) - Application-wide constants (URLs, links, configuration)
-- [`src/components/`](src/components/) - Custom React components
-    - [`Codicon.tsx`](src/components/Codicon.tsx:1) - VS Code icon component
-    - [`Image.js`](src/components/Image.js:1) - Enhanced image component
-    - [`ReportIssue/`](src/components/ReportIssue/) - Issue reporting component
-    - [`YouTubeEmbed/`](src/components/YouTubeEmbed/) - YouTube video embedding
-- [`src/css/custom.css`](src/css/custom.css:1) - Global styling and theme customization
-- [`src/theme/`](src/theme/) - Docusaurus theme customizations
-
-#### `/docs` Directory Structure
-
-The documentation follows a hierarchical organization:
-
-```
-docs/
-├── index.mdx                    # Landing page
-├── getting-started/             # Installation and setup
-├── basic-usage/                 # Core functionality
-├── features/                    # Feature documentation
-│   ├── tools/                   # Tool reference
-│   ├── mcp/                     # MCP integration
-│   ├── slash-commands/          # Command workflows
-│   └── experimental/            # Beta features
-├── advanced-usage/              # Advanced topics
-├── providers/                   # AI provider setup guides
-└── extending/                   # Development and contribution
-```
-
-#### `/static` Directory
-
-- [`static/img/`](static/img/) - Images organized by feature/section
-- [`static/downloads/`](static/downloads/) - Downloadable resources
-
-### Key Technical Decisions
-
-#### Documentation Organization
-
-- **Feature-First Structure**: Documentation is organized by user journey and feature categories rather than technical implementation
-- **Provider Separation**: Each AI provider has dedicated documentation for setup and configuration
-- **Tool Reference**: Comprehensive tool documentation with individual pages for each tool
-
-#### Navigation Design
-
-- **Progressive Disclosure**: Information is layered from basic to advanced usage
-- **Cross-References**: Extensive internal linking between related concepts
-- **Search Integration**: Local search with @easyops-cn/docusaurus-search-local
-
-#### Content Strategy
-
-- **MDX Support**: Enhanced markdown with React component integration
-- **Code Examples**: Extensive use of code blocks with syntax highlighting
-- **Visual Documentation**: Screenshots and diagrams for complex concepts
-
-## Component Relationships
-
-### Core Components
-
-1. **Docusaurus Core** - Static site generation and routing
-2. **Custom Theme** - VS Code-inspired styling and branding
-3. **Search Integration** - Local search functionality
-4. **Analytics** - PostHog integration for usage tracking
-5. **Custom Components** - Enhanced documentation experience
-
-### Data Flow
-
-1. **Content Creation** - Markdown/MDX files in `/docs`
-2. **Build Process** - Docusaurus compilation and optimization
-3. **Static Generation** - HTML/CSS/JS output for hosting
-4. **Deployment** - Static files served at https://kilo.ai/docs
-
-## Critical Implementation Paths
-
-### Build System
-
-- **Development**: `npm start` - Local development server with hot reload
-- **Production**: `npm run build` - Optimized static site generation
-- **Deployment**: Static files hosted with CDN distribution
-
-### Content Management
-
-- **Documentation Updates**: Direct markdown file editing
-- **Asset Management**: Static files in organized directory structure
-- **Version Control**: Git-based workflow for content updates
-
-### Search Implementation
-
-- **Local Search**: @easyops-cn/docusaurus-search-local plugin
-- **Indexing**: Automatic content indexing during build
-- **Search UI**: Integrated search bar with contextual results
-
-### Customization Points
-
-- **Theme Overrides**: Custom CSS and component swizzling
-- **Plugin Configuration**: Docusaurus plugin ecosystem integration
-- **Content Enhancement**: MDX components for interactive documentation
-
-## Integration Points
-
-### External Services
-
-- **PostHog Analytics**: User behavior tracking and insights
-- **GitHub Integration**: Edit links and issue reporting
-- **Community Platforms**: Discord, Reddit, Twitter integration
-
-### VS Code Extension Integration
-
-- **Deep Linking**: Direct links to extension installation
-- **Context Sharing**: Documentation references from extension
-- **Feature Parity**: Documentation reflects current extension capabilities
-
-## Performance Considerations
-
-### Build Optimization
-
-- **Static Generation**: Pre-built HTML for fast loading
-- **Asset Optimization**: Image compression and lazy loading
-- **Code Splitting**: JavaScript bundle optimization
-
-### User Experience
-
-- **Mobile Responsive**: Optimized for all device sizes
-- **Fast Navigation**: Client-side routing for smooth transitions
-- **Search Performance**: Local search for instant results
-
-## Maintenance Patterns
-
-### Content Updates
-
-- **Regular Reviews**: Documentation accuracy validation
-- **Feature Alignment**: Updates synchronized with extension releases
-- **Community Feedback**: User-driven improvements and corrections
-
-### Technical Maintenance
-
-- **Dependency Updates**: Regular package updates and security patches
-- **Performance Monitoring**: Build time and site performance tracking
-- **Accessibility**: WCAG compliance and usability improvements

+ 0 - 1
apps/kilocode-docs/.kilocode/rules/memory-bank/brief.md

@@ -1 +0,0 @@
-This is the technical and user documentation for Kilo Code, an open source AI agent VS Code extension. It helps you write code more efficiently by generating code, automating tasks, and providing suggestions. It is written with the documentation library Docusaurus and hosted at https://kilo.ai/docs

+ 0 - 85
apps/kilocode-docs/.kilocode/rules/memory-bank/context.md

@@ -1,85 +0,0 @@
-# Current Context
-
-## Project Status
-
-The Kilo Code documentation site is a mature, production-ready Docusaurus project that serves as the comprehensive documentation hub for the Kilo Code VS Code extension. The site is hosted at https://kilo.ai/docs and provides extensive documentation covering installation, usage, features, and extension capabilities.
-
-## Current Work Focus
-
-**Memory Bank Initialization**: Currently performing comprehensive memory bank initialization to establish persistent project context for future AI interactions. This involves analyzing the entire documentation structure, understanding the project's purpose, and creating structured documentation files.
-
-## Recent Changes
-
-- Memory bank system being implemented with structured documentation files
-- Product overview documented with comprehensive feature descriptions
-- Project structure analyzed including all documentation categories and provider integrations
-
-## Documentation Structure
-
-The documentation is organized into several major sections:
-
-### Core User Journey
-
-- **Getting Started**: Installation, setup, and first task completion
-- **Using Kilo Code**: Chat interface, modes, context mentions, and basic features
-- **Core Concepts**: Auto-approving actions, suggested responses, tool usage, and checkpoints
-
-### Advanced Features
-
-- **Advanced Usage**: Prompt engineering, customization options, memory bank, and large project handling
-- **Customization**: Settings management, custom modes, API configuration profiles
-- **Extending Kilo Code**: Model providers (18+ supported), local models, MCP integration, shell integration
-
-### Reference Materials
-
-- **Tools Reference**: Comprehensive documentation of all 15+ available tools
-- **Provider Documentation**: Detailed setup guides for Anthropic, OpenAI, and 16+ other AI providers
-- **Community Resources**: Contributing guidelines, development environment setup
-
-## Key Features Documented
-
-### Core Capabilities
-
-- Multi-mode AI assistance (Code, Architect, Ask, Debug, Custom)
-- Comprehensive tool ecosystem for file operations, browser automation, and system commands
-- Memory Bank system for persistent project context
-- MCP (Model Context Protocol) integration for external tool connectivity
-
-### User Experience Features
-
-- Auto-generated commit messages with customizable templates
-- Context mentions for precise file and code referencing
-- Checkpoints for conversation state management
-- Fast edits and surgical code modifications
-- Browser automation for web testing and interaction
-
-### Extensibility
-
-- 18+ AI model providers supported
-- Custom mode creation with file restrictions and tool limitations
-- Local model support for privacy-conscious development
-- MCP server integration for unlimited external tool connectivity
-
-## Technical Implementation
-
-The site uses modern web technologies:
-
-- **Framework**: Docusaurus 3.8.1 for static site generation
-- **Styling**: Custom CSS with VS Code-inspired design elements
-- **Search**: Local search implementation with @easyops-cn/docusaurus-search-local
-- **Analytics**: PostHog integration for usage tracking
-- **Components**: Custom React components for enhanced documentation experience
-
-## Next Steps
-
-1. Complete memory bank initialization with remaining core files
-2. Document the technical architecture and build system
-3. Create task documentation for common documentation workflows
-4. Validate all memory bank files for accuracy and completeness
-
-## Important Considerations
-
-- Documentation must remain accessible to both technical and non-technical users
-- All provider documentation needs to stay current with API changes
-- Memory bank system documentation serves as both user guide and implementation reference
-- Community contributions are encouraged through GitHub discussions and pull requests

+ 0 - 110
apps/kilocode-docs/.kilocode/rules/memory-bank/product.md

@@ -1,110 +0,0 @@
-# Product Overview
-
-## What Kilo Code Is
-
-Kilo Code is an open source AI agent VS Code extension that transforms how developers write code by providing intelligent, context-aware assistance directly within the VS Code editor. It serves as a persistent development partner that can understand projects, generate code, automate tasks, and provide suggestions.
-
-## Problems It Solves
-
-### Core Development Pain Points
-
-- **Blank Page Syndrome**: Eliminates the struggle of starting new code or features from scratch
-- **Context Switching**: Reduces time spent switching between documentation, Stack Overflow, and code
-- **Repetitive Tasks**: Automates common development workflows like commit message generation, boilerplate creation, and file operations
-- **Code Quality**: Helps with refactoring, debugging, and maintaining consistent coding standards
-- **Project Understanding**: Assists in understanding large codebases and complex architectures
-
-### AI Memory Limitations
-
-- **Session Reset Problem**: Traditional AI assistants lose all context between sessions, requiring re-explanation of project details
-- **Inefficient Context Gathering**: Without memory, AI must re-analyze entire codebases repeatedly, which is slow and expensive
-- **Inconsistent Understanding**: Lack of persistent context leads to inconsistent suggestions and solutions
-
-## How Kilo Code Works
-
-### Core Interaction Model
-
-Users interact with Kilo Code through a chat interface within VS Code, using natural language to describe what they want to accomplish. Kilo Code then uses specialized modes and tools to fulfill requests.
-
-### Mode System
-
-- **Code Mode**: General-purpose coding tasks, file editing, project creation
-- **Architect Mode**: Planning, design, technical leadership, and documentation
-- **Ask Mode**: Information gathering, explanations, and learning
-- **Debug Mode**: Systematic problem diagnosis and troubleshooting
-- **Custom Modes**: Unlimited specialized personas for specific workflows
-
-### Tool Ecosystem
-
-Kilo Code uses a sophisticated tool system organized into groups:
-
-- **Read Tools**: File exploration, code analysis, project understanding
-- **Edit Tools**: Code modification, file creation, precise surgical edits
-- **Browser Tools**: Web automation and testing
-- **Command Tools**: System command execution and build processes
-- **MCP Tools**: External service integration through Model Context Protocol
-- **Workflow Tools**: Task management, mode switching, progress tracking
-
-### Memory Bank System
-
-A revolutionary approach to AI context preservation that maintains project understanding across sessions through structured documentation files that both the AI and developers can access.
-
-## User Experience Goals
-
-### Seamless Integration
-
-- Natural language interaction within familiar VS Code environment
-- No context switching between tools or applications
-- Immediate access through sidebar panel
-
-### Intelligent Assistance
-
-- Context-aware suggestions based on current project and codebase
-- Proactive help with common development patterns
-- Learning from user preferences and project conventions
-
-### Workflow Enhancement
-
-- Streamlined development processes through automation
-- Reduced cognitive load for repetitive tasks
-- Enhanced productivity without disrupting existing workflows
-
-### Extensibility
-
-- Support for multiple AI model providers
-- Custom mode creation for specialized workflows
-- MCP integration for unlimited tool expansion
-- Local model support for privacy-conscious development
-
-## Target Outcomes
-
-### For Individual Developers
-
-- Faster code generation and iteration cycles
-- Improved code quality through AI-assisted refactoring and debugging
-- Reduced time spent on documentation and boilerplate code
-- Enhanced learning through AI explanations and suggestions
-
-### For Development Teams
-
-- Consistent coding standards and practices
-- Shared custom modes for standardized workflows
-- Improved code review processes through better commit messages
-- Knowledge preservation through Memory Bank documentation
-
-### For Projects
-
-- Better documentation as a byproduct of AI assistance
-- More maintainable codebases through consistent patterns
-- Faster onboarding for new team members
-- Preserved project knowledge across team changes
-
-## Success Metrics
-
-The product succeeds when developers report:
-
-- Increased coding velocity and reduced time-to-completion
-- Improved code quality and fewer bugs
-- Enhanced understanding of complex codebases
-- Reduced friction in development workflows
-- Better project documentation and knowledge retention

+ 0 - 440
apps/kilocode-docs/.kilocode/rules/memory-bank/tasks.md

@@ -1,440 +0,0 @@
-# Documentation Tasks
-
-This file documents common repetitive tasks and workflows for maintaining the Kilo Code documentation site.
-
-## Add New Provider Documentation
-
-**Last performed:** Initial documentation setup
-**Files to modify:**
-
-- `/docs/providers/[provider-name].md` - Create new provider documentation
-- `/sidebars.ts` - Add provider to navigation structure
-- `/src/constants.ts` - Add provider URLs if needed
-
-**Steps:**
-
-1. Create new provider documentation file in `/docs/providers/`
-2. Follow the standard provider documentation template:
-    - Introduction and website link
-    - Getting an API Key section
-    - Supported Models section
-    - Configuration in Kilo Code section
-    - Tips and Notes section
-3. Add provider to the Model Providers section in `sidebars.ts`
-4. Update constants file if new URLs are needed
-5. Test documentation locally with `npm start`
-6. Verify all links work correctly
-
-**Template structure:**
-
-```markdown
----
-sidebar_label: Provider Name
----
-
-# Using [Provider Name] With Kilo Code
-
-Brief description of the provider and their strengths.
-
-**Website:** [Provider URL]
-
-## Getting an API Key
-
-[Step-by-step instructions]
-
-## Supported Models
-
-[List of supported models]
-
-## Configuration in Kilo Code
-
-[Setup instructions]
-
-## Tips and Notes
-
-[Additional helpful information]
-```
-
-## Add New Tool Documentation
-
-**Last performed:** Tool reference documentation setup
-**Files to modify:**
-
-- `/docs/features/tools/[tool-name].md` - Create new tool documentation
-- `/sidebars.ts` - Add tool to Tools Reference section
-- `/docs/features/tools/tool-use-overview.md` - Update tool overview if needed
-
-**Steps:**
-
-1. Create new tool documentation file in `/docs/features/tools/`
-2. Follow the standard tool documentation template
-3. Add tool to the Tools Reference section in `sidebars.ts`
-4. Update tool overview page if the tool represents a new category
-5. Test documentation locally
-6. Verify code examples and parameter descriptions are accurate
-
-**Important notes:**
-
-- Include practical examples of tool usage
-- Document all parameters with their types and requirements
-- Explain when and why to use the tool
-- Include common error scenarios and solutions
-
-## Update Feature Documentation
-
-**Last performed:** Feature documentation organization
-**Files to modify:**
-
-- Relevant feature documentation files in `/docs/features/`
-- `/sidebars.ts` - Update navigation if structure changes
-- `/docs/index.mdx` - Update feature highlights if major features added
-
-**Steps:**
-
-1. Identify which feature documentation needs updates
-2. Review current documentation for accuracy
-3. Update content to reflect latest extension capabilities
-4. Add new screenshots if UI has changed
-5. Update navigation structure if needed
-6. Test all internal links
-7. Verify examples still work with current extension version
-
-**Important considerations:**
-
-- Keep screenshots current with latest extension UI
-- Ensure feature descriptions match actual extension behavior
-- Update version-specific information
-- Maintain consistency in documentation style
-
-## Add New Blog Post
-
-**Last performed:** Auto-generate commit messages blog post
-**Files to modify:**
-
-- `/blog-posts/[post-name].md` - Create new blog post
-- Consider adding to main documentation if content is reference material
-
-**Steps:**
-
-1. Create new blog post file in `/blog-posts/`
-2. Follow the established blog post style and tone
-3. Include practical examples and real-world usage
-4. Add relevant images to `/static/img/` if needed
-5. Consider if content should also be added to main documentation
-6. Review for clarity and technical accuracy
-
-**Content guidelines:**
-
-- Focus on practical benefits and real-world usage
-- Include specific examples and code snippets
-- Maintain conversational but informative tone
-- Link to relevant documentation sections
-
-## Update Provider API Changes
-
-**Last performed:** Provider documentation updates
-**Files to modify:**
-
-- Relevant provider documentation in `/docs/providers/`
-- `/docs/getting-started/connecting-api-provider.md` - If setup process changes
-
-**Steps:**
-
-1. Identify which providers have API changes
-2. Update supported models lists
-3. Update configuration instructions if needed
-4. Update pricing information references
-5. Test configuration steps with actual provider APIs
-6. Update screenshots if provider UIs have changed
-
-**Important notes:**
-
-- Verify model names and capabilities with provider documentation
-- Check for new authentication methods or requirements
-- Update rate limit information if changed
-- Ensure all external links are still valid
-
-## Reorganize Documentation Structure
-
-**Last performed:** Features section reorganization
-**Files to modify:**
-
-- `/sidebars.ts` - Primary navigation structure changes
-- `/docusaurus.config.ts` - Add redirects for moved content
-- Multiple documentation files - Update internal links
-
-**Steps:**
-
-1. Plan new documentation structure
-2. Update `sidebars.ts` with new organization
-3. Add redirects in `docusaurus.config.ts` for moved content
-4. Update internal links throughout documentation
-5. Test all navigation paths
-6. Verify search functionality still works
-7. Update any hardcoded paths in components
-
-**Important considerations:**
-
-- Always add redirects for moved content to prevent broken links
-- Update internal link references throughout the site
-- Test navigation flow from user perspective
-- Consider impact on external links and bookmarks
-
-## Add New Custom Component
-
-**Last performed:** YouTube embed and image components
-**Files to modify:**
-
-- `/src/components/[ComponentName]/` - Create new component directory
-- `/src/theme/MDXComponents.ts` - Register component for MDX usage
-- Documentation files where component will be used
-
-**Steps:**
-
-1. Create component directory in `/src/components/`
-2. Implement React component with TypeScript
-3. Add component styles in separate CSS module if needed
-4. Register component in `MDXComponents.ts` for MDX usage
-5. Test component in development environment
-6. Document component usage for other contributors
-7. Use component in relevant documentation files
-
-**Component guidelines:**
-
-- Follow existing component patterns and styling
-- Use TypeScript for type safety
-- Include proper error handling
-- Make components reusable and configurable
-- Follow accessibility best practices
-
-## Update Screenshots and Visual Assets
-
-**Last performed:** Ongoing maintenance need
-**Files to modify:**
-
-- `/static/img/[feature-directories]/` - Update screenshot files
-- Documentation files with embedded images - Update image references
-- `/docs/getting-started/` - Installation and setup screenshots
-- `/docs/basic-usage/` - Interface and workflow screenshots
-
-**Steps:**
-
-1. Identify which features have UI changes from extension releases
-2. Take new screenshots in consistent browser/OS environment
-3. Optimize images for web (compress, appropriate dimensions)
-4. Replace old screenshots in `/static/img/` directories
-5. Update any image references in documentation files
-6. Test that all images load correctly in development
-7. Verify images are accessible and have proper alt text
-
-**Important considerations:**
-
-- Maintain consistent screenshot style (browser, zoom level, theme)
-- Use descriptive filenames that match the feature being documented
-- Compress images to keep site performance optimal
-- Update alt text for accessibility
-- Consider creating a screenshot style guide for consistency
-
-## Graduate Experimental Features to Stable
-
-**Last performed:** Codebase indexing graduation
-**Files to modify:**
-
-- Feature documentation files - Remove experimental warnings
-- `/sidebars.ts` - Move from experimental to appropriate section
-- `/docs/features/experimental/` - Remove from experimental list
-- Related tool documentation - Update experimental status
-- `/docusaurus.config.ts` - Add redirects if URLs change
-
-**Steps:**
-
-1. Identify features graduating from experimental status
-2. Remove experimental warnings and disclaimers from documentation
-3. Update navigation structure in `sidebars.ts`
-4. Move documentation files if directory structure changes
-5. Add redirects for any changed URLs
-6. Update cross-references throughout documentation
-7. Remove duplicate documentation if it exists
-8. Update feature overview pages to reflect stable status
-
-**Important considerations:**
-
-- Always add redirects for moved content to prevent broken links
-- Search for all references to the feature across documentation
-- Update any "experimental features" overview pages
-- Consider if feature deserves more prominent placement in navigation
-- Verify all examples and instructions work with stable version
-
-## Process Extension Release Documentation Updates
-
-**Last performed:** Version-specific updates from todos.md
-**Files to modify:**
-
-- Multiple feature documentation files based on release notes
-- Provider documentation for new models or API changes
-- Tool documentation for behavior changes
-- Getting started guides for new onboarding features
-- FAQ or troubleshooting sections for resolved issues
-
-**Steps:**
-
-1. Review extension release notes for documentation impacts
-2. Categorize changes: UI updates, new features, bug fixes, model additions
-3. Update relevant feature documentation with new capabilities
-4. Add or update screenshots for UI changes
-5. Update provider documentation for new models
-6. Update tool documentation for behavior changes
-7. Add troubleshooting entries for resolved issues
-8. Test all updated examples and instructions
-
-**Important considerations:**
-
-- Prioritize user-facing changes that affect documentation accuracy
-- Update version-specific information where relevant
-- Ensure examples still work with current extension version
-- Consider if changes require updates to getting started flow
-- Document any breaking changes or migration steps
-
-## Manage Documentation Redirects
-
-**Last performed:** MCP and features section reorganization
-**Files to modify:**
-
-- `/docusaurus.config.ts` - Add redirect configurations
-- `/sidebars.ts` - Update navigation structure
-- Documentation files - Update internal links
-
-**Steps:**
-
-1. Plan new documentation structure or identify moved content
-2. Document all URL changes that will occur
-3. Add redirect entries in `docusaurus.config.ts`
-4. Update navigation structure in `sidebars.ts`
-5. Update internal links throughout documentation
-6. Test all redirect paths work correctly
-7. Verify search functionality still works
-8. Update any hardcoded paths in components
-
-**Important considerations:**
-
-- Always add redirects before moving content to prevent 404 errors
-- Use permanent redirects (301) for moved content
-- Test redirects work for both old and new URLs
-- Update internal links to use new URLs directly
-- Consider impact on external links and bookmarks
-- Document redirect rationale for future reference
-
-## Resolve Duplicate/Conflicting Documentation
-
-**Last performed:** Codebase search tool documentation cleanup needed
-**Files to modify:**
-
-- Duplicate documentation files
-- Navigation structure
-- Internal links and cross-references
-- Redirect configuration if URLs change
-
-**Steps:**
-
-1. Identify duplicate or conflicting documentation files
-2. Compare content to determine which version is authoritative
-3. Merge useful content from both versions if needed
-4. Remove or redirect the duplicate file
-5. Update navigation to remove duplicate entries
-6. Update internal links to point to single authoritative source
-7. Add redirects if removing a file that might be bookmarked
-8. Verify no broken links remain
-
-**Important considerations:**
-
-- Determine which version has more accurate/current information
-- Preserve any unique content from the version being removed
-- Check git history to understand why duplicates exist
-- Ensure the remaining version covers all use cases
-- Update any cross-references throughout the site
-
-## Update Tool Documentation for Behavior Changes
-
-**Last performed:** Tool fixes mentioned in v4.58.0 release
-**Files to modify:**
-
-- Individual tool documentation files in `/docs/features/tools/`
-- Tool overview page if categories change
-- Examples and usage patterns in tool docs
-
-**Steps:**
-
-1. Review extension release notes for tool behavior changes
-2. Identify which tools have updated functionality
-3. Update parameter descriptions and requirements
-4. Update examples to reflect new behavior
-5. Add or update limitation sections
-6. Update "when is it used" sections if use cases change
-7. Test examples to ensure they work correctly
-8. Update tool overview page if needed
-
-**Important considerations:**
-
-- Verify all parameter descriptions are accurate
-- Test code examples with current extension version
-- Update any error scenarios or troubleshooting information
-- Ensure examples demonstrate best practices
-- Consider if changes affect tool categorization
-
-## Audit and Fix Broken Links
-
-**Last performed:** Ongoing maintenance need
-**Files to modify:**
-
-- All documentation files with internal or external links
-- Navigation configuration files
-- Component files with hardcoded links
-
-**Steps:**
-
-1. Run Docusaurus build to identify broken internal links
-2. Use link checking tools for external links
-3. Manually verify provider URLs and external service links
-4. Update or remove broken external links
-5. Fix internal link references
-6. Update navigation structure if needed
-7. Test all fixed links work correctly
-8. Document any permanently removed external resources
-
-**Important considerations:**
-
-- Docusaurus automatically checks internal links during build
-- External links may break due to provider website changes
-- Consider using archive.org links for historical references
-- Update provider URLs when services rebrand or move
-- Remove links to discontinued services
-- Add redirects if internal link structure changes
-
-## Update Model Lists Across Providers
-
-**Last performed:** Ongoing as providers add models
-**Files to modify:**
-
-- Individual provider documentation files in `/docs/providers/`
-- Provider comparison information if it exists
-- Getting started guides mentioning specific models
-
-**Steps:**
-
-1. Review provider websites and APIs for new model additions
-2. Update supported models lists in provider documentation
-3. Add model capabilities and limitations information
-4. Update pricing references if available
-5. Test configuration with new models if possible
-6. Update any model comparison information
-7. Verify model names and identifiers are correct
-8. Update examples to use current model names
-
-**Important considerations:**
-
-- Verify model names exactly match provider APIs
-- Include context window sizes and capabilities where relevant
-- Note any special configuration requirements for new models
-- Update rate limit information if it varies by model
-- Consider if new models change provider recommendations
-- Test actual API connectivity when possible

+ 0 - 184
apps/kilocode-docs/.kilocode/rules/memory-bank/tech.md

@@ -1,184 +0,0 @@
-# Technology Stack
-
-## Core Framework
-
-### Docusaurus 3.8.1
-
-- **Purpose**: Modern static site generator optimized for documentation
-- **Key Features**: React-based, MDX support, built-in search, theming
-- **Configuration**: [`docusaurus.config.ts`](docusaurus.config.ts:1)
-
-## Runtime Environment
-
-### Node.js
-
-- **Required Version**: Node.js 18.0 or higher
-- **Package Manager**: npm (with package-lock.json for dependency locking)
-- **Development Server**: Hot reload with live editing support
-
-## Core Dependencies
-
-### React Ecosystem
-
-- **React 19.0.0**: Core UI library
-- **React DOM 19.0.0**: DOM rendering
-- **@mdx-js/react 3.0.0**: MDX component integration
-- **clsx 2.0.0**: Conditional CSS class utility
-
-### Docusaurus Plugins & Presets
-
-- **@docusaurus/preset-classic 3.8.1**: Standard Docusaurus configuration
-- **@docusaurus/plugin-client-redirects 3.8.1**: URL redirect management
-- **@easyops-cn/docusaurus-search-local 0.48.5**: Local search functionality
-
-### Styling & UI Components
-
-- **@vscode/codicons 0.0.36**: VS Code icon integration
-- **prism-react-renderer 2.3.0**: Syntax highlighting for code blocks
-- **Custom CSS**: VS Code-inspired theme in [`src/css/custom.css`](src/css/custom.css:1)
-
-### Analytics & Tracking
-
-- **posthog-docusaurus 2.0.4**: User behavior analytics and insights
-- **Configuration**: Environment-based with POSTHOG_API_KEY
-
-## Development Dependencies
-
-### TypeScript Support
-
-- **TypeScript 5.6.2**: Type checking and development tooling
-- **@docusaurus/types 3.8.1**: Docusaurus TypeScript definitions
-- **@docusaurus/module-type-aliases 3.8.1**: Module type aliases
-- **@docusaurus/tsconfig 3.8.1**: Shared TypeScript configuration
-
-### Development Tools
-
-- **dotenv 16.4.7**: Environment variable management
-- **husky 9.1.7**: Git hooks for development workflow
-
-## Build System
-
-### Development Workflow
-
-```bash
-npm start          # Local development server with hot reload
-npm run build      # Production build with optimization
-npm run serve      # Serve built files locally
-npm run clear      # Clear Docusaurus cache
-```
-
-Not that on Windows, it may be useful to use:
-
-```bash
-npx docusaurus start
-npx docusaurus build
-```
-
-### Build Configuration
-
-- **Host**: 0.0.0.0 (accessible from network)
-- **Environment Variables**: Loaded via dotenv
-- **Output**: Static HTML/CSS/JS files for CDN deployment
-
-## Browser Support
-
-### Production Targets
-
-- **Modern Browsers**: >0.5% usage, not dead, not Opera Mini
-- **Specific Exclusions**: Opera Mini (limited JavaScript support)
-
-### Development Targets
-
-- **Chrome**: Last 3 versions
-- **Firefox**: Last 3 versions
-- **Safari**: Last 5 versions
-
-## External Integrations
-
-### GitHub Integration
-
-- **Repository**: https://github.com/Kilo-Org/docs
-- **Edit Links**: Direct links to GitHub for documentation editing
-- **Issue Reporting**: Integrated issue creation workflow
-
-### Community Platforms
-
-- **Discord**: https://kilo.ai/discord
-- **Reddit**: https://www.reddit.com/r/kilocode/
-- **Twitter**: https://x.com/kilocode
-- **YouTube**: https://www.youtube.com/@Kilo-Code
-
-### VS Code Marketplace
-
-- **Extension URL**: https://marketplace.visualstudio.com/items?itemName=kilocode.kilo-code
-- **Open VSX**: https://open-vsx.org/extension/kilocode/kilo-code
-
-## Deployment Architecture
-
-### Static Site Hosting
-
-- **Production URL**: https://kilo.ai/docs
-- **Base Path**: /docs (configured in docusaurus.config.ts)
-- **CDN**: Static file distribution for global performance
-
-### Content Delivery
-
-- **Static Assets**: Images, downloads, and media files
-- **Search Index**: Local search data bundled with site
-- **Sitemap**: Automatic generation for SEO
-
-## Development Constraints
-
-### File Organization
-
-- **Documentation**: Markdown/MDX files in `/docs` directory
-- **Static Assets**: Organized by feature in `/static/img`
-- **Components**: Custom React components in `/src/components`
-
-### Content Management
-
-- **Version Control**: Git-based workflow for all content
-- **Asset Optimization**: Manual image optimization required
-- **Link Validation**: Docusaurus validates internal links during build
-
-## Performance Considerations
-
-### Build Optimization
-
-- **Code Splitting**: Automatic JavaScript bundle optimization
-- **Static Generation**: Pre-rendered HTML for fast initial load
-- **Asset Optimization**: CSS/JS minification in production builds
-
-### Runtime Performance
-
-- **Client-Side Routing**: Fast navigation between pages
-- **Search Performance**: Local search index for instant results
-- **Image Loading**: Manual lazy loading implementation where needed
-
-## Security & Privacy
-
-### Data Collection
-
-- **Analytics**: PostHog for usage tracking (configurable)
-- **Privacy Policy**: Links to both website and extension privacy policies
-- **User Control**: Analytics can be disabled via environment configuration
-
-### Content Security
-
-- **Static Generation**: No server-side vulnerabilities
-- **External Links**: Proper target and rel attributes for security
-- **Asset Validation**: Build-time validation of all assets and links
-
-## Maintenance Requirements
-
-### Regular Updates
-
-- **Dependencies**: Monthly security and feature updates
-- **Docusaurus**: Follow major version updates for new features
-- **Node.js**: Maintain compatibility with LTS versions
-
-### Content Synchronization
-
-- **Extension Features**: Documentation must reflect current extension capabilities
-- **Provider APIs**: Keep provider setup guides current with API changes
-- **Community Links**: Verify external links remain active

+ 0 - 132
apps/kilocode-docs/.kilocode/rules/memory-bank/todos.md

@@ -1,132 +0,0 @@
-## Settings and UI Documentation
-
-### 10. API Provider Selection Enhancement
-
-- **File to Update**: `features/settings-management.md`
-- **Release Note**: v4.58.0 - "Add Search/Filter Functionality to API Provider Selection in Settings"
-- **Required Changes**: Document new search/filter functionality in API provider selection
-
-### 11. Auto-Approve Settings Update
-
-- **File to Update**: `features/auto-approving-actions.md`
-- **Release Note**: v4.57.0 - "Add 'max requests' section to the Auto-Approve Settings page"
-- **Required Changes**: Document new max requests section in Auto-Approve Settings
-
-### 12. Chat Interface Updates
-
-- **File to Update**: `basic-usage/the-chat-interface.md`
-- **Release Notes & Changes**:
-    - v4.58.0 - "Add copy prompt button to task actions" → Document copy prompt button functionality
-    - v4.56.0 - "Add idea suggestion box to get you inspired with some ideas when starting out fresh" → Document idea suggestion feature
-    - v4.57.1 - "Show idea suggestions when there is no task history" → Update idea suggestion documentation
-
-### 13. Git Commit Generation Updates
-
-- **File to Update**: `basic-usage/git-commit-generation.md`
-- **Release Note**: v4.56.1 - "Continue to show commit message generation progress while waiting for LLM response"
-- **Required Changes**: Document improved progress indicators during commit message generation
-
----
-
-## Bug Fixes and Technical Updates
-
-### 14. OpenRouter Provider Fix
-
-- **File to Update**: `providers/openrouter.md`
-- **Release Note**: v4.56.2 - "Fix autocomplete init with custom openrouter models"
-- **Required Changes**: Update documentation regarding autocomplete with custom OpenRouter models
-
-### 15. Claude Code Windows Integration
-
-- **File to Update**: `providers/claude-code.md`
-- **Release Note**: v4.57.2 - "ENAMETOOLONG error in Claude Code integration on Windows is resolved"
-- **Required Changes**: Add troubleshooting section for Windows-specific issues (now resolved)
-
-### 16. Error Handling Improvements
-
-- **File to Update**: `faq.md` or create troubleshooting section
-- **Release Note**: v4.57.3 - "More details are included in connection error messages"
-- **Required Changes**: Document improved error handling and connection error messages
-
-### 17. Localization Updates
-
-- **File to Create/Update**: `advanced-usage/localization.md` (if doesn't exist)
-- **Release Notes**:
-    - v4.58.1 - "French localization has been improved"
-    - v4.58.3 - "Fixed 'Kilo' being inadvertently translated in some languages"
-- **Required Changes**: Document localization improvements and translation fixes
-
----
-
-## Tool Documentation Updates
-
-### 18. Tool Behavior Updates
-
-- **Files to Review**: All files in `features/tools/` directory
-- **Release Notes**: Various tool fixes mentioned in v4.58.0
-- **Required Changes**:
-    - Update `apply_diff` tool documentation for intermittent hang fixes
-    - Update `insert_content` tool documentation for new file creation capability
-    - Update MCP resource handling documentation for image support fixes
-
-### 19. Codebase Search Tool
-
-- **File to Update**: `features/tools/codebase-search.md` or `advanced-usage/available-tools/codebase-search.md`
-- **Release Note**: Related to codebase indexing moving out of experimental
-- **Required Changes**: Remove experimental warnings from codebase search tool documentation
-
----
-
-## UI and Visual Updates
-
-### 20. Settings Management UX
-
-- **File to Update**: `features/settings-management.md`
-- **Release Note**: v4.58.0 - "Fix code index secret persistence and improve settings UX"
-- **Required Changes**: Document settings UX improvements and code index configuration
-
-### 21. Chat UI Improvements
-
-- **File to Update**: `basic-usage/the-chat-interface.md`
-- **Release Notes**: v4.58.0 - Multiple UI consistency and layout improvements
-- **Required Changes**: Update documentation for chat UI enhancements and consistency changes
-
-### 22. Screenshot Updates
-
-- **Files to Review**: All documentation files with screenshots
-- **Release Notes**: Multiple UI changes across releases
-- **Required Changes**: Review and update screenshots to reflect current UI state
-
----
-
-## Getting Started Updates
-
-### 23. First Task Experience
-
-- **File to Update**: `getting-started/your-first-task.md`
-- **Release Notes**: Idea suggestion box and improved onboarding
-- **Required Changes**: Update first task documentation to include idea suggestions for new users
-
----
-
-## Additional Provider Model Updates
-
-### 24. Model Additions Across Providers
-
-- **Files to Update**: Various provider files
-- **Release Notes**: Multiple model additions across different providers
-- **Required Changes**:
-    - Verify all new models are documented in respective provider files
-    - Update model lists and capabilities where applicable
-
----
-
-## Documentation Structure and Navigation
-
-### 25. File Organization Review
-
-- **Files to Review**: All documentation files
-- **Changes**:
-    - Ensure codebase indexing is properly moved out of experimental
-    - Verify all internal links work after any file moves
-    - Update navigation and cross-references as needed

+ 0 - 217
apps/kilocode-docs/.kilocodemodes

@@ -1,217 +0,0 @@
-customModes:
-  - slug: video-script-writer
-    name: Video Script Writer
-    roleDefinition: >-
-      **Persona: Kilo Code Expert Scriptwriter**
-
-
-      **Background:**
-
-      A professional scriptwriter specializing in creating clear, engaging, and
-      informative scripts tailored specifically for YouTube, Reddit tutorials,
-      and documentation videos focused on Kilo Code. With a deep understanding
-      of Kilo Code’s functionalities and its practical applications, this expert
-      excels at translating complex coding concepts into straightforward,
-      easy-to-follow explanations.
-
-
-      **Communication Style:**
-
-      - Professional yet friendly, fostering trust and approachability.
-
-      - Concise and structured, using precise language to ensure clarity.
-
-      - Logical flow, breaking down complex topics into manageable steps.
-
-      - Engaging tone, designed to maintain viewer interest throughout the
-      video.
-
-
-      **Specialization:**
-
-      - Kilo Code’s features and updates
-
-      - Common troubleshooting techniques
-
-      - Step-by-step tutorials for beginners to advanced users
-
-      - Practical use-cases and real-world examples
-
-
-      **Approach:**
-
-      - Start by clearly stating the objective of the script.
-
-      - Provide concise explanations with relatable analogies when helpful.
-
-      - Anticipate common questions and proactively address them.
-
-      - Conclude with actionable insights or suggested next steps for users.
-
-
-      **Tone and Personality:**
-
-      - Knowledgeable and authoritative without being intimidating.
-
-      - Patient and encouraging, ensuring viewers feel capable and supported.
-
-      - Enthusiastic about Kilo Code, making viewers excited about learning and
-      implementing the software.
-
-
-      **Goal:**
-
-      To empower viewers by making Kilo Code accessible and easy to master,
-      enhancing their confidence and competence through expert guidance and
-      clear, compelling content.
-    groups: []
-    source: project
-  - slug: docs
-    name: Documentation Writer
-    roleDefinition: You are a technical documentation writer who combines 24 years of coding experience with Smart Brevity principles to create documentation that developers can scan, understand, and act on immediately. You prioritize cognitive accessibility and write for readers with varying attention spans, including those with ADD/ADHD. Your straightforward, conversational style eliminates fluff while maintaining technical precision. You specialize in Visual Studio Code extension documentation using Docusaurus, with deep expertise in Markdown, MDX, and React-based static sites. Every piece of content serves a clear purpose and provides immediate value to developers.
-    customInstructions: >-
-      ### Documentation Standards
-
-      #### 1. **Lead with Impact** (Smart Brevity Core)
-         Start every section with the ONE most important thing users need to know. Answer "why should I care?" before explaining "how to do it." Front-load value in the first sentence.
-
-      #### 2. **One Big Thing Per Section**
-         Each documentation section should have one primary takeaway. State it clearly in the opening. Everything else supports that main point.
-
-      #### 3. **Scannable Structure** 
-         - Use descriptive headings that answer questions
-         - Keep paragraphs to 1-3 sentences (max 60 words)
-         - Limit sentences to 20 words when possible
-         - Use bullet points for lists of 3+ items
-         - Bold key terms on first mention
-
-      #### 4. **Precision Over Perfection**
-         Write for experienced developers. Skip basic explanations unless they clarify Kilo Code-specific behavior. Assume familiarity with VS Code, extensions, and development workflows.
-
-      #### 5. **Show, Don't Just Tell**
-         Every feature explanation needs a realistic code example. Make examples copy-pasteable and immediately useful. Avoid "Hello World" demos—use real-world scenarios.
-
-      #### 6. **Cognitive Accessibility First**
-         - Use parallel structure in lists
-         - Define technical terms when they impact understanding
-         - Provide context for complex workflows
-         - Break complex tasks into numbered steps
-         - Use consistent terminology throughout
-
-      #### 7. **Anticipate and Address**
-         Include common pitfalls, troubleshooting tips, and "gotchas" within relevant sections. Answer the question users will have next.
-
-      #### 8. **Internal Navigation Standards**
-         - Use absolute paths starting from `/docs/` root
-         - Omit `.md` extensions in links
-         - Example: `[Configuration Guide](/configuration/setup/)`
-         - Test all links work in Docusaurus environment
-
-      #### 9. **@site Alias Usage**
-         - Use `@site` only for code imports and component references
-         - Example: `import Header from '@site/src/components/Header';`
-         - Never use `@site` in Markdown links—use absolute paths instead
-
-      #### 10. **Code Standards**
-         - Provide syntax highlighting for all code blocks
-         - Include file names or context when helpful
-         - Maintain consistent indentation (2 spaces)
-         - Test code examples before publishing
-         - Show input AND expected output when relevant
-
-      #### 11. **Visual Elements**
-         - Add image placeholders with descriptive alt text
-         - Use format: `<img src="/img/folder/filename.png" alt="Descriptive text" width="600" />`
-         - Images should start with `/img/` path
-         - Include brief description below complex images
-
-      #### 12. **Eliminate Filler Words**
-         Remove: "simply," "just," "easily," "obviously," "of course," "as you can see." These add cognitive load without value.
-
-      #### 13. **Progressive Disclosure**
-         Start with the essential information. Add detail as needed. Use expandable sections or links to deeper content for advanced users.
-
-      #### 14. **Consistency Checklist**
-         - Use same terminology for same concepts
-         - Follow identical formatting patterns
-         - Maintain consistent voice and tone
-         - Verify all links and code examples work
-         - Check accessibility with screen reader preview
-
-    groups:
-      - read
-      - command
-      - edit
-    source: project
-
-  - slug: posts
-    name: Blog Post Author
-    roleDefinition: You are a technical blog author who applies Smart Brevity principles to make complex development topics accessible and engaging. With 24 years of experience, you write with authentic candor and technical precision, helping developers quickly understand why they should care about Kilo Code features. Your friendly, conversational tone includes light humor while maintaining professional credibility. You specialize in translating documentation into compelling stories that show real-world value, always leading with the problem being solved rather than the solution being offered.
-    customInstructions: >-
-      ### Smart Brevity Blog Standards
-
-      #### 1. **Hook with Value** (Smart Brevity Core)
-         Open every post by stating the problem this feature/topic solves. Lead with "why this matters" before explaining "what it does." Make the value clear in the first paragraph.
-
-      #### 2. **One Big Thing Focus**
-         Each blog post should have one main takeaway readers can act on immediately. State it early and reinforce it throughout.
-
-      #### 3. **Scannable and Engaging**
-         - Use subheadings that ask questions or promise benefits
-         - Keep paragraphs short (2-3 sentences max)
-         - Include bullet points for key benefits or steps
-         - Add light humor or personality without compromising clarity
-         - Bold important concepts and features
-
-      #### 4. **Real-World Context**
-         Show how experienced developers actually use these features. Skip toy examples—demonstrate genuine productivity gains and workflow improvements.
-
-      #### 5. **Documentation Integration**
-         - Link to relevant docs using absolute URLs
-         - Example: `[Complete Setup Guide](https://kilo.ai/docs/configuration/)`
-         - Reference specific documentation sections to drive deeper engagement
-         - Make it easy to go from blog interest to documentation action
-
-      #### 6. **Accessible Technical Writing**
-         - Define acronyms and technical terms when they impact understanding
-         - Use parallel structure in lists and explanations
-         - Provide context for workflows and processes
-         - Consider readers with varying attention spans and learning styles
-
-      #### 7. **Problem-Solution Structure**
-         - Start with relatable developer pain point
-         - Show how Kilo Code addresses it specifically
-         - Provide concrete example or walkthrough
-         - End with clear next steps or call to action
-
-      #### 8. **Code with Context**
-         - Include realistic, copy-pasteable code examples
-         - Show before/after scenarios when relevant
-         - Provide syntax highlighting and proper formatting
-         - Explain why the code works, not just how
-
-      #### 9. **Visual Storytelling**
-         - Use images from documentation: `<img src="https://kilo.ai/docs/img/folder/filename.png" alt="Description" width="600" />`
-         - Include screenshots that support the narrative
-         - Add brief descriptions for complex visuals
-         - Show UI paths with backticks: `Settings → Prompts → Feature Name`
-
-      #### 10. **Friendly Authority**
-         - Write conversationally but maintain technical credibility
-         - Include 1-2 appropriate jokes or light observations per post
-         - Acknowledge common frustrations developers face
-         - Share insights from real usage patterns
-
-      #### 11. **Clear Navigation**
-         - End posts with specific next steps
-         - Link to relevant documentation sections
-         - Suggest related features or workflows
-         - Make it easy for readers to continue their journey
-
-      #### 12. **Elimination Editing**
-         Remove marketing speak, unnecessary qualifiers, and filler words. Every sentence should advance understanding or provide value.
-
-    groups:
-      - read
-      - edit
-    source: project

+ 0 - 31
apps/kilocode-docs/.kilocoderules

@@ -1,31 +0,0 @@
-# Kilo Code Documentation Rules
-
-## Documentation Links
-- Do not include .md extensions in documentation links
-- Use absolute paths starting from the `/docs/` root for internal documentation links
-- Example: [link text](/basic-usage/how-tools-work) NOT [link text](basic-usage/how-tools-work.md) or [link text](../../basic-usage/how-tools-work)
-
-This ensures links work correctly in the built documentation while maintaining clean URLs.
-
-## Image References
-- Use `/docs/img/` prefix for all image paths in documentation
-- Example: `<img src="/docs/img/your-first-task/example.png" alt="Description" width="600" />`
-- NOT: `<img src="img/example.png" ...>` or `<img src="../static/img/example.png" ...>`
-
-## Component Imports
-- Import custom components from `@site/src/components/` using absolute paths
-- Import constants from `@site/src/constants.ts`
-- Examples:
-  - `import Image from '@site/src/components/Image';`
-  - `import { DISCORD_URL } from '@site/src/constants.ts'`
-  - `import Codicon from '@site/src/components/Codicon';`
-
-## External Link References
-- Use constants from `src/constants.ts` for external URLs instead of hardcoding
-- Example: `<a href={DISCORD_URL} target="_blank">Discord</a>`
-- NOT: `<a href="https://kilo.ai/discord">Discord</a>`
-
-## Sidebar Configuration
-- Document IDs in `sidebars.ts` should match file paths without extensions
-- Use `type: 'doc'` with custom labels when the sidebar label differs from the document title
-- Group related documents under categories with descriptive labels

+ 110 - 0
apps/kilocode-docs/AGENTS.md

@@ -0,0 +1,110 @@
+## Project Overview
+
+This is the Kilo Code documentation site. Kilo Code is the leading open source agentic engineering platform.
+
+## Dev Server
+
+The dev server is run with `bun dev` and runs on `http://localhost:3002`. Typically the user will be running it themselves, so always check if it is running FIRST before deciding to run it yourself to test something.
+
+## Branch Naming Convention
+
+When making changes _only_ to the documentation, create branches with the `docs/` prefix:
+
+```bash
+git checkout -b docs/description-of-change
+```
+
+This convention helps identify documentation-only PRs and keeps them organized.
+
+## Markdoc Custom Tags
+
+This project uses [Markdoc](https://markdoc.dev/) for rendering markdown with custom components. Custom tags allow you to embed React components directly in markdown files.
+
+## Converting from old documentation site
+
+This site was previously in docusaurus but is now in markdoc. Sometimes the user may ask you to update the images and other tags in a page that was imported. These are the types of updates you'd need to make
+
+### Images
+
+Images will often look like standard HTML image tags like:
+
+<img src="/docs/img/kilo-provider/connected-accounts.png" alt="Connect account screen" width="600" />
+
+We want to convert them to Markdoc image tags like this:
+
+{% image src="/docs/img/kilo-provider/connected-accounts.png" alt="Connect account screen" width="800" caption="Connect account screen" /%}
+
+Note that this site is served under kilo.ai/docs so the `/docs` MUST be present in every image tag.
+
+Image attributes
+
+```json
+    src: {
+      type: String,
+      required: true,
+      description: "The image source URL",
+    },
+    alt: {
+      type: String,
+      required: true,
+      description: "Alternative text for the image",
+    },
+    width: {
+      type: String,
+      description: "Width of the image (e.g., '500px', '80%')",
+    },
+    height: {
+      type: String,
+      description: "Height of the image (e.g., '300px', 'auto')",
+    },
+    caption: {
+      type: String,
+      description: "Optional caption displayed below the image",
+    }
+```
+
+### Callouts
+
+When callouts are used, they should be in markdoc format like this:
+
+```markdown
+{% callout type="info" %}
+You can report any bugs or feedbacks by chatting with us in our [Discord server](https://discord.gg/ovhcloud), in the AI Endpoints channel.
+{% /callout %}
+```
+
+Callout Attributes:
+
+```json
+    title: {
+      type: String,
+      description: "Optional custom title for the callout",
+    },
+    type: {
+      type: String,
+      default: "note",
+      matches: ["generic", "note", "tip", "info", "warning", "danger"],
+      description:
+        "The type of callout: generic (no icon/title), note, tip, info, warning, or danger",
+    },
+    collapsed: {
+      type: Boolean,
+      default: false,
+      description:
+        "When true, the callout starts collapsed and can be expanded by clicking the header",
+    }
+```
+
+### Codicons
+
+Codicon icons look like this:
+
+```html
+<Codicon name="gear" />
+```
+
+And we want to convert that to look like this:
+
+```markdown
+{% codicon name="gear" /%}
+```

+ 0 - 7
apps/kilocode-docs/CHANGELOG.md

@@ -1,7 +0,0 @@
-# kilocode-docs
-
-## 0.1.1
-
-### Patch Changes
-
-- [#5178](https://github.com/Kilo-Org/kilocode/pull/5178) [`e9c18e7`](https://github.com/Kilo-Org/kilocode/commit/e9c18e784f308f908251cdff48231f390c7350c0) Thanks [@sebastiand-cerebras](https://github.com/sebastiand-cerebras)! - Remove deprecated zai-glm-4.6 model from Cerebras provider due to deprecation

+ 0 - 201
apps/kilocode-docs/LICENSE

@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.

+ 46 - 8
apps/kilocode-docs/README.md

@@ -1,17 +1,55 @@
-# Kilo Code Docs
+# Full Next.js example
 
-This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator, and lives at https://kilo.ai/docs
+This is a full-featured boilerplate for a creating a documentation website using Markdoc and Next.js.
 
-### Installation
+<img width="2032" alt="image" src="https://user-images.githubusercontent.com/62121649/174916143-16f18270-0463-402c-8b48-33c627ea7a7e.png">
 
-```
-$ pnpm install
+## Setup
+
+First, clone this repo and install the dependencies required:
+
+```bash
+npm install
+# or
+yarn install
 ```
 
-### Local Development
+Then, run the development server:
 
+```bash
+npm run dev
+# or
+yarn dev
 ```
-$ pnpm docs:start
+
+Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+
+You can start editing the page by modifying `index.md`. The page auto-updates as you edit the file.
+
+## Deploy
+
+The quickest way to deploy your own version of this boilerplate is by deploying it with [Vercel](https://vercel.com) or [Netlify](https://www.netlify.com/) by clicking one of the buttons below.
+
+### Deploy with Vercel
+
+[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/markdoc/next.js-starter)
+
+### Deploy to Netlify
+
+[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/markdoc/next.js-starter)
+
+## Contributing
+
+When making documentation _only_ changes, use branch names prefixed with `docs/`:
+
+```bash
+git checkout -b docs/your-change-description
 ```
 
-This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server
+Examples:
+
+- `docs/add-mcp-tutorial`
+- `docs/fix-installation-steps`
+- `docs/update-api-reference`
+
+For full contribution guidelines, see the [Contributing Guide](https://kilo.ai/docs/contributing).

+ 137 - 0
apps/kilocode-docs/__tests__/previous-docs-redirects.spec.ts

@@ -0,0 +1,137 @@
+/**
+ * Tests for redirect loop detection in previous-docs-redirects.js
+ *
+ * This test suite verifies that the redirect configuration has no loops:
+ * 1. Direct loops: A path redirecting to itself (source === destination)
+ * 2. Indirect loops: A chain of redirects leading back to a starting point (A → B → C → A)
+ */
+
+import { expect, describe, it } from "vitest"
+import redirects from "../previous-docs-redirects.js"
+
+interface Redirect {
+	source: string
+	destination: string
+	basePath?: boolean
+	permanent?: boolean
+}
+
+describe("previous-docs-redirects", () => {
+	describe("direct loop detection", () => {
+		it("should not have any redirects where source equals destination", () => {
+			const directLoops: Redirect[] = []
+
+			for (const redirect of redirects as Redirect[]) {
+				if (redirect.source === redirect.destination) {
+					directLoops.push(redirect)
+				}
+			}
+
+			if (directLoops.length > 0) {
+				const loopDetails = directLoops.map((r) => `  - "${r.source}" redirects to itself`).join("\n")
+				expect.fail(`Found ${directLoops.length} direct redirect loop(s):\n${loopDetails}`)
+			}
+		})
+	})
+
+	describe("indirect loop detection", () => {
+		it("should not have any redirect chains that form a cycle", () => {
+			// Build a map of source -> destination for quick lookup
+			// Note: We only consider exact path matches, not wildcard patterns like :path*
+			// Also skip direct loops (source === destination) as they're caught by the direct loop test
+			const redirectMap = new Map<string, string>()
+
+			for (const redirect of redirects as Redirect[]) {
+				// Skip wildcard redirects as they don't form exact chains
+				// Skip direct loops as they're caught by the direct loop test
+				if (
+					!redirect.source.includes(":") &&
+					!redirect.source.includes("*") &&
+					redirect.source !== redirect.destination
+				) {
+					redirectMap.set(redirect.source, redirect.destination)
+				}
+			}
+
+			const cycles: string[][] = []
+
+			/**
+			 * Detects if following redirects from a starting path leads back to any path in the chain.
+			 * Uses a visited set to track the current chain and detect cycles.
+			 */
+			function detectCycle(startPath: string): string[] | null {
+				const visited = new Set<string>()
+				const chain: string[] = [startPath]
+				let currentPath = startPath
+
+				while (redirectMap.has(currentPath)) {
+					const nextPath = redirectMap.get(currentPath)!
+
+					if (visited.has(nextPath)) {
+						// Found a cycle - return the chain from the cycle start
+						const cycleStartIndex = chain.indexOf(nextPath)
+						if (cycleStartIndex !== -1) {
+							return [...chain.slice(cycleStartIndex), nextPath]
+						}
+						return null
+					}
+
+					visited.add(currentPath)
+					chain.push(nextPath)
+					currentPath = nextPath
+				}
+
+				return null
+			}
+
+			// Check each redirect source for potential cycles
+			for (const source of redirectMap.keys()) {
+				const cycle = detectCycle(source)
+				if (cycle) {
+					// Avoid duplicate cycle reports by checking if we've already found this cycle
+					const cycleKey = [...cycle].sort().join(" -> ")
+					const isDuplicate = cycles.some(
+						(existingCycle) => [...existingCycle].sort().join(" -> ") === cycleKey,
+					)
+					if (!isDuplicate) {
+						cycles.push(cycle)
+					}
+				}
+			}
+
+			if (cycles.length > 0) {
+				const cycleDetails = cycles.map((cycle) => `  - ${cycle.join(" → ")}`).join("\n")
+				expect.fail(`Found ${cycles.length} indirect redirect cycle(s):\n${cycleDetails}`)
+			}
+		})
+	})
+
+	describe("redirect structure validation", () => {
+		it("should have valid redirect objects with required properties", () => {
+			const invalidRedirects: { index: number; issues: string[] }[] = []
+
+			;(redirects as Redirect[]).forEach((redirect, index) => {
+				const issues: string[] = []
+
+				if (typeof redirect.source !== "string" || redirect.source.trim() === "") {
+					issues.push("missing or invalid 'source' property")
+				}
+
+				if (typeof redirect.destination !== "string" || redirect.destination.trim() === "") {
+					issues.push("missing or invalid 'destination' property")
+				}
+
+				if (issues.length > 0) {
+					invalidRedirects.push({ index, issues })
+				}
+			})
+
+			if (invalidRedirects.length > 0) {
+				const details = invalidRedirects
+					.map((r) => `  - Redirect at index ${r.index}: ${r.issues.join(", ")}`)
+					.join("\n")
+				expect.fail(`Found ${invalidRedirects.length} invalid redirect(s):\n${details}`)
+			}
+		})
+	})
+})

+ 0 - 108
apps/kilocode-docs/blog-posts/auto-generate-commit-messages.md

@@ -1,108 +0,0 @@
-# Why I Let AI Write My Commit Messages
-
-### And Probably You Should Too
-
-I've just finished implementing a big feature, the code is staged and ready to go, but there I am — mesmerized by the empty commit message field, brain is blank. What do I write? "Fixed stuff"? "Updates"? "asdf"? Do you know that feeling too?
-
-I've been there countless times, and honestly, it's one of those tiny friction points that really bother me - or, better to say, bothered me, because since we shipped `auto-generate commit messages feature`, the problem disappeared for good. That feature became one of those things where once I have it, I wonder how I ever lived without it.
-
-## The Problem with Commit Messages
-
-**Writing good commit messages is hard.** Like, genuinely difficult. You need to:
-
-- Summarize what changed without being too vague
-- Follow your team's conventions (Conventional Commits, anyone?)
-- Capture the _why_ behind the change, which is often harder than the _what_
-- Keep it concise but informative
-- Do all this while your brain is already moving on to the coffee machine
-
-The result? Most of us end up with commit histories that look like something between an archaeological mystery and a stand-up show. Future you (or your teammates) trying to understand why something was changed becomes an exercise in detective work.
-
-## How It Actually Works
-
-Here's the thing that makes this feature genuinely useful: it only looks at your **staged changes**. Not your entire working directory, not random files you've been tinkering with—just the specific changes you've decided to commit.
-
-This is crucial because it means the AI understands the scope of what you're actually committing. It can see that you added a new authentication method, fixed a specific bug, or updated documentation, and it crafts the message accordingly.
-
-The process is dead simple:
-
-1. Stage your changes (like you normally would)
-2. Click the Kilo Code logo next to the commit message field
-3. Get a properly formatted commit message - automagically!
-
-<img src="https://kilo.ai/docs/img/git-commit-generation/git-commit-1.png" alt="Auto-generated commit message in VS Code" width="600" />
-
-## Real Examples from Real Work
-
-Let me show you some actual commit messages this feature has generated for me:
-
-```
-feat(auth): implement OAuth2 integration with GitHub
-
-Add GitHub OAuth2 authentication flow including:
-- OAuth2 client configuration
-- User profile retrieval
-- Token refresh mechanism
-```
-
-```
-fix(api): resolve race condition in user session handling
-
-Add proper locking mechanism to prevent concurrent
-session updates from causing data corruption
-```
-
-```
-docs(readme): update installation requirements
-
-Clarify Node.js version requirements and add
-troubleshooting section for common setup issues
-```
-
-Notice how these follow [Conventional Commits](https://www.conventionalcommits.org/) format by default? That's not an accident. The feature understands modern commit conventions best practices and applying them automatically.
-
-## The Customization That Actually Matters
-
-Here's where it gets interesting. You can customize the prompt template to match your team's specific needs or your own preferences. Don't want to be "too conventional" or just have your own standards? Maybe you want to use a different commit format, or you want to include ticket numbers, your git username or you have specific terminology for your project?
-
-Just head to `Settings → Prompts → Commit Message Generation` and modify the template. The AI will adapt to your requirements while still understanding the technical context of your changes.
-
-<img src="https://kilo.ai/docs/img/git-commit-generation/git-commit-2.png" alt="Customizing commit message templates" width="600" />
-
-## Why This Isn't Just Another AI Gimmick
-
-I've seen plenty of AI features that feel like solutions looking for problems. This isn't one of them, it actually works:
-
-**It's contextually aware**: The AI sees your actual code changeset, not just filenames. It understands when you've added error handling, refactored a function, or fixed a typo.
-
-**It respects your workflow**: You still stage changes the same way. You still review and edit the message if needed. It just removes the blank-page problem.
-
-**It's fast**: No waiting around for some cloud service to analyze your entire codebase. It's quick and focused.
-
-**It follows your patterns**: The more you adjust it, the better it gets at matching your project's style and conventions.
-
-## The Productivity Impact
-
-Here's the thing I didn't expect: this feature doesn't just save time on writing commit messages. It actually makes me commit more frequently and more conciously.
-
-When writing commit messages was a friction point, I'd sometimes batch unrelated changes together just to avoid writing multiple messages. Just squeeze everything into a bucket and throw it at the server, like `git add . && git commit -m "blablabla" && git push`. Now, I commit logical chunks of work as I complete them, which leads to a much cleaner git history.
-
-Better commit messages also mean better code reviews. When your teammates can quickly understand what each commit does, the entire review process becomes more efficient.
-
-## Getting Started
-
-The feature is available in Kilo Code since `v4.35` and became customizable in `v4.38`. Just make sure you have some staged changes, and look for the Kilo Code logo in your VS Code Source Control panel.
-
-Pro tip: Consider setting up a dedicated [API configuration profile](https://kilo.ai/docs/features/api-configuration-profiles/) with a faster, cheaper model specifically for commit message generation. You don't need the most powerful model for this task, and it'll save you some API costs and time - yes, it's exactly what we did in [2x Faster, 30x Cheaper Prompt Enhancement](https://blog.kilo.ai/p/2x-faster-prompt-enhancement-in-kilo)!
-
-## One More Thing
-
-I mentioned I use this feature constantly, and that's not hyperbole. It's become such a natural part of my workflow that I actually get annoyed when I have to write commit messages manually.
-
-That's the mark of a good tool — when it "dissolves" into your workflow and just makes everything smoother. No fanfare, just one less thing to think about so you can focus on what actually matters: writing great code.
-
-Give it a try. I think you'll find yourself wondering how you ever managed without it.
-
----
-
-_Want to learn more about Kilo Code's commit message generation? Check out the [full documentation](https://kilo.ai/docs/basic-usage/git-commit-generation/) I wrote for setup details. And let me know what you think about it or how could we improve it even more here in comments or on our [Discord Server](https://kilo.ai/discord)!_

+ 115 - 0
apps/kilocode-docs/components/Callout.tsx

@@ -0,0 +1,115 @@
+import * as React from "react"
+
+type CalloutType = "generic" | "note" | "tip" | "info" | "warning" | "danger"
+
+interface CalloutProps {
+	type?: CalloutType
+	title?: string
+	collapsed?: boolean
+	children: React.ReactNode
+}
+
+const typeConfig: Record<
+	CalloutType,
+	{
+		icon: string | null
+		defaultTitle: string | null
+		borderColor: string
+		bgColor: string
+		titleColor: string
+		iconColor: string
+	}
+> = {
+	generic: {
+		icon: null,
+		defaultTitle: null,
+		borderColor: "border-l-gray-300 dark:border-l-gray-600",
+		bgColor: "bg-gray-50 dark:bg-gray-800/50",
+		titleColor: "text-gray-700 dark:text-gray-300",
+		iconColor: "text-gray-400",
+	},
+	note: {
+		icon: "📝",
+		defaultTitle: "Note",
+		borderColor: "border-l-gray-500",
+		bgColor: "bg-gray-50 dark:bg-gray-800/50",
+		titleColor: "text-gray-700 dark:text-gray-300",
+		iconColor: "text-gray-500",
+	},
+	tip: {
+		icon: "💡",
+		defaultTitle: "Tip",
+		borderColor: "border-l-green-500",
+		bgColor: "bg-green-50 dark:bg-green-900/20",
+		titleColor: "text-green-700 dark:text-green-400",
+		iconColor: "text-green-500",
+	},
+	info: {
+		icon: "ℹ️",
+		defaultTitle: "Info",
+		borderColor: "border-l-blue-500",
+		bgColor: "bg-blue-50 dark:bg-blue-900/20",
+		titleColor: "text-blue-700 dark:text-blue-400",
+		iconColor: "text-blue-500",
+	},
+	warning: {
+		icon: "⚠️",
+		defaultTitle: "Warning",
+		borderColor: "border-l-yellow-500",
+		bgColor: "bg-yellow-50 dark:bg-yellow-900/20",
+		titleColor: "text-yellow-700 dark:text-yellow-400",
+		iconColor: "text-yellow-500",
+	},
+	danger: {
+		icon: "🚨",
+		defaultTitle: "Danger",
+		borderColor: "border-l-red-500",
+		bgColor: "bg-red-50 dark:bg-red-900/20",
+		titleColor: "text-red-700 dark:text-red-400",
+		iconColor: "text-red-500",
+	},
+}
+
+export function Callout({ type = "note", title, collapsed = false, children }: CalloutProps) {
+	const [isExpanded, setIsExpanded] = React.useState(!collapsed)
+	const config = typeConfig[type]
+	const displayTitle = title ?? config.defaultTitle
+	const showHeader = displayTitle || config.icon
+
+	// If collapsed prop is set, make the header clickable
+	if (collapsed) {
+		return (
+			<div className={`my-4 border-l-4 ${config.borderColor} ${config.bgColor} rounded-r-lg p-4`}>
+				{showHeader && (
+					<button
+						type="button"
+						onClick={() => setIsExpanded(!isExpanded)}
+						className={`flex items-center gap-2 font-semibold ${config.titleColor} w-full text-left cursor-pointer ${isExpanded ? "mb-2" : ""}`}
+						aria-expanded={isExpanded}>
+						<span
+							className={`transition-transform duration-200 ${isExpanded ? "rotate-90" : ""}`}
+							aria-hidden="true">
+							▶
+						</span>
+						{config.icon && <span className={config.iconColor}>{config.icon}</span>}
+						{displayTitle && <span className="uppercase text-sm tracking-wide">{displayTitle}</span>}
+					</button>
+				)}
+				{isExpanded && <div className="text-gray-700 dark:text-gray-300 [&>p]:m-0">{children}</div>}
+			</div>
+		)
+	}
+
+	// Default non-collapsible behavior
+	return (
+		<div className={`my-4 border-l-4 ${config.borderColor} ${config.bgColor} rounded-r-lg p-4`}>
+			{showHeader && (
+				<div className={`flex items-center gap-2 font-semibold ${config.titleColor} mb-2`}>
+					{config.icon && <span className={config.iconColor}>{config.icon}</span>}
+					{displayTitle && <span className="uppercase text-sm tracking-wide">{displayTitle}</span>}
+				</div>
+			)}
+			<div className="text-gray-700 dark:text-gray-300 [&>p]:m-0">{children}</div>
+		</div>
+	)
+}

+ 93 - 0
apps/kilocode-docs/components/CodeBlock.tsx

@@ -0,0 +1,93 @@
+import Prism from "prismjs"
+
+import * as React from "react"
+import { Codicon } from "./Codicon"
+
+export function CodeBlock({ children, "data-language": language }) {
+	const ref = React.useRef(null)
+	const timeoutRef = React.useRef(null)
+	const [copied, setCopied] = React.useState(false)
+
+	React.useEffect(() => {
+		if (ref.current) Prism.highlightElement(ref.current, false)
+	}, [children])
+
+	React.useEffect(() => {
+		return () => {
+			if (timeoutRef.current) {
+				clearTimeout(timeoutRef.current)
+			}
+		}
+	}, [])
+
+	const handleCopy = async () => {
+		const code = ref.current?.textContent || ""
+		try {
+			await navigator.clipboard.writeText(code)
+			setCopied(true)
+			if (timeoutRef.current) {
+				clearTimeout(timeoutRef.current)
+			}
+			timeoutRef.current = setTimeout(() => setCopied(false), 2000)
+		} catch (err) {
+			console.error("Failed to copy code:", err)
+		}
+	}
+
+	return (
+		<div className="code" aria-live="polite">
+			<button
+				type="button"
+				className="copy-button"
+				onClick={handleCopy}
+				aria-label="Copy code to clipboard"
+				title={copied ? "Copied!" : "Copy code"}>
+				{copied ? <Codicon name="check" /> : <Codicon name="copy" />}
+			</button>
+			<pre ref={ref} className={`language-${language}`}>
+				{children}
+			</pre>
+			<style jsx>
+				{`
+					.code {
+						position: relative;
+					}
+
+					.copy-button {
+						position: absolute;
+						top: 8px;
+						right: 8px;
+						padding: 6px 8px;
+						background: #1e1e1e;
+						border: 1px solid rgba(255, 255, 255, 0.2);
+						border-radius: 4px;
+						color: rgba(255, 255, 255, 0.7);
+						cursor: pointer;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						transition: all 0.2s ease;
+						z-index: 10;
+					}
+
+					.copy-button:hover {
+						background: #2d2d2d;
+						color: rgba(255, 255, 255, 1);
+						border-color: rgba(255, 255, 255, 0.3);
+					}
+
+					.copy-button:active {
+						transform: scale(0.95);
+					}
+
+					/* Override Prism styles */
+					.code :global(pre[class*="language-"]) {
+						text-shadow: none;
+						border-radius: 4px;
+						padding-right: 3.5rem;
+					}
+				`}
+			</style>
+		</div>
+	)
+}

+ 22 - 0
apps/kilocode-docs/components/Codicon.tsx

@@ -0,0 +1,22 @@
+import React from "react"
+import "@vscode/codicons/dist/codicon.css"
+
+interface CodiconProps {
+	name: string
+	size?: string
+	className?: string
+}
+
+export function Codicon({ name, size = "1em", className = "" }: CodiconProps) {
+	return (
+		<i
+			className={`codicon codicon-${name} ${className}`.trim()}
+			style={{
+				fontSize: size,
+				verticalAlign: "middle",
+				display: "inline",
+			}}
+			aria-hidden="true"
+		/>
+	)
+}

+ 145 - 0
apps/kilocode-docs/components/CopyPageButton.tsx

@@ -0,0 +1,145 @@
+import React, { useState, useEffect } from "react"
+import { useRouter } from "next/router"
+
+interface CopyPageButtonProps {
+	className?: string
+}
+
+export function CopyPageButton({ className }: CopyPageButtonProps) {
+	const router = useRouter()
+	const [copied, setCopied] = useState(false)
+	const [isLoading, setIsLoading] = useState(false)
+
+	// Reset copied state after 3 seconds
+	useEffect(() => {
+		if (copied) {
+			const timer = setTimeout(() => {
+				setCopied(false)
+			}, 3000)
+			return () => clearTimeout(timer)
+		}
+	}, [copied])
+
+	const handleCopy = async () => {
+		if (copied || isLoading) return
+
+		setIsLoading(true)
+
+		try {
+			// Fetch the raw markdown file based on current route
+			// The route path maps to pages/<path>.md
+			const path = router.asPath.split("#")[0].split("?")[0] // Remove hash and query params
+			const mdPath = path === "/" ? "/index" : path
+
+			// Fetch the raw markdown content from the API route
+			const response = await fetch(`/docs/api/raw-markdown?path=${encodeURIComponent(mdPath)}`)
+
+			if (!response.ok) {
+				throw new Error("Failed to fetch markdown")
+			}
+
+			const markdown = await response.text()
+
+			await navigator.clipboard.writeText(markdown)
+			setCopied(true)
+		} catch (error) {
+			console.error("Failed to copy page:", error)
+			// Even on error, show some feedback
+			setCopied(true)
+		} finally {
+			setIsLoading(false)
+		}
+	}
+
+	return (
+		<>
+			<button
+				onClick={handleCopy}
+				disabled={copied || isLoading}
+				className={`copy-page-button ${copied ? "copied" : ""} ${className || ""}`}
+				aria-label={copied ? "Copied" : "Copy page markdown"}
+				title="Copy page as markdown for use with LLMs">
+				{copied ? (
+					<>
+						<CheckIcon />
+						<span>Copied</span>
+					</>
+				) : (
+					<>
+						<CopyIcon />
+						<span>Copy page</span>
+					</>
+				)}
+			</button>
+			<style jsx>{`
+				.copy-page-button {
+					display: inline-flex;
+					align-items: center;
+					gap: 0.5rem;
+					padding: 0.25rem 0.5rem;
+					font-size: 0.875rem;
+					font-weight: 500;
+					font-family: inherit;
+					color: var(--text-secondary);
+					background: var(--bg-secondary);
+					border: 1px solid var(--border-color);
+					border-radius: 0.5rem;
+					cursor: pointer;
+					transition: all 0.15s ease;
+					white-space: nowrap;
+				}
+
+				.copy-page-button:hover:not(:disabled) {
+					background: var(--bg-tertiary, var(--bg-secondary));
+					color: var(--text-brand);
+					border-color: var(--text-brand);
+				}
+
+				.copy-page-button:disabled {
+					cursor: default;
+				}
+
+				.copy-page-button.copied {
+					color: var(--success-color, #22c55e);
+					border-color: var(--success-color, #22c55e);
+					background: var(--success-bg, rgba(34, 197, 94, 0.1));
+				}
+			`}</style>
+		</>
+	)
+}
+
+// Copy icon (two overlapping rectangles)
+function CopyIcon() {
+	return (
+		<svg
+			width="16"
+			height="16"
+			viewBox="0 0 16 16"
+			fill="none"
+			stroke="currentColor"
+			strokeWidth="1.5"
+			strokeLinecap="round"
+			strokeLinejoin="round">
+			<rect x="5" y="5" width="9" height="9" rx="1.5" />
+			<path d="M2 10V3.5A1.5 1.5 0 0 1 3.5 2H10" />
+		</svg>
+	)
+}
+
+// Check icon for copied state
+function CheckIcon() {
+	return (
+		<svg
+			width="16"
+			height="16"
+			viewBox="0 0 16 16"
+			fill="none"
+			stroke="currentColor"
+			strokeWidth="2"
+			strokeLinecap="round"
+			strokeLinejoin="round">
+			<path d="M3 8.5L6.5 12L13 4" />
+		</svg>
+	)
+}

+ 12 - 0
apps/kilocode-docs/components/Heading.tsx

@@ -0,0 +1,12 @@
+import * as React from "react"
+
+export function Heading({ id = "", level = 1, children, className }) {
+	return React.createElement(
+		`h${level}`,
+		{
+			id,
+			className: ["heading", className].filter(Boolean).join(" "),
+		},
+		children,
+	)
+}

+ 49 - 0
apps/kilocode-docs/components/Icon.tsx

@@ -0,0 +1,49 @@
+import React, { useEffect, useState } from "react"
+
+interface IconProps {
+	src: string
+	srcDark?: string
+	alt?: string
+	size?: string
+}
+
+export function Icon({ src, srcDark, alt = "icon", size = "1.2em" }: IconProps) {
+	const [isDark, setIsDark] = useState(false)
+
+	useEffect(() => {
+		// Check initial dark mode state
+		const checkDarkMode = () => {
+			setIsDark(document.documentElement.classList.contains("dark"))
+		}
+
+		checkDarkMode()
+
+		// Watch for dark mode changes
+		const observer = new MutationObserver((mutations) => {
+			mutations.forEach((mutation) => {
+				if (mutation.attributeName === "class") {
+					checkDarkMode()
+				}
+			})
+		})
+
+		observer.observe(document.documentElement, { attributes: true })
+
+		return () => observer.disconnect()
+	}, [])
+
+	const imageSrc = isDark && srcDark ? srcDark : src
+
+	return (
+		<img
+			src={imageSrc}
+			alt={alt}
+			style={{
+				height: size,
+				width: "auto",
+				verticalAlign: "middle",
+				display: "inline",
+			}}
+		/>
+	)
+}

+ 49 - 0
apps/kilocode-docs/components/Image.tsx

@@ -0,0 +1,49 @@
+import React from "react"
+
+interface ImageProps {
+	src: string
+	alt: string
+	width?: string
+	height?: string
+	caption?: string
+}
+
+export function Image({ src, alt, width, height, caption }: ImageProps) {
+	const imgStyle: React.CSSProperties = {
+		maxWidth: "100%",
+		height: "auto",
+	}
+
+	if (width) imgStyle.width = width
+	if (height) imgStyle.height = height
+
+	const figureStyle: React.CSSProperties = {
+		margin: "1.5rem 0",
+		maxWidth: "100%",
+		overflow: "hidden",
+	}
+
+	// If width is specified, apply it to the figure to constrain caption width
+	if (width) {
+		figureStyle.width = width
+		figureStyle.maxWidth = "100%"
+	}
+
+	return (
+		<figure style={figureStyle}>
+			<img src={src} alt={alt} style={imgStyle} />
+			{caption && (
+				<figcaption
+					style={{
+						fontStyle: "italic",
+						textAlign: "center",
+						marginTop: "0.5rem",
+						color: "var(--gray-600, #6b7280)",
+						width: "100%",
+					}}>
+					{caption}
+				</figcaption>
+			)}
+		</figure>
+	)
+}

+ 10 - 0
apps/kilocode-docs/components/KiloCodeIcon.tsx

@@ -0,0 +1,10 @@
+import React from "react"
+import { Icon } from "./Icon"
+
+interface KiloCodeIconProps {
+	size?: string
+}
+
+export function KiloCodeIcon({ size = "1.2em" }: KiloCodeIconProps) {
+	return <Icon src="/docs/img/kilo-v1.svg" srcDark="/docs/img/kilo-v1-white.svg" alt="Kilo Code Icon" size={size} />
+}

+ 646 - 0
apps/kilocode-docs/components/SideNav.tsx

@@ -0,0 +1,646 @@
+import React, { useState, useEffect } from "react"
+import { useRouter } from "next/router"
+import Link from "next/link"
+import { SectionNav } from "../lib/types"
+import { Nav } from "../lib/nav"
+
+// Define navigation items for each major section
+const sectionNavItems: SectionNav = {
+	"getting-started": Nav.GettingStartedNav,
+	"code-with-ai": Nav.CodeWithAiNav,
+	customize: Nav.CustomizeNav,
+	collaborate: Nav.CollaborateNav,
+	"automate/tools": Nav.ToolsNav,
+	automate: Nav.AutomateNav,
+	"deploy-secure": Nav.DeploySecureNav,
+	contributing: Nav.ContributingNav,
+	"ai-providers": Nav.AiProvidersNav,
+}
+
+// Main nav items with their section keys
+const mainNavItems = [
+	{ label: "Home", href: "/", sectionKey: null },
+	{ label: "Get Started", href: "/getting-started", sectionKey: "getting-started" },
+	{ label: "Code with AI", href: "/code-with-ai", sectionKey: "code-with-ai" },
+	{ label: "Customize", href: "/customize", sectionKey: "customize" },
+	{ label: "Collaborate", href: "/collaborate", sectionKey: "collaborate" },
+	{ label: "Automate", href: "/automate", sectionKey: "automate" },
+	{ label: "Deploy & Secure", href: "/deploy-secure", sectionKey: "deploy-secure" },
+	{ label: "Contributing", href: "/contributing", sectionKey: "contributing" },
+]
+
+function getCurrentSection(pathname: string): string | null {
+	const sectionKeys = Object.keys(sectionNavItems)
+	for (const section of sectionKeys) {
+		if (pathname.startsWith(`/${section}`)) {
+			return section
+		}
+	}
+	return null
+}
+
+function getSectionLabel(sectionKey: string): string {
+	const item = mainNavItems.find((nav) => nav.sectionKey === sectionKey)
+	return item?.label || sectionKey
+}
+
+// Chevron icons as components
+const ChevronRight = () => (
+	<svg width="16" height="16" viewBox="0 0 16 16" fill="none" style={{ flexShrink: 0 }}>
+		<path d="M6 4L10 8L6 12" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
+	</svg>
+)
+
+const ChevronDown = () => (
+	<svg width="16" height="16" viewBox="0 0 16 16" fill="none" style={{ flexShrink: 0 }}>
+		<path d="M4 6L8 10L12 6" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
+	</svg>
+)
+
+const ChevronLeft = () => (
+	<svg width="16" height="16" viewBox="0 0 16 16" fill="none" style={{ flexShrink: 0 }}>
+		<path
+			d="M10 4L6 8L10 12"
+			stroke="currentColor"
+			strokeWidth="1.5"
+			strokeLinecap="round"
+			strokeLinejoin="round"
+		/>
+	</svg>
+)
+
+interface SideNavProps {
+	isMobileOpen?: boolean
+	onMobileClose?: () => void
+}
+
+export function SideNav({ isMobileOpen = false, onMobileClose }: SideNavProps) {
+	const router = useRouter()
+	const currentSection = getCurrentSection(router.pathname)
+
+	// Track which view is shown: 'main' or 'section'
+	const [activeView, setActiveView] = useState<"main" | "section">(currentSection ? "section" : "main")
+
+	// Track which section is being viewed (for animation purposes)
+	const [viewedSection, setViewedSection] = useState<string | null>(currentSection)
+
+	// Track which nav items are expanded (for nested navigation)
+	const [expandedItems, setExpandedItems] = useState<Set<string>>(new Set())
+
+	// Update view when route changes
+	useEffect(() => {
+		const newSection = getCurrentSection(router.pathname)
+		if (newSection) {
+			setViewedSection(newSection)
+			setActiveView("section")
+		} else {
+			setActiveView("main")
+		}
+	}, [router.pathname])
+
+	// Auto-expand parent items when their child is active or when the parent itself is active
+	useEffect(() => {
+		const sectionItems = viewedSection ? sectionNavItems[viewedSection] || [] : []
+		const newExpandedItems = new Set<string>()
+
+		sectionItems.forEach((group) => {
+			group.links.forEach((link) => {
+				if (link.subLinks) {
+					const hasActiveChild = link.subLinks.some((subLink) => router.pathname === subLink.href)
+					const isParentActive = router.pathname === link.href
+					if (hasActiveChild || isParentActive) {
+						newExpandedItems.add(link.href)
+					}
+				}
+			})
+		})
+
+		setExpandedItems(newExpandedItems)
+	}, [router.pathname, viewedSection])
+
+	const handleLinkClick = () => {
+		if (onMobileClose) {
+			onMobileClose()
+		}
+	}
+
+	const handleSectionClick = (sectionKey: string | null) => {
+		if (sectionKey) {
+			setViewedSection(sectionKey)
+			setActiveView("section")
+		}
+	}
+
+	const handleBackClick = () => {
+		setActiveView("main")
+	}
+
+	const toggleExpanded = (href: string) => {
+		setExpandedItems((prev) => {
+			const newSet = new Set(prev)
+			if (newSet.has(href)) {
+				newSet.delete(href)
+			} else {
+				newSet.add(href)
+			}
+			return newSet
+		})
+	}
+
+	const sectionItems = viewedSection ? sectionNavItems[viewedSection] || [] : []
+	const sectionLabel = viewedSection ? getSectionLabel(viewedSection) : ""
+
+	// Main navigation panel
+	const mainNavPanel = (
+		<div className="nav-panel main-panel">
+			{mainNavItems.map((item) => {
+				const isActive = item.sectionKey ? router.pathname.startsWith(item.href) : router.pathname === item.href
+				const hasSubItems = item.sectionKey && sectionNavItems[item.sectionKey]
+
+				if (hasSubItems) {
+					return (
+						<button
+							type="button"
+							key={item.href}
+							onClick={() => handleSectionClick(item.sectionKey)}
+							className={`nav-item nav-item-button ${isActive ? "active" : ""}`}>
+							<span>{item.label}</span>
+							<span className="nav-arrow">
+								<ChevronRight />
+							</span>
+						</button>
+					)
+				}
+
+				return (
+					<Link
+						key={item.href}
+						href={item.href}
+						onClick={handleLinkClick}
+						className={`nav-item ${isActive ? "active" : ""}`}>
+						<span>{item.label}</span>
+					</Link>
+				)
+			})}
+
+			<style jsx>{`
+				.nav-panel {
+					width: 50%;
+					height: 100%;
+					overflow-y: auto;
+					padding: 1rem;
+					flex-shrink: 0;
+				}
+
+				.nav-item {
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					width: 100%;
+					padding: 0.75rem 1rem;
+					font-size: 0.9375rem;
+					font-weight: 500;
+					text-decoration: none;
+					color: var(--text-color);
+					border-radius: 0.5rem;
+					transition:
+						background-color 0.15s ease,
+						color 0.15s ease;
+					cursor: pointer;
+				}
+
+				.nav-item-button {
+					background: none;
+					border: none;
+					text-align: left;
+					font-family: inherit;
+				}
+
+				.nav-item:hover {
+					background-color: var(--bg-secondary);
+				}
+
+				.nav-item.active {
+					color: var(--accent-color);
+				}
+
+				.nav-arrow {
+					color: var(--text-secondary);
+					opacity: 0.6;
+					transition: opacity 0.15s ease;
+					display: flex;
+					align-items: center;
+				}
+
+				.nav-item:hover .nav-arrow {
+					opacity: 1;
+				}
+			`}</style>
+		</div>
+	)
+
+	// Section navigation panel
+	const sectionNavPanel = (
+		<div className="nav-panel section-panel">
+			<button type="button" className="back-button mobile-only" onClick={handleBackClick}>
+				<span className="back-arrow">
+					<ChevronLeft />
+				</span>
+				<span>{sectionLabel}</span>
+			</button>
+
+			<div className="section-content">
+				{sectionItems.map((group) => (
+					<div key={group.title} className="nav-group">
+						<span className="nav-group-title">{group.title}</span>
+						<ul className="nav-links">
+							{group.links.map((link) => {
+								const hasSubLinks = link.subLinks && link.subLinks.length > 0
+								const isExpanded = expandedItems.has(link.href)
+								const hasActiveChild = link.subLinks?.some(
+									(subLink) => router.pathname === subLink.href,
+								)
+								// Parent should only be active if it's the current page AND it has no active children
+								const active = router.pathname === link.href && !hasActiveChild
+
+								return (
+									<li
+										key={link.href}
+										className={`${active ? "active" : ""} ${hasSubLinks ? "has-children" : ""}`}>
+										{hasSubLinks ? (
+											<>
+												<div className="nav-item-with-toggle">
+													<Link href={link.href} onClick={handleLinkClick}>
+														{link.children}
+													</Link>
+													<button
+														type="button"
+														className="toggle-button"
+														onClick={(e) => {
+															e.preventDefault()
+															toggleExpanded(link.href)
+														}}
+														aria-label={isExpanded ? "Collapse" : "Expand"}>
+														{isExpanded ? <ChevronDown /> : <ChevronRight />}
+													</button>
+												</div>
+												{isExpanded && (
+													<ul className="sub-links">
+														{link.subLinks.map((subLink) => {
+															// Only mark sublink as active if it's an exact match
+															const subActive = router.pathname === subLink.href
+															return (
+																<li
+																	key={subLink.href}
+																	className={subActive ? "active" : ""}>
+																	<Link href={subLink.href} onClick={handleLinkClick}>
+																		{subLink.children}
+																	</Link>
+																</li>
+															)
+														})}
+													</ul>
+												)}
+											</>
+										) : (
+											<Link href={link.href} onClick={handleLinkClick}>
+												{link.children}
+											</Link>
+										)}
+									</li>
+								)
+							})}
+						</ul>
+					</div>
+				))}
+			</div>
+
+			<style jsx>{`
+				.nav-panel {
+					width: 50%;
+					height: 100%;
+					overflow-y: auto;
+					padding: 1rem;
+					flex-shrink: 0;
+				}
+
+				.back-button {
+					display: none;
+					align-items: center;
+					gap: 0.5rem;
+					width: 100%;
+					padding: 0.75rem 1rem;
+					font-size: 0.9375rem;
+					font-weight: 600;
+					color: var(--text-color);
+					background: none;
+					border: none;
+					border-radius: 0.5rem;
+					cursor: pointer;
+					transition: background-color 0.15s ease;
+					font-family: inherit;
+					margin-bottom: 0.5rem;
+				}
+
+				@media (max-width: 768px) {
+					.back-button.mobile-only {
+						display: flex;
+					}
+				}
+
+				.back-button:hover {
+					background-color: var(--bg-secondary);
+				}
+
+				.back-arrow {
+					color: var(--text-secondary);
+					display: flex;
+					align-items: center;
+				}
+
+				.section-content {
+					padding-left: 0.25rem;
+				}
+
+				.nav-group {
+					margin-bottom: 1.25rem;
+				}
+
+				.nav-group-title {
+					display: block;
+					font-size: 0.75rem;
+					font-weight: 600;
+					text-transform: uppercase;
+					letter-spacing: 0.05em;
+					padding: 0.5rem 0.75rem;
+					color: var(--text-secondary);
+				}
+
+				.nav-links {
+					padding: 0;
+					margin: 0;
+				}
+
+				.nav-links li {
+					list-style: none;
+					margin: 0;
+				}
+
+				.nav-links li :global(a) {
+					display: block;
+					padding: 0.375rem 0.75rem;
+					font-size: 0.875rem;
+					text-decoration: none;
+					color: var(--text-secondary);
+					border-radius: 0.375rem;
+					transition:
+						background-color 0.15s ease,
+						color 0.15s ease;
+				}
+
+				.nav-links li :global(a:hover) {
+					background-color: var(--bg-secondary);
+					color: var(--text-color);
+				}
+
+				.nav-links li.active > :global(a),
+				.nav-links li.active > :global(.nav-item-with-toggle) > :global(a) {
+					background-color: var(--bg-secondary);
+					color: var(--accent-color);
+					font-weight: 500;
+				}
+
+				/* Nested navigation styles */
+				.nav-links li.has-children {
+					margin: 0;
+				}
+
+				.nav-links :global(.nav-item-with-toggle) {
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					gap: 0.25rem;
+				}
+
+				.nav-links :global(.nav-item-with-toggle a) {
+					flex: 1;
+					padding-right: 0.25rem;
+				}
+
+				.nav-links :global(.toggle-button) {
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					padding: 0.375rem;
+					background: none;
+					border: none;
+					color: var(--text-secondary);
+					cursor: pointer;
+					border-radius: 0.25rem;
+					transition:
+						background-color 0.15s ease,
+						color 0.15s ease;
+					flex-shrink: 0;
+				}
+
+				.nav-links :global(.toggle-button:hover) {
+					background-color: var(--bg-secondary);
+					color: var(--text-color);
+				}
+
+				.nav-links :global(.sub-links) {
+					padding: 0;
+					margin: 0.25rem 0 0.5rem 0;
+					border-left: 2px solid var(--accent-color);
+					margin-left: 0.75rem;
+				}
+
+				.nav-links :global(.sub-links li) {
+					list-style: none;
+					margin: 0;
+				}
+
+				.nav-links :global(.sub-links a) {
+					display: block;
+					padding: 0.375rem 0.75rem;
+					padding-left: 1rem;
+					font-size: 0.8125rem;
+					text-decoration: none;
+					color: var(--text-secondary);
+					border-radius: 0 0.375rem 0.375rem 0;
+					transition:
+						background-color 0.15s ease,
+						color 0.15s ease;
+				}
+
+				.nav-links :global(.sub-links a:hover) {
+					background-color: var(--bg-secondary);
+					color: var(--text-color);
+				}
+
+				.nav-links :global(.sub-links li.active a) {
+					background-color: var(--bg-secondary);
+					color: var(--accent-color);
+					font-weight: 500;
+				}
+			`}</style>
+		</div>
+	)
+
+	const navContent = (
+		<div className={`sliding-nav ${activeView === "section" ? "show-section" : "show-main"}`}>
+			{mainNavPanel}
+			{sectionNavPanel}
+
+			<style jsx>{`
+				.sliding-nav {
+					display: flex;
+					width: 200%;
+					height: 100%;
+					transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+				}
+
+				.sliding-nav.show-main {
+					transform: translateX(0);
+				}
+
+				.sliding-nav.show-section {
+					transform: translateX(-50%);
+				}
+
+				/* On desktop, always show section panel when in a section */
+				@media (min-width: 769px) {
+					.sliding-nav {
+						transition: none;
+					}
+
+					.sliding-nav.show-section {
+						transform: translateX(-50%);
+					}
+				}
+			`}</style>
+		</div>
+	)
+
+	return (
+		<>
+			{/* Desktop sidebar */}
+			<nav className="sidenav sidenav-desktop">{navContent}</nav>
+
+			{/* Mobile overlay */}
+			<div className={`sidenav-mobile-overlay ${isMobileOpen ? "open" : ""}`} onClick={onMobileClose} />
+
+			{/* Mobile sidebar drawer */}
+			<nav className={`sidenav sidenav-mobile ${isMobileOpen ? "open" : ""}`}>{navContent}</nav>
+
+			<style jsx>{`
+				.sidenav {
+					background: var(--bg-color);
+					overflow: hidden;
+					transition:
+						background-color 0.2s ease,
+						border-color 0.2s ease;
+				}
+
+				/* Desktop styles */
+				.sidenav-desktop {
+					position: sticky;
+					top: var(--top-nav-height);
+					height: calc(100vh - var(--top-nav-height));
+					flex: 0 0 260px;
+					border-right: 1px solid var(--border-color);
+				}
+
+				/* Mobile overlay */
+				.sidenav-mobile-overlay {
+					display: none;
+				}
+
+				/* Mobile drawer */
+				.sidenav-mobile {
+					display: none;
+				}
+
+				/* Mobile styles */
+				@media (max-width: 768px) {
+					.sidenav-desktop {
+						display: none;
+					}
+
+					.sidenav-mobile-overlay {
+						display: block;
+						position: fixed;
+						top: 0;
+						left: 0;
+						right: 0;
+						bottom: 0;
+						background: rgba(0, 0, 0, 0.5);
+						z-index: 40;
+						opacity: 0;
+						visibility: hidden;
+						transition:
+							opacity 0.3s ease,
+							visibility 0.3s ease;
+					}
+
+					.sidenav-mobile-overlay.open {
+						opacity: 1;
+						visibility: visible;
+					}
+
+					.sidenav-mobile {
+						display: block;
+						position: fixed;
+						top: var(--top-nav-height);
+						left: 0;
+						width: 300px;
+						height: calc(100vh - var(--top-nav-height));
+						z-index: 50;
+						transform: translateX(-100%);
+						transition: transform 0.3s ease;
+						border-right: 1px solid var(--border-color);
+					}
+
+					.sidenav-mobile.open {
+						transform: translateX(0);
+					}
+				}
+			`}</style>
+
+			{/* Global styles for elements that styled-jsx can't reach */}
+			<style jsx global>{`
+				.nav-item {
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					width: 100%;
+					padding: 0.75rem 1rem;
+					font-size: 0.9375rem;
+					font-weight: 500;
+					text-decoration: none;
+					color: var(--text-color);
+					border-radius: 0.5rem;
+					transition:
+						background-color 0.15s ease,
+						color 0.15s ease;
+					cursor: pointer;
+				}
+
+				.nav-item-button {
+					background: none;
+					border: none;
+					text-align: left;
+					font-family: inherit;
+				}
+
+				.nav-item:hover {
+					background-color: var(--bg-secondary);
+				}
+
+				.nav-item.active {
+					color: var(--accent-color);
+				}
+			`}</style>
+		</>
+	)
+}

+ 66 - 0
apps/kilocode-docs/components/Table.tsx

@@ -0,0 +1,66 @@
+import React from "react"
+
+interface TableProps {
+	children: React.ReactNode
+}
+
+export function Table({ children }: TableProps) {
+	return (
+		<div className="overflow-x-auto my-6 border border-neutral-300 dark:border-neutral-700 rounded-lg">
+			<table className="w-full border-collapse text-sm">{children}</table>
+		</div>
+	)
+}
+
+interface THeadProps {
+	children: React.ReactNode
+}
+
+export function THead({ children }: THeadProps) {
+	return <thead className="bg-neutral-100 dark:bg-neutral-800/50">{children}</thead>
+}
+
+interface TBodyProps {
+	children: React.ReactNode
+}
+
+export function TBody({ children }: TBodyProps) {
+	return <tbody className="bg-white dark:bg-neutral-900/50">{children}</tbody>
+}
+
+interface TrProps {
+	children: React.ReactNode
+}
+
+export function Tr({ children }: TrProps) {
+	return <tr className="border-b border-neutral-300 dark:border-neutral-700 last:border-b-0">{children}</tr>
+}
+
+interface ThProps {
+	children: React.ReactNode
+	width?: string
+}
+
+export function Th({ children, width }: ThProps) {
+	return (
+		<th
+			className="px-4 py-2.5 text-left text-sm font-medium text-neutral-700 dark:text-neutral-300"
+			style={{ width }}>
+			{children}
+		</th>
+	)
+}
+
+interface TdProps {
+	children: React.ReactNode
+	colspan?: number
+	rowspan?: number
+}
+
+export function Td({ children, colspan, rowspan }: TdProps) {
+	return (
+		<td className="px-4 py-3 text-neutral-600 dark:text-neutral-400" colSpan={colspan} rowSpan={rowspan}>
+			{children}
+		</td>
+	)
+}

+ 74 - 0
apps/kilocode-docs/components/TableOfContents.tsx

@@ -0,0 +1,74 @@
+import React from "react"
+import Link from "next/link"
+
+export function TableOfContents({ toc }) {
+	const items = toc.filter((item) => item.id && (item.level === 2 || item.level === 3))
+
+	if (items.length <= 1) {
+		return null
+	}
+
+	return (
+		<nav className="toc">
+			<ul className="flex column">
+				{items.map((item) => {
+					const href = `#${item.id}`
+					const active = typeof window !== "undefined" && window.location.hash === href
+					return (
+						<li
+							key={item.title}
+							className={[active ? "active" : undefined, item.level === 3 ? "padded" : undefined]
+								.filter(Boolean)
+								.join(" ")}>
+							<Link href={href}>{item.title}</Link>
+						</li>
+					)
+				})}
+			</ul>
+			<style jsx>
+				{`
+					nav {
+						position: sticky;
+						top: 0;
+						max-height: calc(100vh - var(--top-nav-height) - 6rem);
+						width: 100%;
+						align-self: flex-start;
+						margin-bottom: 1rem;
+						padding: 0.5rem 0 0;
+						border-left: 1px solid var(--border-color);
+						transition: border-color 0.2s ease;
+						overflow-y: auto;
+					}
+					ul {
+						margin: 0;
+						padding-left: 1rem;
+						display: flex;
+						flex-direction: column;
+					}
+					li {
+						list-style-type: none;
+						margin: 0 0 1rem;
+					}
+					li :global(a) {
+						text-decoration: none;
+						color: var(--text-secondary);
+					}
+					li :global(a:hover),
+					li.active :global(a) {
+						text-decoration: underline;
+					}
+					li.padded {
+						padding-left: 1rem;
+					}
+
+					/* Hide on tablet and mobile */
+					@media (max-width: 1024px) {
+						nav {
+							display: none;
+						}
+					}
+				`}
+			</style>
+		</nav>
+	)
+}

+ 43 - 0
apps/kilocode-docs/components/Tabs.tsx

@@ -0,0 +1,43 @@
+import React, { useState, Children, isValidElement, ReactNode, ReactElement } from "react"
+
+interface TabProps {
+	label: string
+	children: ReactNode
+}
+
+interface TabsProps {
+	children: ReactNode
+}
+
+export function Tab({ children }: TabProps) {
+	return <>{children}</>
+}
+
+export function Tabs({ children }: TabsProps) {
+	const [activeIndex, setActiveIndex] = useState(0)
+
+	const tabs = Children.toArray(children).filter(
+		(child): child is ReactElement<TabProps> =>
+			isValidElement(child) && (child.type === Tab || (child.props as any)?.label !== undefined),
+	)
+
+	return (
+		<div className="tabs-container my-6 border border-neutral-300 dark:border-neutral-700 rounded-lg overflow-hidden">
+			<div className="tabs-header flex border-b border-neutral-300 dark:border-neutral-700 bg-neutral-100 dark:bg-neutral-800/50 overflow-x-auto">
+				{tabs.map((tab, index) => (
+					<button
+						key={index}
+						className={`px-2 py-2 text-xs sm:px-4 sm:py-2.5 sm:text-sm font-medium transition-colors whitespace-nowrap ${
+							activeIndex === index
+								? "bg-white dark:bg-neutral-900 text-yellow-800 dark:text-yellow-300 border-b-2 border-yellow-800 dark:border-yellow-300 -mb-[1px]"
+								: "text-neutral-600 dark:text-neutral-400 hover:text-neutral-900 dark:hover:text-neutral-200 hover:bg-neutral-200 dark:hover:bg-neutral-700/50"
+						}`}
+						onClick={() => setActiveIndex(index)}>
+						{tab.props.label}
+					</button>
+				))}
+			</div>
+			<div className="tabs-content p-3 sm:p-4 bg-white dark:bg-neutral-900/50">{tabs[activeIndex]}</div>
+		</div>
+	)
+}

+ 117 - 0
apps/kilocode-docs/components/ThemeToggle.tsx

@@ -0,0 +1,117 @@
+import React, { useEffect, useState } from "react"
+
+type Theme = "light" | "dark" | "system"
+
+export function ThemeToggle() {
+	const [theme, setTheme] = useState<Theme>("system")
+	const [mounted, setMounted] = useState(false)
+
+	// On mount, read the preference from localStorage or default to 'system'
+	useEffect(() => {
+		setMounted(true)
+		const storedTheme = localStorage.getItem("theme") as Theme | null
+		if (storedTheme) {
+			setTheme(storedTheme)
+		}
+	}, [])
+
+	// Apply the theme to the document
+	useEffect(() => {
+		if (!mounted) return
+
+		const root = document.documentElement
+
+		if (theme === "system") {
+			localStorage.removeItem("theme")
+			const systemDark = window.matchMedia("(prefers-color-scheme: dark)").matches
+			root.classList.toggle("dark", systemDark)
+		} else {
+			localStorage.setItem("theme", theme)
+			root.classList.toggle("dark", theme === "dark")
+		}
+	}, [theme, mounted])
+
+	// Listen for system preference changes
+	useEffect(() => {
+		if (!mounted) return
+
+		const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)")
+
+		const handleChange = (e: MediaQueryListEvent) => {
+			if (theme === "system") {
+				document.documentElement.classList.toggle("dark", e.matches)
+			}
+		}
+
+		mediaQuery.addEventListener("change", handleChange)
+		return () => mediaQuery.removeEventListener("change", handleChange)
+	}, [theme, mounted])
+
+	const cycleTheme = () => {
+		const themes: Theme[] = ["system", "light", "dark"]
+		const currentIndex = themes.indexOf(theme)
+		const nextIndex = (currentIndex + 1) % themes.length
+		setTheme(themes[nextIndex])
+	}
+
+	// Avoid hydration mismatch by not rendering until mounted
+	if (!mounted) {
+		return (
+			<button className="theme-toggle" aria-label="Toggle theme" style={{ width: "32px", height: "32px" }}>
+				<span style={{ opacity: 0 }}>🌙</span>
+			</button>
+		)
+	}
+
+	const getIcon = () => {
+		if (theme === "system") {
+			return "💻"
+		}
+		if (theme === "dark") {
+			return "🌙"
+		}
+		return "☀️"
+	}
+
+	const getLabel = () => {
+		if (theme === "system") {
+			return "Using system theme"
+		}
+		if (theme === "dark") {
+			return "Dark mode"
+		}
+		return "Light mode"
+	}
+
+	return (
+		<>
+			<button onClick={cycleTheme} className="theme-toggle" aria-label={getLabel()} title={getLabel()}>
+				<span>{getIcon()}</span>
+			</button>
+			<style jsx>{`
+				.theme-toggle {
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					width: 32px;
+					height: 32px;
+					padding: 0;
+					border: 1px solid var(--border-color);
+					border-radius: 6px;
+					background: var(--bg-secondary);
+					cursor: pointer;
+					font-size: 16px;
+					transition:
+						background-color 0.2s ease,
+						border-color 0.2s ease;
+				}
+				.theme-toggle:hover {
+					background: var(--border-color);
+				}
+				.theme-toggle span {
+					line-height: 1;
+				}
+			`}</style>
+		</>
+	)
+}

+ 523 - 0
apps/kilocode-docs/components/TopNav.tsx

@@ -0,0 +1,523 @@
+import React, { useState, useRef, useEffect } from "react"
+import Link from "next/link"
+import { useRouter } from "next/router"
+import docsearch from "@docsearch/js"
+import { ThemeToggle } from "./ThemeToggle"
+
+interface NavItem {
+	label: string
+	href: string
+}
+
+interface DropdownItem {
+	label: string
+	href: string
+	description?: string
+}
+
+interface DropdownMenuProps {
+	label: string
+	items: DropdownItem[]
+	isOpen: boolean
+	onToggle: () => void
+	onClose: () => void
+}
+
+const mainNavItems: NavItem[] = [
+	{ label: "Get Started", href: "/getting-started" },
+	{ label: "Code with AI", href: "/code-with-ai" },
+	{ label: "Customize", href: "/customize" },
+	{ label: "Collaborate", href: "/collaborate" },
+	{ label: "Automate", href: "/automate" },
+	{ label: "Deploy & Secure", href: "/deploy-secure" },
+	{ label: "Contributing", href: "/contributing" },
+]
+
+const contributingItems: DropdownItem[] = [
+	{ label: "Contributing Guide", href: "/contributing", description: "How to contribute to Kilo Code" },
+	{
+		label: "Code of Conduct",
+		href: "https://github.com/Kilo-Org/kilocode?tab=coc-ov-file",
+		description: "Our community guidelines",
+	},
+	{ label: "GitHub Repository", href: "https://github.com/Kilo-Org/", description: "View source and issues" },
+	{ label: "Discord Community", href: "https://kilo.ai/discord", description: "Join our community" },
+]
+
+const helpItems: DropdownItem[] = [
+	{ label: "Documentation", href: "/", description: "Browse all documentation" },
+	{ label: "FAQ", href: "/getting-started/faq", description: "Frequently asked questions" },
+	{ label: "Support", href: "https://kilo.ai/support", description: "Get help from the team" },
+	{
+		label: "Changelog",
+		href: "https://github.com/Kilo-Org/kilocode/releases",
+		description: "Latest updates and releases",
+	},
+]
+
+function ChevronDownIcon({ className }: { className?: string }) {
+	return (
+		<svg
+			className={className}
+			width="12"
+			height="12"
+			viewBox="0 0 12 12"
+			fill="none"
+			xmlns="http://www.w3.org/2000/svg">
+			<path
+				d="M2.5 4.5L6 8L9.5 4.5"
+				stroke="currentColor"
+				strokeWidth="1.5"
+				strokeLinecap="round"
+				strokeLinejoin="round"
+			/>
+		</svg>
+	)
+}
+
+function SparkleIcon({ className }: { className?: string }) {
+	return (
+		<svg
+			className={className}
+			width="16"
+			height="16"
+			viewBox="0 0 16 16"
+			fill="none"
+			xmlns="http://www.w3.org/2000/svg">
+			<path
+				d="M8 1V3M8 13V15M3 8H1M15 8H13M12.5 3.5L11 5M5 11L3.5 12.5M12.5 12.5L11 11M5 5L3.5 3.5"
+				stroke="currentColor"
+				strokeWidth="1.5"
+				strokeLinecap="round"
+				strokeLinejoin="round"
+			/>
+		</svg>
+	)
+}
+
+function SearchIcon({ className }: { className?: string }) {
+	return (
+		<svg
+			className={className}
+			width="20"
+			height="20"
+			viewBox="0 0 20 20"
+			fill="none"
+			xmlns="http://www.w3.org/2000/svg">
+			<path
+				d="M9 17C13.4183 17 17 13.4183 17 9C17 4.58172 13.4183 1 9 1C4.58172 1 1 4.58172 1 9C1 13.4183 4.58172 17 9 17Z"
+				stroke="currentColor"
+				strokeWidth="2"
+				strokeLinecap="round"
+				strokeLinejoin="round"
+			/>
+			<path
+				d="M19 19L14.65 14.65"
+				stroke="currentColor"
+				strokeWidth="2"
+				strokeLinecap="round"
+				strokeLinejoin="round"
+			/>
+		</svg>
+	)
+}
+
+function HamburgerIcon({ isOpen }: { isOpen: boolean }) {
+	return (
+		<div className={`hamburger ${isOpen ? "open" : ""}`}>
+			<span />
+			<span />
+			<span />
+		</div>
+	)
+}
+
+function DropdownMenu({ label, items, isOpen, onToggle, onClose }: DropdownMenuProps) {
+	const dropdownRef = useRef<HTMLDivElement>(null)
+
+	useEffect(() => {
+		function handleClickOutside(event: MouseEvent) {
+			if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {
+				onClose()
+			}
+		}
+
+		if (isOpen) {
+			document.addEventListener("mousedown", handleClickOutside)
+		}
+
+		return () => {
+			document.removeEventListener("mousedown", handleClickOutside)
+		}
+	}, [isOpen, onClose])
+
+	return (
+		<div ref={dropdownRef} className="relative">
+			<button
+				onClick={onToggle}
+				className="flex items-center gap-1 px-3 py-2 text-sm font-medium transition-colors hover:text-[var(--text-color)]"
+				style={{ color: "var(--text-secondary)" }}>
+				{label}
+				<ChevronDownIcon className={`transition-transform ${isOpen ? "rotate-180" : ""}`} />
+			</button>
+			{isOpen && (
+				<div
+					className="absolute right-0 top-full mt-2 w-64 rounded-lg border shadow-lg z-50"
+					style={{
+						backgroundColor: "var(--bg-color)",
+						borderColor: "var(--border-color)",
+					}}>
+					<div className="py-2">
+						{items.map((item) => (
+							<Link
+								key={item.href}
+								href={item.href}
+								onClick={onClose}
+								className="block px-4 py-2.5 hover:bg-[var(--bg-secondary)] transition-colors">
+								<span className="block text-sm font-medium" style={{ color: "var(--text-color)" }}>
+									{item.label}
+								</span>
+								{item.description && (
+									<span className="block text-xs mt-0.5" style={{ color: "var(--text-secondary)" }}>
+										{item.description}
+									</span>
+								)}
+							</Link>
+						))}
+					</div>
+				</div>
+			)}
+		</div>
+	)
+}
+
+function NavTab({ item, isActive }: { item: NavItem; isActive: boolean }) {
+	return (
+		<Link
+			href={item.href}
+			className={`relative px-1 py-3 text-sm font-medium transition-colors ${
+				isActive ? "text-indigo-600 dark:text-[#F8F675]" : "hover:text-[var(--text-color)]"
+			}`}
+			style={{ color: isActive ? "var(--text-brand)" : "var(--text-secondary)" }}>
+			{item.label}
+			{isActive && <span className="absolute bottom-0 left-0 right-0 h-0.5 bg-indigo-600 dark:bg-[#F8F675]" />}
+		</Link>
+	)
+}
+
+interface TopNavProps {
+	onMobileMenuToggle?: () => void
+	isMobileMenuOpen?: boolean
+	showMobileMenuButton?: boolean
+}
+
+export function TopNav({ onMobileMenuToggle, isMobileMenuOpen = false, showMobileMenuButton = true }: TopNavProps) {
+	const router = useRouter()
+	const [openDropdown, setOpenDropdown] = useState<string | null>(null)
+
+	const handleDropdownToggle = (name: string) => {
+		setOpenDropdown(openDropdown === name ? null : name)
+	}
+
+	const handleDropdownClose = () => {
+		setOpenDropdown(null)
+	}
+
+	const isActiveTab = (href: string) => {
+		if (href === "/docs") {
+			return router.pathname === "/docs" || router.pathname === "/docs/index"
+		}
+		return router.pathname.startsWith(href)
+	}
+
+	// Open DocSearch modal programmatically
+	const openDocSearch = () => {
+		const searchButton = document.querySelector(".DocSearch-Button") as HTMLButtonElement
+		if (searchButton) {
+			searchButton.click()
+		}
+	}
+
+	// Initialize DocSearch
+	useEffect(() => {
+		docsearch({
+			container: "#docsearch",
+			appId: process.env.NEXT_PUBLIC_ALGOLIA_APP_ID || "PMZUYBQDAK",
+			indexName: process.env.NEXT_PUBLIC_ALGOLIA_INDEX_NAME || "docsearch",
+			apiKey: process.env.NEXT_PUBLIC_ALGOLIA_API_KEY || "24b09689d5b4223813d9b8e48563c8f6",
+			askAi: process.env.NEXT_PUBLIC_ALGOLIA_ASSISTANT_ID || "askAIDemo",
+		})
+	}, [])
+
+	return (
+		<header className="top-header">
+			{/* Top bar */}
+			<div className="top-bar">
+				{/* Mobile menu button */}
+				{showMobileMenuButton && (
+					<button className="mobile-menu-btn" onClick={onMobileMenuToggle} aria-label="Toggle menu">
+						<HamburgerIcon isOpen={isMobileMenuOpen} />
+					</button>
+				)}
+
+				<Link href="/" className="logo-link flex gap-2 items-center">
+					<svg
+						xmlns="http://www.w3.org/2000/svg"
+						viewBox="0 0 100 100"
+						className="logo-icon"
+						aria-label="Kilo Code Logo">
+						<path
+							fill="currentColor"
+							d="M0,0v100h100V0H0ZM92.5925926,92.5925926H7.4074074V7.4074074h85.1851852v85.1851852ZM61.1111044,71.9096084h9.2592593v7.4074074h-11.6402116l-5.026455-5.026455v-11.6402116h7.4074074v9.2592593ZM77.7777711,71.9096084h-7.4074074v-9.2592593h-9.2592593v-7.4074074h11.6402116l5.026455,5.026455v11.6402116ZM46.2962963,61.1114207h-7.4074074v-7.4074074h7.4074074v7.4074074ZM22.2222222,53.7040133h7.4074074v16.6666667h16.6666667v7.4074074h-19.047619l-5.026455-5.026455v-19.047619ZM77.7777711,38.8888889v7.4074074h-24.0740741v-7.4074074h8.2781918v-9.2592593h-8.2781918v-7.4074074h10.6591442l5.026455,5.026455v11.6402116h8.3884749ZM29.6296296,30.5555556h9.2592593l7.4074074,7.4074074v8.3333333h-7.4074074v-8.3333333h-9.2592593v8.3333333h-7.4074074v-24.0740741h7.4074074v8.3333333ZM46.2962963,30.5555556h-7.4074074v-8.3333333h7.4074074v8.3333333Z"
+						/>
+					</svg>
+					<div>
+						<span className="logo-text font-brand">Kilo Code</span>
+						<span className="docs-label">DOCS</span>
+					</div>
+				</Link>
+
+				{/* Center - Search and Ask AI (desktop only) */}
+				<div className="search-container desktop-nav">
+					<div id="docsearch" />
+
+					{/* <button className="ask-ai-btn">
+						Ask AI
+						<SparkleIcon className="w-4 h-4" />
+					</button> */}
+				</div>
+
+				<div className="right-actions">
+					{/* Mobile search button */}
+					<button
+						className="mobile-search-btn mobile-only"
+						onClick={openDocSearch}
+						aria-label="Search documentation">
+						<SearchIcon />
+					</button>
+					<ThemeToggle />
+					<Link href="https://kilo.ai/github" className="github-link desktop-nav">
+						GitHub
+					</Link>
+					<Link href="https://app.kilo.ai" className="signin-btn desktop-nav">
+						Sign in
+					</Link>
+				</div>
+			</div>
+
+			{/* Secondary nav bar (desktop only) */}
+			<div className="secondary-bar desktop-nav">
+				<nav className="main-nav">
+					{mainNavItems.map((item) => (
+						<NavTab key={item.href} item={item} isActive={isActiveTab(item.href)} />
+					))}
+				</nav>
+
+				<div className="dropdown-container">
+					<DropdownMenu
+						label="Contributing"
+						items={contributingItems}
+						isOpen={openDropdown === "contributing"}
+						onToggle={() => handleDropdownToggle("contributing")}
+						onClose={handleDropdownClose}
+					/>
+					<DropdownMenu
+						label="Help"
+						items={helpItems}
+						isOpen={openDropdown === "help"}
+						onToggle={() => handleDropdownToggle("help")}
+						onClose={handleDropdownClose}
+					/>
+				</div>
+			</div>
+
+			<style jsx>{`
+				.top-header {
+					position: fixed;
+					top: 0;
+					left: 0;
+					right: 0;
+					z-index: 50;
+					background-color: var(--bg-color);
+					transition: background-color 0.2s ease;
+				}
+
+				.top-bar {
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					padding: 0.75rem 1.5rem;
+					border-bottom: 1px solid var(--border-color);
+					transition: border-color 0.2s ease;
+				}
+
+				.mobile-menu-btn {
+					display: none;
+					align-items: center;
+					justify-content: center;
+					padding: 0.5rem;
+					background: transparent;
+					border: none;
+					cursor: pointer;
+					margin-right: 0.75rem;
+				}
+
+				.logo-link {
+					align-items: center;
+					flex-wrap: nowrap;
+					text-decoration: none;
+				}
+
+				.logo-icon {
+					display: inline-block;
+					width: 1.5rem;
+					height: 1.5rem;
+					color: var(--text-brand);
+				}
+
+				.logo-text {
+					font-size: 1.125rem;
+					font-weight: 600;
+					letter-spacing: -0.025em;
+				}
+
+				.docs-label {
+					font-size: 1rem;
+					font-weight: 300;
+					margin-left: 0.5rem;
+					color: var(--text-secondary);
+				}
+
+				.search-container {
+					display: flex;
+					align-items: center;
+					gap: 0.75rem;
+				}
+
+				.ask-ai-btn {
+					display: flex;
+					align-items: center;
+					gap: 0.5rem;
+					padding: 0.375rem 0.75rem;
+					border-radius: 0.5rem;
+					border: 1px solid var(--border-color);
+					background-color: var(--bg-secondary);
+					color: var(--text-secondary);
+					font-size: 0.875rem;
+					font-weight: 500;
+					cursor: pointer;
+					transition: border-color 0.15s ease;
+				}
+
+				.ask-ai-btn:hover {
+					border-color: #9ca3af;
+				}
+
+				.right-actions {
+					display: flex;
+					align-items: center;
+					gap: 1rem;
+				}
+
+				.github-link {
+					font-size: 0.875rem;
+					font-weight: 500;
+					color: var(--text-secondary);
+					text-decoration: none;
+					transition: color 0.15s ease;
+				}
+
+				.github-link:hover {
+					color: var(--text-color);
+				}
+
+				.signin-btn {
+					padding: 0.375rem 0.75rem;
+					font-size: 0.875rem;
+					font-weight: 500;
+					border-radius: 0.5rem;
+					border: 1px solid var(--border-color);
+					color: var(--text-color);
+					text-decoration: none;
+					transition: background-color 0.15s ease;
+				}
+
+				.signin-btn:hover {
+					background-color: var(--bg-secondary);
+				}
+
+				.secondary-bar {
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					padding: 0 1.5rem;
+					border-bottom: 1px solid var(--border-color);
+					transition: border-color 0.2s ease;
+				}
+
+				.main-nav {
+					display: flex;
+					align-items: center;
+					gap: 1.5rem;
+				}
+
+				.dropdown-container {
+					display: flex;
+					align-items: center;
+					gap: 0.5rem;
+				}
+
+				.mobile-search-btn {
+					display: none;
+					align-items: center;
+					justify-content: center;
+					padding: 0.5rem;
+					background: transparent;
+					border: none;
+					cursor: pointer;
+					color: var(--text-secondary);
+					transition: color 0.15s ease;
+				}
+
+				.mobile-search-btn:hover {
+					color: var(--text-color);
+				}
+
+				/* Mobile styles */
+				@media (max-width: 768px) {
+					.top-bar {
+						padding: 0.75rem 1rem;
+					}
+
+					.mobile-menu-btn {
+						display: flex;
+					}
+
+					.mobile-search-btn {
+						display: flex;
+					}
+
+					.mobile-only {
+						display: flex;
+					}
+
+					.logo-icon {
+						display: none;
+					}
+
+					.docs-label {
+						display: inline;
+					}
+
+					.desktop-nav {
+						display: none !important;
+					}
+
+					.right-actions {
+						gap: 0.5rem;
+					}
+				}
+			`}</style>
+		</header>
+	)
+}

+ 91 - 0
apps/kilocode-docs/components/YouTube.tsx

@@ -0,0 +1,91 @@
+import React from "react"
+
+interface YouTubeProps {
+	url: string
+	title?: string
+	caption?: string
+}
+
+/**
+ * Extracts the YouTube video ID from various URL formats
+ */
+function extractVideoId(url: string): string | null {
+	const patterns = [
+		/(?:youtube\.com\/watch\?v=)([^&\s]+)/,
+		/(?:youtube\.com\/embed\/)([^?\s]+)/,
+		/(?:youtu\.be\/)([^?\s]+)/,
+		/(?:youtube\.com\/v\/)([^?\s]+)/,
+	]
+
+	for (const pattern of patterns) {
+		const match = url.match(pattern)
+		if (match) {
+			return match[1]
+		}
+	}
+
+	return null
+}
+
+export function YouTube({ url, title = "YouTube video", caption }: YouTubeProps) {
+	const videoId = extractVideoId(url)
+
+	if (!videoId) {
+		return (
+			<div
+				style={{
+					padding: "1rem",
+					backgroundColor: "var(--red-100, #fee2e2)",
+					color: "var(--red-700, #b91c1c)",
+					borderRadius: "0.5rem",
+					margin: "1.5rem 0",
+				}}>
+				Invalid YouTube URL: {url}
+			</div>
+		)
+	}
+
+	return (
+		<div
+			style={{
+				maxWidth: "640px",
+				margin: "1.5rem 0",
+			}}>
+			<div
+				style={{
+					position: "relative",
+					paddingBottom: "56.25%", // 16:9 aspect ratio
+					height: 0,
+					overflow: "hidden",
+					borderRadius: "0.5rem",
+				}}>
+				<iframe
+					src={`https://www.youtube.com/embed/${videoId}`}
+					title={title}
+					style={{
+						position: "absolute",
+						top: 0,
+						left: 0,
+						width: "100%",
+						height: "100%",
+						border: "none",
+						borderRadius: "0.5rem",
+					}}
+					allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
+					allowFullScreen
+				/>
+			</div>
+			{caption && (
+				<figcaption
+					style={{
+						fontStyle: "italic",
+						textAlign: "center",
+						marginTop: "0.5rem",
+						color: "var(--gray-600, #6b7280)",
+					}}>
+					{caption}
+				</figcaption>
+			)}
+		</div>
+	)
+}

+ 15 - 0
apps/kilocode-docs/components/index.js

@@ -0,0 +1,15 @@
+export * from "./Callout"
+export * from "./CodeBlock"
+export * from "./Codicon"
+export * from "./CopyPageButton"
+export * from "./Heading"
+export * from "./Icon"
+export * from "./Image"
+export * from "./KiloCodeIcon"
+export * from "./SideNav"
+export * from "./Table"
+export * from "./TableOfContents"
+export * from "./Tabs"
+export * from "./ThemeToggle"
+export * from "./TopNav"
+export * from "./YouTube"

+ 0 - 240
apps/kilocode-docs/docs/advanced-usage/available-tools/codebase-search.md

@@ -1,240 +0,0 @@
-# codebase_search
-
-:::warning Experimental Feature
-The `codebase_search` tool is that requires additional setup including an embedding provider and vector database.
-:::
-
-The `codebase_search` tool performs semantic searches across your entire codebase using AI embeddings. Unlike traditional text-based search, it understands the meaning of your queries and finds relevant code even when exact keywords don't match.
-
-## Parameters
-
-The tool accepts these parameters:
-
-- `query` (required): Natural language search query describing what you're looking for
-- `path` (optional): Directory path to limit search scope to a specific part of your codebase
-
-## What It Does
-
-This tool searches through your indexed codebase using semantic similarity rather than exact text matching. It finds code blocks that are conceptually related to your query, even if they don't contain the exact words you searched for. Results include relevant code snippets with file paths, line numbers, and similarity scores.
-
-## When is it used?
-
-- When Kilo Code needs to find code related to specific functionality across your project
-- When looking for implementation patterns or similar code structures
-- When searching for error handling, authentication, or other conceptual code patterns
-- When exploring unfamiliar codebases to understand how features are implemented
-- When finding related code that might be affected by changes or refactoring
-
-## Key Features
-
-- **Semantic Understanding**: Finds code by meaning rather than exact keyword matches
-- **Cross-Project Search**: Searches across your entire indexed codebase, not just open files
-- **Contextual Results**: Returns code snippets with file paths and line numbers for easy navigation
-- **Similarity Scoring**: Results ranked by relevance with similarity scores (0-1 scale)
-- **Scope Filtering**: Optional path parameter to limit searches to specific directories
-- **Intelligent Ranking**: Results sorted by semantic relevance to your query
-- **UI Integration**: Results displayed with syntax highlighting and navigation links
-- **Performance Optimized**: Fast vector-based search with configurable result limits
-
-## Requirements
-
-This tool is only available when the experimental Codebase Indexing feature is properly configured:
-
-- **Feature Enabled**: Codebase Indexing must be enabled in experimental settings
-- **Embedding Provider**: OpenAI API key or Ollama configuration required
-- **Vector Database**: Qdrant instance running and accessible
-- **Index Status**: Codebase must be indexed (status: "Indexed" or "Indexing")
-
-## Limitations
-
-- **Experimental Feature**: Part of the experimental codebase indexing system
-- **Requires Configuration**: Depends on external services (embedding provider + Qdrant)
-- **Index Dependency**: Only searches through indexed code blocks
-- **Result Limits**: Maximum of 50 results per search to maintain performance
-- **Similarity Threshold**: Only returns results above 0.4 similarity score
-- **File Size Limits**: Limited to files under 1MB that were successfully indexed
-- **Language Support**: Effectiveness depends on Tree-sitter language support
-
-## How It Works
-
-When the `codebase_search` tool is invoked, it follows this process:
-
-1. **Availability Validation**:
-
-    - Verifies that the CodeIndexManager is available and initialized
-    - Confirms codebase indexing is enabled in settings
-    - Checks that indexing is properly configured (API keys, Qdrant URL)
-    - Validates the current index state allows searching
-
-2. **Query Processing**:
-
-    - Takes your natural language query and generates an embedding vector
-    - Uses the same embedding provider configured for indexing (OpenAI or Ollama)
-    - Converts the semantic meaning of your query into a mathematical representation
-
-3. **Vector Search Execution**:
-
-    - Searches the Qdrant vector database for similar code embeddings
-    - Uses cosine similarity to find the most relevant code blocks
-    - Applies the minimum similarity threshold (0.4) to filter results
-    - Limits results to 50 matches for optimal performance
-
-4. **Path Filtering** (if specified):
-
-    - Filters results to only include files within the specified directory path
-    - Uses normalized path comparison for accurate filtering
-    - Maintains relevance ranking within the filtered scope
-
-5. **Result Processing and Formatting**:
-
-    - Converts absolute file paths to workspace-relative paths
-    - Structures results with file paths, line ranges, similarity scores, and code content
-    - Formats for both AI consumption and UI display with syntax highlighting
-
-6. **Dual Output Format**:
-    - **AI Output**: Structured text format with query, file paths, scores, and code chunks
-    - **UI Output**: JSON format with syntax highlighting and navigation capabilities
-
-## Search Query Best Practices
-
-### Effective Query Patterns
-
-**Good: Conceptual and specific**
-
-```xml
-<codebase_search>
-<query>user authentication and password validation</query>
-</codebase_search>
-```
-
-**Good: Feature-focused**
-
-```xml
-<codebase_search>
-<query>database connection pool setup</query>
-</codebase_search>
-```
-
-**Good: Problem-oriented**
-
-```xml
-<codebase_search>
-<query>error handling for API requests</query>
-</codebase_search>
-```
-
-**Less effective: Too generic**
-
-```xml
-<codebase_search>
-<query>function</query>
-</codebase_search>
-```
-
-### Query Types That Work Well
-
-- **Functional Descriptions**: "file upload processing", "email validation logic"
-- **Technical Patterns**: "singleton pattern implementation", "factory method usage"
-- **Domain Concepts**: "user profile management", "payment processing workflow"
-- **Architecture Components**: "middleware configuration", "database migration scripts"
-
-## Directory Scoping
-
-Use the optional `path` parameter to focus searches on specific parts of your codebase:
-
-**Search within API modules:**
-
-```xml
-<codebase_search>
-<query>endpoint validation middleware</query>
-<path>src/api</path>
-</codebase_search>
-```
-
-**Search in test files:**
-
-```xml
-<codebase_search>
-<query>mock data setup patterns</query>
-<path>tests</path>
-</codebase_search>
-```
-
-**Search specific feature directories:**
-
-```xml
-<codebase_search>
-<query>component state management</query>
-<path>src/components/auth</path>
-</codebase_search>
-```
-
-## Result Interpretation
-
-### Similarity Scores
-
-- **0.8-1.0**: Highly relevant matches, likely exactly what you're looking for
-- **0.6-0.8**: Good matches with strong conceptual similarity
-- **0.4-0.6**: Potentially relevant but may require review
-- **Below 0.4**: Filtered out as too dissimilar
-
-### Result Structure
-
-Each search result includes:
-
-- **File Path**: Workspace-relative path to the file containing the match
-- **Score**: Similarity score indicating relevance (0.4-1.0)
-- **Line Range**: Start and end line numbers for the code block
-- **Code Chunk**: The actual code content that matched your query
-
-## Examples When Used
-
-- When implementing a new feature, Kilo Code searches for "authentication middleware" to understand existing patterns before writing new code.
-- When debugging an issue, Kilo Code searches for "error handling in API calls" to find related error patterns across the codebase.
-- When refactoring code, Kilo Code searches for "database transaction patterns" to ensure consistency across all database operations.
-- When onboarding to a new codebase, Kilo Code searches for "configuration loading" to understand how the application bootstraps.
-
-## Usage Examples
-
-Searching for authentication-related code across the entire project:
-
-```xml
-<codebase_search>
-<query>user login and authentication logic</query>
-</codebase_search>
-```
-
-Finding database-related code in a specific directory:
-
-```xml
-<codebase_search>
-<query>database connection and query execution</query>
-<path>src/data</path>
-</codebase_search>
-```
-
-Looking for error handling patterns in API code:
-
-```xml
-<codebase_search>
-<query>HTTP error responses and exception handling</query>
-<path>src/api</path>
-</codebase_search>
-```
-
-Searching for testing utilities and mock setups:
-
-```xml
-<codebase_search>
-<query>test setup and mock data creation</query>
-<path>tests</path>
-</codebase_search>
-```
-
-Finding configuration and environment setup code:
-
-```xml
-<codebase_search>
-<query>environment variables and application configuration</query>
-</codebase_search>
-```

+ 0 - 326
apps/kilocode-docs/docs/advanced-usage/memory-bank.md

@@ -1,326 +0,0 @@
-# Memory Bank
-
-## Overview
-
-<YouTubeEmbed
-  url="https://youtu.be/FwAYGslfB6Y"
-/>
-
-<figure style={{ float: 'right', width: '40%', maxWidth: '350px', margin: '0 0 10px 20px' }}>
-  <img src="/docs/img/memory-bank/at-work.png" alt="Executing task with the memory bank" style={{ border: '1px solid grey', borderRadius: '5px', width: '100%' }} />
-  <figcaption style={{ fontSize: '0.9rem', color: '#666', marginTop: '8px', textAlign: 'center' }}>
-    Kilo Code works more efficiently with Memory Bank enabled, instantly understanding project context and technologies.
-  </figcaption>
-</figure>
-
-### The Problem: AI Memory Loss
-
-AI assistants like Kilo Code face a fundamental limitation: they reset completely between sessions. This "memory loss" means that every time you start a new conversation, you need to re-explain your project's architecture, goals, technologies, and current status. This creates a critical efficiency dilemma: AI models either make edits without proper project understanding (leading to errors and misaligned solutions), or must spend significant time and resources analyzing your entire codebase in each session (which is prohibitively expensive and slow for larger projects)
-
-Without a solution to this memory problem, AI assistants remain powerful but stateless tools that can't truly function as persistent development partners.
-
-### The Solution: Memory Bank
-
-Memory Bank is a system of structured documentation that enables Kilo Code to **better understand your project** and **maintain context across coding sessions**. It transforms your AI assistant from a stateless tool into a persistent development partner with perfect recall of your project details. Kilo Code automatically reads your Memory Bank files to rebuild its understanding of your project whenever you start a new session.
-
-When Memory Bank is active, Kilo Code begins each task with `[Memory Bank: Active]` and a brief summary of your project context, ensuring consistent understanding without repetitive explanations.
-
-## Key Benefits
-
-- **Language Agnostic**: Functions with any programming language or framework
-- **Efficient Project Understanding**: Helps Kilo Code understand the purpose and tech stack of a project
-- **Context Preservation**: Maintain project knowledge across sessions without needing to scan files in every new session
-- **Faster Startup**: Kilo Code immediately comprehends your project context when you begin a new session
-- **Self-Documenting Projects**: Create valuable documentation as a byproduct
-
-## How Memory Bank Works
-
-Memory Bank is built on Kilo Code's [Custom Rules](/agent-behavior/custom-rules) feature, providing a specialized framework for project documentation. Memory Bank files are standard markdown files stored in `.kilocode/rules/memory-bank` folder within your project repository. They're not hidden or proprietary - they're regular documentation files that both you and Kilo Code can access.
-
-At the start of every task, Kilo Code reads all Memory Bank files to build a comprehensive understanding of your project. This happens automatically without requiring any action from you. Kilo Code then indicates successful Memory Bank activation with `[Memory Bank: Active]` at the beginning of its response, followed by a brief summary of its understanding of your project.
-
-Files are organized in a hierarchical structure that builds a complete picture of your project:
-
-## Core Memory Bank Files
-
-### brief.md
-
-_This file is created and maintained manually by you_
-
-- The foundation of your project
-- High-level overview of what you're building
-- Core requirements and goals
-
-Example: _"Building a React web app for inventory management with barcode scanning. The system needs to support multiple warehouses and integrate with our existing ERP system."_
-
-Note: Kilo Code will not edit this file directly but may suggest improvements if it identifies ways to enhance your project brief.
-
-### product.md
-
-- Explains why the project exists
-- Describes the problems being solved
-- Outlines how the product should work
-- User experience goals
-
-Example: _"The inventory system needs to support multiple warehouses and real-time updates. It solves the problem of inventory discrepancies by providing barcode scanning for accurate stock counts."_
-
-### context.md
-
-- The most frequently updated file
-- Contains current work focus and recent changes
-- Tracks active decisions and considerations
-- Next steps for development
-
-Example: _"Currently implementing the barcode scanner component; last session completed the API integration. Next steps include adding error handling for network failures."_
-
-### architecture.md
-
-- Documents the system architecture
-- Records key technical decisions
-- Lists design patterns in use
-- Explains component relationships
-- Critical implementation paths
-
-Example: _"Using Redux for state management with a normalized store structure. The application follows a modular architecture with separate services for API communication, state management, and UI components."_
-
-### tech.md
-
-- Lists technologies and frameworks used
-- Describes development setup
-- Notes technical constraints
-- Records dependencies and tool configurations
-- Tool usage patterns
-
-Example: _"React 18, TypeScript, Firebase, Jest for testing. Development requires Node.js 16+ and uses Vite as the build tool."_
-
-## Additional Context Files
-
-Create additional files as needed to organize:
-
-- Complex feature documentation
-- Integration specifications
-- API documentation
-- Testing strategies
-- Deployment procedures
-
-These additional files help organize more detailed information that doesn't fit neatly into the core files.
-
-### tasks.md
-
-_Optional file for documenting repetitive tasks_
-
-- Stores workflows for tasks that follow similar patterns
-- Documents which files need to be modified
-- Captures step-by-step procedures
-- Records important considerations and gotchas
-
-Example: Adding support for new AI models, implementing API endpoints, or any task that requires doing similar jobs repeatedly.
-
-## Getting Started with Memory Bank
-
-### First-Time Setup
-
-1. Create a `.kilocode/rules/memory-bank/` folder in your project
-2. Write a basic project brief in `.kilocode/rules/memory-bank/brief.md`
-3. Create a file `.kilocode/rules/memory-bank-instructions.md` and paste there [this document](pathname:///downloads/memory-bank.md)
-4. Switch to `Architect` mode
-5. Check if a best available AI model is selected, don't use "lightweight" models
-6. Ask Kilo Code to "initialize memory bank"
-7. Wait for Kilo Code to analyze your project and initialize the Memory Bank files
-8. Verify the content of the files to see if the project is described correctly. Update the files if necessary.
-
-### Project Brief Tips
-
-- Start simple - it can be as detailed or high-level as you like
-- Focus on what matters most to you
-- Kilo Code will help fill in gaps and ask questions
-- You can update it as your project evolves
-
-Sample prompt that delivers a reasonably good brief:
-
-```
-Provide a concise and comprehensive description of this project, highlighting its main objectives, key features, used technologies and significance. Then, write this description into a text file named appropriately to reflect the project's content, ensuring clarity and professionalism in the writing. Stay brief and short.
-```
-
-## Working with Memory Bank
-
-### Core Workflows
-
-#### Memory Bank Initialization
-
-The initialization step is critically important as it establishes the foundation for all future interactions with your project. When you request initialization with the command `initialize memory bank`, Kilo Code will:
-
-1. Perform an exhaustive analysis of your project, including:
-    - All source code files and their relationships
-    - Configuration files and build system setup
-    - Project structure and organization patterns
-    - Documentation and comments
-    - Dependencies and external integrations
-    - Testing frameworks and patterns
-2. Create comprehensive memory bank files in the `.kilocode/rules/memory-bank` folder
-3. Provide a detailed summary of what it has understood about your project
-4. Ask you to verify the accuracy of the generated files
-
-:::warning Important
-Take time to carefully review and correct the generated files after initialization. Any misunderstandings or missing information at this stage will affect all future interactions. A thorough initialization dramatically improves Kilo Code's effectiveness, while a rushed or incomplete initialization will permanently limit its ability to assist you effectively.
-:::
-
-#### Memory Bank Updates
-
-Memory Bank updates occur when:
-
-1. Kilo Code discovers new project patterns
-2. After implementing significant changes
-3. When you explicitly request with `update memory bank`
-4. When context needs clarification
-
-To execute a Memory Bank update, Kilo Code will:
-
-1. Review ALL project files
-2. Document the current state
-3. Document insights and patterns
-4. Update all memory bank files as needed
-
-You can direct Kilo Code to focus on specific information sources by using commands like `update memory bank using information from @/Makefile`.
-
-#### Regular Task Execution
-
-At the beginning of every task, Kilo Code:
-
-1. Reads ALL memory bank files
-2. Includes `[Memory Bank: Active]` at the beginning of its response
-3. Provides a brief summary of its understanding of your project
-4. Proceeds with the requested task
-
-At the end of a task, Kilo Code may suggest updating the memory bank if significant changes were made, using the phrase: "Would you like me to update memory bank to reflect these changes?"
-
-#### Add Task Workflow
-
-When you complete a repetitive task that follows a similar pattern each time, you can document it for future reference. This is particularly useful for tasks like adding features that follow existing patterns
-
-To document a task, use the command `add task` or `store this as a task`. Kilo Code will:
-
-1. Create or update the `tasks.md` file in the memory bank folder
-2. Document the task using current context:
-    - Task name and description
-    - List of files that need to be modified
-    - Step-by-step workflow
-    - Important considerations
-    - Example implementation
-
-When starting a new task, Kilo Code will check if it matches any documented tasks and follow the established workflow to ensure no steps are missed.
-
-### Key Commands
-
-- `initialize memory bank` - Use when starting a new project
-- `update memory bank` - Initiates a comprehensive re-analysis of the contextual documentation for the current task. **Caution:** This is resource-intensive and not recommended for "lightweight" models due to potentially reduced effectiveness. Can be used multiple times, well combinable with specific instructions, e.g. `update memory bank using information from @/Makefile`
-- `add task` or `store this as a task` - Documents a repetitive task for future reference
-
-### Status Indicators
-
-Kilo Code uses status indicators to clearly communicate Memory Bank status:
-
-- `[Memory Bank: Active]` - Indicates Memory Bank files were successfully read and are being used
-- `[Memory Bank: Missing]` - Indicates Memory Bank files could not be found or are empty
-
-These indicators appear at the beginning of Kilo Code's responses, providing immediate confirmation of Memory Bank status.
-
-### Documentation Updates
-
-Memory Bank updates should automatically occur when:
-
-- You discover new patterns in your project
-- After implementing significant changes
-- When you explicitly request with `update memory bank`
-- When you feel context needs clarification
-
-## Context Window Management
-
-As you work with Kilo Code, your context window will eventually fill up. When you notice responses slowing down or references becoming less accurate:
-
-1. Ask Kilo Code to "update memory bank" to document the current state
-2. Start a new conversation/task
-3. Kilo Code will automatically access your Memory Bank in the new conversation
-
-This process ensures continuity across multiple sessions without losing important context.
-
-## Handling Inconsistencies
-
-If Kilo Code detects inconsistencies between memory bank files:
-
-1. It will prioritize information from `brief.md` as the source of truth
-2. Note any discrepancies to you
-3. Continue working with the most reliable information available
-
-This ensures that even with imperfect documentation, Kilo Code can still function effectively.
-
-## Frequently Asked Questions
-
-### Where are the memory bank files stored?
-
-The Memory Bank files are regular markdown files stored in your project repository, typically in a `.kilocode/rules/memory-bank/` folder. They're not hidden system files - they're designed to be part of your project documentation.
-
-### How often should I update the memory bank?
-
-Update the Memory Bank after significant milestones or changes in direction. For active development, updates every few sessions can be helpful. Use the "update memory bank" command when you want to ensure all context is preserved.
-
-### Can I edit memory bank files manually?
-
-Yes! While Kilo Code manages most of the files, you can edit any of them manually. The `brief.md` file is specifically designed to be maintained by you. Manual edits to other files will be respected by Kilo Code.
-
-### What happens if memory bank files are missing?
-
-If memory bank files are missing, Kilo Code will indicate this with `[Memory Bank: Missing]` at the beginning of its response and suggest initializing the memory bank.
-
-### Does Memory Bank work with all AI models?
-
-Memory Bank works with all AI models, but more powerful models will create more comprehensive and accurate memory bank files. Lightweight models may struggle with the resource-intensive process of analyzing and updating memory bank files.
-
-### Can I use Memory Bank with multiple projects?
-
-Yes! Each project has its own Memory Bank in its `.kilocode/rules/memory-bank/` folder. Kilo Code will automatically use the correct Memory Bank for each project.
-
-### Doesn't Memory Bank use up my context window?
-
-Yes, Memory Bank does consume some of your context window at the beginning of each session as it loads all memory bank files. However, this is a strategic tradeoff that significantly improves overall efficiency. By front-loading project context:
-
-- You eliminate repetitive explanations that would consume even more context over time
-- You reach productive outcomes with fewer back-and-forth exchanges
-- You maintain consistent understanding throughout your session
-
-Testing shows that while Memory Bank uses more tokens initially, it dramatically reduces the total number of interactions needed to achieve results. This means less time explaining and more time building.
-
-## Best Practices
-
-### Getting Started
-
-- Start with a basic project brief and let the structure evolve
-- Let Kilo Code help create the initial structure
-- Review and adjust files as needed to match your workflow
-- Verify the accuracy of generated files after initialization
-
-### Ongoing Work
-
-- Let patterns emerge naturally as you work
-- Don't force documentation updates - they should happen organically
-- Trust the process - the value compounds over time
-- Watch for context confirmation at the start of sessions
-- Use the status indicators to confirm Memory Bank is active
-
-### Documentation Flow
-
-- `brief.md` is your foundation
-- `context.md` changes most frequently
-- All files collectively maintain project intelligence
-- Update after significant milestones or changes in direction
-
-### Optimizing Memory Bank Performance
-
-- Keep memory bank files concise and focused
-- Use additional files for detailed documentation
-- Update regularly but not excessively
-- Use specific update commands when focusing on particular aspects
-
-## Remember
-
-The Memory Bank is Kilo Code's only link to previous work. Its effectiveness depends entirely on maintaining clear, accurate documentation and confirming context preservation in every interaction. When you see `[Memory Bank: Active]` at the beginning of a response, you can be confident that Kilo Code has a comprehensive understanding of your project.

+ 0 - 44
apps/kilocode-docs/docs/agent-behavior/custom-instructions.md

@@ -1,44 +0,0 @@
-# Custom Instructions
-
-Custom Instructions allow you to personalize how Kilo Code behaves, providing specific guidance that shapes responses, coding style, and decision-making processes.
-
-## What Are Custom Instructions?
-
-Custom Instructions define specific Extension behaviors, preferences, and constraints beyond Kilo's basic role definition. Examples include coding style, documentation standards, testing requirements, and workflow guidelines.
-
-:::info Custom Instructions vs Rules
-Custom Instructions are IDE-wide and are applied across all workspaces and maintain your preferences regardless of which project you're working on. Unlike Instructions, [Custom Rules](/agent-behavior/custom-rules) are project specific and allow you to setup workspace-based ruleset.
-:::
-
-## Setting Custom Instructions
-
-**How to set them:**
-
-<img src="/docs/img/custom-instructions/custom-instructions.png" alt="Kilo Code Agent Behaviour tab showing global custom instructions interface" width="600" />
-1.  **Open Agent Behaviour Tab:** Click the <Codicon name="gear" /> icon in the Kilo Code top menu bar to open Settings, then select the `Agent Behaviour` tab
-2.  **Select Modes Sub-Tab:** Click on the `Modes` sub-tab
-3.  **Find Section:** Find the "Custom Instructions for All Modes" section
-4.  **Enter Instructions:** Enter your instructions in the text area
-5.  **Save Changes:** Click "Done" to save your changes
-
-#### Mode-Specific Instructions
-
-Mode-specific instructions can be set using the Agent Behaviour tab
-
-    <img src="/docs/img/custom-instructions/custom-instructions-3.png" alt="Kilo Code Agent Behaviour tab showing mode-specific custom instructions interface" width="600" />
-    * **Open Agent Behaviour Tab:** Click the <Codicon name="gear" /> icon in the Kilo Code top menu bar to open Settings, then select the `Agent Behaviour` tab
-    * **Select Modes Sub-Tab:** Click on the `Modes` sub-tab
-    * **Select Mode:** Under the Modes heading, click the button for the mode you want to customize
-    * **Enter Instructions:** Enter your instructions in the text area under "Mode-specific Custom Instructions (optional)"
-    * **Save Changes:** Click "Done" to save your changes
-
-        :::info Global Mode Rules
-        If the mode itself is global (not workspace-specific), any custom instructions you set for it will also apply globally for that mode across all workspaces.
-        :::
-
-## Related Features
-
-- [Custom Modes](/agent-behavior/custom-modes)
-- [Custom Rules](/agent-behavior/custom-rules)
-- [Settings Management](/basic-usage/settings-management)
-- [Auto-Approval Settings](/features/auto-approving-actions)

BIN
apps/kilocode-docs/docs/basic-usage/autocomplete-mistral-setup/10-save-settings.png


+ 0 - 81
apps/kilocode-docs/docs/basic-usage/connecting-providers.md

@@ -1,81 +0,0 @@
----
-sidebar_label: Overview
----
-
-# API Providers Overview
-
-**Bottom line**: Kilo Code, like any agentic AI coding tool, needs AI model providers to function. You can use our [built-in provider](/providers/kilocode) (easiest) or connect your own API keys from **30+ providers**.
-
-## Kilo Code Extension vs. API Provider
-
-### The Extension
-
-- VS Code tool you install from the marketplace
-- Handles UI, file operations, and workflow management
-- [Open source](https://github.com/Kilo-Org/kilocode)
-- Connects to any AI provider
-
-### Kilo Gateway Provider
-
-- **Built-in option** that comes with the extension
-- Google sign-in with free credits included
-- No API key management required
-- Access to frontier coding models
-- [Competitive pricing](https://kilo.ai/pricing)
-
-**Key point**: The extension works with any provider—our API service is just the "batteries included" option.
-
-## Getting Started: Two Paths
-
-### Option 1: Built-in Provider (Recommended)
-
-✅ **Fastest setup**
-
-- Sign in with Google or GitHub at kilo.ai
-- Free credits included for your first top-up
-- Zero API key management
-- Latest models available
-
-→ [Complete setup guide](/providers/kilocode)
-
-### Option 2: Your Own Provider
-
-**More control, more setup**
-
-1. Choose from 30+ supported providers
-2. Get API key from your provider
-3. Configure in Kilo Code settings
-
-## Why Use Multiple Providers?
-
-- **Cost**: Compare pricing across providers
-- **Models**: Access different AI capabilities
-- **Reliability**: Backup options for outages
-- **Features**: Some providers offer exclusive models
-- **Regional**: Better performance in certain locations
-
-## What's in This Section
-
-### [Connecting Your First AI Provider](/getting-started/connecting-api-provider)
-
-**For beginners**: Step-by-step setup including:
-
-- Recommended providers
-- How to get API keys
-- Initial VS Code configuration
-- Starting your first AI chat
-
-### [API Configuration Profiles](/features/api-configuration-profiles)
-
-**For power users**: Advanced management including:
-
-- Multiple provider configurations
-- Model switching strategies
-- Secure API key management
-- Task-specific optimizations
-
-## Security Note
-
-All API keys use VS Code's Secret Storage—never stored in plain text. Industry-standard security practices protect your credentials.
-
-**Ready to start?** → [Connect your first provider](/getting-started/connecting-api-provider) or jump to [advanced profiles](/features/api-configuration-profiles).

+ 0 - 101
apps/kilocode-docs/docs/basic-usage/the-chat-interface.md

@@ -1,101 +0,0 @@
-import Image from '@site/src/components/Image';
-
-# Chatting with Kilo Code
-
-:::tip
-
-**Bottom line:** Kilo Code is an AI coding assistant that lives in VS Code. You chat with it in plain English, and it writes, edits, and explains code for you.
-
-:::
-
-:::note[Prefer quick completions?]
-
-If you're typing code in the editor and want AI to finish your line or block, check out [Autocomplete](/basic-usage/autocomplete) instead. Chat is best for larger tasks, explanations, and multi-file changes.
-
-:::
-
-## Quick Setup
-
-Find the Kilo Code icon (<img src="/docs/img/kilo-v1.svg" width="12" />) in VS Code's Primary Side Bar. Click it to open the chat panel.
-
-**Lost the panel?** Go to View > Open View... and search for "Kilo Code"
-
-## How to Talk to Kilo Code
-
-**The key insight:** Just type what you want in normal English. No special commands needed.
-
-<Image src="/docs/img/typing-your-requests/typing-your-requests.png" alt="Example of typing a request in Kilo Code" width="600" />
-
-**Good requests:**
-
-```
-create a new file named utils.py and add a function called add that takes two numbers as arguments and returns their sum
-```
-
-```
-in the file @src/components/Button.tsx, change the color of the button to blue
-```
-
-```
-find all instances of the variable oldValue in @/src/App.js and replace them with newValue
-```
-
-**What makes requests work:**
-
-- **Be specific** - "Fix the bug in `calculateTotal` that returns incorrect results" beats "Fix the code"
-- **Use @ mentions** - Reference files and code directly with `@filename`
-- **One task at a time** - Break complex work into manageable steps
-- **Include examples** - Show the style or format you want
-
-:::info[Chat vs Autocomplete]
-
-**Use chat** when you need to describe what you want, ask questions, or make changes across multiple files.
-
-**Use [autocomplete](/basic-usage/autocomplete)** when you're already typing code and want the AI to finish your thought inline.
-
-:::
-
-## The Chat Interface
-
-<Image 
-    src="/docs/img/the-chat-interface/the-chat-interface-1.png" 
-    alt="Chat interface components labeled with callouts" width="750" 
-    caption="Everything you need is right here"
-/>
-
-**Essential controls:**
-
-- **Chat history** - See your conversation and task history
-- **Input field** - Type your requests here (press Enter to send)
-- **Action buttons** - Approve or reject Kilo's proposed changes
-- **Plus button** - Start a new task session
-- **Mode selector** - Choose how Kilo should approach your task
-
-## Quick Interactions
-
-**Click to act:**
-
-- File paths → Opens the file
-- URLs → Opens in browser
-- Messages → Expand/collapse details
-- Code blocks → Copy button appears
-
-**Status signals:**
-
-- Spinning → Kilo is working
-- Red → Error occurred
-- Green → Success
-
-## Common Mistakes to Avoid
-
-| Instead of this...                | Try this                                                             |
-| --------------------------------- | -------------------------------------------------------------------- |
-| "Fix the code"                    | "Fix the bug in `calculateTotal` that returns incorrect results"     |
-| Assuming Kilo knows context       | Use `@` to reference specific files                                  |
-| Multiple unrelated tasks          | Submit one focused request at a time                                 |
-| Technical jargon overload         | Clear, straightforward language works best                           |
-| Using chat for tiny code changes. | Use [autocomplete](/basic-usage/autocomplete) for inline completions |
-
-**Why it matters:** Kilo Code works best when you communicate like you're talking to a smart teammate who needs clear direction.
-
-Ready to start coding? Open the chat panel and describe what you want to build!

+ 0 - 685
apps/kilocode-docs/docs/cli.md

@@ -1,685 +0,0 @@
-# Kilo Code CLI
-
-Orchestrate agents from your terminal. Plan, debug, and code fast with keyboard-first navigation on the command line.
-
-The Kilo Code CLI uses the same underlying technology that powers the IDE extensions, so you can expect the same workflow to handle agentic coding tasks from start to finish.
-
-## Install
-
-`npm install -g @kilocode/cli`
-
-Change directory to where you want to work and run kilocode:
-
-```bash
-# Start interactive chat session
-kilocode
-
-# Start with a specific mode
-kilocode --mode architect
-
-# Start with a specific workspace
-kilocode --workspace /path/to/project
-
-# Resume last conversation from current workspace
-kilocode --continue
-```
-
-to start the CLI and begin a new task with your preferred model and relevant mode.
-
-## Update
-
-Upgrade the Kilo CLI package:
-
-`npm update -g @kilocode/cli`
-
-## What you can do with Kilo Code CLI
-
-- **Plan and execute code changes without leaving your terminal.** Use your command line to make edits to your project without opening your IDE.
-- **Switch between hundreds of LLMs without constraints.** Other CLI tools only work with one model or curate opinionated lists. With Kilo, you can switch models without booting up another tool.
-- **Choose the right mode for the task in your workflow.** Select between Architect, Ask, Debug, Orchestrator, or custom agent modes.
-- **Automate tasks.** Get AI assistance writing shell scripts for tasks like renaming all of the files in a folder or transforming sizes for a set of images.
-- **Extend capabilities with skills.** Add domain expertise and repeatable workflows through [Agent Skills](#skills).
-
-## CLI reference
-
-### Keyboard shortcuts
-
-| Shortcut    | Description                                                                        |
-| ----------- | ---------------------------------------------------------------------------------- |
-| `Shift+Tab` | Cycle through modes (architect → code → ask → debug → orchestrator → custom modes) |
-| `Ctrl+C`    | Exit (press twice to confirm)                                                      |
-| `Ctrl+X`    | Cancel current task                                                                |
-| `Esc`       | Cancel current task (while streaming) or clear input                               |
-| `Ctrl+Y`    | Toggle YOLO mode (auto-approve all operations)                                     |
-| `Ctrl+R`    | Resume task (when a task is ready to resume)                                       |
-| `!`         | Enter shell mode (when input is empty)                                             |
-| `↑/↓`       | Navigate command history (when input is empty)                                     |
-
-### CLI commands
-
-| Command               | Description                                                      | Example                        |
-| --------------------- | ---------------------------------------------------------------- | ------------------------------ |
-| `kilocode`            | Start interactive                                                |                                |
-| `/mode`               | Switch between modes (architect, code, debug, ask, orchestrator) | `/mode orchestrator`           |
-| `/model`              | Learn about available models and switch between them             |                                |
-| `/model list`         | List available models                                            |                                |
-| `/model info`         | Prints description for a specific model by name                  | `/model info z-ai/glm-4.5v`    |
-| `/model select`       | Select and switch to a new model                                 |                                |
-| `/checkpoint list`    | List all available checkpoints                                   |                                |
-| `/checkpoint restore` | Revert to a specific checkpoint (destructive action)             | `/checkpoint restore 41db173a` |
-| `/tasks`              | View task history                                                |                                |
-| `/tasks search`       | Search tasks by query                                            | `/tasks search bug fix`        |
-| `/tasks select`       | Switch to a specific task                                        | `/tasks select abc123`         |
-| `/tasks page`         | Go to a specific page                                            | `/tasks page 2`                |
-| `/tasks next`         | Go to next page of task history                                  |                                |
-| `/tasks prev`         | Go to previous page of task history                              |                                |
-| `/tasks sort`         | Change sort order                                                | `/tasks sort most-expensive`   |
-| `/tasks filter`       | Filter tasks                                                     | `/tasks filter favorites`      |
-| `/teams`              | List all organizations you can switch into                       |                                |
-| `/teams select`       | Switch to a different organization                               |                                |
-| `/config`             | Open configuration editor (same as `kilocode config`)            |                                |
-| `/new`                | Start a new task with the agent with a clean slate               |                                |
-| `/help`               | List available commands and how to use them                      |                                |
-| `/exit`               | Exit the CLI                                                     |                                |
-
-## Skills
-
-The CLI supports [Agent Skills](https://agentskills.io/), a lightweight format for extending AI capabilities with specialized knowledge and workflows.
-
-Skills are discovered from:
-
-- **Global skills**: `~/.kilocode/skills/` (available in all projects)
-- **Project skills**: `.kilocode/skills/` (project-specific)
-
-Skills can be:
-
-- **Generic** - Available in all modes
-- **Mode-specific** - Only loaded when using a particular mode (e.g., `code`, `architect`)
-
-For example:
-
-```
-your-project/
-└── .kilocode/
-    ├── skills/               # Generic skills for this project
-    │   └── project-conventions/
-    │       └── SKILL.md
-    └── skills-code/          # Code mode skills for this project
-        └── linting-rules/
-            └── SKILL.md
-```
-
-### Adding a Skill
-
-1. Create the skill directory:
-
-    ```bash
-    mkdir -p ~/.kilocode/skills/api-design
-    ```
-
-2. Create a `SKILL.md` file with YAML frontmatter:
-
-    ```markdown
-    ---
-    name: api-design
-    description: REST API design best practices and conventions
-    ---
-
-    # API Design Guidelines
-
-    When designing REST APIs, follow these conventions...
-    ```
-
-    The `name` field must match the directory name exactly.
-
-3. Start a new CLI session to load the skill
-
-#### Finding skills
-
-There are community efforts to build and share agent skills. Some resources include:
-
-- [Skills Marketplace](https://skillsmp.com/) - Community marketplace of skills
-- [Skill Specification](https://agentskills.io/home) - Agent Skills specification
-
-## Custom Commands
-
-Custom commands allow you to create reusable slash commands that execute predefined prompts with argument substitution. They provide a convenient way to streamline repetitive tasks and standardize workflows.
-
-Custom commands are discovered from:
-
-- **Global commands**: `~/.kilocode/commands/` (available in all projects)
-- **Project commands**: `.kilocode/commands/` (project-specific)
-
-Commands are simple markdown files with YAML frontmatter for configuration.
-
-### Creating a Custom Command
-
-1. Create the commands directory:
-
-    ```bash
-    mkdir -p ~/.kilocode/commands # mkdir %USERPROFILE%\.kilocode\commands on windows
-    ```
-
-2. Create a markdown file (e.g., `component.md`):
-
-    ```markdown
-    ---
-    description: Create a new React component
-    arguments:
-        - ComponentName
-    ---
-
-    Create a new React component named $1.
-    Include:
-
-    - Proper TypeScript typing
-    - Basic component structure
-    - Export statement
-    - A simple props interface if appropriate
-
-    Place it in the appropriate directory based on the project structure.
-    ```
-
-3. Use the command in your CLI session:
-
-    ```bash
-    /component Button
-    ```
-
-### Frontmatter Options
-
-Custom commands support the following frontmatter fields:
-
-- **`description`** (optional): Short description shown in `/help`
-- **`arguments`** (optional): List of argument names for documentation
-- **`mode`** (optional): Automatically switch to this mode when running the command
-- **`model`** (optional): Automatically switch to this model when running the command
-
-### Argument Substitution
-
-Commands support powerful argument substitution:
-
-- **`$ARGUMENTS`**: All arguments joined with spaces
-- **`$1`, `$2`, `$3`, etc.**: Individual positional arguments
-
-**Example:**
-
-```markdown
----
-description: Create a file with content
-arguments:
-    - filename
-    - content
----
-
-Create a new file named $1 with the following content:
-
-$2
-```
-
-Usage: `/createfile app.ts "console.log('Hello')"`
-
-### Mode and Model Switching
-
-Commands can automatically switch modes and models:
-
-```markdown
----
-description: Run tests with coverage
-mode: code
-model: anthropic/claude-3-5-sonnet-20241022
----
-
-Run the full test suite with coverage report and show any failures.
-Focus on the failing tests and suggest fixes.
-```
-
-When you run `/test`, it will automatically switch to code mode and use the specified model.
-
-### Example Commands
-
-**Initialize project documentation:**
-
-```markdown
----
-description: Analyze codebase and create AGENTS.md
-mode: code
----
-
-Please analyze this codebase and create an AGENTS.md file containing:
-
-1. Build/lint/test commands - especially for running a single test
-2. Code style guidelines including imports, formatting, types, naming conventions
-
-Focus on project-specific, non-obvious information discovered by reading files.
-```
-
-**Refactor code:**
-
-```markdown
----
-description: Refactor code for better quality
-arguments:
-    - filepath
----
-
-Refactor $1 to improve:
-
-- Code readability
-- Performance
-- Maintainability
-- Type safety
-
-Explain the changes you make and why they improve the code.
-```
-
-### Command Priority
-
-Project-specific commands override global commands with the same name, allowing you to customize behavior per project while maintaining sensible defaults globally.
-
-## Checkpoint Management
-
-Kilo Code automatically creates checkpoints as you work, allowing you to revert to previous states in your project's history.
-
-### Viewing Checkpoints
-
-List all available checkpoints with `/checkpoint list`:
-
-```bash
-/checkpoint list
-```
-
-This displays:
-
-- Full 40-character git commit hash
-- Relative timestamp (e.g., "5 minutes ago", "2 hours ago")
-- Auto-saved checkpoints are marked with `[auto-saved]`
-
-### Restoring Checkpoints
-
-Revert to a specific checkpoint using the full git hash:
-
-```bash
-/checkpoint restore 00d185d5020969752bc9ae40823b9d6a723696e2
-```
-
-:::danger Warning
-Checkpoint restoration is a **destructive action**:
-
-- Performs a git hard reset (all uncommitted changes will be lost)
-- Removes all messages from the conversation after the checkpoint
-- Cannot be undone
-
-Make sure you've committed or backed up any work you want to keep before restoring.
-:::
-
-**Aliases:** `/cp` can be used as a shorthand for `/checkpoint`
-
-## Task History
-
-View, search, and navigate through your task history directly from the CLI.
-
-### Viewing Task History
-
-Display your task history with `/tasks`:
-
-```bash
-/tasks
-```
-
-This shows:
-
-- Task number and description
-- Task ID (for selecting)
-- Relative timestamp
-- Cost in dollars
-- Token usage
-- Favorite indicator (⭐) for favorited tasks
-- Pagination (10 tasks per page)
-
-### Searching Tasks
-
-Search for specific tasks by keyword:
-
-```bash
-/tasks search bug fix
-/tasks search implement feature
-```
-
-Search automatically sorts results by relevance.
-
-### Selecting a Task
-
-Switch to a specific task using its ID:
-
-```bash
-/tasks select abc123
-```
-
-This loads the selected task and its full conversation history.
-
-### Pagination
-
-Navigate through pages of task history:
-
-```bash
-/tasks page 2      # Go to page 2
-/tasks next        # Go to next page
-/tasks prev        # Go to previous page
-```
-
-### Sorting Tasks
-
-Sort tasks by different criteria:
-
-```bash
-/tasks sort newest          # Most recent first (default)
-/tasks sort oldest          # Oldest first
-/tasks sort most-expensive  # Highest cost first
-/tasks sort most-tokens     # Most tokens used first
-/tasks sort most-relevant   # Most relevant (used with search)
-```
-
-### Filtering Tasks
-
-Filter tasks by workspace or favorites:
-
-```bash
-/tasks filter current    # Show only tasks from current workspace
-/tasks filter all        # Show tasks from all workspaces
-/tasks filter favorites  # Show only favorited tasks
-/tasks filter all-tasks  # Show all tasks (remove filters)
-```
-
-**Aliases:** `/t` and `/history` can be used as shorthand for `/tasks`
-
-## Config reference for providers
-
-Kilo gives you the ability to bring your own keys for a number of model providers and AI gateways, like OpenRouter and Vercel AI Gateway. Each provider has unique configuration options and some let you set environment variables.
-
-You can reference the [Provider Configuration Guide](https://github.com/Kilo-Org/kilocode/blob/main/cli/docs/PROVIDER_CONFIGURATION.md) for examples if you want to edit .config files manually. You can also run:
-
-`kilocode config`
-
-to complete configuration with an interactive workflow on the command line.
-
-:::tip
-You can also use the `/config` slash command during an interactive session, which is equivalent to running `kilocode config`.
-:::
-
-## Parallel mode
-
-Parallel mode allows multiple Kilo Code instances to work in parallel on the same directory, without conflicts. You can spawn as many Kilo Code instances as you need! Once finished, changes will be available on a separate git branch.
-
-```bash
-# Prerequisite: must be within a valid git repository
-
-# In interactive mode, changes will be committed on /exit
-# Terminal 1
-kilocode --parallel "improve xyz"
-# Terminal 2
-kilocode --parallel "improve abc"
-
-# Pairs great with auto mode 🚀
-# Terminal 1
-kilocode --parallel --auto "improve xyz"
-# Terminal 2
-kilocode --parallel --auto "improve abc"
-```
-
-## Auto-approval settings
-
-Auto-approval allows the Kilo Code CLI to perform operations without first requiring user confirmation. These settings can either be built up over time in interactive mode, or by editing your config file using `kilocode config` or editing the file directly at `~/.kilocode/config.json`.
-
-### Default auto-approval settings
-
-```json
-{
-	"autoApproval": {
-		"enabled": true,
-		"read": {
-			"enabled": true,
-			"outside": false
-		},
-		"write": {
-			"enabled": true,
-			"outside": false,
-			"protected": false
-		},
-		"execute": {
-			"enabled": true,
-			"allowed": ["npm", "git", "pnpm"],
-			"denied": ["rm -rf", "sudo"]
-		},
-		"browser": {
-			"enabled": false
-		},
-		"mcp": {
-			"enabled": true
-		},
-		"mode": {
-			"enabled": true
-		},
-		"subtasks": {
-			"enabled": true
-		},
-		"question": {
-			"enabled": false,
-			"timeout": 60
-		},
-		"retry": {
-			"enabled": true,
-			"delay": 10
-		},
-		"todo": {
-			"enabled": true
-		}
-	}
-}
-```
-
-**Configuration Options:**
-
-- `read`: Auto-approve file read operations
-    - `outside`: Allow reading files outside workspace
-- `write`: Auto-approve file write operations
-    - `outside`: Allow writing files outside workspace
-    - `protected`: Allow writing to protected files (e.g., package.json)
-- `execute`: Auto-approve command execution
-    - `allowed`: List of allowed command patterns (e.g., ["npm", "git"])
-    - `denied`: List of denied command patterns (takes precedence)
-- `browser`: Auto-approve browser operations
-- `mcp`: Auto-approve MCP tool usage
-- `mode`: Auto-approve mode switching
-- `subtasks`: Auto-approve subtask creation
-- `question`: Auto-approve follow-up questions
-- `retry`: Auto-approve API retry requests
-- `todo`: Auto-approve todo list updates
-
-### Command Approval Patterns
-
-The `execute.allowed` and `execute.denied` lists support hierarchical pattern matching:
-
-- **Base command**: `"git"` matches any git command (e.g., `git status`, `git commit`, `git push`)
-- **Command + subcommand**: `"git status"` matches any git status command (e.g., `git status --short`, `git status -v`)
-- **Full command**: `"git status --short"` only matches exactly `git status --short`
-
-**Example:**
-
-```json
-{
-	"execute": {
-		"enabled": true,
-		"allowed": [
-			"npm", // Allows all npm commands
-			"git status", // Allows all git status commands
-			"ls -la" // Only allows exactly "ls -la"
-		],
-		"denied": [
-			"git push --force" // Denies this specific command even if "git" is allowed
-		]
-	}
-}
-```
-
-## Interactive Mode
-
-Interactive mode is the default mode when running Kilo Code without the `--auto` flag, designed to work interactively with a user through the console.
-
-In interactive mode Kilo Code will request approval for operations which have not been auto-approved, allowing the user to review and approve operations before they are executed, and optionally add them to the auto-approval list.
-
-### Interactive Command Approval
-
-When running in interactive mode, command approval requests now show hierarchical options:
-
-```
-[!] Action Required:
-> ✓ Run Command (y)
-  ✓ Always run git (1)
-  ✓ Always run git status (2)
-  ✓ Always run git status --short --branch (3)
-  ✗ Reject (n)
-```
-
-Selecting an "Always run" option will:
-
-1. Approve and execute the current command
-2. Add the pattern to your `execute.allowed` list in the config
-3. Auto-approve matching commands in the future
-
-This allows you to progressively build your auto-approval rules without manually editing the config file.
-
-## Autonomous mode (Non-Interactive)
-
-Autonomous mode allows Kilo Code to run in automated environments like CI/CD pipelines without requiring user interaction.
-
-```bash
-# Run in autonomous mode with a prompt
-kilocode --auto "Implement feature X"
-
-# Run in autonomous mode with piped input
-echo "Fix the bug in app.ts" | kilocode --auto
-
-# Run in autonomous mode with timeout (in seconds)
-kilocode --auto "Run tests" --timeout 300
-
-# Run in autonomous mode with JSON output for structured parsing
-kilocode --auto --json "Implement feature X"
-```
-
-### Autonomous Mode Behavior
-
-When running in Autonomous mode (`--auto` flag):
-
-1. **No User Interaction**: All approval requests are handled automatically based on configuration
-2. **Auto-Approval/Rejection**: Operations are approved or rejected based on your auto-approval settings
-3. **Follow-up Questions**: Automatically responded with a message instructing the AI to make autonomous decisions
-4. **Automatic Exit**: The CLI exits automatically when the task completes or times out
-
-### JSON Output Mode
-
-Use the `--json` flag with `--auto` to get structured JSON output instead of the default terminal UI. This is useful for programmatic integration and parsing of Kilo Code responses.
-
-```bash
-# Standard autonomous mode with terminal UI
-kilocode --auto "Fix the bug"
-
-# Autonomous mode with JSON output
-kilocode --auto --json "Fix the bug"
-
-# With piped input
-echo "Implement feature X" | kilocode --auto --json
-```
-
-**Requirements:**
-
-- The `--json` flag requires `--auto` mode to be enabled
-- Output is sent to stdout as structured JSON for easy parsing
-- Ideal for CI/CD pipelines and automated workflows
-
-### Auto-Approval in Autonomous Mode
-
-Autonomous mode respects your [auto-approval configuration](#auto-approval-settings). Operations which are not auto-approved will not be allowed.
-
-### Autonomous Mode Follow-up Questions
-
-In Autonomous mode, when the AI asks a follow-up question, it receives this response:
-
-> "This process is running in non-interactive Autonomous mode. The user cannot make decisions, so you should make the decision autonomously."
-
-This instructs the AI to proceed without user input.
-
-### Exit Codes
-
-- `0`: Success (task completed)
-- `124`: Timeout (task exceeded time limit)
-- `1`: Error (initialization or execution failure)
-
-### Example CI/CD Integration
-
-```yaml
-# GitHub Actions example
-- name: Run Kilo Code
-  run: |
-      echo "Implement the new feature" | kilocode --auto --timeout 600
-```
-
-## Session Continuation
-
-Resume your last conversation from the current workspace using the `--continue` (or `-c`) flag:
-
-```bash
-# Resume the most recent task from this workspace
-kilocode --continue
-kilocode -c
-```
-
-This feature:
-
-- Automatically finds the most recent task from the current workspace
-- Loads the full conversation history
-- Allows you to continue where you left off
-- Cannot be used with `--auto` mode or with a prompt argument
-- Exits with an error if no previous tasks are found
-
-**Example workflow:**
-
-```bash
-# Start a task
-kilocode
-# > "Create a REST API"
-# ... work on the task ...
-# Exit with /exit
-
-# Later, resume the same task
-kilocode --continue
-# Conversation history is restored, ready to continue
-```
-
-**Limitations:**
-
-- Cannot be combined with `--auto` mode
-- Cannot be used with a prompt argument
-- Only works when there's at least one previous task in the workspace
-
-## Environment Variable Overrides
-
-The CLI supports overriding config values with environment variables. The supported environment variables are:
-
-- `KILO_PROVIDER`: Override the active provider ID
-- For `kilocode` provider: `KILOCODE_<FIELD_NAME>` (e.g., `KILOCODE_MODEL` → `kilocodeModel`)
-- For other providers: `KILO_<FIELD_NAME>` (e.g., `KILO_API_KEY` → `apiKey`)
-
-## Local Development
-
-### DevTools
-
-In order to run the CLI with devtools, add `DEV=true` to your `pnpm start` command, and then run `npx react-devtools` to show the devtools inspector.
-
-## Switching into an Organization from the CLI
-
-Use the `/teams` command to see a list of all organizations you can switch into.
-
-Use `/teams select` and start typing the team name to switch teams.
-
-The process is the same when switching into a Team or Enterprise organization.

+ 0 - 104
apps/kilocode-docs/docs/features/api-configuration-profiles.md

@@ -1,104 +0,0 @@
-# API Configuration Profiles
-
-API Configuration Profiles allow you to create and switch between different sets of AI settings. Each profile can have different configurations for each mode, letting you optimize your experience based on the task at hand.
-
-:::info
-Having multiple configuration profiles lets you quickly switch between different AI providers, models, and settings without reconfiguring everything each time you want to change your setup.
-:::
-
-## How It Works
-
-Configuration profiles can have their own:
-
-- API providers (OpenAI, Anthropic, OpenRouter, Glama, etc.)
-- API keys and authentication details
-- Model selections (o3-mini-high, Claude 3.7 Sonnet, DeepSeek R1, etc.)
-- [Temperature settings](/features/model-temperature) for controlling response randomness
-- Thinking budgets
-- Provider-specific settings
-
-Note that available settings vary by provider and model. Each provider offers different configuration options, and even within the same provider, different models may support different parameter ranges or features.
-
-## Creating and Managing Profiles
-
-### Creating a Profile
-
-1. Open Settings by clicking the gear icon <Codicon name="gear" /> → Providers
-2. Click the "+" button next to the profile selector
-
- <img src="/docs/img/api-configuration-profiles/api-configuration-profiles-1.png" alt="Profile selector with plus button" width="550" />
-
-3. Enter a name for your new profile
-
- <img src="/docs/img/api-configuration-profiles/api-configuration-profiles.png" alt="Creating a new profile dialog" width="550" />
-
-4.  Configure the profile settings:
-
-    - Select your API provider
-      <img src="/docs/img/api-configuration-profiles/api-configuration-profiles-2.png" alt="Provider selection dropdown" width="550" />
-    - Enter API key
-
-                   <img src="/docs/img/api-configuration-profiles/api-configuration-profiles-3.png" alt="API key entry field" width="550" />
-
-    - Choose a model
-
-                   <img src="/docs/img/api-configuration-profiles/api-configuration-profiles-8.png" alt="Model selection interface" width="550" />
-
-    - Adjust model parameters
-
-                   <img src="/docs/img/api-configuration-profiles/api-configuration-profiles-5.png" alt="Model parameter adjustment controls" width="550" />
-
-### Switching Profiles
-
-Switch profiles in two ways:
-
-1. From Settings panel: Select a different profile from the dropdown
-
- <img src="/docs/img/api-configuration-profiles/api-configuration-profiles-7.png" alt="Profile selection dropdown in Settings" width="550" />
-
-2. During chat: Access the API Configuration dropdown in the chat interface
-
- <img src="/docs/img/api-configuration-profiles/api-configuration-profiles-6.png" alt="API Configuration dropdown in chat interface" width="550" />
-
-### Pinning and Sorting Profiles
-
-The API configuration dropdown now supports pinning your favorite profiles for quicker access:
-
-1. Hover over any profile in the dropdown to reveal the pin icon
-2. Click the pin icon to add the profile to your pinned list
-3. Pinned profiles appear at the top of the dropdown, sorted alphabetically
-4. Unpinned profiles appear below a separator, also sorted alphabetically
-5. You can unpin a profile by clicking the same icon again
-
-<img src="/docs/img/api-configuration-profiles/api-configuration-profiles-4.png" alt="Pinning API configuration profiles" width="550" />
-
-This feature makes it easier to navigate between commonly used profiles, especially when you have many configurations.
-
-### Editing and Deleting Profiles
-
-<img src="/docs/img/api-configuration-profiles/api-configuration-profiles-10.png" alt="Profile editing interface" width="550" />
-- Select the profile in Settings to modify any settings
-- Click the pencil icon to rename a profile
-- Click the trash icon to delete a profile (you cannot delete the only remaining profile)
-
-## Linking Profiles to Modes
-
-In the <Codicon name="notebook" /> Prompts tab, you can explicitly associate a specific Configuration Profile with each Mode. The system also automatically remembers which profile you last used with each mode, making your workflow more efficient.
-
-Watch this demonstration of how to connect configuration profiles with specific modes for optimized workflows:
-
-<video width="600" controls>
-  <source src="/docs/img/api-configuration-profiles/provider-modes.mp4" type="video/mp4" />
-  Your browser does not support the video tag.
-</video>
-
-## Security Note
-
-API keys are stored securely in VSCode's Secret Storage and are never exposed in plain text.
-
-## Related Features
-
-- Works with [custom modes](/agent-behavior/custom-modes) you create
-- Integrates with [local models](/advanced-usage/local-models) for offline work
-- Supports [temperature settings](/features/model-temperature) per mode
-- Enhances cost management with [rate limits and usage tracking](/advanced-usage/rate-limits-costs)

+ 0 - 47
apps/kilocode-docs/docs/features/experimental/experimental-features.md

@@ -1,47 +0,0 @@
-# Experimental Features
-
-Kilo Code includes experimental features that are still under development. These features may be unstable, change significantly, or be removed in future versions. Use them with caution and be aware that they may not work as expected.
-
-**Warning:** Experimental features may have unexpected behavior, including potential data loss or security vulnerabilities. Enable them at your own risk.
-
-## Enabling Experimental Features
-
-To enable or disable experimental features:
-
-1.  Open the Kilo Code settings (<Codicon name="gear" /> icon in the top right corner).
-2.  Go to the "Advanced Settings" section.
-3.  Find the "Experimental Features" section.
-4.  Check or uncheck the boxes for the features you want to enable or disable.
-5.  Click "Done" to save your changes.
-
-## Current Experimental Features
-
-The following experimental features are currently available:
-
-## Native Function Calling
-
-When enabled, native JSON function calling improves reliability via explicit signatures, first‑class schema validation, and better cache hit rates due to normalized structured arguments.
-
-It replaces brittle XML-style prompts that risk mixed prose/markup, missing fields, and regex-heavy cleanup, yielding more deterministic tool use and clearer error handling.
-
-[More details are available](native-function-calling)
-
-## Voice Transcription
-
-When enabled, voice transcription allows you to dictate messages using speech-to-text in the chat interface. Powered by OpenAI's Whisper API and FFmpeg for audio capture.
-
-[More details are available](voice-transcription)
-
-## Concurrent file edits
-
-When enabled, Kilo Code can edit multiple files in a single request. When disabled, Kilo Code must edit one file at a time. Disabling this can help when working with less capable models or when you want more control over file modifications.
-
-### Power Steering
-
-When enabled, Kilo Code will remind the model about the details of its current mode definition more frequently. This will lead to stronger adherence to role definitions and custom instructions, but will use more tokens per message.
-
-## Providing Feedback
-
-If you encounter any issues with experimental features, or if you have suggestions for improvements, please report them on the [Kilo Code Code GitHub Issues page](https://github.com/Kilo-Org/kilocode) or join our [Discord server](https://kilo.ai/discord) where we have channels dedciated to many experimental features.
-
-Your feedback is valuable and helps us improve Kilo Code!

+ 0 - 71
apps/kilocode-docs/docs/features/experimental/native-function-calling.md

@@ -1,71 +0,0 @@
-# Native Function Calling
-
-## Context
-
-Historically, Kilo Code has relied on XML-style function and tool definitions embedded in the system prompt to inform the model about tools available to accomplish tasks. The model was given instructions and examples about how to use these tools:
-
-```xml
-<attempt_completion>
-<reason>Put your reason here</reason>
-</attempt_completion>
-
-Use this tool to signal to the user you are complete.
-```
-
-This technique was originally developed ca. 2023 and used first by Anthropic at scale. It was effective and valuable, because it allowed developers to specify arbitrary tools at runtime, rather than rely on pre-configured options from the model labs.
-
-However, it also suffers from numerous downsides. Its effective replacement is JSON-style native function calls that are sent to the model in a dedicated field and with a strong, easily validated schema.
-
-## What
-
-Kilo Code recently implemented _experimental_ support for native function calling in 4.106.0.
-
-## Why?
-
-1. Native function calling offers stronger reliability than older XML-style patterns because the model is explicitly trained to decide when to call a function and to return only the structured arguments that match a declared signature. This reduces the classic failure modes of XML prompts, where the model might interleave prose with markup, drop required fields, or hallucinate tag structures. With native calls, the function signature acts as a contract; the model returns arguments for that contract instead of free‑form text, which materially improves call success rates and downstream determinism.
-
-2. Schema validation becomes first‑class with native function calls. Rather than embedding schemas in prompts and hoping the model adheres, we register a JSON‑schema‑like parameter definition alongside the function. The model’s output is constrained to those types and enums, enabling straightforward server‑side validation and clearer error handling and retries. In practice, this eliminates much of the brittle regex and heuristic cleanup common with XML prompts, and allows us to implement robust “validate → correct → retry” loops tied to explicit parameter constraints.
-
-3. Finally, native function calls can improve cache effectiveness and throughput. Because arguments are structured and validated, equivalent calls normalize to the same payload more often than semantically similar but syntactically different XML blobs. That normalization increases cache hit rates across identical tool invocations, reducing latency and cost, and making end‑to‑end behavior more predictable when chaining multiple tools or working across providers. While XML calling can achieve 80-85% input token cache hit rates on modern models like GPT-5, native function calling can increase that to 90%+, while also achieving the stronger reliability described above.
-
-## Downsides
-
-There are a few considerations and challenges.
-
-1. Model Compatability: Not all models are trained for native function calling, especially small models below 4-7B parameters. That being said, the vast majority of models, both open and closed, released since June 2025 _do_ support native function calls.
-2. Provider Compatability: There are many OpenAI "compliant" providers on the market, using a variety of tools to support their products (often vLLM, SGLang, TensorRT-LLM). Beyond that are numerous local model tools (LM Studio, Ollama, Osaurus). Despite claiming compatability with the OpenAI API specification, its common to see partial or outright incorrect implementations.
-
-Because of these risks and considerations, this capability is experiment, and off by default for nearly all models and providers.
-
-## Use
-
-To enable and use native function calling, consider and perform the following:
-
-1. Ensure you are using a provider that has been enabled in Kilo Code for this experiment. As of Oct 21, 2025, they include:
-
-- OpenRouter
-- Kilo Code
-- LM Studio
-- OpenAI Compatible
-- Z.ai
-- Synthetic
-- X.ai
-- Chutes
-
-By default, native function calling is _disabled_ for most models. Should you wish to try it, open the Advanced settings for a given provider profile that is included in the testing group.
-
-Change the Tool Calling Style to `JSON`, and save the profile.
-
-## Caveats
-
-This feature is currently experimental and mostly intended for users interested in contributing to its development.
-
-There are possible issues including, but not limited to:
-
-- ~~Missing tools~~: As of Oct 21, all tools are supported
-- Tools calls not updating the UI until they are complete
-- ~~MCP servers not working~~: As of Oct 21, MCPs are supported
-- Errors specific to certain inference providers
-    - Not all inference providers use servers that are fully compatible with the OpenAI specification. As a result, behavior will vary, even with the same model across providers.
-
-While nearly any provider can be configured via the OpenAI Compatible profile, testers should be aware that this is enabled purely for ease of testing and should be prepared to experience unexpected responses from providers that are not prepared to handle native function calls.

+ 0 - 52
apps/kilocode-docs/docs/features/footgun-prompting.md

@@ -1,52 +0,0 @@
----
-sidebar_label: "Footgun Prompting"
----
-
-# Footgun Prompting: Override System Prompts
-
-Footgun Prompting, AKA Overriding System Prompt, allows advanced users to completely replace the default system prompt for a specific Kilo Code mode. This provides granular control over the AI's behavior but bypasses built-in safeguards.
-
-:::info **footgun** _(noun)_
-
-1.  _(programming slang, humorous, derogatory)_ Any feature likely to lead to the programmer shooting themself in the foot.
-
-> The System Prompt Override is considered a footgun because modifying the core instructions without a deep understanding can lead to unexpected or broken behavior, especially regarding tool usage and response consistency.
-
-:::
-
-## How It Works
-
-1.  **Override File:** Create a file named `.kilocode/system-prompt-{mode-slug}` in your workspace root (e.g., `.kilocode/system-prompt-code` for the Code mode).
-2.  **Content:** The content of this file becomes the new system prompt for that specific mode.
-3.  **Activation:** Kilo Code automatically detects this file. When present, it replaces most of the standard system prompt sections.
-4.  **Preserved Sections:** Only the core `roleDefinition` and any `customInstructions` you've set for the mode are kept alongside your override content. Standard sections like tool descriptions, rules, and capabilities are bypassed.
-5.  **Construction:** The final prompt sent to the model looks like this:
-
-    ```
-    ${roleDefinition}
-
-    ${content_of_your_override_file}
-
-    ${customInstructions}
-    ```
-
-## Accessing the Feature
-
-You can find the option and instructions within the Kilo Code UI:
-
-1.  Click the MODE selector in the bottom-left of the Kilo Code text-input box.
-2.  Click "Edit..." at the bottom of the mode-selection list
-3.  Expand the **"Advanced: Override System Prompt"** section at the bottom.
-4.  Clicking the file path link within the explanation will open or create the correct override file for the currently selected mode in VS Code.
-
-<img src="/docs/img/footgun-prompting/footgun-prompting.png" alt="UI showing the Advanced: Override System Prompt section" width="500" />
-
-## Key Considerations & Warnings
-
-- **Intended Audience:** Best suited for users deeply familiar with Kilo Code's prompting system and the implications of modifying core instructions.
-- **Impact on Functionality:** Custom prompts override standard instructions, including those for tool usage and response consistency. This can cause unexpected behavior or errors if not managed carefully.
-- **Mode-Specific:** Each override file applies only to the mode specified in its filename (`{mode-slug}`).
-- **No File, No Override:** If the `.kilocode/system-prompt-{mode-slug}` file doesn't exist, Kilo Code uses the standard system prompt generation process for that mode.
-- **Directory Creation:** Kilo Code ensures the `.kilocode` directory exists before attempting to read or create the override file.
-
-Use this feature cautiously. While powerful for customization, incorrect implementation can significantly degrade Kilo Code's performance and reliability for the affected mode.

+ 0 - 93
apps/kilocode-docs/docs/features/model-temperature.md

@@ -1,93 +0,0 @@
-# Model Temperature
-
-Temperature controls the randomness of AI model outputs. Adjusting this setting optimizes results for different tasks - from precise code generation to creative brainstorming. Temperature is one of the most powerful parameters for controlling AI behavior. A well-tuned temperature setting can dramatically improve the quality and appropriateness of responses for specific tasks.
-
-<img src="/docs/img/model-temperature/model-temperature.gif" alt="Animation showing temperature slider adjustment" width="100%" />
-
-## What is Temperature?
-
-Temperature is a setting (usually between 0.0 and 2.0) that controls how random or predictable the AI's output is. Finding the right balance is key: lower values make the output more focused and consistent, while higher values encourage more creativity and variation. For many coding tasks, a moderate temperature (around 0.3 to 0.7) often works well, but the best setting depends on what you're trying to achieve.
-
-:::info Temperature and Code: Common Misconceptions
-Temperature controls output randomness, not code quality or accuracy directly. Key points:
-
-- **Low Temperature (near 0.0):** Produces predictable, consistent code. Good for simple tasks, but can be repetitive and lack creativity. It doesn't guarantee _better_ code.
-- **High Temperature:** Increases randomness, potentially leading to creative solutions but also more errors or nonsensical code. It doesn't guarantee _higher-quality_ code.
-- **Accuracy:** Code accuracy depends on the model's training and prompt clarity, not temperature.
-- **Temperature 0.0:** Useful for consistency, but limits exploration needed for complex problems.
-  :::
-
-## Default Values in Kilo Code
-
-Kilo Code uses a default temperature of 0.0 for most models, optimizing for maximum determinism and precision in code generation. This applies to OpenAI models, Anthropic models (non-thinking variants), LM Studio models, and most other providers.
-
-Some models use higher default temperatures - DeepSeek R1 models and certain reasoning-focused models default to 0.6, providing a balance between determinism and creative exploration.
-
-Models with thinking capabilities (where the AI shows its reasoning process) require a fixed temperature of 1.0 which cannot be changed, as this setting ensures optimal performance of the thinking mechanism. This applies to any model with the ":thinking" flag enabled.
-
-Some specialized models don't support temperature adjustments at all, in which case Kilo Code respects these limitations automatically.
-
-## When to Adjust Temperature
-
-Here are some examples of temperature settings that might work well for different tasks:
-
-- **Code Mode (0.0-0.3):** For writing precise, correct code with consistent, deterministic results
-- **Architect Mode (0.4-0.7):** For brainstorming architecture or design solutions with balanced creativity and structure
-- **Ask Mode (0.7-1.0):** For explanations or open-ended questions requiring diverse and insightful responses
-- **Debug Mode (0.0-0.3):** For troubleshooting bugs with consistent precision
-
-These are starting points – it's important to [experiment with different settings](#experimentation) to find what works best for your specific needs and preferences.
-
-## How to Adjust Temperature
-
-1.  **Open the Kilo Code Panel:** Click the Kilo Code icon (<img src="/docs/img/kilo-v1.svg" width="12" />) in the VS Code Side Bar
-2.  **Open Settings:** Click the <Codicon name="gear" /> icon in the top right corner
-3.  **Find Temperature Control:** Navigate to the Providers section
-4.  **Enable Custom Temperature:** Check the "Use custom temperature" box
-5.  **Set Your Value:** Adjust the slider to your preferred value
-
-    <img src="/docs/img/model-temperature/model-temperature.png" alt="Temperature setting in Kilo Code settings panel" width="550" />
-    *Temperature slider in Kilo Code settings panel*
-
-## Using API Configuration Profiles for Temperature
-
-Create multiple [API configuration profiles](/features/api-configuration-profiles) with different temperature settings:
-
-**How to set up task-specific temperature profiles:**
-
-1. Create specialized profiles like "Code - Low Temp" (0.1) and "Ask - High Temp" (0.8)
-2. Configure each profile with appropriate temperature settings
-3. Switch between profiles using the dropdown in settings or chat interface
-4. Set different profiles as defaults for each mode for automatic switching when changing modes
-
-This approach optimizes model behavior for specific tasks without manual adjustments.
-
-## Technical Implementation
-
-Kilo Code implements temperature handling with these considerations:
-
-- User-defined settings take priority over defaults
-- Provider-specific behaviors are respected
-- Model-specific limitations are enforced:
-    - Thinking-enabled models require a fixed temperature of 1.0
-    - Some models don't support temperature adjustments
-
-## Experimentation
-
-Experimenting with different temperature settings is the most effective way to discover what works best for your specific needs:
-
-### Effective Temperature Testing
-
-1. **Start with defaults** - Begin with Kilo Code's preset values (0.0 for most tasks) as your baseline
-2. **Make incremental adjustments** - Change values in small steps (±0.1) to observe subtle differences
-3. **Test consistently** - Use the same prompt across different temperature settings for valid comparisons
-4. **Document results** - Note which values produce the best outcomes for specific types of tasks
-5. **Create profiles** - Save effective settings as [API configuration profiles](/features/api-configuration-profiles) for quick access
-
-Remember that different models may respond differently to the same temperature values, and thinking-enabled models always use a fixed temperature of 1.0 regardless of your settings.
-
-## Related Features
-
-- Works with all [API providers](/providers/openai) supported by Kilo Code
-- Complements [custom instructions](/agent-behavior/custom-instructions) for fine-tuning responses
-- Works alongside [custom modes](/agent-behavior/custom-modes) you create

+ 0 - 42
apps/kilocode-docs/docs/features/more-features.md

@@ -1,42 +0,0 @@
----
-sidebar_label: Additional Features
----
-
-# Additional Features
-
-Kilo Code's extras streamline routine tasks and improve accessibility.
-
-## Suggested Responses
-
-Kilo Code offers suggested responses so you spend less time typing.
-
-- After you ask a question, buttons appear below the chat box.
-- Click a button to reuse it as your next prompt.
-
-## Text to Speech
-
-The Text-to-Speech feature lets Kilo Code read responses aloud.
-
-1. Enable TTS in settings.
-2. Click the speaker icon next to any response to start listening.
-
-## Global Language Support
-
-Kilo Code supports 14 languages:
-
-- Simplified Chinese
-- Traditional Chinese
-- Spanish
-- Hindi
-- French
-- Portuguese
-- German
-- Japanese
-- Korean
-- Italian
-- Turkish
-- Vietnamese
-- Polish
-- Catalan
-
-Change languages under **Advanced Settings > Language**.

+ 0 - 46
apps/kilocode-docs/docs/features/suggested-responses.md

@@ -1,46 +0,0 @@
----
-sidebar_label: Suggested Responses
----
-
-import Codicon from '@site/src/components/Codicon';
-
-# Suggested Responses
-
-When Kilo Code needs more information to complete a task, it uses the [`ask_followup_question` tool](/features/tools/ask-followup-question). To make responding easier and faster, Kilo Code often provides suggested answers alongside the question.
-
-## Overview
-
-Suggested Responses appear as clickable buttons directly below Kilo Code's question in the chat interface. They offer pre-formulated answers relevant to the question, helping you provide input quickly.
-
-<img src="/docs/img/suggested-responses/suggested-responses.png" alt="Example of Kilo Code asking a question with suggested response buttons below it" width="500" />
-
-## How It Works
-
-1.  **Question Appears**: Kilo Code asks a question using the `ask_followup_question` tool.
-2.  **Suggestions Displayed**: If suggestions are provided by Kilo Code, they appear as buttons below the question.
-3.  **Interaction**: You can interact with these suggestions in two ways.
-
-## Interacting with Suggestions
-
-You have two options for using suggested responses:
-
-1.  **Direct Selection**:
-
-    - **Action**: Simply click the button containing the answer you want to provide.
-    - **Result**: The selected answer is immediately sent back to Kilo Code as your response. This is the quickest way to reply if one of the suggestions perfectly matches your intent.
-
-2.  **Edit Before Sending**:
-    - **Action**:
-        - Hold down `Shift` and click the suggestion button.
-        - _Alternatively_, hover over the suggestion button and click the pencil icon (<Codicon name="edit" />) that appears.
-    - **Result**: The text of the suggestion is copied into the chat input box. You can then modify the text as needed before pressing Enter to send your customized response. This is useful when a suggestion is close but needs minor adjustments.
-
-<img src="/docs/img/suggested-responses/suggested-responses-1.png" alt="Chat input box showing text copied from a suggested response, ready for editing" width="600" />
-
-## Benefits
-
-- **Speed**: Quickly respond without typing full answers.
-- **Clarity**: Suggestions often clarify the type of information Kilo Code needs.
-- **Flexibility**: Edit suggestions to provide precise, customized answers when needed.
-
-This feature streamlines the interaction when Kilo Code requires clarification, allowing you to guide the task effectively with minimal effort.

+ 0 - 12
apps/kilocode-docs/docs/getting-started/concepts.md

@@ -1,12 +0,0 @@
-# Core Concepts
-
-Learn the key concepts used in Kilo Code
-
-| Concept                          | Description                                                                                                                                                                                                                                                           | Video Preview                                                                                                                                         |
-| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Provider**                     | Kilo Code provides its own built-in API provider that gives you access to the latest frontier coding models without the need to manage API keys that offers access to frontier models such as: OpenAI (GPT-5), Anthropic (Claude), Google (Gemini), Meta (Llama) etc. | <video width="300" controls><source src="/docs/videos/Provider.mp4" type="video/mp4"/>Checkpoint reasoning demo showing concurrent file edits</video> |
-| **Foundational Models**          | Large-scale AI models trained on vast datasets that serve as the base for AI applications. Models like GPT, Claude, LLaMA provide core language understanding and generation capabilities.                                                                            | <video width="300" controls><source src="/docs/videos/Models.mp4" type="video/mp4"/>Foundation model</video>                                          |
-| **Prompt Engineering**           | Art and science of crafting effective inputs for AI models to achieve desired outputs. Use enhance button to improve your prompt                                                                                                                                      | <video width="300" controls><source src="/docs/videos/Prompt.mp4" type="video/mp4"/></video>                                                          |
-| **Modes**                        | Within Kilo Code you can choose **Architect** mode to plan and design you software, **Code** mode to write and refactor code, **Ask** to understand your codebase, **Debug** to fix software issues and **Orchestrator** to coordinate tasks accross modes            | <video width="300" controls><source src="/docs/videos/Modes.mp4" type="video/mp4"/></video>                                                           |
-| **Codebase Indexing**            | Codebase Indexing enables semantic code search across your entire project using AI embeddings.                                                                                                                                                                        | <video width="300" controls><source src="/docs/videos/Indexing.mp4"/>Codebase structure mapping and navigation</video>                                |
-| **MCP (Model Context Protocol)** | Standardized protocol for managing context and communication between AI models and external systems. Enables seamless integration with tools, databases, and services.                                                                                                | <video width="300" controls><source src="/docs/videos/MCP.mp4" type="video/mp4"/>MCP demo</video>                                                     |

+ 0 - 89
apps/kilocode-docs/docs/getting-started/connecting-api-provider.md

@@ -1,89 +0,0 @@
----
-sidebar_label: Connecting To A Provider
----
-
-# Connecting an AI Provider
-
-Kilo Code requires an API key from an AI model provider to function.
-
-We recommend these options for accessing the powerful **Claude 4 Sonnet** model:
-
-- **Kilo Gateway (Recommended):** Provides access to all of the models available through OpenRouter with competitive pricing and free credits to get started. [View pricing](https://kilo.ai/pricing)
-- **OpenRouter:** Provides access to multiple AI models through a single API key. [View pricing](https://openrouter.ai/models?order=pricing-low-to-high).
-- **Anthropic:** Direct access to Claude models. Requires API access approval and may have [rate limits depending on your tier](https://docs.anthropic.com/en/api/rate-limits#requirements-to-advance-tier). See [Anthropic's pricing page](https://www.anthropic.com/pricing#anthropic-api) for details.
-
-## Using the Kilo Code Provider
-
-By default when you install Kilo Code the extension, you'll be prompted to sign in or create an account in the [Kilo Code Provider](/providers/kilocode).
-
-That will walk you through the account setup and _automatically_ configure Kilo Code properly to get you started. If you'd rather use another provider, you'll need to manually get your API key as described below.
-
-## Using another API Provider
-
-_Coming soon to Kilo Code Teams and Enterprise!_
-
-### Getting Your API Key
-
-#### Option 1: LLM Routers
-
-LLM routers let you access multiple AI models with one API key, simplifying cost management and switching between models. They often offer [competitive pricing](https://openrouter.ai/models?order=pricing-low-to-high) compared to direct providers.
-
-##### OpenRouter
-
-1. Go to [openrouter.ai](https://openrouter.ai/)
-2. Sign in with your Google or GitHub account
-3. Navigate to the [API keys page](https://openrouter.ai/keys) and create a new key
-4. Copy your API key - you'll need this for Kilo Code setup
-
-<img src="/docs/img/connecting-api-provider/connecting-api-provider-4.png" alt="OpenRouter API keys page" width="600" />
-
-_OpenRouter dashboard with "Create key" button. Name your key and copy it after creation._
-
-##### Requesty
-
-1. Go to [requesty.ai](https://requesty.ai/)
-2. Sign in with your Google account or email
-3. Navigate to the [API management page](https://app.requesty.ai/manage-api) and create a new key
-4. **Important:** Copy your API key immediately as it won't be displayed again
-
-<img src="/docs/img/connecting-api-provider/connecting-api-provider-7.png" alt="Requesty API management page" width="600" />
-
-_Requesty API management page with "Create API Key" button. Copy your key immediately - it's shown only once._
-
-#### Option 2: Direct Providers
-
-For direct access to specific models from their original providers, with full access to their features and capabilities:
-
-##### Anthropic
-
-1. Go to [console.anthropic.com](https://console.anthropic.com/)
-2. Sign up for an account or log in
-3. Navigate to the [API keys section](https://console.anthropic.com/settings/keys) and create a new key
-4. **Important:** Copy your API key immediately as it won't be displayed again
-
-<img src="/docs/img/connecting-api-provider/connecting-api-provider-5.png" alt="Anthropic console API Keys section" width="600" />
-
-_Anthropic console API Keys section with "Create key" button. Name your key, set expiration, and copy it immediately._
-
-##### OpenAI
-
-1. Go to [platform.openai.com](https://platform.openai.com/)
-2. Sign up for an account or log in
-3. Navigate to the [API keys section](https://platform.openai.com/api-keys) and create a new key
-4. **Important:** Copy your API key immediately as it won't be displayed again
-
-<img src="/docs/img/connecting-api-provider/connecting-api-provider-6.png" alt="OpenAI API keys page" width="600" />
-
-_OpenAI platform with "Create new secret key" button. Name your key and copy it immediately after creation._
-
-### Configuring the Provider in Kilo Code
-
-Once you have your API key:
-
-1. Open the Kilo Code sidebar by clicking the Kilo Code icon (<img src="/docs/img/kilo-v1.svg" width="12" />) in the VS Code Side Bar
-2. In the welcome screen, select your API provider from the dropdown
-3. Paste your API key into the appropriate field
-4. Select your model:
-    - For **OpenRouter**: select `anthropic/claude-3.7-sonnet` ([model details](https://openrouter.ai/anthropic/claude-3.7-sonnet))
-    - For **Anthropic**: select `claude-3-7-sonnet-20250219` ([model details](https://www.anthropic.com/pricing#anthropic-api))
-5. Click "Let's go!" to save your settings and start using Kilo Code

+ 0 - 168
apps/kilocode-docs/docs/getting-started/installing.md

@@ -1,168 +0,0 @@
----
-sidebar_label: Installing Kilo Code
----
-
-# Installing Kilo Code
-
-Kilo Code brings AI-powered coding assistance directly to your editor. Install using one of these methods:
-
-- [**VS Code Marketplace (Recommended)**](#vs-code-marketplace) - fastest method for standard VS Code users
-- [**Cursor Marketplace**](#cursor-marketplace) - recommended way for Cursor users
-- [**Open VSX Registry**](#open-vsx-registry) - for VS Code-compatible editors like VSCodium or Windsurf
-- [**Manually install the .vsix file**](#manual-installation-from-vsix) - direct installation from the GitHub Release
-- [**JetBrains IDEs**](#jetbrains-ides) - for IntelliJ IDEA, WebStorm, PyCharm, Android Studio, and other JetBrains IDEs
-
-## VS Code Marketplace
-
-:::tip
-
-If you already have VS Code installed: [Click here to install Kilo Code](vscode:extension/kilocode.Kilo-Code)
-
-:::
-
-alternatively, you can:
-
-1. Open VS Code
-2. Access Extensions: Click the Extensions icon in the Side Bar or press `Ctrl+Shift+X` (Windows/Linux) or `Cmd+Shift+X` (macOS)
-3. Search for "Kilo Code"
-4. Select "Kilo Code" by Kilo Code and click **Install**
-5. Reload VS Code if prompted
-
-After installation, find the Kilo Code icon (<img src="/docs/img/kilo-v1.svg" width="12" />) in the Side Bar to open the Kilo Code panel.
-
-<img src="/docs/img/installing/installing.png" alt="VS Code marketplace with Kilo Code extension ready to install" width="400" />
-*VS Code marketplace with Kilo Code extension ready to install*
-
-## Cursor Marketplace
-
-:::tip
-
-If you already have Cursor installed: [Click here to install Kilo Code](cursor:extension/kilocode.Kilo-Code)
-
-:::
-
-alternatively, you can:
-
-1. Open Cursor
-2. Access Extensions: Click the Extensions icon in the Side Bar or press `Ctrl+Shift+X` (Windows/Linux) or `Cmd+Shift+X` (macOS)
-3. Search for "Kilo Code"
-4. Select "Kilo Code" by Kilo Code and click **Install**
-5. Reload Cursor if prompted
-
-After installation, find the Kilo Code icon (<img src="/docs/img/kilo-v1.svg" width="12" />) in the Side Bar to open the Kilo Code panel.
-
-## Open VSX Registry
-
-[Open VSX Registry](https://open-vsx.org/) is an open-source alternative to the VS Code Marketplace for VS Code-compatible editors that cannot access the official marketplace due to licensing restrictions.
-
-For VS Code-compatible editors like VSCodium, Gitpod, Eclipse Theia, and Windsurf, you can browse and install directly from the [Kilo Code page on Open VSX Registry](https://open-vsx.org/extension/kilocode/Kilo-Code).
-
-1. Open your editor
-2. Access the Extensions view (Side Bar icon or `Ctrl+Shift+X` / `Cmd+Shift+X`)
-3. Your editor should be pre-configured to use Open VSX Registry
-4. Search for "Kilo Code"
-5. Select "Kilo Code" and click **Install**
-6. Reload the editor if prompted
-
-:::note
-If your editor isn't automatically configured for Open VSX Registry, you may need to set it as your extension marketplace in settings. Consult your specific editor's documentation for instructions.
-:::
-
-## Manual Installation from VSIX
-
-If you prefer to download and install the VSIX file directly:
-
-1. **Download the VSIX file:**
-
-    - Find official releases on the [Kilo Code GitHub Releases page](https://github.com/Kilo-Org/kilocode/releases)
-    - Download the `.vsix` file from the [latest release](https://github.com/Kilo-Org/kilocode/releases/latest)
-
-2. **Install in VS Code:**
-    - Open VS Code
-    - Access Extensions view
-    - Click the "..." menu in the Extensions view
-    - Select "Install from VSIX..."
-    - Browse to and select your downloaded `.vsix` file
-
-<img src="/docs/img/installing/installing-2.png" alt="VS Code's Install from VSIX dialog" width="400" />
-*Installing Kilo Code using VS Code's "Install from VSIX" dialog*
-
-## JetBrains IDEs
-
-Kilo Code is also available as a plugin for JetBrains IDEs including IntelliJ IDEA, WebStorm, PyCharm, Android Studio, PhpStorm, RubyMine, CLion, GoLand, DataGrip, and Rider.
-
-### Prerequisites
-
-Before installing the Kilo Code plugin, ensure you have:
-
-1. **JetBrains Toolbox (Recommended):**
-
-    - Download from [https://www.jetbrains.com/toolbox-app/](https://www.jetbrains.com/toolbox-app/)
-    - Toolbox is required for authentication callbacks to work properly
-    - Without Toolbox, you'll need to manually configure API keys
-
-2. **Node.js:**
-    - Download LTS version from [https://nodejs.org/](https://nodejs.org/)
-    - Required for the extension's backend services
-
-### Installation Steps
-
-1. **Open your JetBrains IDE**
-
-2. **Access Plugin Settings:**
-
-    - **Windows/Linux:** File → Settings → Plugins
-    - **macOS:** [IDE Name] → Settings → Plugins
-
-3. **Search for Kilo Code:**
-
-    - Click the "Marketplace" tab
-    - Search for "Kilo Code"
-
-4. **Install the Plugin:**
-
-    - Click **Install** on the Kilo Code plugin
-    - Accept any required permissions
-
-5. **Restart your IDE:**
-
-    - Restart when prompted to complete the installation, if needed
-
-6. **Find Kilo Code:**
-    - Look for the Kilo Code icon in the right sidebar
-    - Click to open the Kilo Code panel
-
-### Troubleshooting JetBrains Installation
-
-For JetBrains-specific issues such as JCEF problems, authentication failures, or Node.js configuration, see the [JetBrains Troubleshooting Guide](/docs/jetbrains-troubleshooting).
-
-## Troubleshooting
-
-**Extension Not Visible**
-
-- Restart VS Code
-- Verify Kilo Code is listed and enabled in Extensions
-- Try disabling and re-enabling the extension in Extensions
-- Check Output panel for errors (View → Output, select "Kilo Code")
-
-**Installation Problems**
-
-- Ensure stable internet connection
-- Verify VS Code version 1.84.0 or later
-- If VS Code Marketplace is inaccessible, try the Open VSX Registry method
-
-**Windows Users**
-
-- Ensure that **`PowerShell` is added to your `PATH`**:
-    1. Open **Edit system environment variables** → **Environment Variables**
-    2. Under **System variables**, select **Path** → **Edit** → **New**
-    3. Add: `C:\Windows\System32\WindowsPowerShell\v1.0\`
-    4. Click **OK** and restart VS Code
-
-## Getting Support
-
-If you encounter issues not covered here:
-
-- Join our [Discord community](https://kilo.ai/discord) for real-time support
-- Submit issues on [GitHub](https://github.com/Kilo-Org/kilocode/issues)
-- Visit our [Reddit community](https://www.reddit.com/r/KiloCode)

+ 0 - 40
apps/kilocode-docs/docs/getting-started/setting-up.mdx

@@ -1,40 +0,0 @@
----
-sidebar_label: Getting Set up
----
-
-import { DISCORD_URL } from "@site/src/constants.ts"
-import useDocusaurusContext from "@docusaurus/useDocusaurusContext"
-
-# Setting up Kilo Code
-
-When you sign up for Kilo Code, you can start immediately with free models, or [purchase Kilo credits](../basic-usage/adding-credits) and receive bonus credits.
-
-To claim your bonus credits:
-
-1. **Sign up:** Complete the registration process
-2. **First top-up:** [Add credits to your account](https://app.kilo.ai/profile) and get $20 bonus credits, or sign up for [Kilo Pass](https://kilo.ai/features/kilo-pass).
-3. **Start Coding:** Enjoy your $20 in free credits
-
-## Registration process
-
-Kilo Code provides a simple registration process that gives you access to the latest frontier coding models with your Kilo Code login.
-
-1. Click on "Try Kilo Code for Free" in the extension
-1. Sign in with your Google account to kilo.ai
-1. kilo.ai will prompt you to open Visual Studio Code
-    - When using an IDE in a web browser, you will be asked to copy the API key manually instead
-1. Once you allow it to Open VS Code, you must also allow VS Code to open the authorization URL
-
-<img src="/docs/img/setting-up/signupflow.gif" alt="Sign up and registration flow with Kilo Code" />
-
-That's it - you're all set! Now you can start with [your first task](/getting-started/your-first-task)
-
-## Already have a subscription to another AI provider?
-
-If you subscribe to ChatGPT, use the [OpenAI ChatGPT provider](../providers/openai-chatgpt-plus-pro) to utilize your subscription with Kilo Code.
-
-You can also [bring your own key](../basic-usage/byok) to use your account or subscription for other providers, including: Anthropic, OpenAI, Mistral, Z.AI, and Minimax. 
-
-:::tip Need Help?
-If you have any questions about pricing or tokens, please reach out to our [support team](mailto:[email protected]) or ask in our <a href={DISCORD_URL} target='_blank'>Discord community</a>.
-:::

+ 315 - 0
apps/kilocode-docs/docs/getting-started/switching-from-cline.md

@@ -0,0 +1,315 @@
+---
+sidebar_label: Switching from Cline
+---
+
+# Migrating from Cline to Kilo
+
+A practical guide for developers switching from Cline to Kilo.
+
+## Why Switch?
+
+**Speed.** The Kilo Platform is designed to reduce friction across the entire development workflow. Beyond feature parity with Cline, Kilo includes Code Reviews, App Builder, Cloud Agents, and one-click Deploy.
+
+**Multi-platform.** Work in VS Code, JetBrains IDEs, CLI, or the web. Your Sessions sync across all of them automatically.
+
+**Specialized modes.** Instead of one agent doing everything, Kilo has five specialized modes optimized for different parts of your workflow.
+
+**500+ models.** More providers, more options, better pricing flexibility. Switch models mid-conversation if you want.
+
+---
+
+## Understanding Kilo's Mode System
+
+Cline uses a single agent with a Plan/Act toggle. Kilo takes a different approach: five specialized modes, each optimized for a specific part of development. You select modes from a dropdown in the interface in the Kilo Extension, or with slash commands in the CLI.
+
+### Kilo's Five Modes
+
+#### Code Mode (default)
+
+- **What it does:** Implementation and refactoring
+- **Cline equivalent:** Act mode
+- **When to use:** Writing features, fixing bugs, making changes
+- **Example:** "Add user authentication to the API"
+
+#### Ask Mode
+
+- **What it does:** Answers questions, explains code
+- **Cline equivalent:** Plan mode (read-only exploration)
+- **When to use:** Understanding codebases, learning patterns
+- **Example:** "How does our caching layer work?"
+
+#### Debug Mode
+
+- **What it does:** Systematic troubleshooting and error diagnosis
+- **Cline equivalent:** Act mode focused on debugging
+- **When to use:** Tracking down bugs, fixing runtime issues
+- **Example:** "Why is this API endpoint returning 500?"
+
+#### Architect Mode
+
+- **What it does:** Planning, design, and technical leadership
+- **Cline equivalent:** Plan mode (exploration and planning)
+- **When to use:** Before complex refactors, designing new systems
+- **Example:** "Design a caching strategy for our API"
+
+#### Orchestrator Mode
+
+- **What it does:** Breaks down complex tasks, coordinates other modes
+- **Cline equivalent:** Complex multi-step workflows
+- **When to use:** Large features spanning multiple systems
+- **Example:** "Build a complete user management system"
+
+### Mode Switching in Action
+
+**Cline workflow:** Toggle Plan/Act → Submit task → Plan phase → Approve → Act phase → Checkpoint
+
+**Kilo workflow:**  
+Select mode from dropdown → Build → Switch modes as needed → Checkpoint → Session auto-saves
+
+Or
+
+Select Orchestrator mode → autonomously define subtasks → intelligently distribute subtasks across modes
+
+#### Example: Refactoring authentication
+
+**Cline:**
+
+1. Enable Plan/Act mode
+2. "Refactor auth to use OAuth2"
+3. Wait for plan → Review → Approve
+4. Watch step-by-step execution
+5. Checkpoint when done
+
+**Kilo:**
+
+1. Select **Orchestrator** from the mode dropdown
+2. "Implement OAuth2 refactor for our authentication"
+3. Orchestrator creates subtasks for other modes automatically
+4. **Architect Mode** reviews the architecture
+5. **Code Mode** implements the OAuth2 client
+6. Session/checkpoints preserved automatically
+
+#### Example: Understanding unfamiliar code
+
+**Cline:** Use Plan mode (but risk accidentally switching to Act)
+
+**Kilo:** Select **Ask** from the dropdown
+
+- "Explain how the payment processing flow works"
+- "What external services does this integrate with?"
+- Ask mode never writes files, so exploration is always safe
+
+**Why this matters:** In Cline, you might accidentally make changes while exploring. In Kilo, Ask and Architect modes can't write files, so you're safe to explore without worry. Kilo's **Orchestrator** mode lets you intelligently generate and execute subtasks that are optimized for each mode.
+
+---
+
+## Installation
+
+### VS Code / Cursor
+
+1. Open Extensions (`Cmd/Ctrl + Shift + X`)
+2. Search "Kilo Code"
+3. Click Install
+4. Find the Kilo icon in your sidebar
+
+### JetBrains IDEs
+
+Supports IntelliJ, PyCharm, WebStorm, and all JetBrains IDEs.
+
+**Prerequisites:**
+
+- JetBrains Toolbox (required for auth)
+- Node.js LTS
+
+**Install:**
+
+1. Settings → Plugins → Marketplace
+2. Search "Kilo Code"
+3. Install and restart
+4. Find Kilo icon in right sidebar
+
+### CLI
+
+```shell
+npm install -g @kilocode/cli
+kilo
+```
+
+### Web (Cloud Agents & App Builder)
+
+Visit [app.kilo.ai](https://app.kilo.ai/) and sign in. This gives you access to:
+
+- **Cloud Agents:** Run Kilo without a local machine
+- **App Builder:** Build and preview apps directly in your browser
+- **Kilo Deploy:** One-click deployments
+- **Code Reviews:** AI-powered PR analysis
+
+---
+
+## Initial Setup
+
+### Create account
+
+1. Click "Try Kilo Code for Free" in the Kilo panel
+2. Sign in with OAuth at kilo.ai
+3. You'll be redirected back to your IDE
+
+### Configure your provider
+
+**Option 1: Use Kilo Gateway (easiest)**
+
+1. Open settings (⚙️ icon)
+2. Select "Kilo Gateway" as provider
+3. Choose a model (such as Claude Opus 4.5, Gemini 3, MiniMax M2.1)
+
+**Option 2: Bring your own API keys**
+
+1. Select your provider (Anthropic, OpenAI, etc.)
+2. Enter your API key
+3. Choose your model
+
+---
+
+## Beyond the IDE: Kilo's Platform Features
+
+One of the biggest differences from Cline is that Kilo isn't just an IDE extension. It's a platform with multiple interfaces that can all share your Sessions and context.
+
+### Cloud Agents
+
+Run Kilo from [app.kilo.ai/cloud](https://app.kilo.ai/cloud) without needing your local machine. Great for:
+
+- Working from a tablet or phone
+- Offloading heavy tasks
+- Parallel execution without blocking your IDE
+
+### Parallel Agents
+
+Run multiple agents simultaneously without conflicts, in both the IDE and CLI. Start an agent working on tests while another handles documentation.
+
+### Sessions
+
+Your conversation history, context, and state sync across all interfaces automatically. Start a task in the CLI, continue in VS Code, check progress on mobile.
+
+### App Builder
+
+Build live apps and sites directly from the web with a real-time preview. Similar to Lovable, but integrated with your Kilo Sessions. Deploy with one click when you're ready.
+
+### Kilo Deploy
+
+One-click deployments from directly within Kilo. Go from code to production without leaving your workflow.
+
+### Code Reviews
+
+Automatically analyzes your PRs using your choice of AI model. Reviews happen the moment a PR is opened or updated, covering performance, security, style, and test coverage.
+
+### Managed Indexing
+
+Semantic search across your repositories using cloud-hosted embeddings. Kilo indexes your codebase to deliver more relevant, context-aware responses.
+
+### Autocomplete
+
+In-line ghost-text completions with tab to complete. Works alongside the agent modes for a complete coding experience.
+
+---
+
+## Complete Development Workflows
+
+### New Feature Development
+
+**Kilo approach:**
+
+1. **Architect mode:** "Design a user notification system"
+2. Review architecture, discuss trade-offs
+3. **Code mode:** "Implement the notification service"
+4. Fast Apply builds it quickly
+5. **Debug mode:** "Email sends aren't working"
+6. Fix issues
+7. Session auto-saves as "Notifications-Complete"
+
+### Debugging Production Issues
+
+**Kilo approach:**
+
+1. **Debug mode:** "Checkout fails with 'payment_intent_not_found'"
+2. Debug mode systematically checks logs, traces API calls
+3. **Code mode:** "Add idempotency key to prevent duplicates"
+4. Verify fix
+
+### Large Refactoring
+
+**Kilo approach:**
+
+1. **Ask mode:** "Explain our current auth implementation"
+2. **Architect mode:** "Design migration to JWT tokens"
+3. Session saves as "Auth-Refactor-Plan"
+4. **Code mode:** Implement JWT generation, update middleware
+5. **Debug mode:** Fix failing tests
+
+### Learning Unfamiliar Code
+
+**Kilo approach:**
+
+1. **Ask mode:** "Explain how payment processing works"
+2. "What happens when a payment fails?"
+3. "Show me the retry logic"
+4. Ask mode never writes, so exploration is completely safe
+5. When ready, switch to **Code mode** to make changes
+
+---
+
+## Feature Mapping
+
+| Cline Feature      | Kilo Equivalent                    | Notes                                                                           |
+| ------------------ | ---------------------------------- | ------------------------------------------------------------------------------- |
+| Plan mode          | Orchestrator, Architect, Ask modes | Architect plans, Ask explains, Orchestrate distributes tasks across other modes |
+| Act mode           | Code mode                          | Implementation                                                                  |
+| Plan/Act toggle    | Mode dropdown                      | More granular control                                                           |
+| Checkpoints        | Sessions + Checkpoints             | Sessions preserve mode + context                                                |
+| Background editing | Fast Apply                         | Sequential but instant                                                          |
+| Single agent       | Five specialized modes             | Purpose-built for each task                                                     |
+| Local only         | Multi-platform                     | IDE, CLI, web, mobile                                                           |
+
+---
+
+## What You Gain
+
+- **Specialized modes:** Purpose-built for different parts of development
+- **Fast Apply:** 5-10x faster code application
+- **Autocomplete:** Inline AI suggestions
+- **Multi-platform:** VS Code, JetBrains, CLI, web
+- **Session Persistance:** Sessions preserve mode + context across devices
+- **500+ models:** More provider options, switch anytime
+- **Cloud Agents:** Work without your local machine
+- **App Builder:** Build and preview apps in the browser
+- **One-click Deploy:** Ship directly from Kilo
+- **Code Reviews:** AI-powered PR analysis
+- **Parallel Agents:** Run multiple agents simultaneously
+
+---
+
+## Common Questions
+
+**Q: Do I have to switch modes constantly?** No. Orchestrator does that automatically. Code mode handles most day-to-day work. Switch when you need specialized behavior.
+
+**Q: What if I forget to switch modes?** Code mode is the default and handles most tasks. It'll still work, just might not be optimized for exploration or planning.
+
+**Q: Can I customize what each mode does?** Yes. Add mode-specific instructions in settings, or create custom modes.
+
+**Q: Can I use both Cline and Kilo side-by-side?** Yes. They're separate extensions.
+
+**Q: What's the difference between Cloud Agents and the IDE extension?** Same capabilities, different interface. Cloud Agents run in the browser, so you can work from any device without your local machine.
+
+---
+
+## Next Steps
+
+1. Install Kilo in your primary IDE
+2. Try each mode with a small task:
+    - **Code:** "Add a hello world endpoint"
+    - **Ask:** "Explain what this file does"
+    - **Debug:** "Why is this function returning undefined?"
+    - **Architect:** "Design a logging system"
+    - **Orchestrator:** "Build an app, end-to-end, that…"
+3. Try Cloud Agents at [app.kilo.ai](https://app.kilo.ai/)
+4. Install the Kilo CLI with `npm install -g @kilocode/cli`
+5. Enable Autocomplete for inline suggestions

+ 0 - 90
apps/kilocode-docs/docs/getting-started/your-first-task.md

@@ -1,90 +0,0 @@
----
-sidebar_label: Your First Task
----
-
-# Starting Your First Task with Kilo Code
-
-<YouTubeEmbed
-  url="https://www.youtube.com/watch?v=pO7zRLQS-p0"
-/>
-
-This quick tour shows how Kilo Code handles a simple request from start to finish.
-
-After you [set up Kilo Code](/getting-started/setting-up), follow these steps:
-
-## Step 1: Open the Kilo Code Panel
-
-Click the Kilo Code icon (<img src="/docs/img/kilo-v1.svg" width="12" />) in the VS Code Primary Side Bar (vertical bar on the side of the window) to open the chat interface. If you don't see the icon, verify the extension is [installed](/getting-started/installing) and enabled.
-
-<img src="/docs/img/your-first-task/your-first-task.png" alt="Kilo Code icon in VS Code Primary Side Bar" width="800" />
-
-_The Kilo Code icon in the Primary Side Bar opens the chat interface._
-
-## Step 2: Type Your Task
-
-Type a clear, concise description of what you want Kilo Code to do in the chat box at the bottom of the panel. Examples of effective tasks:
-
-- "Create a file named `hello.txt` containing 'Hello, world!'."
-- "Write a Python function that adds two numbers."
-- "Create an HTML file for a simple website with the title 'Kilo test'"
-
-No special commands or syntax needed—just use plain English.
-
-<details>
-<summary>💡 Optional: Try Autocomplete</summary>
-
-While chat is great for complex tasks, Kilo Code also offers **inline autocomplete** for quick code suggestions. Open any code file, start typing, and watch for ghost text suggestions. Press `Tab` to accept. [Learn more about Autocomplete →](/basic-usage/autocomplete)
-
-</details>
-
-<img src="/docs/img/your-first-task/your-first-task-6.png" alt="Typing a task in the Kilo Code chat interface" width="500" />
-*Enter your task in natural language - no special syntax required.*
-
-## Step 3: Send Your Task
-
-Press Enter or click the Send icon (<Codicon name="send" />) to the right of the input box.
-
-## Step 4: Review and Approve Actions
-
-Kilo Code analyzes your request and proposes specific actions. These may include:
-
-- **Reading files:** Shows file contents it needs to access
-- **Writing to files:** Displays a diff with proposed changes (added lines in green, removed in red)
-- **Executing commands:** Shows the exact command to run in your terminal
-- **Using the Browser:** Outlines browser actions (click, type, etc.)
-- **Asking questions:** Requests clarification when needed to proceed
-
-<img src="/docs/img/your-first-task/your-first-task-7.png" alt="Reviewing a proposed file creation action" width="400" />
-*Kilo Code shows exactly what action it wants to perform and waits for your approval.*
-
-- In **Code** mode, writing capabilities are on by default.
-- In **Architect** and **Ask** modes, Kilo Code won't write code.
-
-:::tip
-
-The level of autonomy is configurable, allowing you to make the agent more or less autonomous.
-
-You can learn more about [using modes](/basic-usage/using-modes) and [auto-approving actions](/features/auto-approving-actions).
-
-:::
-
-## Step 5: Iterate
-
-Kilo Code works iteratively. After each action, it waits for your feedback before proposing the next step. Continue this review-approve cycle until your task is complete.
-
-<img src="/docs/img/your-first-task/your-first-task-8.png" alt="Final result of a completed task showing the iteration process" width="500" />
-*After completing the task, Kilo Code shows the final result and awaits your next instruction.*
-
-## Conclusion
-
-You've completed your first task. Along the way you learned:
-
-- How to interact with Kilo Code using natural language
-- Why approval keeps you in control
-- How iteration lets the AI refine its work
-
-Ready for more? Here are some next steps:
-
-- **[Autocomplete](/basic-usage/autocomplete)** — Get inline code suggestions as you type
-- **[Modes](/basic-usage/using-modes)** — Explore different modes for different tasks
-- **[Auto-approval](/features/auto-approving-actions)** — Speed up repetitive tasks

+ 0 - 108
apps/kilocode-docs/docs/index.mdx

@@ -1,108 +0,0 @@
----
-sidebar_label: Welcome
----
-
-import {
-  DISCORD_URL,
-  REDDIT_URL,
-  GITHUB_ISSUES_MAIN_URL,
-  GITHUB_FEATURES_URL,
-  YOUTUBE_URL,
-} from "@site/src/constants.ts"
-import Image from "@site/src/components/Image"
-
-# Kilo Code Documentation
-
-Kilo Code **accelerates** development with AI-driven code generation and task automation. This open source extension plugs directly into VS Code.
-
-## What Can Kilo Code Do?
-
-- 🚀 **Generate Code** from natural language descriptions
-- 🔧 **Refactor & Debug** existing code
-- 📝 **Write & Update** documentation
-- 🤔 **Answer Questions** about your codebase
-- 🔄 **Automate** repetitive tasks
-- 🏗️ **Create** new files and projects
-- ⚡ **Autocomplete** code as you type with AI-powered suggestions
-
-## Quick Start
-
-1. [Install Kilo Code](/getting-started/installing)
-2. [Set up Kilo Code](/getting-started/setting-up)
-3. [Try Your First Task](/getting-started/your-first-task)
-4. [Enable Autocomplete](/basic-usage/autocomplete) for inline code suggestions
-
-## Features
-
-<Image
-  src="/docs/img/kilogif.gif"
-  alt="GIF showing some of the capabilities of Kilo Code"
-  width="600"
-/>
-
-### Basics
-
-Use [the chat interface](/basic-usage/the-chat-interface) to tell Kilo Code what you need, or let [Autocomplete](/basic-usage/autocomplete) suggest code as you type. It relies on coding‑optimized AI models to complete each request.
-
-- Switch [modes](/basic-usage/using-modes) to fit the task
-- Control allowed [actions](/features/auto-approving-actions)
-- Run direct [code actions](/features/code-actions)
-
-### Using Kilo Code
-
-#### Multiple Modes
-
-Kilo Code adapts to your needs with specialized [modes](/basic-usage/using-modes):
-
-- [**Code Mode:**](/basic-usage/using-modes#code-mode-default) For general-purpose coding tasks
-- [**Architect Mode:**](/basic-usage/using-modes#architect-mode) For planning and technical leadership
-- [**Ask Mode:**](/basic-usage/using-modes#ask-mode) For answering questions and providing information
-- [**Debug Mode:**](/basic-usage/using-modes#debug-mode) For systematic problem diagnosis
-- **[Custom Modes](/agent-behavior/custom-modes):** Create unlimited specialized personas for security auditing, performance optimization, documentation, or any other task
-
-#### Core Tools
-
-Kilo Code comes with powerful [tools](/features/tools/tool-use-overview) that can:
-
-- [Read](/features/tools/read-file), [write](/features/tools/write-to-file), and [delete](/features/tools/delete-file) files in your project
-- [Execute commands](/features/tools/execute-command) in your VS Code terminal
-- [Control a web browser](/features/tools/browser-action)
-- [Ask follow-up questions](/features/tools/ask-followup-question)
-- [Search your codebase](/features/tools/search-files)
-
-See the complete [Tools Reference](/features/tools/tool-use-overview) for all available tools.
-
-### Extending Kilo Code
-
-- **[MCP (Model Context Protocol)](/features/mcp/overview):** Add unlimited custom tools, integrate with external APIs, connect to databases, or create specialized development tools
-- **[Local Models](/advanced-usage/local-models):** Run Kilo Code with local AI models for offline use or enhanced privacy
-
-### Customizing Kilo Code
-
-Make Kilo Code work your way with:
-
-- [Settings Management](/basic-usage/settings-management) for configuring your experience
-- [Custom Modes](/agent-behavior/custom-modes) for specialized tasks
-- [Custom Rules](/agent-behavior/custom-rules) for project-specific rules
-- [Custom Instructions](/agent-behavior/custom-instructions) for global plugin-wide instructions
-- [API Configuration Profiles](/features/api-configuration-profiles) for different model providers
-- [Auto-Approval Settings](/features/auto-approving-actions) for faster workflows
-
-## Resources
-
-### Documentation
-
-- [Using Kilo Code](/basic-usage/the-chat-interface) - Learn the basics
-- [Autocomplete](/basic-usage/autocomplete) - Get AI-powered code suggestions as you type
-- [Core Concepts](/features/auto-approving-actions) - Master key features
-- [Advanced Usage](/agent-behavior/prompt-engineering) - Take your skills further
-- [Frequently Asked Questions](/faq) - Get answers to common questions
-
-### Community
-
-- **Discord:** <a href={DISCORD_URL} target="_blank">Join our Discord server</a> for real-time help and discussions
-- **Reddit:** <a href={REDDIT_URL} target="_blank">Visit our subreddit</a> to share experiences and tips
-- **YouTube:** <a href={YOUTUBE_URL} target="_blank">Check out our YouTube</a> to learn hands on skills when using Kilo Code
-- **GitHub:** Report <a href={GITHUB_ISSUES_MAIN_URL} target="_blank">issues</a> or request <a href={GITHUB_FEATURES_URL} target="_blank">features</a>
-
-Ready to get started? Click the **Next** button below to begin your journey with Kilo Code!

+ 0 - 162
apps/kilocode-docs/docs/jetbrains-troubleshooting.md

@@ -1,162 +0,0 @@
-# JetBrains Plugin Troubleshooting
-
-This guide covers common issues when using Kilo Code in JetBrains IDEs (IntelliJ IDEA, Android Studio, WebStorm, PyCharm, etc.).
-
-## Known Missing Features
-
-The following features, available in the VS Code version of Kilo Code, are not currently implemented in the JetBrains version:
-
-- **Autocomplete/QuickTasks**
-- **Git Commit Message Generation** This feature is missing but will be added soon!
-
-We're actively working on bringing feature parity between the VS Code and JetBrains versions. Check our [GitHub repository](https://github.com/Kilo-Org/kilocode) for updates on development progress.
-
-## Node.js Requirements
-
-### Why Node.js is Required
-
-The JetBrains Kilo Extension requires Node.js to be installed on your system. Node.js is used to run the extension's backend services and handle communication between the IDE and Kilo Code's AI features.
-
-### Installing Node.js
-
-Visit the official Node.js website for installation instructions for your platform: [https://nodejs.org/en/download](https://nodejs.org/en/download)
-
-We recommend downloading the **LTS (Long Term Support)** version for stability.
-
-### Verifying Node.js Installation
-
-After installation, verify that Node.js is properly installed by opening a terminal and running:
-
-```bash
-node --version
-npm --version
-```
-
-Both commands should return version numbers.
-
-## JCEF (Java Chromium Embedded Framework) Issues
-
-### What is JCEF?
-
-JCEF (Java Chromium Embedded Framework) is required for Kilo Code's web-based interface to display properly in JetBrains IDEs. Most JetBrains IDEs include JCEF support by default, but some configurations may need manual activation.
-
-## Fixing JCEF Issues by IDE
-
-### Android Studio
-
-JCEF is available in Android Studio but may need to be enabled manually:
-
-1. **Open Settings/Preferences:**
-
-    - **Windows/Linux:** File → Settings
-    - **macOS:** Help → Find Action...
-
-2. **Navigate to Boot Java Runtime:**
-
-    - Choose Boot Java Runtime for the IDE...
-
-3. **Pick a new runtime**
-
-    - Pick one that has "with JCEF" in the name
-
-4. **Restart Android Studio:**
-
-    - Close and reopen Android Studio for the changes to take effect
-
-5. **Verify:**
-    - Open Kilo Code panel
-    - The JCEF warning should be gone, and the interface should load properly
-
-**Visual Guide:**
-
-<img src="/docs/img/jetbrains/android-studio-jcef-enable.gif" alt="Step-by-step guide showing how to enable JCEF in Android Studio" width="600" />
-
-_This animation shows the complete process of enabling JCEF in Android Studio._
-
-### IntelliJ IDEA
-
-JCEF should be enabled by default in IntelliJ IDEA. If you see JCEF warnings:
-
-1. **Update IntelliJ IDEA:**
-
-    - Ensure you're running the latest version
-    - Go to Help → Check for Updates
-
-2. **Verify JetBrains Runtime:**
-
-    - IntelliJ IDEA should use JetBrains Runtime (JBR) by default
-    - JBR includes JCEF support
-
-3. **Check Advanced Settings:**
-    - Go to File → Settings (Windows/Linux) or IntelliJ IDEA → Preferences (macOS)
-    - Navigate to Advanced Settings
-    - Look for any JCEF-related options and ensure they're enabled
-
-### Other JetBrains IDEs
-
-For WebStorm, PyCharm, PhpStorm, RubyMine, CLion, GoLand, DataGrip, and Rider:
-
-1. **Update to Latest Version:**
-
-    - Most JCEF issues are resolved in recent versions
-    - Use the built-in updater: Help → Check for Updates
-
-2. **Verify JetBrains Runtime:**
-
-    - These IDEs should use JetBrains Runtime by default
-    - JBR includes comprehensive JCEF support
-
-3. **Check Settings:**
-    - Go to File → Settings (Windows/Linux) or [IDE Name] → Preferences (macOS)
-    - Navigate to Advanced Settings
-    - Enable any JCEF-related options
-
-## Authentication Issues
-
-### Incomplete Kilo Code authentication
-
-**Important:** The Kilo Code authentication callback requires [JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/) to be installed on your system.
-
-#### Why Toolbox is Required
-
-When you authenticate with Kilo Code, the browser redirects back to your IDE using a special URL scheme (`jetbrains://`). This URL scheme is **only registered on your system when JetBrains Toolbox is installed**. Without Toolbox:
-
-- The authentication redirect will fail silently
-- Your browser may show an error like "Cannot open link" or "No application is set to open this link"
-- The token will not be passed back to your IDE
-
-#### Symptoms of Missing Toolbox
-
-If you're experiencing authentication issues, you may notice:
-
-1. **Browser doesn't redirect after login** - After entering your credentials, the browser stays on the authentication page or shows an error
-2. **"Open in IDE" prompts don't work** - Links that should open in your JetBrains IDE do nothing
-3. **No logs in the IDE** - The authentication handler never fires because the URL scheme isn't registered
-
-#### Installing JetBrains Toolbox
-
-1. **Download JetBrains Toolbox:**
-
-    - Visit [https://www.jetbrains.com/toolbox-app/](https://www.jetbrains.com/toolbox-app/)
-    - Download the installer for your operating system
-
-2. **Install and Launch:**
-
-    - Run the installer
-    - Launch JetBrains Toolbox
-
-3. **Retry Authentication:**
-    - Return to Kilo Code in your JetBrains IDE
-    - Attempt the authentication flow again
-    - The `jetbrains://` URL should now work correctly
-
-#### Alternative: Manual Token Entry
-
-If you cannot install JetBrains Toolbox, you can manually configure your API provider:
-
-1. Go to Kilo Code Settings
-2. Select your API provider
-3. Manually enter your API key or authentication token
-4. Save your settings
-
-_For general Kilo Code support and documentation, visit [kilo.ai/docs](https://kilo.ai/docs)_

+ 0 - 26
apps/kilocode-docs/docs/tips-and-tricks.md

@@ -1,26 +0,0 @@
-# Tips & Tricks
-
-A collection of quick tips to help you get the most out of Kilo Code.
-
-- Right-click on the Kilo Code icon in the Activity Bar and select **Move To → Secondary Side Bar** to move Kilo Code to the [Secondary Sidebar](https://code.visualstudio.com/api/ux-guidelines/sidebars#secondary-sidebar), so you can see the Explorer, Search, Source Control, etc. alongside Kilo Code.
-
-    ![Move to Secondary Side Bar](./move-to-secondary.png)
-
-- Once you have Kilo Code in a separate sidebar from the file explorer, you can drag files from the explorer into the chat window (and even multiple at once). Just make sure to hold down the shift key after you start dragging the files.
-- **Autocomplete Tips:**
-    - Use chat for multi-file changes, refactoring, or when you need to explain intent. Use autocomplete for quick, localized edits where the context is already clear from surrounding code.
-    - Steer autocomplete by writing a comment describing what you want before triggering it, or by typing a function signature—autocomplete will fill in the implementation.
-    - Treat autocomplete suggestions as drafts: accept them quickly, then refine. It's often faster to fix a 90% correct suggestion than to craft the perfect prompt.
-- If you're not using [MCP](/features/mcp/overview), turn it off in Settings > Agent Behaviour > MCP Servers to significantly cut down the size of the system prompt.
-- To keep your [custom modes](/agent-behavior/custom-modes) on track, limit the types of files that they're allowed to edit.
-- If you hit the dreaded `input length and max tokens exceed context limit` error, you can recover by deleting a message, rolling back to a previous checkpoint, or switching over to a model with a long context window like Gemini for a message.
-- In general, be thoughtful about your `Max Tokens` setting for thinking models. Every token you allocate to that takes away from space available to store conversation history. Consider only using high `Max Tokens` / `Max Thinking Tokens` settings with modes like Architect and Debug, and keeping Code mode at 16k max tokens or less.
-- If there's a real world job posting for something you want a custom mode to do, try asking Code mode to `Create a custom mode based on the job posting at @[url]`
-- If you want to really accelerate, check out multiple copies of your repository and run Kilo Code on all of them in parallel (using git to resolve any conflicts, same as with human devs).
-- When using Debug mode, ask Kilo to "start a new task in Debug mode with all of the necessary context needed to figure out X" so that the debugging process uses its own context window and doesn't pollute the main task
-- Add your own tips by clicking "Edit this page" below!
-- To manage large files and reduce context/resource usage, adjust the `File read auto-truncate threshold` setting. This setting controls the number of lines read from a file in one batch. Lower values can improve performance when working with very large files, but may require more read operations. You can find this setting in the Kilo Code settings under 'Advanced Settings'.
-
-| Browser Tab                                                                                                                           | Auto-Approve Tab                                                                                                                      | Display Tab                                                                                                                           |
-| ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
-| [![KiloCode Demo 1](https://img.youtube.com/vi/VMPKXt8k050/maxresdefault.jpg)](https://youtube.com/shorts/VMPKXt8k050?feature=shared) | [![KiloCode Demo 2](https://img.youtube.com/vi/NBccFnYDQ-k/maxresdefault.jpg)](https://youtube.com/shorts/NBccFnYDQ-k?feature=shared) | [![KiloCode Demo 3](https://img.youtube.com/vi/qYrT2pbfS7E/maxresdefault.jpg)](https://youtube.com/shorts/qYrT2pbfS7E?feature=shared) |

+ 0 - 381
apps/kilocode-docs/docusaurus.config.ts

@@ -1,381 +0,0 @@
-import { themes as prismThemes } from "prism-react-renderer"
-import type { Config } from "@docusaurus/types"
-import type * as Preset from "@docusaurus/preset-classic"
-import {
-	DISCORD_URL,
-	REDDIT_URL,
-	TWITTER_URL,
-	GITHUB_MAIN_REPO_URL,
-	GITHUB_ISSUES_MAIN_URL,
-	GITHUB_FEATURES_URL,
-	VSCODE_MARKETPLACE_URL,
-	OPEN_VSX_URL,
-	CONTACT_EMAIL,
-	CAREERS_URL,
-	WEBSITE_PRIVACY_URL,
-	EXTENSION_PRIVACY_URL,
-	GITHUB_REPO_URL,
-} from "./src/constants"
-
-// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
-
-const config: Config = {
-	title: "Kilo Code Docs",
-	tagline: "Kilo Code Documentation",
-	favicon: "img/favicon.ico",
-
-	// Set the production url of your site here
-	url: "https://kilo.ai",
-	// Set the /<baseUrl>/ pathname under which your site is served
-	// For GitHub pages deployment, it is often '/<projectName>/'
-	baseUrl: "/docs",
-
-	customFields: {
-		freeTierAmount: process.env.FREE_TIER_AMOUNT || "$20",
-	},
-
-	onBrokenLinks: "throw",
-	onBrokenMarkdownLinks: "warn",
-
-	// Even if you don't use internationalization, you can use this field to set
-	// useful metadata like html lang. For example, if your site is Chinese, you
-	// may want to replace "en" with "zh-Hans".
-	i18n: {
-		defaultLocale: "en",
-		locales: ["en", "zh-CN"],
-	},
-
-	presets: [
-		[
-			"classic",
-			{
-				docs: {
-					sidebarPath: "./sidebars.ts",
-					routeBasePath: "/",
-					editUrl: `${GITHUB_MAIN_REPO_URL}/edit/main/apps/kilocode-docs/`,
-					showLastUpdateTime: true,
-				},
-				blog: false, // Disable blog feature
-				sitemap: {
-					lastmod: "date",
-					priority: null,
-					changefreq: null,
-				},
-				theme: {
-					customCss: "./src/css/custom.css",
-				},
-			} satisfies Preset.Options,
-		],
-	],
-
-	themes: [
-		[
-			require.resolve("@easyops-cn/docusaurus-search-local"),
-			{
-				hashed: true,
-				language: ["en"],
-				highlightSearchTermsOnTargetPage: false,
-				explicitSearchResultPath: true,
-				docsRouteBasePath: "/",
-			},
-		],
-	],
-
-	plugins: [
-		...(process.env.POSTHOG_API_KEY
-			? [
-					[
-						"posthog-docusaurus",
-						{
-							apiKey: process.env.POSTHOG_API_KEY,
-							appUrl: "https://us.i.posthog.com",
-							enableInDevelopment: true,
-						},
-					],
-				]
-			: []),
-		[
-			"@docusaurus/plugin-client-redirects",
-			{
-				createRedirects(existingPath) {
-					// Redirect old /contributing/specs/spec-* paths to /contributing/architecture/*
-					if (existingPath.startsWith("/contributing/architecture/")) {
-						const filename = existingPath.replace("/contributing/architecture/", "")
-						return [
-							`/contributing/specs/spec-${filename}`, // spec- prefix
-							`/contributing/specs/${filename}`, // without prefix
-						]
-					}
-					return undefined
-				},
-				redirects: [
-					// Files moved from advanced-usage to features
-					{
-						to: "/features/checkpoints",
-						from: ["/advanced-usage/checkpoints"],
-					},
-					{
-						to: "/features/code-actions",
-						from: ["/advanced-usage/code-actions"],
-					},
-					{
-						to: "/agent-behavior/custom-instructions",
-						from: [
-							"/advanced-usage/custom-instructions",
-							"/features/custom-instructions",
-							"/customization/custom-instructions",
-						],
-					},
-					{
-						to: "/agent-behavior/custom-modes",
-						from: ["/features/custom-modes", "/advanced-usage/custom-modes", "/customization/custom-modes"],
-					},
-					{
-						to: "/agent-behavior/custom-rules",
-						from: ["/advanced-usage/custom-rules", "/customization/custom-rules"],
-					},
-					{
-						to: "/agent-behavior/skills",
-						from: ["/features/skills", "/customization/skills"],
-					},
-					{
-						to: "/agent-behavior/workflows",
-						from: ["/features/slash-commands/workflows", "/customization/workflows"],
-					},
-					{
-						to: "/basic-usage/settings-management",
-						from: ["/features/settings-management", "/customization/settings-management"],
-					},
-					{
-						to: "/agent-behavior/prompt-engineering",
-						from: ["/advanced-usage/prompt-engineering"],
-					},
-					{
-						to: "/features/enhance-prompt",
-						from: ["/advanced-usage/enhance-prompt"],
-					},
-					{
-						to: "/features/experimental/experimental-features",
-						from: ["/advanced-usage/experimental-features"],
-					},
-					{
-						to: "/features/model-temperature",
-						from: ["/advanced-usage/model-temperature"],
-					},
-					{
-						to: "/features/auto-approving-actions",
-						from: ["/advanced-usage/auto-approving-actions"],
-					},
-					{
-						to: "/features/api-configuration-profiles",
-						from: ["/advanced-usage/api-configuration-profiles"],
-					},
-
-					{
-						to: "/slack",
-						from: ["/advanced-usage/slackbot"],
-					},
-
-					// MCP related redirects
-					{
-						to: "/features/mcp/overview",
-						from: ["/advanced-usage/mcp", "/mcp/overview"],
-					},
-					{
-						to: "/features/mcp/using-mcp-in-kilo-code",
-						from: ["/mcp/using-mcp-in-kilo-code"],
-					},
-					{
-						to: "/features/mcp/what-is-mcp",
-						from: ["/mcp/what-is-mcp"],
-					},
-					{
-						to: "/features/mcp/server-transports",
-						from: ["/mcp/server-transports"],
-					},
-					{
-						to: "/features/mcp/mcp-vs-api",
-						from: ["/mcp/mcp-vs-api"],
-					},
-
-					// Kilo credits, not tokens
-					{
-						to: "/basic-usage/adding-credits",
-						from: ["/basic-usage/adding-tokens"],
-					},
-					// Change to plans language
-					{
-						to: "/plans/about",
-						from: ["/seats/about"],
-					},
-					{
-						to: "/plans/getting-started",
-						from: ["/seats/getting-started"],
-					},
-					{
-						to: "/plans/dashboard",
-						from: ["/seats/dashboard"],
-					},
-					{
-						to: "/plans/analytics",
-						from: ["/seats/analytics"],
-					},
-					{
-						to: "/plans/team-management",
-						from: ["/seats/team-management"],
-					},
-					{
-						to: "/plans/custom-modes",
-						from: ["/seats/custom-modes"],
-					},
-					{
-						to: "/plans/billing",
-						from: ["/seats/billing"],
-					},
-					{
-						to: "/plans/enterprise/SSO",
-						from: ["/seats/enterprise/SSO"],
-					},
-					{
-						to: "/plans/enterprise/model-access",
-						from: ["/seats/enterprise/model-access"],
-					},
-					{
-						to: "/plans/enterprise/audit-logs",
-						from: ["/seats/enterprise/audit-logs"],
-					},
-					{
-						to: "/plans/migration",
-						from: ["/seats/migration"],
-					},
-					// Contributing page relocation
-					{
-						to: "/contributing",
-						from: ["/extending/contributing-to-kilo"],
-					},
-					{
-						to: "/contributing/development-environment",
-						from: ["/extending/development-environment"],
-					},
-				],
-			},
-		],
-		[
-			"docusaurus-plugin-llms",
-			{
-				id: "llms-txt",
-				name: "Kilo Code Documentation",
-				description:
-					"Comprehensive documentation for Kilo Code, an AI-powered coding assistant for VS Code, Jetbrains, CLI & Cloud",
-				url: "https://kilo.ai/docs",
-				email: "[email protected]",
-			},
-		],
-	],
-
-	themeConfig: {
-		image: "img/kilo-v1.svg",
-		navbar: {
-			title: "Kilo Code",
-			logo: {
-				alt: "Kilo Code Logo",
-				src: "img/kilo-v1.svg",
-				srcDark: "img/kilo-v1-white.svg",
-				href: "/",
-				target: "_self",
-			},
-			items: [
-				{
-					href: GITHUB_MAIN_REPO_URL,
-					label: "GitHub",
-					position: "right",
-				},
-				{
-					href: VSCODE_MARKETPLACE_URL,
-					label: "Install Extension",
-					position: "right",
-				},
-				{
-					type: "localeDropdown",
-					position: "right",
-				},
-			],
-		},
-		footer: {
-			style: "dark",
-			links: [
-				{
-					title: "Community",
-					items: [
-						{
-							label: "Discord",
-							href: DISCORD_URL,
-						},
-						{
-							label: "Reddit",
-							href: REDDIT_URL,
-						},
-						{
-							label: "Twitter",
-							href: TWITTER_URL,
-						},
-					],
-				},
-				{
-					title: "GitHub",
-					items: [
-						{
-							label: "Issues",
-							href: GITHUB_ISSUES_MAIN_URL,
-						},
-						{
-							label: "Feature Requests",
-							href: GITHUB_FEATURES_URL,
-						},
-					],
-				},
-				{
-					title: "Download",
-					items: [
-						{
-							label: "VS Code Marketplace",
-							href: VSCODE_MARKETPLACE_URL,
-						},
-						{
-							label: "Open VSX Registry",
-							href: OPEN_VSX_URL,
-						},
-					],
-				},
-				{
-					title: "Company",
-					items: [
-						{
-							label: "Contact",
-							href: CONTACT_EMAIL,
-							target: "_self",
-						},
-						{
-							label: "Careers",
-							href: CAREERS_URL,
-						},
-						{
-							label: "Website Privacy Policy",
-							href: WEBSITE_PRIVACY_URL,
-						},
-						{
-							label: "Extension Privacy Policy",
-							href: EXTENSION_PRIVACY_URL,
-						},
-					],
-				},
-			],
-		},
-		prism: {
-			theme: prismThemes.github,
-			darkTheme: prismThemes.dracula,
-		},
-	} satisfies Preset.ThemeConfig,
-}
-
-export default config

+ 0 - 362
apps/kilocode-docs/i18n/zh-CN/code.json

@@ -1,362 +0,0 @@
-{
-  "theme.ErrorPageContent.title": {
-    "message": "页面已崩溃。",
-    "description": "The title of the fallback page when the page crashed"
-  },
-  "theme.BackToTopButton.buttonAriaLabel": {
-    "message": "返回顶部",
-    "description": "The ARIA label for the back to top button"
-  },
-  "theme.blog.archive.title": {
-    "message": "历史博文",
-    "description": "The page & hero title of the blog archive page"
-  },
-  "theme.blog.archive.description": {
-    "message": "历史博文",
-    "description": "The page & hero description of the blog archive page"
-  },
-  "theme.blog.paginator.navAriaLabel": {
-    "message": "博文列表分页导航",
-    "description": "The ARIA label for the blog pagination"
-  },
-  "theme.blog.paginator.newerEntries": {
-    "message": "较新的博文",
-    "description": "The label used to navigate to the newer blog posts page (previous page)"
-  },
-  "theme.blog.paginator.olderEntries": {
-    "message": "较旧的博文",
-    "description": "The label used to navigate to the older blog posts page (next page)"
-  },
-  "theme.blog.post.paginator.navAriaLabel": {
-    "message": "博文分页导航",
-    "description": "The ARIA label for the blog posts pagination"
-  },
-  "theme.blog.post.paginator.newerPost": {
-    "message": "下一篇",
-    "description": "The blog post button label to navigate to the newer/previous post"
-  },
-  "theme.blog.post.paginator.olderPost": {
-    "message": "上一篇",
-    "description": "The blog post button label to navigate to the older/next post"
-  },
-  "theme.tags.tagsPageLink": {
-    "message": "查看所有标签",
-    "description": "The label of the link targeting the tag list page"
-  },
-"theme.colorToggle.ariaLabel.mode.system": {
-  "message": "跟随系统",
-  "description": "The name for the system color mode"
-}
-,
-  "theme.colorToggle.ariaLabel.mode.light": {
-    "message": "浅色模式",
-    "description": "The name for the light color mode"
-  },
-  "theme.colorToggle.ariaLabel.mode.dark": {
-    "message": "深色模式",
-    "description": "The name for the dark color mode"
-  },
-  "theme.colorToggle.ariaLabel": {
-    "message": "切换浅色/深色模式(当前为{mode})",
-    "description": "The ARIA label for the color mode toggle"
-  },
-  "theme.docs.DocCard.categoryDescription.plurals": {
-    "message": "{count} 个项目",
-    "description": "The default description for a category card in the generated index about how many items this category includes"
-  },
-  "theme.docs.breadcrumbs.navAriaLabel": {
-    "message": "页面路径",
-    "description": "The ARIA label for the breadcrumbs"
-  },
-  "theme.docs.paginator.navAriaLabel": {
-    "message": "文档导航",
-    "description": "The ARIA label for the docs pagination"
-  },
-  "theme.docs.paginator.previous": {
-    "message": "上一页",
-    "description": "The label used to navigate to the previous doc"
-  },
-  "theme.docs.paginator.next": {
-    "message": "下一页",
-    "description": "The label used to navigate to the next doc"
-  },
-  "theme.docs.tagDocListPageTitle.nDocsTagged": {
-    "message": "共 {count} 篇文档",
-    "description": "Pluralized label for \"{count} docs tagged\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
-  },
-  "theme.docs.tagDocListPageTitle": {
-    "message": "标签「{tagName}」 - {nDocsTagged}",
-    "description": "The title of the page for a docs tag"
-  },
-  "theme.docs.versions.unreleasedVersionLabel": {
-    "message": "这是 {siteTitle} {versionLabel} 版本的未发布文档。",
-    "description": "The label used to tell the user that he's browsing an unreleased doc version"
-  },
-  "theme.docs.versions.unmaintainedVersionLabel": {
-    "message": "这是 {siteTitle} {versionLabel} 版本的文档,已不再维护。",
-    "description": "The label used to tell the user that he's browsing an unmaintained doc version"
-  },
-  "theme.docs.versions.latestVersionSuggestionLabel": {
-    "message": "请查看最新文档 {latestVersionLink} ({versionLabel})。",
-    "description": "The label used to tell the user to check the latest version"
-  },
-  "theme.docs.versions.latestVersionLinkLabel": {
-    "message": "最新版本",
-    "description": "The label used for the latest version suggestion link label"
-  },
-  "theme.docs.versionBadge.label": {
-    "message": "版本:{versionLabel}"
-  },
-  "theme.common.editThisPage": {
-    "message": "编辑此页",
-    "description": "The link label to edit the current page"
-  },
-  "theme.common.headingLinkTitle": {
-    "message": "{heading}的链接",
-    "description": "Title for link to heading"
-  },
-  "theme.lastUpdated.atDate": {
-    "message": "于 {date} ",
-    "description": "The words used to describe on which date a page has been last updated"
-  },
-  "theme.lastUpdated.byUser": {
-    "message": "由 {user} ",
-    "description": "The words used to describe by who the page has been last updated"
-  },
-  "theme.lastUpdated.lastUpdatedAtBy": {
-    "message": "最后{byUser}{atDate}更新",
-    "description": "The sentence used to display when a page has been last updated, and by who"
-  },
-  "theme.navbar.mobileVersionsDropdown.label": {
-    "message": "选择版本",
-    "description": "The label for the navbar versions dropdown on mobile view"
-  },
-  "theme.NotFound.title": {
-    "message": "找不到页面",
-    "description": "The title of the 404 page"
-  },
-  "theme.tags.tagsListLabel": {
-    "message": "标签:",
-    "description": "The label alongside a tag list"
-  },
-  "theme.AnnouncementBar.closeButtonAriaLabel": {
-    "message": "关闭",
-    "description": "The ARIA label for close button of announcement bar"
-  },
-  "theme.admonition.caution": {
-    "message": "警告",
-    "description": "The default label used for the Caution admonition (:::caution)"
-  },
-  "theme.admonition.danger": {
-    "message": "风险",
-    "description": "The default label used for the Danger admonition (:::danger)"
-  },
-  "theme.admonition.info": {
-    "message": "信息",
-    "description": "The default label used for the Info admonition (:::info)"
-  },
-  "theme.admonition.note": {
-    "message": "备注",
-    "description": "The default label used for the Note admonition (:::note)"
-  },
-  "theme.admonition.tip": {
-    "message": "提示",
-    "description": "The default label used for the Tip admonition (:::tip)"
-  },
-  "theme.admonition.warning": {
-    "message": "注意",
-    "description": "The default label used for the Warning admonition (:::warning)"
-  },
-  "theme.blog.sidebar.navAriaLabel": {
-    "message": "最近博文导航",
-    "description": "The ARIA label for recent posts in the blog sidebar"
-  },
-  "theme.DocSidebarItem.expandCategoryAriaLabel": {
-    "message": "展开侧边栏分类 '{label}'",
-    "description": "The ARIA label to expand the sidebar category"
-  },
-  "theme.DocSidebarItem.collapseCategoryAriaLabel": {
-    "message": "折叠侧边栏分类 '{label}'",
-    "description": "The ARIA label to collapse the sidebar category"
-  },
-  "theme.NavBar.navAriaLabel": {
-    "message": "网站地图",
-    "description": "The ARIA label for the main navigation"
-  },
-  "theme.NotFound.p1": {
-    "message": "我们找不到您要找的页面。",
-    "description": "The first paragraph of the 404 page"
-  },
-  "theme.NotFound.p2": {
-    "message": "请联系原始链接来源网站的所有者,并告知他们链接已损坏。",
-    "description": "The 2nd paragraph of the 404 page"
-  },
-  "theme.TOCCollapsible.toggleButtonLabel": {
-    "message": "目录",
-    "description": "The label used by the button on the collapsible TOC component"
-  },
-  "theme.navbar.mobileLanguageDropdown.label": {
-    "message": "选择语言",
-    "description": "The label for the mobile language switcher dropdown"
-  },
-  "theme.blog.post.readingTime.plurals": {
-    "message": "阅读需 {readingTime} 分钟",
-    "description": "Pluralized label for \"{readingTime} min read\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
-  },
-  "theme.blog.post.readMore": {
-    "message": "阅读更多",
-    "description": "The label used in blog post item excerpts to link to full blog posts"
-  },
-  "theme.blog.post.readMoreLabel": {
-    "message": "阅读 {title} 的全文",
-    "description": "The ARIA label for the link to full blog posts from excerpts"
-  },
-  "theme.CodeBlock.copy": {
-    "message": "复制",
-    "description": "The copy button label on code blocks"
-  },
-  "theme.CodeBlock.copied": {
-    "message": "复制成功",
-    "description": "The copied button label on code blocks"
-  },
-  "theme.CodeBlock.copyButtonAriaLabel": {
-    "message": "复制代码到剪贴板",
-    "description": "The ARIA label for copy code blocks button"
-  },
-  "theme.CodeBlock.wordWrapToggle": {
-    "message": "切换自动换行",
-    "description": "The title attribute for toggle word wrapping button of code block lines"
-  },
-  "theme.docs.sidebar.collapseButtonTitle": {
-    "message": "收起侧边栏",
-    "description": "The title attribute for collapse button of doc sidebar"
-  },
-  "theme.docs.sidebar.collapseButtonAriaLabel": {
-    "message": "收起侧边栏",
-    "description": "The title attribute for collapse button of doc sidebar"
-  },
-  "theme.docs.sidebar.navAriaLabel": {
-    "message": "文档侧边栏",
-    "description": "The ARIA label for the sidebar navigation"
-  },
-  "theme.docs.breadcrumbs.home": {
-    "message": "主页",
-    "description": "The ARIA label for the home page in the breadcrumbs"
-  },
-  "theme.docs.sidebar.closeSidebarButtonAriaLabel": {
-    "message": "关闭导航栏",
-    "description": "The ARIA label for close button of mobile sidebar"
-  },
-  "theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel": {
-    "message": "← 返回主菜单",
-    "description": "The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"
-  },
-  "theme.docs.sidebar.toggleSidebarButtonAriaLabel": {
-    "message": "切换导航栏",
-    "description": "The ARIA label for hamburger menu button of mobile navigation"
-  },
-  "theme.docs.sidebar.expandButtonTitle": {
-    "message": "展开侧边栏",
-    "description": "The ARIA label and title attribute for expand button of doc sidebar"
-  },
-  "theme.docs.sidebar.expandButtonAriaLabel": {
-    "message": "展开侧边栏",
-    "description": "The ARIA label and title attribute for expand button of doc sidebar"
-  },
-  "theme.navbar.mobileDropdown.collapseButton.expandAriaLabel": {
-    "message": "展开下拉菜单",
-    "description": "The ARIA label of the button to expand the mobile dropdown navbar item"
-  },
-  "theme.navbar.mobileDropdown.collapseButton.collapseAriaLabel": {
-    "message": "折叠下拉菜单",
-    "description": "The ARIA label of the button to collapse the mobile dropdown navbar item"
-  },
-  "theme.SearchPage.existingResultsTitle": {
-    "message": "“{query}”的搜索结果",
-    "description": "The search page title for non-empty query"
-  },
-  "theme.SearchPage.emptyResultsTitle": {
-    "message": "查找文档",
-    "description": "The search page title for empty query"
-  },
-  "theme.SearchPage.searchContext.everywhere": {
-    "message": "所有"
-  },
-  "theme.SearchPage.documentsFound.plurals": {
-    "message": "共找到 {count} 篇文档",
-    "description": "Pluralized label for \"{count} documents found\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
-  },
-  "theme.SearchPage.noResultsText": {
-    "message": "未找到任何文档",
-    "description": "The paragraph for empty search result"
-  },
-  "theme.SearchBar.noResultsText": {
-    "message": "未找到任何文档"
-  },
-  "theme.SearchBar.seeAllOutsideContext": {
-    "message": "查看“{context}”以外的全部结果"
-  },
-  "theme.SearchBar.searchInContext": {
-    "message": "查看“{context}”以内的全部结果"
-  },
-  "theme.SearchBar.seeAll": {
-    "message": "查看全部结果"
-  },
-  "theme.SearchBar.label": {
-    "message": "搜索",
-    "description": "The ARIA label and placeholder for search button"
-  },
-  "theme.blog.post.plurals": {
-    "message": "{count} 篇博文",
-    "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)"
-  },
-  "theme.blog.tagTitle": {
-    "message": "{nPosts} 含有标签「{tagName}」",
-    "description": "The title of the page for a blog tag"
-  },
-  "theme.blog.author.pageTitle": {
-    "message": "{authorName} - {nPosts}",
-    "description": "The title of the page for a blog author"
-  },
-  "theme.blog.authorsList.pageTitle": {
-    "message": "作者",
-    "description": "The title of the authors page"
-  },
-  "theme.blog.authorsList.viewAll": {
-    "message": "查看所有作者",
-    "description": "The label of the link targeting the blog authors page"
-  },
-  "theme.blog.author.noPosts": {
-    "message": "该作者尚未撰写任何文章。",
-    "description": "The text for authors with 0 blog post"
-  },
-  "theme.contentVisibility.unlistedBanner.title": {
-    "message": "未公开页面",
-    "description": "The unlisted content banner title"
-  },
-  "theme.contentVisibility.unlistedBanner.message": {
-    "message": "此页面未公开。搜索引擎无法索引它,只有通过直接链接的用户才能访问。",
-    "description": "The unlisted content banner message"
-  },
-  "theme.contentVisibility.draftBanner.title": {
-    "message": "草稿页",
-    "description": "The draft content banner title"
-  },
-  "theme.contentVisibility.draftBanner.message": {
-    "message": "此页面是草稿,仅在开发环境中可见,不会包含在正式版本中。",
-    "description": "The draft content banner message"
-  },
-  "theme.ErrorPageContent.tryAgain": {
-    "message": "重试",
-    "description": "The label of the button to try again rendering when the React error boundary captures an error"
-  },
-  "theme.common.skipToMainContent": {
-    "message": "跳转到主要内容",
-    "description": "The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation"
-  },
-  "theme.tags.tagsPageTitle": {
-    "message": "标签",
-    "description": "The title of the tag list page"
-  }
-}
-

+ 0 - 63
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current.json

@@ -1,63 +0,0 @@
-{
-  "version.label": {
-    "message": "下一个",
-    "description": "The label for version current"
-  },
-  "sidebar.tutorialSidebar.category.Getting Started": {
-    "message": "入门",
-    "description": "The label for category Getting Started in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Using Kilo Code": {
-    "message": "使用 Kilo Code",
-    "description": "The label for category Using Kilo Code in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Basic Features": {
-    "message": "基本功能",
-    "description": "The label for category Basic Features in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Core Concepts": {
-    "message": "核心概念",
-    "description": "The label for category Core Concepts in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Advanced Usage": {
-    "message": "高级用法",
-    "description": "The label for category Advanced Usage in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Customizing Kilo Code": {
-    "message": "自定义 Kilo Code",
-    "description": "The label for category Customizing Kilo Code in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Advanced Context Features": {
-    "message": "高级上下文功能",
-    "description": "The label for category Advanced Context Features in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Advanced AI Features": {
-    "message": "高级 AI 功能",
-    "description": "The label for category Advanced AI Features in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Customization": {
-    "message": "自定义",
-    "description": "The label for category Customization in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Extending Kilo Code": {
-    "message": "扩展 Kilo Code",
-    "description": "The label for category Extending Kilo Code in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Model Providers": {
-    "message": "模型供应商",
-    "description": "The label for category Model Providers in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Model Context Protocol (MCP)": {
-    "message": "模型上下文协议 (MCP)",
-    "description": "The label for category Model Context Protocol (MCP) in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.category.Tools Reference": {
-    "message": "工具参考",
-    "description": "The label for category Tools Reference in sidebar tutorialSidebar"
-  },
-  "sidebar.tutorialSidebar.doc.Setup": {
-    "message": "设置",
-    "description": "The label for the doc item Setup in sidebar tutorialSidebar, linking to the doc getting-started/setting-up"
-  }
-}
-

+ 0 - 240
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/available-tools/codebase-search.md

@@ -1,240 +0,0 @@
-# codebase_search
-
-:::warning 实验性功能
-`codebase_search` 工具需要额外的设置,包括嵌入提供程序和向量数据库。
-:::
-
-`codebase_search` 工具使用 AI 嵌入在整个代码库中执行语义搜索。与传统的基于文本的搜索不同,它能理解查询的含义,即使没有完全匹配的关键字,也能找到相关的代码。
-
-## 参数
-
-该工具接受以下参数:
-
-- `query`(必填):自然语言搜索查询,描述你要查找的内容
-- `path`(可选):目录路径,用于将搜索范围限制在代码库的特定部分
-
-## 功能
-
-该工具通过语义相似性而非精确文本匹配来搜索你的索引代码库。它能找到与你的查询在概念上相关的代码块,即使它们不包含你搜索的确切单词。结果包括相关代码片段、文件路径、行号和相似度分数。
-
-## 使用场景
-
-- 当 Kilo Code 需要在项目中查找与特定功能相关的代码时
-- 当查找实现模式或相似代码结构时
-- 当搜索错误处理、身份验证或其他概念性代码模式时
-- 当探索不熟悉的代码库以了解功能实现时
-- 当查找可能受更改或重构影响的代码时
-
-## 主要特性
-
-- **语义理解**:通过含义而非精确关键字匹配查找代码
-- **跨项目搜索**:搜索整个索引代码库,而不仅仅是打开的文件
-- **上下文结果**:返回包含文件路径和行号的代码片段,便于导航
-- **相似度评分**:结果按相关性排序,带有相似度分数(0-1 范围)
-- **范围过滤**:可选路径参数,用于将搜索限制在特定目录
-- **智能排序**:结果按与查询的语义相关性排序
-- **UI 集成**:结果显示语法高亮和导航链接
-- **性能优化**:快速向量搜索,具有可配置的结果限制
-
-## 要求
-
-该工具仅在实验性代码库索引功能正确配置时可用:
-
-- **功能启用**:必须在实验设置中启用代码库索引
-- **嵌入提供程序**:需要 OpenAI API 密钥或 Ollama 配置
-- **向量数据库**:需要运行并访问 Qdrant 实例
-- **索引状态**:代码库必须已索引(状态:"已索引" 或 "正在索引")
-
-## 限制
-
-- **实验性功能**:属于实验性代码库索引系统的一部分
-- **需要配置**:依赖外部服务(嵌入提供程序 + Qdrant)
-- **索引依赖**:仅搜索已索引的代码块
-- **结果限制**:每次搜索最多返回 50 个结果以保持性能
-- **相似度阈值**:仅返回相似度分数高于 0.4 的结果
-- **文件大小限制**:仅限于成功索引的小于 1MB 的文件
-- **语言支持**:效果取决于 Tree-sitter 语言支持
-
-## 工作原理
-
-当调用 `codebase_search` 工具时,它会遵循以下过程:
-
-1. **可用性验证**:
-
-    - 验证 CodeIndexManager 是否可用并已初始化
-    - 确认设置中已启用代码库索引
-    - 检查索引是否正确配置(API 密钥、Qdrant URL)
-    - 验证当前索引状态是否允许搜索
-
-2. **查询处理**:
-
-    - 获取你的自然语言查询并生成嵌入向量
-    - 使用为索引配置的相同嵌入提供程序(OpenAI 或 Ollama)
-    - 将查询的语义转换为数学表示
-
-3. **向量搜索执行**:
-
-    - 在 Qdrant 向量数据库中搜索相似的代码嵌入
-    - 使用余弦相似度查找最相关的代码块
-    - 应用最小相似度阈值(0.4)以过滤结果
-    - 将结果限制为 50 个匹配项以优化性能
-
-4. **路径过滤**(如果指定):
-
-    - 过滤结果,仅包括指定目录路径中的文件
-    - 使用标准化路径比较以进行准确过滤
-    - 在过滤范围内保持相关性排序
-
-5. **结果处理和格式化**:
-
-    - 将绝对文件路径转换为工作区相对路径
-    - 使用文件路径、行范围、相似度分数和代码内容构建结果
-    - 格式化为 AI 使用和 UI 显示,并带有语法高亮
-
-6. **双重输出格式**:
-    - **AI 输出**:结构化文本格式,包含查询、文件路径、分数和代码块
-    - **UI 输出**:JSON 格式,带有语法高亮和导航功能
-
-## 搜索查询最佳实践
-
-### 有效查询模式
-
-**良好:概念性和具体性**
-
-```xml
-<codebase_search>
-<query>用户身份验证和密码验证</query>
-</codebase_search>
-```
-
-**良好:功能导向**
-
-```xml
-<codebase_search>
-<query>数据库连接池设置</query>
-</codebase_search>
-```
-
-**良好:问题导向**
-
-```xml
-<codebase_search>
-<query>API 请求的错误处理</query>
-</codebase_search>
-```
-
-**效果较差:过于通用**
-
-```xml
-<codebase_search>
-<query>函数</query>
-</codebase_search>
-```
-
-### 适用查询类型
-
-- **功能描述**:"文件上传处理","电子邮件验证逻辑"
-- **技术模式**:"单例模式实现","工厂方法使用"
-- **领域概念**:"用户档案管理","支付处理流程"
-- **架构组件**:"中间件配置","数据库迁移脚本"
-
-## 目录范围限定
-
-使用可选的 `path` 参数将搜索范围限定在代码库的特定部分:
-
-**在 API 模块中搜索:**
-
-```xml
-<codebase_search>
-<query>端点验证中间件</query>
-<path>src/api</path>
-</codebase_search>
-```
-
-**在测试文件中搜索:**
-
-```xml
-<codebase_search>
-<query>模拟数据设置模式</query>
-<path>tests</path>
-</codebase_search>
-```
-
-**在特定功能目录中搜索:**
-
-```xml
-<codebase_search>
-<query>组件状态管理</query>
-<path>src/components/auth</path>
-</codebase_search>
-```
-
-## 结果解释
-
-### 相似度分数
-
-- **0.8-1.0**:高度相关匹配,很可能是你要找的内容
-- **0.6-0.8**:良好匹配,具有强概念相似性
-- **0.4-0.6**:可能相关,但可能需要审查
-- **低于 0.4**:作为太不相关而被过滤掉
-
-### 结果结构
-
-每个搜索结果包括:
-
-- **文件路径**:包含匹配项的文件的工作区相对路径
-- **分数**:表示相关性的相似度分数(0.4-1.0)
-- **行范围**:代码块的起始和结束行号
-- **代码块**:与查询匹配的实际代码内容
-
-## 使用示例
-
-- 当 Kilo Code 实现新功能时,搜索 "身份验证中间件" 以在编写新代码之前了解现有模式。
-- 当调试问题时,Kilo Code 搜索 "API 调用中的错误处理" 以查找代码库中相关的错误模式。
-- 当重构代码时,Kilo Code 搜索 "数据库事务模式" 以确保所有数据库操作的一致性。
-- 当加入新代码库时,Kilo Code 搜索 "配置加载" 以了解应用程序如何引导。
-
-## 使用示例
-
-在整个项目中搜索与身份验证相关的代码:
-
-```xml
-<codebase_search>
-<query>用户登录和身份验证逻辑</query>
-</codebase_search>
-```
-
-在特定目录中查找与数据库相关的代码:
-
-```xml
-<codebase_search>
-<query>数据库连接和查询执行</query>
-<path>src/data</path>
-</codebase_search>
-```
-
-在 API 代码中查找错误处理模式:
-
-```xml
-<codebase_search>
-<query>HTTP 错误响应和异常处理</query>
-<path>src/api</path>
-</codebase_search>
-```
-
-搜索测试工具和模拟设置:
-
-```xml
-<codebase_search>
-<query>测试设置和模拟数据创建</query>
-<path>tests</path>
-</codebase_search>
-```
-
-查找配置和环境设置代码:
-
-```xml
-<codebase_search>
-<query>环境变量和应用程序配置</query>
-</codebase_search>
-```

+ 0 - 42
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/custom-instructions.md

@@ -1,42 +0,0 @@
-# 自定义指令
-
-自定义指令允许你个性化 Kilo Code 的行为,提供特定的指导来塑造响应、编码风格和决策过程。
-
-## 什么是自定义指令?
-
-自定义指令定义了扩展的特定行为、偏好和约束,超出了 Kilo 的基本角色定义。示例包括编码风格、文档标准、测试要求和工作流指南。
-
-:::info 自定义指令 vs 规则
-自定义指令是 IDE 范围的,适用于所有工作区,无论你在处理哪个项目,都会保持你的偏好。与指令不同,[自定义规则](/agent-behavior/custom-rules) 是项目特定的,允许你设置基于工作区的规则集。
-:::
-
-## 设置自定义指令
-
-**如何设置:**
-
-<img src="/docs/img/custom-instructions/custom-instructions.png" alt="Kilo Code 提示标签显示全局自定义指令界面" width="600" />
-1.  **打开提示标签:** 点击 Kilo Code 顶部菜单栏中的 <Codicon name="notebook" /> 图标
-2.  **找到部分:** 找到 "所有模式的自定义指令" 部分
-3.  **输入指令:** 在文本区域输入你的指令
-4.  **保存更改:** 点击 "完成" 保存你的更改
-
-#### 模式特定指令
-
-模式特定指令可以使用提示标签设置
-
-    <img src="/docs/img/custom-instructions/custom-instructions-3.png" alt="Kilo Code 提示标签显示模式特定自定义指令界面" width="600" />
-    * **打开标签:** 点击 Kilo Code 顶部菜单栏中的 <Codicon name="notebook" /> 图标
-    * **选择模式:** 在模式标题下,点击你想要自定义的模式按钮
-    * **输入指令:** 在 "模式特定自定义指令(可选)" 下的文本区域输入你的指令
-    * **保存更改:** 点击 "完成" 保存你的更改
-
-        :::info 全局模式规则
-        如果模式本身是全局的(非工作区特定),你为其设置的任何自定义指令也将全局适用于所有工作区的该模式。
-        :::
-
-## 相关功能
-
-- [自定义模式](/agent-behavior/custom-modes)
-- [自定义规则](/agent-behavior/custom-rules)
-- [设置管理](/basic-usage/settings-management)
-- [自动批准设置](/features/auto-approving-actions)

+ 0 - 217
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/custom-rules.md

@@ -1,217 +0,0 @@
-# 自定义规则
-
-自定义规则提供了一种强大的方式来定义项目特定的行为和约束,以确保 Kilo Code AI 代理的一致性。通过自定义规则,你可以确保格式一致、限制对敏感文件的访问、强制执行编码标准,并根据你的项目需求自定义 AI 的行为。
-
-## 概述
-
-自定义规则允许您创建文本指令,所有 AI 模型在与您的项目交互时都将遵循这些指令。这些规则充当护栏和约定,在与您的代码库的所有交互中始终得到遵守。规则可以通过文件系统和内置 UI 界面进行管理。
-
-## 规则格式
-
-自定义规则可以用纯文本编写,但建议使用 Markdown 格式,以便更好地组织和让 AI 模型理解。Markdown 的结构化特性有助于模型更有效地解析和理解你的规则。
-
-- 使用 Markdown 标题(`#`, `##` 等)定义规则类别
-- 使用列表(`-`, `*`)枚举特定项目或约束
-- 使用代码块(` `)在需要时包含代码示例
-
-## 规则类型
-
-Kilo Code 支持两种类型的自定义规则:
-
-- **项目规则**:仅适用于当前项目工作区
-- **全局规则**:适用于所有项目和工作区
-
-:::note UI 支持
-内置规则管理 UI 仅适用于一般规则。模式特定规则必须通过文件系统进行管理。
-:::
-
-## 规则位置
-
-### 项目规则
-
-自定义规则主要从 **`.kilocode/rules/` 目录** 加载。这是组织项目特定规则的推荐方法。每个规则通常放置在具有描述性名称的 Markdown 文件中:
-
-```
-project/
-├── .kilocode/
-│   ├── rules/
-│   │   ├── formatting.md
-│   │   ├── restricted_files.md
-│   │   └── naming_conventions.md
-├── src/
-└── ...
-```
-
-### 全局规则
-
-全局规则存储在您的主目录中,适用于所有项目:
-
-```
-~/.kilocode/
-├── rules/
-│   ├── coding_standards.md
-│   ├── security_guidelines.md
-│   └── documentation_style.md
-```
-
-## 通过 UI 管理规则
-
-Kilo Code 提供了一个内置界面,用于管理您的自定义规则,而无需手动编辑 `.kilocode/rules/` 目录中的文件。要访问 UI,请单击 Kilo Code 窗口**右下角**的 <Codicon name="law" /> 图标。
-
-您可以访问规则管理 UI 来:
-
-- 查看所有活动规则(项目和全局)
-- 在不删除规则的情况下切换规则的开启/关闭状态
-- 直接在界面中创建和编辑规则
-- 按类别和优先级组织规则
-
-## 规则加载顺序
-
-### 通用规则(所有模式)
-
-规则按以下优先级顺序加载:
-
-1.  存放在 `~/.kilocode/rules/` 目录的**全局规则**
-2.  存放在 `.kilocode/rules/` 目录的**项目规则**
-3.  **旧版回退文件**(为了向后兼容):
-    - `.roorules`
-    - `.clinerules`
-    - `.kilocoderules`(已弃用)
-
-当全局规则和项目规则都存在时,它们将合并,存在冲突时项目规则优先于全局规则。
-
-:::note
-我们强烈建议将规则保留在 `.kilocode/rules/` 文件夹中,因为它提供了更好的组织,并且是未来版本的首选方法。基于文件夹的结构允许更细粒度的规则组织和更清晰的关注点分离。基于文件的旧方法为了向后兼容而保留,但可能会在未来的版本中发生变化。
-:::
-
-### 模式特定规则
-
-此外,系统支持模式特定的规则,这些规则会单独加载,并有自己的优先级顺序:
-
-1. 首先检查 `.kilocode/rules-${mode}/` 目录
-2. 如果该目录不存在或为空,则回退到 `.kilocoderules-${mode}` 文件(已弃用)
-
-目前,模式特定规则仅在项目级别受支持。
-当通用规则和模式特定规则同时存在时,模式特定规则在最终输出中具有优先权。
-
-## 创建自定义规则
-
-### 使用 UI 界面
-
-<img src="/docs/img/custom-rules/rules-ui.png" alt="Kilo Code 中的规则选项卡" width="400" />
-
-创建和管理规则的最简单方法是通过内置 UI:
-
-1.  从 Kilo Code 面板访问规则管理界面
-2.  选择创建项目特定规则或全局规则
-3.  使用界面创建、编辑或切换规则
-4.  规则会自动保存并立即应用
-
-### 使用文件系统
-
-手动创建规则:
-
-**对于项目规则:**
-
-1. 如果不存在,请创建 `.kilocode/rules/` 目录
-2. 在此目录中创建一个具有描述性名称的新 Markdown 文件
-3. 使用 Markdown 格式编写你的规则
-4. 保存文件
-
-**对于全局规则:**
-
-1.  如果 `~/.kilocode/rules/` 目录尚不存在,则创建它
-2.  在此目录中创建一个新的 Markdown 文件,并带有描述性名称
-3.  使用 Markdown 格式编写您的规则
-4.  保存文件
-
-该规则将自动应用于你项目中所有未来的 Kilo Code 交互。任何新更改都会立即生效。
-
-## 规则示例
-
-### 示例 1:表格格式化
-
-```markdown
-# 表格
-
-打印表格时,始终在每列标题中添加感叹号
-```
-
-这个简单的规则指示 AI 在生成表格时在所有列标题中添加感叹号。
-
-### 示例 2:限制文件访问
-
-```markdown
-# 受限文件
-
-列表中包含敏感数据的文件,禁止读取
-
-- supersecrets.txt
-- credentials.json
-- .env
-```
-
-此规则防止 AI 读取或访问敏感文件,即使明确要求这样做。
-
-<img src="/docs/img/custom-rules/custom-rules.png" alt="Kilo Code 忽略读取敏感文件的请求" width="600" />
-
-## 使用场景
-
-自定义规则可以应用于各种场景:
-
-- **代码风格**:强制执行一致的格式、命名约定和文档风格
-- **安全控制**:防止访问敏感文件或目录
-- **项目结构**:定义不同类型文件的创建位置
-- **文档要求**:指定文档格式和要求
-- **测试模式**:定义测试的结构方式
-- **API 使用**:指定 API 的使用和文档方式
-- **错误处理**:定义错误处理约定
-
-## 自定义规则示例
-
-- "严格遵守代码风格指南 [你的项目特定代码风格指南]"
-- "始终使用空格缩进,宽度为 4 个空格"
-- "使用 camelCase 命名变量"
-- "为所有新函数编写单元测试"
-- "在提供代码之前解释你的推理"
-- "专注于代码的可读性和可维护性"
-- "优先使用社区中最常见的库"
-- "当为网站添加新功能时,确保它们是响应式且可访问的"
-
-## 最佳实践
-
-- **具体明确**:明确定义每个规则的范围和意图
-- **使用类别**:将相关规则组织在共同的标题下
-- **分离关注点**:为不同类型的规则使用不同的文件
-- **使用示例**:包含示例以说明预期行为
-- **保持简单**:规则应简洁易懂
-- **定期更新**:随着项目需求的变化,定期审查和更新规则
-
-:::tip 专业提示:基于文件的团队标准
-在团队环境中工作时,将 `.kilocode/rules/codestyle.md` 文件置于版本控制之下,可以让你在整个开发团队中标准化 Kilo 的行为。这确保了项目中的每个人都有一致的代码风格、文档实践和开发工作流程。
-:::
-
-## 限制
-
-- 规则由 AI 模型尽力应用
-- 复杂规则可能需要多个示例才能清晰理解
-- 项目规则仅适用于定义它们的项目
-- 全局规则适用于所有项目
-
-## 故障排除
-
-如果你的自定义规则未被正确遵循:
-
-1. 检查你的规则是否使用清晰的 Markdown 结构正确格式化
-2. 确保你的规则位于以下支持的位置之一:
-    - 推荐的 `.kilocode/rules/` 目录
-    - 根级规则文件(`.kilocoderules`, `.roorules`, 或 `.clinerules`)
-3. 验证规则是否具体且明确
-4. 重启 VS Code 以确保规则正确加载
-
-## 相关功能
-
-- [自定义模式](/agent-behavior/custom-modes)
-- [自定义指令](/agent-behavior/custom-instructions)
-- [设置管理](/basic-usage/settings-management)
-- [自动批准设置](/features/auto-approving-actions)

+ 0 - 283
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/free-and-budget-models.md

@@ -1,283 +0,0 @@
----
-sidebar_label: 免费和预算模型
----
-
-# 免费和低成本使用 Kilo Code
-
-**为什么这很重要:** 在开发过程中,AI 模型成本可能会迅速累积。本指南展示了如何通过免费模型、经济实惠的替代方案和智能使用策略,在最小化或消除成本的同时有效使用 Kilo Code。
-
-## 完全免费的选项
-
-### Grok Code Fast 1
-
-这款前沿 AI 模型在 Kilo Code 中限时 100% 免费。[查看博客文章了解更多信息](https://blog.kilo.ai/p/grok-code-fast-get-this-frontier-ai-model-free)。
-
-### OpenRouter 免费层级模型
-
-OpenRouter 免费提供了几种具有慷慨额度的模型。**注意:** 你需要创建一个免费的 OpenRouter 账户才能访问这些模型。
-
-**设置:**
-
-1. 创建一个免费的 [OpenRouter 账户](https://openrouter.ai)
-2. 从仪表板获取你的 API 密钥
-3. 使用 OpenRouter 供应商配置 Kilo Code
-
-**可用的免费模型:**
-
-- **Qwen3 Coder (免费)** - 针对代理编码任务进行了优化,如函数调用、工具使用和对仓库的长上下文推理。
-- **Z.AI: GLM 4.5 Air (免费)** - GLM-4.5 系列的轻量级变体,专为以代理为中心的应用程序而构建。
-- **DeepSeek: R1 0528 (免费)** - 性能与 OpenAI o1 相当,但是开源的并且具有完全开放的推理令牌。
-- **MoonshotAI: Kimi K2 (免费)** - 针对代理能力进行了优化,包括高级工具使用、推理和代码合成。
-
-## 性价比高的付费模型
-
-当你需要比免费模型提供更多功能时,这些选项提供了极佳的价值:
-
-### 超低预算冠军(每百万 Tokens 低于 $0.50)
-
-**Mistral Devstral Small**
-
-- **成本:** ~$0.20 每百万输入 Tokens
-- **最佳用途:** 代码生成、调试、重构
-- **性能:** 85% 的高级模型能力,成本仅为 10%
-
-**Llama 4 Maverick**
-
-- **成本:** ~$0.30 每百万输入 Tokens
-- **最佳用途:** 复杂推理、架构规划
-- **性能:** 适用于大多数开发任务
-
-**DeepSeek v3**
-
-- **成本:** ~$0.27 每百万输入 Tokens
-- **最佳用途:** 代码分析、大型代码库理解
-- **性能:** 强大的技术推理能力
-
-### 中等价位模型(每百万 Tokens $0.50-$2.00)
-
-**Qwen3 235B**
-
-- **成本:** ~$1.20 每百万输入 Tokens
-- **最佳用途:** 需要高精度的复杂项目
-- **性能:** 接近高级质量,成本为 40%
-
-## 智能使用策略
-
-### 50% 规则
-
-**原则:** 将预算模型用于 50% 的任务,将高级模型用于另外 50% 的任务。
-
-**预算模型任务:**
-
-- 代码审查和分析
-- 文档编写
-- 简单的错误修复
-- 样板代码生成
-- 重构现有代码
-
-**高级模型任务:**
-
-- 复杂的架构决策
-- 调试困难的问题
-- 性能优化
-- 新功能设计
-- 关键生产代码
-
-### 成本节约的上下文管理
-
-**最小化上下文大小:**
-
-```typescript
-// 而不是提及整个文件
-@src/components/UserProfile.tsx
-
-// 提及特定函数或部分
-@src/components/UserProfile.tsx:45-67
-```
-
-**有效使用记忆库:**
-
-- 在 [Memory bank](/advanced-usage/memory-bank) 中存储一次项目上下文
-- 减少重复解释项目细节的需要
-- 每次对话节省 200-500 个 Tokens
-
-**战略性文件提及:**
-
-- 仅包含与任务直接相关的文件
-- 使用 [`@folder/`](/basic-usage/context-mentions) 获取广泛上下文,使用特定文件进行针对性工作
-
-### 模型切换策略
-
-**从便宜开始,需要时升级:**
-
-1. **从免费模型开始**(Qwen3 Coder, GLM-4.5-Air)
-2. **如果免费模型难以胜任,则切换到预算模型**
-3. **仅对复杂任务升级到高级模型**
-
-**使用 API 配置档案:**
-
-- 为不同成本层级设置 [多个配置](/features/api-configuration-profiles)
-- 在免费、预算和高级模型之间快速切换
-- 根据任务复杂性匹配模型能力
-
-### 基于模式的成本优化
-
-**使用适当的模式来限制昂贵的操作:**
-
-- **[询问模式](/basic-usage/using-modes#问答模式):** 信息收集,无需代码更改
-- **[架构师模式](/basic-usage/using-modes#架构师模式):** 规划,无需昂贵的文件操作
-- **[调试模式](/basic-usage/using-modes#调试模式):** 专注的故障排除
-
-**用于预算控制的自定义模式:**
-
-- 创建限制昂贵工具的模式
-- 限制对特定目录的文件访问
-- 控制哪些操作是自动批准的
-
-## 现实世界的性能比较
-
-### 代码生成任务
-
-**简单函数创建:**
-
-- **Mistral Devstral Small:** 95% 成功率
-- **GPT-4:** 98% 成功率
-- **成本差异:** 免费 vs $0.20 vs $30 每百万令牌
-
-**复杂重构:**
-
-- **预算模型:** 70-80% 成功率
-- **高级模型:** 90-95% 成功率
-- **建议:** 从预算开始,需要时再升级
-
-### 调试性能
-
-**简单错误:**
-
-- **免费模型:** 通常足够
-- **预算模型:** 表现优秀
-- **高级模型:** 对于大多数情况来说过于强大
-
-**复杂系统问题:**
-
-- **免费模型:** 40-60% 成功率
-- **预算模型:** 60-80% 成功率
-- **高级模型:** 85-95% 成功率
-
-## 混合方法建议
-
-### 日常开发工作流程
-
-**早晨规划会议:**
-
-- 使用 **架构师模式** 配合 **DeepSeek R1**
-- 规划特性和架构
-- 创建任务分解
-
-**实施阶段:**
-
-- 使用 **代码模式** 配合 **预算模型**
-- 生成和修改代码
-- 处理日常开发任务
-
-**复杂问题解决:**
-
-- 当遇到困难时切换到 **高级模型**
-- 用于关键调试
-- 影响多个系统的架构决策
-
-### 项目阶段策略
-
-**早期开发:**
-
-- 免费和预算模型用于原型制作
-- 快速迭代,无需担心成本
-- 建立模式和结构
-
-**生产准备:**
-
-- 高级模型用于关键代码审查
-- 性能优化
-- 安全考虑
-
-## 成本监控和控制
-
-### 跟踪你的使用情况
-
-**监控令牌消耗:**
-
-- 查看聊天历史中的成本估算
-- 审查每月使用模式
-- 识别高成本操作
-
-**设置支出限额:**
-
-- 使用提供商账单警报
-- 配置 [速率限制](/advanced-usage/rate-limits-costs) 来控制使用
-- 设置每日/每月预算
-
-### 节约成本的技巧
-
-**减少系统提示大小:**
-
-- 如果不使用外部工具,则 [禁用 MCP](/features/mcp/using-mcp-in-kilo-code)
-- 使用专注的自定义模式
-- 最小化不必要的上下文
-
-**优化对话长度:**
-
-- 使用 [检查点](/features/checkpoints) 重置上下文
-- 为无关任务开始新的对话
-- 归档已完成的工作
-
-**批量处理相似任务:**
-
-- 分组相关的代码更改
-- 在单个请求中处理多个文件
-- 减少对话开销
-
-## 开始使用预算模型
-
-### 快速设置指南
-
-1. **创建 OpenRouter 账户** 以获取免费模型
-2. **在 Kilo Code 中配置多个提供商**
-3. **设置 API 配置档案** 以便轻松切换
-4. **在需要时升级到预算模型**
-5. **为复杂工作预留高级模型**
-
-### 推荐的提供商组合
-
-**免费层用于基础:**
-
-- [OpenRouter](/providers/openrouter) - 免费模型
-- [Groq](/providers/groq) - 支持模型的快速推理
-- [Z.ai](https://z.ai/model-api) - 提供免费模型 GLM-4.5-Flash
-
-**预算层用于选则:**
-
-- [DeepSeek](/providers/deepseek) - 性价比极高的模型
-- [Mistral](/providers/mistral) - 专业的编码模型
-
-**高级层用于备份:**
-
-- [Anthropic](/providers/anthropic) - Claude 用于复杂推理
-- [OpenAI](/providers/openai) - GPT-4 用于关键任务
-
-## 衡量是否成功
-
-**跟踪这些指标:**
-
-- 每月 AI 成本 vs 开发生产力
-- 按模型层级的任务完成率
-- 节省的时间 vs 花费的钱
-- 代码质量改进
-
-**成功指标:**
-
-- 70%+ 的任务使用免费/预算模型完成
-- 每月成本在你的目标预算内
-- 保持或提高代码质量
-- 更快的开发周期
-
-通过结合免费模型、战略性预算模型使用和智能优化技术,你可以在保持最低成本的同时充分利用 AI 辅助开发的强大功能。从免费选项开始,随着你的需求和对成本的适应程度逐渐增加预算模型。

+ 0 - 48
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/large-projects.md

@@ -1,48 +0,0 @@
-# 处理大型项目
-
-Kilo Code 可以用于任何规模的项目,但处理大型项目时需要特别注意上下文管理。以下是一些处理大型代码库的技巧:
-
-## 理解上下文限制
-
-Kilo Code 使用的大语言模型 (LLMs) 有一个有限的 "上下文窗口"。这是模型一次可以处理的文本的最大量(以 token 为单位)。如果上下文过大,模型可能无法理解你的请求或生成准确的响应。
-
-上下文窗口包括:
-
-- 系统提示(Kilo Code 的指令)。
-- 对话历史记录。
-- 你使用 `@` 提到的任何文件内容。
-- Kilo Code 使用的任何命令或工具的输出。
-
-## 管理上下文的策略
-
-1.  **具体化:** 当引用文件或代码时,使用具体的文件路径和函数名称。避免使用模糊的引用,如 "主文件"。
-
-2.  **有效使用上下文提及:** 使用 `@/path/to/file.ts` 来包含特定文件。使用 `@problems` 来包含当前错误和警告。使用 `@` 后跟提交哈希来引用特定的 Git 提交。
-
-3.  **分解任务:** 将大型任务分解为更小、更易管理的子任务。这有助于保持上下文的聚焦。
-
-4.  **总结:** 如果需要引用大量代码,考虑在提示中总结相关部分,而不是包含整个代码。
-
-5.  **优先处理最近的历史记录:** Kilo Code 会自动截断对话历史记录中的旧消息,以保持在上下文窗口内。请注意这一点,并在需要时重新包含重要上下文。
-
-6.  **使用提示缓存(如果可用):** 一些 API 提供商如 Anthropic、OpenAI、OpenRouter 和 Requesty 支持 "提示缓存"。这将缓存你的提示以供未来任务使用,有助于降低请求的成本和延迟。
-
-## 示例:重构大型文件
-
-假设你需要重构一个大型 TypeScript 文件 (`src/components/MyComponent.tsx`)。以下是一个可能的方法:
-
-1.  **初始概览:**
-
-    ```
-    @/src/components/MyComponent.tsx 列出此文件中的函数和类。
-    ```
-
-2.  **定位特定函数:**
-
-    ```
-    @/src/components/MyComponent.tsx 将 `processData` 函数重构为使用 `async/await` 而不是 Promises。
-    ```
-
-3.  **迭代更改:** 进行小的、增量的更改,审查并批准每一步。
-
-通过分解任务并提供具体的上下文,即使在上下文窗口有限的情况下,你也可以有效地处理大型文件。

+ 0 - 39
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/local-models.md

@@ -1,39 +0,0 @@
-# 使用本地模型
-
-Kilo Code 支持使用 [Ollama](https://ollama.com/) 和 [LM Studio](https://lmstudio.ai/) 在本地计算机上运行语言模型。这提供了以下优势:
-
-- **隐私性**:你的代码和数据永远不会离开你的计算机。
-- **离线访问**:即使没有互联网连接,你也可以使用 Kilo Code。
-- **成本节约**:避免与云端模型相关的 API 使用费用。
-- **定制性**:可以尝试不同的模型和配置。
-
-**然而,使用本地模型也有一些缺点:**
-
-- **资源需求**:本地模型可能对资源要求较高,需要一台性能强大的计算机,最好配备专用 GPU。
-- **设置复杂性**:设置本地模型可能比使用云端 API 更复杂。
-- **模型性能**:本地模型的性能可能差异较大。虽然有些模型表现优秀,但可能无法与最大、最先进的云端模型相媲美。
-- **功能限制**:本地模型(以及许多在线模型)通常不支持高级功能,例如提示缓存、计算机使用等。
-
-## 支持的本地模型提供商
-
-Kilo Code 目前支持两个主要的本地模型提供商:
-
-1.  **Ollama**:一个流行的开源工具,用于在本地运行大型语言模型。它支持多种模型。
-2.  **LM Studio**:一个用户友好的桌面应用程序,简化了下载、配置和运行本地模型的过程。它还提供了一个模拟 OpenAI API 的本地服务器。
-
-## 设置本地模型
-
-有关详细设置说明,请参阅:
-
-- [设置 Ollama](/providers/ollama)
-- [设置 LM Studio](/providers/lmstudio)
-
-这两个提供商提供类似的功能,但用户界面和工作流程不同。Ollama 通过命令行界面提供更多控制,而 LM Studio 提供了一个更友好的图形界面。
-
-## 故障排除
-
-- **“由于目标计算机主动拒绝,无法建立连接”**:这通常意味着 Ollama 或 LM Studio 服务器未运行,或者 Kilo Code 配置的端口/地址与服务器不一致。请仔细检查 Base URL 设置。
-
-- **响应时间慢**:本地模型可能比云端模型慢,尤其是在硬件性能较低的情况下。如果遇到性能问题,请尝试使用较小的模型。
-
-- **找不到模型**:请确保你正确输入了模型名称。

+ 0 - 322
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/memory-bank.md

@@ -1,322 +0,0 @@
-# Memory Bank
-
-## 概述
-
-<figure style={{ float: 'right', width: '40%', maxWidth: '350px', margin: '0 0 10px 20px' }}>
-  <img src="/docs/img/memory-bank/at-work.png" alt="使用 Memory Bank 执行任务" style={{ border: '1px solid grey', borderRadius: '5px', width: '100%' }} />
-  <figcaption style={{ fontSize: '0.9rem', color: '#666', marginTop: '8px', textAlign: 'center' }}>
-    启用 Memory Bank 后,Kilo Code 可以更高效地工作,立即理解项目上下文和技术栈。
-  </figcaption>
-</figure>
-
-### 问题:AI 记忆丢失
-
-像 Kilo Code 这样的 AI 助手面临一个根本性的限制:它们会在会话之间完全重置。这种“记忆丢失”意味着每次开始新的对话时,都需要重新解释项目的架构、目标、技术和当前状态。这造成了一个关键效率困境:AI 模型要么在没有正确理解项目的情况下进行编辑(导致错误和解决方案不一致),要么必须在每个会话中花费大量时间和资源分析整个代码库(对于大型项目来说,这既昂贵又缓慢)。
-
-如果没有解决这个记忆问题,AI 助手仍然是强大但无状态的工具,无法真正作为持续的开发伙伴。
-
-### 解决方案:Memory Bank
-
-Memory Bank 是一个结构化文档系统,使 Kilo Code 能够**更好地理解你的项目**并**在编码会话之间保持上下文**。它将你的 AI 助手从无状态工具转变为具有完美项目记忆的持续开发伙伴。Kilo Code 会在每次开始新会话时自动读取你的 Memory Bank 文件,以重建对项目的理解。
-
-当 Memory Bank 处于活动状态时,Kilo Code 会在每个任务的开始处显示 `[Memory Bank: Active]`,并简要总结你的项目上下文,确保在不重复解释的情况下保持一致性。
-
-## 主要优点
-
-- **语言无关**:适用于任何编程语言或框架
-- **高效的项目理解**:帮助 Kilo Code 理解项目的用途和技术栈
-- **上下文保留**:在会话之间维护项目知识,而无需在每个新会话中扫描文件
-- **更快的启动**:Kilo Code 在开始新会话时立即理解你的项目上下文
-- **自我记录项目**:作为副产品创建有价值的文档
-
-## Memory Bank 的工作原理
-
-Memory Bank 基于 Kilo Code 的 [自定义规则](/agent-behavior/custom-rules) 功能构建,为项目文档提供了一个专门的框架。Memory Bank 文件是存储在项目仓库 `.kilocode/rules/memory-bank` 文件夹中的标准 Markdown 文件。它们不是隐藏或专有的——它们是你和 Kilo Code 都可以访问的常规文档文件。
-
-在每个任务开始时,Kilo Code 会读取所有 Memory Bank 文件,以构建对项目的全面理解。这是自动进行的,不需要你采取任何操作。Kilo Code 然后会在其响应的开头显示 `[Memory Bank: Active]`,表示 Memory Bank 已成功激活,并简要总结其对项目的理解。
-
-文件按层次结构组织,构建项目的完整视图:
-
-## 核心 Memory Bank 文件
-
-### brief.md
-
-_此文件由你手动创建和维护_
-
-- 项目的基础
-- 项目的高级概述
-- 核心需求和目标
-
-示例:_"构建一个带有条形码扫描功能的 React 库存管理系统。该系统需要支持多个仓库并与我们现有的 ERP 系统集成。"_
-
-注意:Kilo Code 不会直接编辑此文件,但如果发现可以改进项目摘要的方式,可能会提出建议。
-
-### product.md
-
-- 解释项目存在的原因
-- 描述正在解决的问题
-- 概述产品应如何工作
-- 用户体验目标
-
-示例:_"库存系统需要支持多个仓库和实时更新。它通过提供条形码扫描来解决库存差异问题,确保准确的库存计数。"_
-
-### context.md
-
-- 更新最频繁的文件
-- 包含当前工作重点和最近的变化
-- 跟踪活动决策和考虑事项
-- 开发的下一步
-
-示例:_"当前正在实施条形码扫描组件;上次会话完成了 API 集成。下一步包括为网络故障添加错误处理。"_
-
-### architecture.md
-
-- 记录系统架构
-- 记录关键技术决策
-- 列出正在使用的设计模式
-- 解释组件关系
-- 关键实现路径
-
-示例:_"使用 Redux 进行状态管理,采用规范化的存储结构。应用程序遵循模块化架构,API 通信、状态管理和 UI 组件分别位于不同的服务中。"_
-
-### tech.md
-
-- 列出使用的技术和框架
-- 描述开发设置
-- 记录技术约束
-- 记录依赖项和工具配置
-- 工具使用模式
-
-示例:_"React 18、TypeScript、Firebase、Jest 用于测试。开发需要 Node.js 16+ 并使用 Vite 作为构建工具。"_
-
-## 其他上下文文件
-
-根据需要创建其他文件以组织:
-
-- 复杂功能文档
-- 集成规范
-- API 文档
-- 测试策略
-- 部署程序
-
-这些附加文件有助于组织不适合核心文件的更详细信息。
-
-### tasks.md
-
-_用于记录重复任务的可选文件_
-
-- 存储遵循类似模式的任务的工作流程
-- 记录需要修改的文件
-- 记录分步程序
-- 记录重要的注意事项和陷阱
-
-示例:添加对新 AI 模型的支持、实现 API 端点或任何需要重复执行类似工作的任务。
-
-## 开始使用 Memory Bank
-
-### 首次设置
-
-1. 在项目中创建 `.kilocode/rules/memory-bank/` 文件夹
-2. 在 `.kilocode/rules/memory-bank/brief.md` 中编写基本的项目摘要
-3. 创建文件 `.kilocode/rules/memory-bank-instructions.md` 并将 [此文档](pathname:///downloads/memory-bank.md) 粘贴到其中
-4. 切换到 `Architect` 模式
-5. 检查是否选择了最佳可用的 AI 模型,不要使用“轻量级”模型
-6. 要求 Kilo Code “initialize memory bank”
-7. 等待 Kilo Code 分析你的项目并初始化 Memory Bank 文件
-8. 验证文件内容,确保项目描述正确。如有必要,更新文件。
-
-### 项目摘要提示
-
-- 从简单开始——它可以是你喜欢的任何详细程度或高级程度
-- 专注于对你最重要的事情
-- Kilo Code 将帮助填补空白并提出问题
-- 你可以随着项目的发展更新它
-
-提供合理摘要的示例提示:
-
-```
-提供此项目的简明而全面的描述,突出其主要目标、关键功能、使用的技术和重要性。然后,将此描述写入适当命名的文本文件中,以反映项目内容,确保写作的清晰性和专业性。保持简洁。
-```
-
-## 使用 Memory Bank
-
-### 核心工作流程
-
-#### Memory Bank 初始化
-
-初始化步骤至关重要,因为它为所有未来的项目交互奠定了基础。当你使用命令 `initialize memory bank` 请求初始化时,Kilo Code 将:
-
-1. 对你的项目进行详尽的分析,包括:
-    - 所有源代码文件及其关系
-    - 配置文件和构建系统设置
-    - 项目结构和组织模式
-    - 文档和注释
-    - 依赖项和外部集成
-    - 测试框架和模式
-2. 在 `.kilocode/rules/memory-bank` 文件夹中创建全面的 Memory Bank 文件
-3. 提供对其对项目的理解的详细摘要
-4. 要求你验证生成文件的准确性
-
-:::warning 重要
-初始化后,请花时间仔细审查并更正生成的文件。此阶段的任何误解或缺失信息都会影响所有未来的交互。彻底的初始化将显著提高 Kilo Code 的有效性,而仓促或不完整的初始化将永久限制其有效协助你的能力。
-:::
-
-#### Memory Bank 更新
-
-Memory Bank 更新发生在以下情况:
-
-1. 发现新的项目模式
-2. 实施重大更改后
-3. 当你明确请求 `update memory bank` 时
-4. 当上下文需要澄清时
-
-要执行 Memory Bank 更新,Kilo Code 将:
-
-1. 审查所有项目文件
-2. 记录当前状态
-3. 记录见解和模式
-4. 根据需要更新所有 Memory Bank 文件
-
-你可以使用类似 `update memory bank using information from @/Makefile` 的命令来指导 Kilo Code 专注于特定的信息源。
-
-#### 常规任务执行
-
-在每个任务开始时,Kilo Code:
-
-1. 读取所有 Memory Bank 文件
-2. 在其响应的开头包含 `[Memory Bank: Active]`
-3. 提供其对项目理解的简要摘要
-4. 继续执行请求的任务
-
-在任务结束时,如果进行了重大更改,Kilo Code 可能会建议更新 Memory Bank,使用短语:“Would you like me to update memory bank to reflect these changes?”
-
-#### 添加任务工作流程
-
-当你完成一个重复的任务时,你可以将其记录下来以备将来参考。这对于遵循现有模式添加功能等任务特别有用。
-
-要记录任务,请使用命令 `add task` 或 `store this as a task`。Kilo Code 将:
-
-1. 创建或更新 Memory Bank 文件夹中的 `tasks.md` 文件
-2. 使用当前上下文记录任务:
-    - 任务名称和描述
-    - 需要修改的文件列表
-    - 分步工作流程
-    - 重要的注意事项
-    - 示例实现
-
-当开始新任务时,Kilo Code 会检查它是否与任何记录的任务匹配,并遵循已建立的工作流程,以确保不会遗漏任何步骤。
-
-### 关键命令
-
-- `initialize memory bank` - 在开始新项目时使用
-- `update memory bank` - 启动对当前任务的上下文文档的全面重新分析。**注意:**此操作资源密集,由于可能降低有效性,不建议用于“轻量级”模型。可以多次使用,可与特定指令很好地结合,例如 `update memory bank using information from @/Makefile`
-- `add task` 或 `store this as a task` - 记录重复任务以备将来参考
-
-### 状态指示器
-
-Kilo Code 使用状态指示器来清楚地传达 Memory Bank 状态:
-
-- `[Memory Bank: Active]` - 表示 Memory Bank 文件已成功读取并正在使用
-- `[Memory Bank: Missing]` - 表示找不到 Memory Bank 文件或文件为空
-
-这些指示器出现在 Kilo Code 响应的开头,提供 Memory Bank 状态的即时确认。
-
-### 文档更新
-
-Memory Bank 更新应自动发生在以下情况:
-
-- 发现新的项目模式
-- 实施重大更改后
-- 当你明确请求 `update memory bank` 时
-- 当上下文需要澄清时
-
-## 上下文窗口管理
-
-当你与 Kilo Code 一起工作时,你的上下文窗口最终会填满。当你注意到响应速度变慢或引用变得不那么准确时:
-
-1. 要求 Kilo Code “update memory bank” 以记录当前状态
-2. 开始新的对话/任务
-3. Kilo Code 将在新对话中自动访问你的 Memory Bank
-
-此过程确保在多个会话之间保持连续性,而不会丢失重要上下文。
-
-## 处理不一致
-
-如果 Kilo Code 检测到 Memory Bank 文件之间的不一致:
-
-1. 它将优先考虑 `brief.md` 中的信息作为真相来源
-2. 向你指出任何不一致之处
-3. 继续使用最可靠的信息
-
-这确保即使文档不完美,Kilo Code 仍然可以有效地工作。
-
-## 常见问题解答
-
-### Memory Bank 文件存储在哪里?
-
-Memory Bank 文件是存储在项目仓库中的常规 Markdown 文件,通常在 `.kilocode/rules/memory-bank/` 文件夹中。它们不是隐藏的系统文件——它们旨在成为项目文档的一部分。
-
-### 我应该多久更新一次 Memory Bank?
-
-在重大里程碑或方向变化后更新 Memory Bank。对于活跃的开发,每隔几次会话更新一次会很有帮助。当你希望确保所有上下文都得到保留时,请使用“update memory bank”命令。
-
-### 我可以手动编辑 Memory Bank 文件吗?
-
-是的!虽然 Kilo Code 管理大多数文件,但你可以手动编辑其中任何文件。`brief.md` 文件专门设计为由你维护。Kilo Code 会尊重对其他文件的手动编辑。
-
-### 如果 Memory Bank 文件丢失会发生什么?
-
-如果 Memory Bank 文件丢失,Kilo Code 会在其响应的开头显示 `[Memory Bank: Missing]`,并建议初始化 Memory Bank。
-
-### Memory Bank 是否适用于所有 AI 模型?
-
-Memory Bank 适用于所有 AI 模型,但更强大的模型将创建更全面和准确的 Memory Bank 文件。轻量级模型可能难以处理分析和更新 Memory Bank 文件的资源密集型过程。
-
-### 我可以在多个项目中使用 Memory Bank 吗?
-
-是的!每个项目都有自己的 Memory Bank,位于其 `.kilocode/rules/memory-bank/` 文件夹中。Kilo Code 会自动为每个项目使用正确的 Memory Bank。
-
-### Memory Bank 是否会占用我的上下文窗口?
-
-是的,Memory Bank 在每个会话开始时确实会占用一些上下文窗口,因为它会加载所有 Memory Bank 文件。然而,这是一个战略性的权衡,可以显著提高整体效率。通过预先加载项目上下文:
-
-- 你消除了重复解释,这些解释会随着时间的推移消耗更多的上下文
-- 你可以通过更少的来回交流达到富有成效的结果
-- 你在整个会话中保持一致性理解
-
-测试表明,虽然 Memory Bank 最初使用了更多的 token,但它显著减少了实现结果所需的总交互次数。这意味着更少的时间解释和更多的时间构建。
-
-## 最佳实践
-
-### 开始使用
-
-- 从基本项目摘要开始,让结构逐步发展
-- 让 Kilo Code 帮助创建初始结构
-- 根据需要审查和调整文件以匹配你的工作流程
-- 初始化后验证生成文件的准确性
-
-### 持续工作
-
-- 让模式随着工作自然出现
-- 不要强制文档更新——它们应该有机地发生
-- 信任过程——价值会随着时间的推移而复合
-- 在会话开始时注意上下文确认
-- 使用状态指示器确认 Memory Bank 处于活动状态
-
-### 文档流程
-
-- `brief.md` 是你的基础
-- `context.md` 变化最频繁
-- 所有文件共同维护项目智能
-- 在重大里程碑或方向变化后更新
-
-### 优化 Memory Bank 性能
-
-- 保持 Memory Bank 文件简洁且重点突出
-- 使用附加文件进行详细文档记录
-- 定期更新但不要过度
-- 专注于特定方面时使用特定的更新命令
-
-## 记住
-
-Memory Bank 是 Kilo Code 与之前工作的唯一链接。其有效性完全依赖于在每个交互中维护清晰、准确的文档并确认上下文保留。当你在响应开头看到 `[Memory Bank: Active]` 时,你可以确信 Kilo Code 对你的项目有全面的理解。

+ 0 - 93
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/prompt-engineering.md

@@ -1,93 +0,0 @@
-# Prompt Engineering 技巧
-
-Prompt engineering 是为 AI 模型(如 Kilo Code)编写有效指令的艺术。精心编写的提示可以带来更好的结果、更少的错误和更高的工作效率。
-
-## 通用原则
-
-- **清晰且具体:** 清楚地说明你希望 Kilo Code 做什么。避免歧义。
-
-    - **不好:** 修复代码。
-    - **好:** 修复 `calculateTotal` 函数中导致返回错误结果的 bug。
-
-- **提供上下文:** 使用 [上下文提及](/basic-usage/context-mentions) 来引用特定文件、文件夹或问题。
-
-    - **好:** `@/src/utils.ts` 重构 `calculateTotal` 函数以使用 async/await。
-
-- **分解任务:** 将复杂的任务分解为更小、定义明确的步骤。
-
-- **提供示例:** 如果你有特定的编码风格或模式,请提供示例。
-
-- **指定输出格式:** 如果你需要特定格式的输出(例如 JSON、Markdown),请在提示中指定。
-
-- **迭代:** 如果初始结果不符合预期,不要害怕优化你的提示。
-
-## 思考与执行
-
-引导 Kilo Code 通过“先思考后执行”的过程通常很有帮助:
-
-1.  **分析:** 让 Kilo Code 分析当前代码,识别问题或规划方法。
-2.  **计划:** 让 Kilo Code 概述完成任务的步骤。
-3.  **执行:** 指示 Kilo Code 一步一步地执行计划。
-4.  **审查:** 在继续之前仔细审查每一步的结果。
-
-## 使用自定义指令
-
-你可以提供自定义指令来进一步调整 Kilo Code 的行为。有两种类型的自定义指令:
-
-- **全局自定义指令:** 适用于所有模式。
-- **模式特定自定义指令:** 仅适用于特定模式(例如 Code、Architect、Ask、Debug 或自定义模式)。
-
-自定义指令会添加到系统提示中,为 AI 模型提供持续的指导。你可以使用这些指令来:
-
-- 强制执行编码风格指南。
-- 指定首选的库或框架。
-- 定义项目特定的约定。
-- 调整 Kilo Code 的语气或个性。
-
-有关更多详细信息,请参阅 [自定义指令](/agent-behavior/custom-instructions) 部分。
-
-## 处理歧义
-
-如果你的请求含糊不清或缺乏足够的细节,Kilo Code 可能会:
-
-- **做出假设:** 它可能会根据最佳猜测继续,这可能不是你想要的。
-- **询问后续问题:** 它可能会使用 `ask_followup_question` 工具来澄清你的请求。
-
-最好从一开始就提供清晰且具体的指令,以避免不必要的来回沟通。
-
-## 提供反馈
-
-如果 Kilo Code 没有产生预期的结果,你可以通过以下方式提供反馈:
-
-- **拒绝操作:** 当 Kilo Code 提出你不想要的操作时,点击“拒绝”按钮。
-- **提供解释:** 拒绝时,解释*为什么*要拒绝该操作。这有助于 Kilo Code 从错误中学习。
-- **重新措辞你的请求:** 尝试重新表述你的初始任务或提供更具体的指令。
-- **手动更正:** 如果有几个小问题,你也可以在接受更改之前直接修改代码。
-
-## 示例
-
-**好提示:**
-
-> `@/src/components/Button.tsx` 重构 `Button` 组件以使用 `useState` 钩子而不是 `useReducer` 钩子。
-
-**不好提示:**
-
-> 修复按钮。
-
-**好提示:**
-
-> 创建一个名为 `utils.py` 的新文件,并添加一个名为 `calculate_average` 的函数,该函数接受一个数字列表并返回它们的平均值。
-
-**不好提示:**
-
-> 写一些 Python 代码。
-
-**好提示:**
-
-> `@problems` 解决当前文件中的所有错误和警告。
-
-**不好提示:**
-
-> 修复所有问题。
-
-通过遵循这些技巧,你可以编写有效的提示,充分利用 Kilo Code 的能力。

+ 0 - 51
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/advanced-usage/rate-limits-costs.md

@@ -1,51 +0,0 @@
-# 速率限制与成本
-
-了解和管理 API 使用情况对于在 Kilo Code 中获得流畅且经济高效的体验至关重要。本节将解释如何跟踪你的 token 使用情况、成本以及如何配置速率限制。
-
-## Token 使用
-
-Kilo Code 使用 token 与 AI 模型进行交互。Token 本质上是词语的组成部分。请求和响应中使用的 token 数量会影响处理时间和成本。
-
-- **输入 Token:**这些是你的提示中的 token,包括系统提示、你的指令以及提供的任何上下文(例如文件内容)。
-- **输出 Token:**这些是 AI 模型在响应中生成的 token。
-
-你可以在聊天记录中查看每次交互的输入和输出 token 数量。
-
-## 成本计算
-
-大多数 AI 提供商根据使用的 token 数量收费。价格因提供商和具体模型而异。
-
-Kilo Code 会根据配置的模型定价自动计算每次 API 请求的预估成本。该成本显示在聊天记录中,紧邻 token 使用情况。
-
-**注意:**
-
-- 成本计算是*预估*值。实际成本可能因提供商的计费方式而略有不同。
-- 一些提供商可能提供免费层级或信用额度。请查看提供商的文档以获取详细信息。
-- 一些提供商提供提示缓存,可以显著降低成本。
-
-## 配置速率限制
-
-为了防止意外过度使用 API 并帮助你管理成本,Kilo Code 允许你设置速率限制。速率限制定义了 API 请求之间的最短时间(以秒为单位)。
-
-**如何配置:**
-
-1.  打开 Kilo Code 设置(右上角的 <Codicon name="gear" /> 图标)。
-2.  转到“高级设置”部分。
-3.  找到“速率限制(秒)”设置。
-4.  输入所需的延迟时间(以秒为单位)。值为 0 表示禁用速率限制。
-
-**示例:**
-
-如果你将速率限制设置为 10 秒,Kilo Code 会在一个 API 请求完成后至少等待 10 秒再发送下一个请求。
-
-## 优化 Token 使用的技巧
-
-- **简洁明了:**在提示中使用清晰简洁的语言。避免不必要的词语或细节。
-- **仅提供相关上下文:**选择性使用上下文提及(`@file.ts`,`@folder/`)。仅包括与任务直接相关的文件。
-- **分解任务:**将大型任务分解为更小、更专注的子任务。
-- **使用自定义指令:**提供自定义指令以指导 Kilo Code 的行为,减少每次提示中冗长的解释。
-- **选择合适的模型:**某些模型比其他模型更具成本效益。对于不需要较大模型全部功能的任务,可以考虑使用更小、更快的模型。
-- **使用模式:**不同的模式可以访问不同的工具,例如 `Architect` 无法修改代码,这使其成为分析复杂代码库时的安全选择,而无需担心意外允许昂贵的操作。
-- **如果未使用 MCP 则禁用它:**如果你未使用 MCP(模型上下文协议)功能,请考虑[在 MCP 设置中禁用它](/features/mcp/using-mcp-in-kilo-code),以显著减少系统提示的大小并节省 token。
-
-通过了解和管理你的 API 使用情况,你可以高效且经济地使用 Kilo Code。

+ 0 - 28
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/adding-tokens.md

@@ -1,28 +0,0 @@
-import { DISCORD_URL } from '@site/src/constants.ts'
-
-# 添加更多 Tokens
-
-当你用完初始的免费 tokens 后,你可以轻松添加更多:
-
-- 为你的账户添加信用卡(所有支付均通过 Stripe 安全处理)
-- 我们目前不提供订阅服务,因此你只需为使用的 tokens 付费,并且仅在你选择充值 tokens 时付费!
-- 通过[连接你自己的 API 提供商](/getting-started/connecting-api-provider.md) 来利用你自己的 API 提供商
-
-## 透明的定价
-
-在 Kilo Code,我们相信完全透明的定价:
-
-- 我们的定价与模型提供商的 API 费率完全一致
-- 我们不收取任何佣金或加价,无论是按 token 还是按充值
-- 你只需为使用的 tokens 付费,没有任何隐藏费用
-
-## 未来计划
-
-我们正在不断改进 Kilo Code 并扩展我们的服务:
-
-- 未来将添加更多 LLM 提供商
-- 更多支付选项和其他计划正在开发中
-
-:::tip 需要帮助?
-如果你对定价或 tokens 有任何疑问,请联系我们的[支持团队](mailto:[email protected]) 或在我们的 <a href={DISCORD_URL} target='_blank'>Discord 社区</a>中提问。
-:::

+ 0 - 112
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/index.md

@@ -1,112 +0,0 @@
----
-title: 自动补全
-sidebar_position: 4
-slug: /basic-usage/autocomplete
----
-
-# 自动补全
-
-Kilo Code 的自动补全功能在您输入时提供智能代码建议和补全,帮助您更快、更高效地编写代码。它提供自动和手动触发选项。
-
-## 自动补全工作原理
-
-自动补全分析您的代码上下文并提供:
-
-- 在您输入时提供**内联补全**
-- 常见代码模式的**快速修复**
-- 基于周围代码的**上下文建议**
-- 用于复杂代码结构的**多行补全**
-
-该功能使用您选择的 AI 提供商生成智能建议,与您的编码风格和项目上下文相匹配。
-
-## 触发选项
-
-### 代码编辑器建议
-
-#### 自动触发建议
-
-启用后,当您暂停输入时,Kilo Code 会自动显示内联建议。这提供了无缝的编码体验,让您在工作时自然地获得建议。
-
-- **自动触发延迟**:配置停止输入后建议出现的延迟(以秒为单位)
-- 默认为 3 秒,但可以向上或向下调整
-- 较短的延迟意味着更快的建议,但可能更耗费资源
-
-### 快速任务 (Cmd+I)
-
-需要快速更改?快速任务特性允许您:
-
-1. 在编辑器中选择代码(或在您想要更改的位置放置光标)
-2. 按 `Cmd+I`(Mac)或 `Ctrl+I`(Windows/Linux)
-3. 用简单的文字描述您的目标
-4. 在不进入聊天的情况下接收代码建议
-
-**示例:**
-
-- "创建具有这些属性的 React 组件"
-- "为这个函数添加错误处理"
-- "转换为 TypeScript"
-- "优化此循环以提高性能"
-
-您可以在 VS Code 的键盘快捷键设置中自定义键盘快捷键。
-
-#### 按快捷键触发建议 (Cmd+L)
-
-为了更好地控制建议出现的时机:
-
-1. 将光标放在需要帮助的位置
-2. 按 `Cmd+L`(Mac)或 `Ctrl+L`(Windows/Linux)
-3. Kilo Code 分析周围上下文
-4. 立即接收改进或补全
-
-这非常适合:
-
-- 快速修复
-- 代码补全
-- 重构建议
-- 让你的心流不被打断
-
-您也可以在 VS Code 设置中自定义此键盘快捷键。
-
-### 聊天建议
-
-#### 启用聊天自动补全
-
-启用后,Kilo Code 会在您输入聊天内容时建议补全。按 Tab 接受建议。
-
-## 禁用竞争对手的自动补全
-
-我们建议禁用竞争对手的自动补全以优化您使用 Kilo Code 的体验。要禁用 VSCode 中的 GitHub Copilot 自动补全,请转到**设置**并导航到**GitHub** > **Copilot: Advanced**(或搜索"copilot")。
-
-然后,切换为'禁用':
-
-<img
-  src="https://github.com/user-attachments/assets/60c69417-1d1c-4a48-9820-5390c30ae25c"
-  alt="在 VSCode 中禁用 GitHub Copilot"
-  width="800"
-/>
-
-如果你使用 Cursor,请转到**设置** > **Cursor 设置** > **Tab**,并关闭"Cursor Tab":
-
-<img
-  src="https://github.com/user-attachments/assets/fd2eeae2-f770-40ca-8a72-a9d5a1c17d47"
-  alt="禁用 Cursor 自动补全"
-  width="800"
-/>
-
-## 最佳实践
-
-1. **平衡速度和质量**:更快的模型提供更快的建议,但可能不太准确
-2. **调整触发延迟**:在灵敏度和避免过多 API 调用之间找到最佳平衡点
-3. **使用快速任务进行复杂更改**:它专为更实质性的代码修改而设计
-4. **使用手动自动补全确保精确**:当您需要在特定时刻获得建议时
-5. **明智地配置提供商**:考虑使用更快、更便宜的模型进行自动补全,同时保留更强大的模型用于聊天
-
-## 提示
-
-- 自动补全在结构清晰、组织良好的代码中效果最佳
-- 函数上方的注释有助于自动补全理解意图
-- 变量和函数名称很重要 - 描述性名称会带来更好的建议
-
-## 相关功能
-
-- [代码操作](/features/code-actions) - 用于常见编码任务的上下文菜单选项

+ 0 - 89
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup.md

@@ -1,89 +0,0 @@
----
-title: 设置 Mistral 免费自动补全
-sidebar_position: 1
----
-
-# 设置 Mistral 免费自动补全
-
-本指南将引导您在 Kilo Code 中设置 Mistral 的 Codestral 模型以获得免费的自动补全功能。Mistral 提供免费套餐,非常适合开始使用 AI 驱动的代码补全。
-
-## 视频教程
-
-<video controls width="100%">
-  <source src="/docs/videos/configure_free_codestral.mp4" type="video/mp4" />
-  您的浏览器不支持视频标签。
-</video>
-
-## 步骤 1:打开 Kilo Code 设置
-
-在 VS Code 中,打开 Kilo Code 面板,点击右上角的**设置**图标(齿轮)。
-
-![打开 Kilo Code 设置](./mistral-setup/01-open-kilo-code-settings.png)
-
-## 步骤 2:添加新的配置文件
-
-导航到**设置 → 提供商**,点击**添加配置文件**为 Mistral 创建新的配置文件。
-
-![添加配置文件](./mistral-setup/02-add-configuration-profile.png)
-
-## 步骤 3:命名您的配置文件
-
-在"新建配置文件"对话框中,输入名称如"Mistral profile"(名称可以是您喜欢的任何内容),然后点击**创建配置文件**。
-
-:::note
-配置文件名称只是供您参考的标签——它不会影响功能。选择任何有助于您识别此配置的名称。
-:::
-
-![创建 Mistral 配置文件](./mistral-setup/03-name-your-profile.png)
-
-## 步骤 4:选择 Mistral 作为提供商
-
-在 **API 提供商**下拉菜单中,搜索并选择 **Mistral**。
-
-:::note
-创建自动补全配置文件时,您无需选择特定模型——Kilo Code 将自动使用为代码补全优化的适当 Codestral 模型。
-:::
-
-![选择 Mistral 提供商](./mistral-setup/04-select-mistral-provider.png)
-
-## 步骤 5:获取您的 API 密钥
-
-您会看到需要有效 API 密钥的警告。点击**获取 Mistral / Codestral API 密钥**打开 Mistral 控制台。
-
-![获取 API 密钥按钮](./mistral-setup/05-get-api-key.png)
-
-## 步骤 6:在 Mistral AI Studio 中导航到 Codestral
-
-在 Mistral AI Studio 侧边栏中,点击代码部分下的 **Codestral**。
-
-![选择 Codestral](./mistral-setup/06-navigate-to-codestral.png)
-
-## 步骤 7:生成 API 密钥
-
-点击**生成 API 密钥**按钮创建您的新 Codestral API 密钥。
-
-![确认生成](./mistral-setup/07-confirm-key-generation.png)
-
-## 步骤 8:复制您的 API 密钥
-
-生成后,点击 API 密钥旁边的**复制**按钮将其复制到剪贴板。
-
-![复制 API 密钥](./mistral-setup/08-copy-api-key.png)
-
-## 步骤 9:在 Kilo Code 中粘贴 API 密钥
-
-返回 Kilo Code 设置,将您的 API 密钥粘贴到 **Mistral API 密钥**字段中。
-
-![粘贴 API 密钥](./mistral-setup/09-paste-api-key.png)
-
-## 步骤 10:保存您的设置
-
-点击**保存**应用您的 Mistral 配置。现在您可以使用免费的自动补全了!
-
-![保存设置](./mistral-setup/10-save-settings.png)
-
-## 后续步骤
-
-- 了解更多关于[自动补全功能](./index.md)
-- 探索自动补全的[触发选项](./index.md#触发选项)
-- 查看[最佳实践](./index.md#最佳实践)以获得最佳效果

BIN
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/01-open-kilo-code-settings.png


BIN
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/02-add-configuration-profile.png


BIN
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/03-name-your-profile.png


BIN
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/04-select-mistral-provider.png


BIN
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/05-get-api-key.png


BIN
apps/kilocode-docs/i18n/zh-CN/docusaurus-plugin-content-docs/current/basic-usage/autocomplete/mistral-setup/06-navigate-to-codestral.png


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác