diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index 3197eb49aff..0f81ca94ac8 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -2,7 +2,7 @@ blank_issues_enabled: false
contact_links:
- name: Feature Request
url: https://github.com/Kilo-Org/kilocode/discussions/categories/feature-requests
- about: Share and vote on feature requests for Roo Code
+ about: Share and vote on feature requests for Kilo Code
- name: Leave a Review
url: https://marketplace.visualstudio.com/items?itemName=kilocode.Kilo-Code&ssr=false#review-details
- about: Enjoying Roo Code? Leave a review here!
+ about: Enjoying Kilo Code? Leave a review here!
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index de7e461cb9c..efee54d17dc 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -32,4 +32,4 @@ A "How To Test" section can look something like this:
## Get in Touch
-
+
diff --git a/README.md b/README.md
index 07305b09c86..40420a2b2ac 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,16 @@
Join the Kilo Code Community
Connect with developers, contribute ideas, and stay ahead with the latest AI-powered coding tools.
-
-

-

-
+
+

+

+
-
Kilo Code (prev. Kilo Code, Cline)
+
Kilo Code (prev. Roo Code, Cline)

@@ -92,7 +92,7 @@ Make Kilo Code work your way with:
### Community
- **Discord:** [Join our Discord server](https://discord.gg/QZ9vjPj9e) for real-time help and discussions
-- **Reddit:** [Visit our subreddit](https://www.reddit.com/r/RooCode) to share experiences and tips
+- **Reddit:** [Visit our subreddit](https://www.reddit.com/r/KiloCode) to share experiences and tips
- **GitHub:** Report [issues](https://github.com/Kilo-Org/kilocode/issues) or request [features](https://github.com/Kilo-Org/kilocode/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop)
---
@@ -148,7 +148,7 @@ We love community contributions! Here’s how to get involved:
1. **Check Issues & Requests**: See [open issues](https://github.com/Kilo-Org/kilocode/issues) or [feature requests](https://github.com/Kilo-Org/kilocode/discussions/categories/feature-requests).
2. **Fork & branch** off `main`.
3. **Submit a Pull Request** once your feature or fix is ready.
-4. **Join** our [Reddit community](https://www.reddit.com/r/RooCode/) and [Discord](https://roocode.com/discord) for feedback, tips, and announcements.
+4. **Join** our [Reddit community](https://www.reddit.com/r/KiloCode/) and [Discord](https://discord.gg/QZ9vjPj9e) for feedback, tips, and announcements.
---
diff --git a/e2e/VSCODE_INTEGRATION_TESTS.md b/e2e/VSCODE_INTEGRATION_TESTS.md
index 25f54492de0..1be1678fdea 100644
--- a/e2e/VSCODE_INTEGRATION_TESTS.md
+++ b/e2e/VSCODE_INTEGRATION_TESTS.md
@@ -1,6 +1,6 @@
# VSCode Integration Tests
-This document describes the integration test setup for the Roo Code VSCode extension.
+This document describes the integration test setup for the Kilo Code VSCode extension.
## Overview
diff --git a/e2e/src/suite/extension.test.ts b/e2e/src/suite/extension.test.ts
index 969087ff02d..a77a81736fb 100644
--- a/e2e/src/suite/extension.test.ts
+++ b/e2e/src/suite/extension.test.ts
@@ -1,7 +1,7 @@
import * as assert from "assert"
import * as vscode from "vscode"
-suite("Roo Code Extension", () => {
+suite("Kilo Code Extension", () => {
test("OPENROUTER_API_KEY environment variable is set", () => {
if (!process.env.OPENROUTER_API_KEY) {
assert.fail("OPENROUTER_API_KEY environment variable is not set")
diff --git a/e2e/src/suite/index.ts b/e2e/src/suite/index.ts
index a9540d96004..7c7c63badce 100644
--- a/e2e/src/suite/index.ts
+++ b/e2e/src/suite/index.ts
@@ -49,7 +49,7 @@ export async function run(): Promise
{
globalThis.panel = vscode.window.createWebviewPanel(
"roo-cline.SidebarProvider",
- "Roo Code",
+ "Kilo Code",
vscode.ViewColumn.One,
{
enableScripts: true,
diff --git a/e2e/src/suite/modes.test.ts b/e2e/src/suite/modes.test.ts
index b94e71d1106..123ec58fedc 100644
--- a/e2e/src/suite/modes.test.ts
+++ b/e2e/src/suite/modes.test.ts
@@ -1,6 +1,6 @@
import * as assert from "assert"
-suite("Roo Code Modes", () => {
+suite("Kilo Code Modes", () => {
test("Should handle switching modes correctly", async function () {
const timeout = 30000
const interval = 1000
diff --git a/e2e/src/suite/task.test.ts b/e2e/src/suite/task.test.ts
index 6bdedcde002..b7318f86739 100644
--- a/e2e/src/suite/task.test.ts
+++ b/e2e/src/suite/task.test.ts
@@ -1,6 +1,6 @@
import * as assert from "assert"
-suite("Roo Code Task", () => {
+suite("Kilo Code Task", () => {
test("Should handle prompt and response correctly", async function () {
const timeout = 30000
const interval = 1000
@@ -32,7 +32,7 @@ suite("Roo Code Task", () => {
while (Date.now() - startTime < timeout) {
const messages = globalThis.provider.messages
- if (messages.some(({ type, text }) => type === "say" && text?.includes("My name is Roo"))) {
+ if (messages.some(({ type, text }) => type === "say" && text?.includes("My name is Kilo Code"))) {
break
}
@@ -44,8 +44,10 @@ suite("Roo Code Task", () => {
}
assert.ok(
- globalThis.provider.messages.some(({ type, text }) => type === "say" && text?.includes("My name is Roo")),
- "Did not receive expected response containing 'My name is Roo'",
+ globalThis.provider.messages.some(
+ ({ type, text }) => type === "say" && text?.includes("My name is Kilo Code"),
+ ),
+ "Did not receive expected response containing 'My name is Kilo Code'",
)
})
})
diff --git a/src/activate/registerCommands.ts b/src/activate/registerCommands.ts
index e1c1ec93c61..d18b2f5a3ae 100644
--- a/src/activate/registerCommands.ts
+++ b/src/activate/registerCommands.ts
@@ -89,7 +89,7 @@ const getCommandsMap = ({ context, outputChannel, provider }: RegisterCommandOpt
}
const openClineInNewTab = async ({ context, outputChannel }: Omit) => {
- outputChannel.appendLine("Opening Roo Code in new tab")
+ outputChannel.appendLine("Opening Kilo Code in new tab")
// (This example uses webviewProvider activation event which is necessary to
// deserialize cached webview, but since we use retainContextWhenHidden, we
@@ -109,7 +109,7 @@ const openClineInNewTab = async ({ context, outputChannel }: Omit {
baseURL: expect.any(String),
apiKey: expect.any(String),
defaultHeaders: {
- "HTTP-Referer": "https://github.com/RooVetGit/Roo-Cline",
- "X-Title": "Roo Code",
+ "HTTP-Referer": "https://github.com/Kilo-Org/kilocode",
+ "X-Title": "Kilo Code",
},
})
})
diff --git a/src/api/providers/__tests__/openrouter.test.ts b/src/api/providers/__tests__/openrouter.test.ts
index 981c9ad096f..714ca7b6abf 100644
--- a/src/api/providers/__tests__/openrouter.test.ts
+++ b/src/api/providers/__tests__/openrouter.test.ts
@@ -38,8 +38,8 @@ describe("OpenRouterHandler", () => {
baseURL: "https://openrouter.ai/api/v1",
apiKey: mockOptions.openRouterApiKey,
defaultHeaders: {
- "HTTP-Referer": "https://github.com/RooVetGit/Roo-Cline",
- "X-Title": "Roo Code",
+ "HTTP-Referer": "https://github.com/Kilo-Org/kilocode",
+ "X-Title": "Kilo Code",
},
})
})
diff --git a/src/api/providers/__tests__/requesty.test.ts b/src/api/providers/__tests__/requesty.test.ts
index 47921a1c532..8b246ce9111 100644
--- a/src/api/providers/__tests__/requesty.test.ts
+++ b/src/api/providers/__tests__/requesty.test.ts
@@ -64,8 +64,8 @@ describe("RequestyHandler", () => {
baseURL: "https://router.requesty.ai/v1",
apiKey: defaultOptions.requestyApiKey,
defaultHeaders: {
- "HTTP-Referer": "https://github.com/RooVetGit/Roo-Cline",
- "X-Title": "Roo Code",
+ "HTTP-Referer": "https://github.com/Kilo-Org/kilocode",
+ "X-Title": "Kilo Code",
},
})
})
diff --git a/src/api/providers/lmstudio.ts b/src/api/providers/lmstudio.ts
index 9a3ab187bf2..07152d8c253 100644
--- a/src/api/providers/lmstudio.ts
+++ b/src/api/providers/lmstudio.ts
@@ -59,7 +59,7 @@ export class LmStudioHandler extends BaseProvider implements SingleCompletionHan
} catch (error) {
// LM Studio doesn't return an error code/body for now
throw new Error(
- "Please check the LM Studio developer logs to debug what went wrong. You may need to load the model with a larger context length to work with Roo Code's prompts.",
+ "Please check the LM Studio developer logs to debug what went wrong. You may need to load the model with a larger context length to work with Kilo Code's prompts.",
)
}
}
@@ -90,7 +90,7 @@ export class LmStudioHandler extends BaseProvider implements SingleCompletionHan
return response.choices[0]?.message.content || ""
} catch (error) {
throw new Error(
- "Please check the LM Studio developer logs to debug what went wrong. You may need to load the model with a larger context length to work with Roo Code's prompts.",
+ "Please check the LM Studio developer logs to debug what went wrong. You may need to load the model with a larger context length to work with Kilo Code's prompts.",
)
}
}
diff --git a/src/api/providers/mistral.ts b/src/api/providers/mistral.ts
index 38f753c2610..a030e53fea5 100644
--- a/src/api/providers/mistral.ts
+++ b/src/api/providers/mistral.ts
@@ -34,7 +34,7 @@ export class MistralHandler extends BaseProvider implements SingleCompletionHand
}
const baseUrl = this.getBaseUrl()
- console.debug(`[Roo Code] MistralHandler using baseUrl: ${baseUrl}`)
+ console.debug(`[Kilo Code] MistralHandler using baseUrl: ${baseUrl}`)
this.client = new Mistral({
serverURL: baseUrl,
apiKey: this.options.mistralApiKey,
@@ -43,7 +43,7 @@ export class MistralHandler extends BaseProvider implements SingleCompletionHand
private getBaseUrl(): string {
const modelId = this.options.apiModelId ?? mistralDefaultModelId
- console.debug(`[Roo Code] MistralHandler using modelId: ${modelId}`)
+ console.debug(`[Kilo Code] MistralHandler using modelId: ${modelId}`)
if (modelId?.startsWith("codestral-")) {
return this.options.mistralCodestralUrl || "https://codestral.mistral.ai"
}
diff --git a/src/api/providers/openai.ts b/src/api/providers/openai.ts
index 2af3f2da05a..0b467c9d0a5 100644
--- a/src/api/providers/openai.ts
+++ b/src/api/providers/openai.ts
@@ -18,8 +18,8 @@ import { BaseProvider } from "./base-provider"
const DEEP_SEEK_DEFAULT_TEMPERATURE = 0.6
export const defaultHeaders = {
- "HTTP-Referer": "https://github.com/RooVetGit/Roo-Cline",
- "X-Title": "Roo Code",
+ "HTTP-Referer": "https://github.com/Kilo-Org/kilocode",
+ "X-Title": "Kilo Code",
}
export interface OpenAiHandlerOptions extends ApiHandlerOptions {}
diff --git a/src/api/providers/vscode-lm.ts b/src/api/providers/vscode-lm.ts
index 0ce2a6e26a6..13d23f5fbfe 100644
--- a/src/api/providers/vscode-lm.ts
+++ b/src/api/providers/vscode-lm.ts
@@ -66,7 +66,7 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
this.dispose()
throw new Error(
- `Roo Code : Failed to initialize handler: ${error instanceof Error ? error.message : "Unknown error"}`,
+ `Kilo Code : Failed to initialize handler: ${error instanceof Error ? error.message : "Unknown error"}`,
)
}
}
@@ -116,7 +116,7 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
}
} catch (error) {
const errorMessage = error instanceof Error ? error.message : "Unknown error"
- throw new Error(`Roo Code : Failed to select model: ${errorMessage}`)
+ throw new Error(`Kilo Code : Failed to select model: ${errorMessage}`)
}
}
@@ -176,18 +176,18 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
private async internalCountTokens(text: string | vscode.LanguageModelChatMessage): Promise {
// Check for required dependencies
if (!this.client) {
- console.warn("Roo Code : No client available for token counting")
+ console.warn("Kilo Code : No client available for token counting")
return 0
}
if (!this.currentRequestCancellation) {
- console.warn("Roo Code : No cancellation token available for token counting")
+ console.warn("Kilo Code : No cancellation token available for token counting")
return 0
}
// Validate input
if (!text) {
- console.debug("Roo Code : Empty text provided for token counting")
+ console.debug("Kilo Code : Empty text provided for token counting")
return 0
}
@@ -200,23 +200,23 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
} else if (text instanceof vscode.LanguageModelChatMessage) {
// For chat messages, ensure we have content
if (!text.content || (Array.isArray(text.content) && text.content.length === 0)) {
- console.debug("Roo Code : Empty chat message content")
+ console.debug("Kilo Code : Empty chat message content")
return 0
}
tokenCount = await this.client.countTokens(text, this.currentRequestCancellation.token)
} else {
- console.warn("Roo Code : Invalid input type for token counting")
+ console.warn("Kilo Code : Invalid input type for token counting")
return 0
}
// Validate the result
if (typeof tokenCount !== "number") {
- console.warn("Roo Code : Non-numeric token count received:", tokenCount)
+ console.warn("Kilo Code : Non-numeric token count received:", tokenCount)
return 0
}
if (tokenCount < 0) {
- console.warn("Roo Code : Negative token count received:", tokenCount)
+ console.warn("Kilo Code : Negative token count received:", tokenCount)
return 0
}
@@ -224,12 +224,12 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
} catch (error) {
// Handle specific error types
if (error instanceof vscode.CancellationError) {
- console.debug("Roo Code : Token counting cancelled by user")
+ console.debug("Kilo Code : Token counting cancelled by user")
return 0
}
const errorMessage = error instanceof Error ? error.message : "Unknown error"
- console.warn("Roo Code : Token counting failed:", errorMessage)
+ console.warn("Kilo Code : Token counting failed:", errorMessage)
// Log additional error details if available
if (error instanceof Error && error.stack) {
@@ -261,7 +261,7 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
private async getClient(): Promise {
if (!this.client) {
- console.debug("Roo Code : Getting client with options:", {
+ console.debug("Kilo Code : Getting client with options:", {
vsCodeLmModelSelector: this.options.vsCodeLmModelSelector,
hasOptions: !!this.options,
selectorKeys: this.options.vsCodeLmModelSelector ? Object.keys(this.options.vsCodeLmModelSelector) : [],
@@ -270,12 +270,12 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
try {
// Use default empty selector if none provided to get all available models
const selector = this.options?.vsCodeLmModelSelector || {}
- console.debug("Roo Code : Creating client with selector:", selector)
+ console.debug("Kilo Code : Creating client with selector:", selector)
this.client = await this.createClient(selector)
} catch (error) {
const message = error instanceof Error ? error.message : "Unknown error"
- console.error("Roo Code : Client creation failed:", message)
- throw new Error(`Roo Code : Failed to create client: ${message}`)
+ console.error("Kilo Code : Client creation failed:", message)
+ throw new Error(`Kilo Code : Failed to create client: ${message}`)
}
}
@@ -377,7 +377,7 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
try {
// Create the response stream with minimal required options
const requestOptions: vscode.LanguageModelChatRequestOptions = {
- justification: `Roo Code would like to use '${client.name}' from '${client.vendor}', Click 'Allow' to proceed.`,
+ justification: `Kilo Code would like to use '${client.name}' from '${client.vendor}', Click 'Allow' to proceed.`,
}
// Note: Tool support is currently provided by the VSCode Language Model API directly
@@ -394,7 +394,7 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
if (chunk instanceof vscode.LanguageModelTextPart) {
// Validate text part value
if (typeof chunk.value !== "string") {
- console.warn("Roo Code : Invalid text part value received:", chunk.value)
+ console.warn("Kilo Code : Invalid text part value received:", chunk.value)
continue
}
@@ -407,18 +407,18 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
try {
// Validate tool call parameters
if (!chunk.name || typeof chunk.name !== "string") {
- console.warn("Roo Code : Invalid tool name received:", chunk.name)
+ console.warn("Kilo Code : Invalid tool name received:", chunk.name)
continue
}
if (!chunk.callId || typeof chunk.callId !== "string") {
- console.warn("Roo Code : Invalid tool callId received:", chunk.callId)
+ console.warn("Kilo Code : Invalid tool callId received:", chunk.callId)
continue
}
// Ensure input is a valid object
if (!chunk.input || typeof chunk.input !== "object") {
- console.warn("Roo Code : Invalid tool input received:", chunk.input)
+ console.warn("Kilo Code : Invalid tool input received:", chunk.input)
continue
}
@@ -434,7 +434,7 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
accumulatedText += toolCallText
// Log tool call for debugging
- console.debug("Roo Code : Processing tool call:", {
+ console.debug("Kilo Code : Processing tool call:", {
name: chunk.name,
callId: chunk.callId,
inputSize: JSON.stringify(chunk.input).length,
@@ -445,12 +445,12 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
text: toolCallText,
}
} catch (error) {
- console.error("Roo Code : Failed to process tool call:", error)
+ console.error("Kilo Code : Failed to process tool call:", error)
// Continue processing other chunks even if one fails
continue
}
} else {
- console.warn("Roo Code : Unknown chunk type received:", chunk)
+ console.warn("Kilo Code : Unknown chunk type received:", chunk)
}
}
@@ -468,11 +468,11 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
this.ensureCleanState()
if (error instanceof vscode.CancellationError) {
- throw new Error("Roo Code : Request cancelled by user")
+ throw new Error("Kilo Code : Request cancelled by user")
}
if (error instanceof Error) {
- console.error("Roo Code : Stream error details:", {
+ console.error("Kilo Code : Stream error details:", {
message: error.message,
stack: error.stack,
name: error.name,
@@ -483,13 +483,13 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
} else if (typeof error === "object" && error !== null) {
// Handle error-like objects
const errorDetails = JSON.stringify(error, null, 2)
- console.error("Roo Code : Stream error object:", errorDetails)
- throw new Error(`Roo Code : Response stream error: ${errorDetails}`)
+ console.error("Kilo Code : Stream error object:", errorDetails)
+ throw new Error(`Kilo Code : Response stream error: ${errorDetails}`)
} else {
// Fallback for unknown error types
const errorMessage = String(error)
- console.error("Roo Code : Unknown stream error:", errorMessage)
- throw new Error(`Roo Code : Response stream error: ${errorMessage}`)
+ console.error("Kilo Code : Unknown stream error:", errorMessage)
+ throw new Error(`Kilo Code : Response stream error: ${errorMessage}`)
}
}
}
@@ -509,7 +509,7 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
// Log any missing properties for debugging
for (const [prop, value] of Object.entries(requiredProps)) {
if (!value && value !== 0) {
- console.warn(`Roo Code : Client missing ${prop} property`)
+ console.warn(`Kilo Code : Client missing ${prop} property`)
}
}
@@ -540,7 +540,7 @@ export class VsCodeLmHandler extends BaseProvider implements SingleCompletionHan
? stringifyVsCodeLmModelSelector(this.options.vsCodeLmModelSelector)
: "vscode-lm"
- console.debug("Roo Code : No client available, using fallback model info")
+ console.debug("Kilo Code : No client available, using fallback model info")
return {
id: fallbackId,
diff --git a/src/api/transform/vscode-lm-format.ts b/src/api/transform/vscode-lm-format.ts
index 73716cf912d..8009dcb52e9 100644
--- a/src/api/transform/vscode-lm-format.ts
+++ b/src/api/transform/vscode-lm-format.ts
@@ -23,7 +23,7 @@ function asObjectSafe(value: any): object {
return {}
} catch (error) {
- console.warn("Roo Code : Failed to parse object:", error)
+ console.warn("Kilo Code : Failed to parse object:", error)
return {}
}
}
diff --git a/src/core/Cline.ts b/src/core/Cline.ts
index e595180a034..6a1f38f4dfc 100644
--- a/src/core/Cline.ts
+++ b/src/core/Cline.ts
@@ -404,7 +404,7 @@ export class Cline {
): Promise<{ response: ClineAskResponse; text?: string; images?: string[] }> {
// If this Cline instance was aborted by the provider, then the only thing keeping us alive is a promise still running in the background, in which case we don't want to send its result to the webview as it is attached to a new instance of Cline now. So we can safely ignore the result of any active promises, and this class will be deallocated. (Although we set Cline = undefined in provider, that simply removes the reference to this instance, but the instance is still alive until this promise resolves or rejects.)
if (this.abort) {
- throw new Error(`Task: ${this.taskNumber} Roo Code instance aborted (#1)`)
+ throw new Error(`Task: ${this.taskNumber} Kilo Code instance aborted (#1)`)
}
let askTs: number
if (partial !== undefined) {
@@ -506,7 +506,7 @@ export class Cline {
checkpoint?: Record,
): Promise {
if (this.abort) {
- throw new Error(`Task: ${this.taskNumber} Roo Code instance aborted (#2)`)
+ throw new Error(`Task: ${this.taskNumber} Kilo Code instance aborted (#2)`)
}
if (partial !== undefined) {
@@ -565,7 +565,7 @@ export class Cline {
async sayAndCreateMissingParamError(toolName: ToolUseName, paramName: string, relPath?: string) {
await this.say(
"error",
- `Roo tried to use ${toolName}${
+ `Kilo Code tried to use ${toolName}${
relPath ? ` for '${relPath.toPosix()}'` : ""
} without value for required parameter '${paramName}'. Retrying...`,
)
@@ -1225,7 +1225,7 @@ export class Cline {
async presentAssistantMessage() {
if (this.abort) {
- throw new Error(`Task: ${this.taskNumber} Roo Code instance aborted (#3)`)
+ throw new Error(`Task: ${this.taskNumber} Kilo Code instance aborted (#3)`)
}
if (this.presentAssistantMessageLocked) {
@@ -3067,7 +3067,7 @@ export class Cline {
includeFileDetails: boolean = false,
): Promise {
if (this.abort) {
- throw new Error(`Task: ${this.taskNumber} Roo Code instance aborted (#4)`)
+ throw new Error(`Task: ${this.taskNumber} Kilo Code instance aborted (#4)`)
}
if (this.consecutiveMistakeCount >= 3) {
@@ -3075,7 +3075,7 @@ export class Cline {
"mistake_limit_reached",
this.api.getModel().id.includes("claude")
? `This may indicate a failure in his thought process or inability to use a tool properly, which can be mitigated with some user guidance (e.g. "Try breaking down the task into smaller steps").`
- : "Roo Code uses complex prompts and iterative task execution that may be challenging for less capable models. For best results, it's recommended to use Claude 3.7 Sonnet for its advanced agentic coding capabilities.",
+ : "Kilo Code uses complex prompts and iterative task execution that may be challenging for less capable models. For best results, it's recommended to use Claude 3.7 Sonnet for its advanced agentic coding capabilities.",
)
if (response === "messageResponse") {
userContent.push(
@@ -3304,7 +3304,7 @@ export class Cline {
// need to call here in case the stream was aborted
if (this.abort || this.abandoned) {
- throw new Error(`Task: ${this.taskNumber} Roo Code instance aborted (#5)`)
+ throw new Error(`Task: ${this.taskNumber} Kilo Code instance aborted (#5)`)
}
this.didCompleteReadingStream = true
diff --git a/src/core/CodeActionProvider.ts b/src/core/CodeActionProvider.ts
index 285e6dac6cd..88d29e7398c 100644
--- a/src/core/CodeActionProvider.ts
+++ b/src/core/CodeActionProvider.ts
@@ -2,11 +2,11 @@ import * as vscode from "vscode"
import { EditorUtils } from "./EditorUtils"
export const ACTION_NAMES = {
- EXPLAIN: "Roo Code: Explain Code",
- FIX: "Roo Code: Fix Code",
- FIX_LOGIC: "Roo Code: Fix Logic",
- IMPROVE: "Roo Code: Improve Code",
- ADD_TO_CONTEXT: "Roo Code: Add to Context",
+ EXPLAIN: "Kilo Code: Explain Code",
+ FIX: "Kilo Code: Fix Code",
+ FIX_LOGIC: "Kilo Code: Fix Logic",
+ IMPROVE: "Kilo Code: Improve Code",
+ ADD_TO_CONTEXT: "Kilo Code: Add to Context",
} as const
export const COMMAND_IDS = {
diff --git a/src/core/webview/ClineProvider.ts b/src/core/webview/ClineProvider.ts
index f450ee46e02..d18b17fe37d 100644
--- a/src/core/webview/ClineProvider.ts
+++ b/src/core/webview/ClineProvider.ts
@@ -634,7 +634,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
- Roo Code
+ Kilo Code
@@ -714,7 +714,7 @@ export class ClineProvider implements vscode.WebviewViewProvider {
- Roo Code
+ Kilo Code
diff --git a/src/integrations/terminal/TerminalRegistry.ts b/src/integrations/terminal/TerminalRegistry.ts
index 69a21d94fde..2ec708cf6db 100644
--- a/src/integrations/terminal/TerminalRegistry.ts
+++ b/src/integrations/terminal/TerminalRegistry.ts
@@ -19,7 +19,7 @@ export class TerminalRegistry {
static createTerminal(cwd?: string | vscode.Uri | undefined): TerminalInfo {
const terminal = vscode.window.createTerminal({
cwd,
- name: "Roo Code",
+ name: "Kilo Code",
iconPath: new vscode.ThemeIcon("rocket"),
env: {
PAGER: "cat",
diff --git a/src/integrations/terminal/__tests__/TerminalProcess.test.ts b/src/integrations/terminal/__tests__/TerminalProcess.test.ts
index 16cd85230de..5633927ce7a 100644
--- a/src/integrations/terminal/__tests__/TerminalProcess.test.ts
+++ b/src/integrations/terminal/__tests__/TerminalProcess.test.ts
@@ -44,7 +44,7 @@ describe("TerminalProcess", () => {
shellIntegration: {
executeCommand: jest.fn(),
},
- name: "Roo Code",
+ name: "Kilo Code",
processId: Promise.resolve(123),
creationOptions: {},
exitStatus: undefined,
diff --git a/src/integrations/terminal/__tests__/TerminalRegistry.test.ts b/src/integrations/terminal/__tests__/TerminalRegistry.test.ts
index a2b8fcd3b08..143eb7b3ce3 100644
--- a/src/integrations/terminal/__tests__/TerminalRegistry.test.ts
+++ b/src/integrations/terminal/__tests__/TerminalRegistry.test.ts
@@ -27,7 +27,7 @@ describe("TerminalRegistry", () => {
expect(mockCreateTerminal).toHaveBeenCalledWith({
cwd: "/test/path",
- name: "Roo Code",
+ name: "Kilo Code",
iconPath: expect.any(Object),
env: {
PAGER: "cat",
diff --git a/src/services/checkpoints/ShadowCheckpointService.ts b/src/services/checkpoints/ShadowCheckpointService.ts
index fc7153bab9d..22899d4dcf9 100644
--- a/src/services/checkpoints/ShadowCheckpointService.ts
+++ b/src/services/checkpoints/ShadowCheckpointService.ts
@@ -91,7 +91,7 @@ export abstract class ShadowCheckpointService extends EventEmitter {
await git.init()
await git.addConfig("core.worktree", this.workspaceDir) // Sets the working tree to the current workspace.
await git.addConfig("commit.gpgSign", "false") // Disable commit signing for shadow repo.
- await git.addConfig("user.name", "Roo Code")
+ await git.addConfig("user.name", "Kilo Code")
await git.addConfig("user.email", "noreply@example.com")
await this.writeExcludeFile()
await this.stageAll(git)
diff --git a/src/services/checkpoints/__tests__/ShadowCheckpointService.test.ts b/src/services/checkpoints/__tests__/ShadowCheckpointService.test.ts
index ecf791e9498..d1a951fe4fb 100644
--- a/src/services/checkpoints/__tests__/ShadowCheckpointService.test.ts
+++ b/src/services/checkpoints/__tests__/ShadowCheckpointService.test.ts
@@ -21,8 +21,8 @@ const tmpDir = path.join(os.tmpdir(), "CheckpointService")
const initWorkspaceRepo = async ({
workspaceDir,
- userName = "Roo Code",
- userEmail = "support@roocode.com",
+ userName = "Kilo Code",
+ userEmail = "support@kilocode.ai",
testFileName = "test.txt",
textFileContent = "Hello, world!",
}: {
@@ -396,16 +396,16 @@ describe.each([
await fs.mkdir(workspaceDir, { recursive: true })
const mainGit = simpleGit(workspaceDir)
await mainGit.init()
- await mainGit.addConfig("user.name", "Roo Code")
- await mainGit.addConfig("user.email", "support@roocode.com")
+ await mainGit.addConfig("user.name", "Kilo Code")
+ await mainGit.addConfig("user.email", "support@kilocode.ai")
// Create a nested repo inside the workspace.
const nestedRepoPath = path.join(workspaceDir, "nested-project")
await fs.mkdir(nestedRepoPath, { recursive: true })
const nestedGit = simpleGit(nestedRepoPath)
await nestedGit.init()
- await nestedGit.addConfig("user.name", "Roo Code")
- await nestedGit.addConfig("user.email", "support@roocode.com")
+ await nestedGit.addConfig("user.name", "Kilo Code")
+ await nestedGit.addConfig("user.email", "support@kilocode.ai")
// Add a file to the nested repo.
const nestedFile = path.join(nestedRepoPath, "nested-file.txt")
@@ -710,7 +710,7 @@ describe("ShadowCheckpointService", () => {
// Create git repo without adding the specific branch
const git = simpleGit(workspaceRepoDir)
await git.init()
- await git.addConfig("user.name", "Roo Code")
+ await git.addConfig("user.name", "Kilo Code")
await git.addConfig("user.email", "noreply@example.com")
// We need to create a commit, but we won't create the specific branch
diff --git a/src/services/mcp/McpHub.ts b/src/services/mcp/McpHub.ts
index 6c906c7cf89..e189f5aa35d 100644
--- a/src/services/mcp/McpHub.ts
+++ b/src/services/mcp/McpHub.ts
@@ -98,7 +98,7 @@ export class McpHub {
mcpSettingsFilePath,
`{
"mcpServers": {
-
+
}
}`,
)
@@ -155,7 +155,7 @@ export class McpHub {
// Each MCP server requires its own transport connection and has unique capabilities, configurations, and error handling. Having separate clients also allows proper scoping of resources/tools and independent server management like reconnection.
const client = new Client(
{
- name: "Roo Code",
+ name: "Kilo Code",
version: this.providerRef.deref()?.context.extension?.packageJSON?.version ?? "1.0.0",
},
{
diff --git a/webview-ui/index.html b/webview-ui/index.html
index 9ca170dc5bd..d19d21f55a0 100644
--- a/webview-ui/index.html
+++ b/webview-ui/index.html
@@ -3,10 +3,10 @@
- Roo Code
+ Kilo Code
-
\ No newline at end of file
+