diff --git a/.vscode/launch.json b/.vscode/launch.json
index 5f023be65ba..98a6b1494f8 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -10,12 +10,11 @@
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
- "args": ["--extensionDevelopmentPath=${workspaceFolder}/src"],
+ "args": ["--extensionDevelopmentPath=${workspaceFolder}/src", "${workspaceFolder}"],
"sourceMaps": true,
"outFiles": ["${workspaceFolder}/src/dist/**/*.js"],
- "preLaunchTask": "${defaultBuildTask}",
"env": {
- "NODE_ENV": "development",
+ "NODE_ENV": "production",
"VSCODE_DEBUG_MODE": "true"
},
"resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"],
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index 549a1174a92..e512e6cf001 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -1,74 +1,13 @@
-// See https://go.microsoft.com/fwlink/?LinkId=733558
-// for the documentation about the tasks.json format
{
"version": "2.0.0",
"tasks": [
{
"label": "watch",
- "dependsOn": ["watch:webview", "watch:bundle", "watch:tsc"],
- "presentation": {
- "reveal": "never"
- },
- "group": {
- "kind": "build",
- "isDefault": true
- }
- },
- {
- "label": "watch:webview",
- "type": "shell",
- "command": "pnpm --filter @roo-code/vscode-webview dev",
- "group": "build",
- "problemMatcher": {
- "owner": "vite",
- "pattern": {
- "regexp": "^$"
- },
- "background": {
- "activeOnStart": true,
- "beginsPattern": ".*VITE.*",
- "endsPattern": ".*Local:.*"
- }
- },
- "isBackground": true,
- "presentation": {
- "group": "watch",
- "reveal": "always"
- }
- },
- {
- "label": "watch:bundle",
- "type": "shell",
- "command": "npx turbo watch:bundle",
- "group": "build",
- "problemMatcher": {
- "owner": "esbuild",
- "pattern": {
- "regexp": "^$"
- },
- "background": {
- "activeOnStart": true,
- "beginsPattern": "esbuild-problem-matcher#onStart",
- "endsPattern": "esbuild-problem-matcher#onEnd"
- }
- },
- "isBackground": true,
- "presentation": {
- "group": "watch",
- "reveal": "always"
- }
- },
- {
- "label": "watch:tsc",
"type": "shell",
- "command": "npx turbo watch:tsc",
- "group": "build",
- "problemMatcher": "$tsc-watch",
- "isBackground": true,
- "presentation": {
- "group": "watch",
- "reveal": "always"
- }
+ "command": "echo",
+ "args": ["pre-built"],
+ "group": { "kind": "build", "isDefault": true },
+ "presentation": { "reveal": "never" }
}
]
}
diff --git a/package.json b/package.json
index de8dff751cb..d5642742613 100644
--- a/package.json
+++ b/package.json
@@ -56,7 +56,16 @@
},
"pnpm": {
"onlyBuiltDependencies": [
- "@vscode/ripgrep"
+ "@tailwindcss/oxide",
+ "@vscode/ripgrep",
+ "@vscode/vsce-sign",
+ "better-sqlite3",
+ "core-js",
+ "esbuild",
+ "keytar",
+ "protobufjs",
+ "puppeteer-chromium-resolver",
+ "sharp"
],
"overrides": {
"tar-fs": ">=3.1.1",
diff --git a/src/assets/icons/icon-nightly.png b/src/assets/icons/icon-nightly.png
index b0bef29cc9c..d7879fa256c 100644
Binary files a/src/assets/icons/icon-nightly.png and b/src/assets/icons/icon-nightly.png differ
diff --git a/src/assets/icons/icon.png b/src/assets/icons/icon.png
index b0bef29cc9c..baef3a4702d 100644
Binary files a/src/assets/icons/icon.png and b/src/assets/icons/icon.png differ
diff --git a/src/assets/icons/icon.svg b/src/assets/icons/icon.svg
index a4e2d75e5b3..72d84d21191 100644
--- a/src/assets/icons/icon.svg
+++ b/src/assets/icons/icon.svg
@@ -1,12 +1 @@
-
-
+
\ No newline at end of file
diff --git a/src/assets/icons/panel_dark.png b/src/assets/icons/panel_dark.png
index 09a2d84ca42..e4ccbfacbb2 100644
Binary files a/src/assets/icons/panel_dark.png and b/src/assets/icons/panel_dark.png differ
diff --git a/src/assets/icons/panel_light.png b/src/assets/icons/panel_light.png
index 221a8d3ab06..fedfc9e4144 100644
Binary files a/src/assets/icons/panel_light.png and b/src/assets/icons/panel_light.png differ
diff --git a/src/assets/images/icon.png b/src/assets/images/icon.png
new file mode 100644
index 00000000000..baef3a4702d
Binary files /dev/null and b/src/assets/images/icon.png differ
diff --git a/src/extension.ts b/src/extension.ts
index 19c0d70585a..212ebc2a779 100644
--- a/src/extension.ts
+++ b/src/extension.ts
@@ -100,7 +100,7 @@ async function checkWorktreeAutoOpen(
// Open the Roo Code sidebar with a slight delay to ensure UI is ready
setTimeout(async () => {
try {
- await vscode.commands.executeCommand("roo-cline.plusButtonClicked")
+ await vscode.commands.executeCommand(`${Package.name}.plusButtonClicked`)
} catch (error) {
outputChannel.appendLine(
`[Worktree] Error auto-opening sidebar: ${error instanceof Error ? error.message : String(error)}`,
@@ -355,6 +355,15 @@ export async function activate(context: vscode.ExtensionContext) {
registerCodeActions(context)
registerTerminalActions(context)
+ // Auto-open the Joe-Code sidebar on startup.
+ setTimeout(async () => {
+ try {
+ await vscode.commands.executeCommand(`workbench.view.extension.joe-code-ActivityBar`)
+ } catch (error) {
+ // Silently fail if unable to auto-open sidebar.
+ }
+ }, 1000)
+
// Allows other extensions to activate once Roo is ready.
vscode.commands.executeCommand(`${Package.name}.activationCompleted`)
diff --git a/src/icon.png b/src/icon.png
new file mode 100644
index 00000000000..baef3a4702d
Binary files /dev/null and b/src/icon.png differ
diff --git a/src/package.json b/src/package.json
index 241312ac8c6..388db02eaf7 100644
--- a/src/package.json
+++ b/src/package.json
@@ -1,8 +1,8 @@
{
- "name": "roo-cline",
- "displayName": "%extension.displayName%",
- "description": "%extension.description%",
- "publisher": "RooVeterinaryInc",
+ "name": "joe-code",
+ "displayName": "Joe-Code",
+ "description": "Joe-Code: Your personal AI coding assistant powered by Claude",
+ "publisher": "Jothi-333",
"version": "3.50.4",
"icon": "assets/icons/icon.png",
"galleryBanner": {
@@ -14,13 +14,13 @@
"node": "20.19.2"
},
"author": {
- "name": "Roo Code"
+ "name": "Joe-Code"
},
"repository": {
"type": "git",
- "url": "https://github.com/RooCodeInc/Roo-Code"
+ "url": "https://github.com/Jothi-333/Joe-Code"
},
- "homepage": "https://roocode.com",
+ "homepage": "https://Joe-Code.com",
"categories": [
"AI",
"Chat",
@@ -42,8 +42,8 @@
"sonnet",
"ai",
"llama",
- "roo code",
- "roocode"
+ "Joe-Code",
+ "Joe-Code"
],
"activationEvents": [
"onLanguage",
@@ -54,119 +54,120 @@
"viewsContainers": {
"activitybar": [
{
- "id": "roo-cline-ActivityBar",
+ "id": "joe-code-ActivityBar",
"title": "%views.activitybar.title%",
"icon": "assets/icons/icon.svg"
}
]
},
"views": {
- "roo-cline-ActivityBar": [
+ "joe-code-ActivityBar": [
{
"type": "webview",
- "id": "roo-cline.SidebarProvider",
- "name": "%views.sidebar.name%"
+ "id": "joe-code.SidebarProvider",
+ "name": "%views.sidebar.name%",
+ "visibility": "visible"
}
]
},
"commands": [
{
- "command": "roo-cline.plusButtonClicked",
+ "command": "joe-code.plusButtonClicked",
"title": "%command.newTask.title%",
"icon": "$(edit)"
},
{
- "command": "roo-cline.historyButtonClicked",
+ "command": "joe-code.historyButtonClicked",
"title": "%command.history.title%",
"icon": "$(history)"
},
{
- "command": "roo-cline.marketplaceButtonClicked",
+ "command": "joe-code.marketplaceButtonClicked",
"title": "%command.marketplace.title%",
"icon": "$(extensions)"
},
{
- "command": "roo-cline.popoutButtonClicked",
+ "command": "joe-code.popoutButtonClicked",
"title": "%command.openInEditor.title%",
"icon": "$(link-external)"
},
{
- "command": "roo-cline.cloudButtonClicked",
+ "command": "joe-code.cloudButtonClicked",
"title": "%command.cloud.title%",
"icon": "$(cloud)"
},
{
- "command": "roo-cline.settingsButtonClicked",
+ "command": "joe-code.settingsButtonClicked",
"title": "%command.settings.title%",
"icon": "$(settings-gear)"
},
{
- "command": "roo-cline.openInNewTab",
+ "command": "joe-code.openInNewTab",
"title": "%command.openInNewTab.title%",
"category": "%configuration.title%"
},
{
- "command": "roo-cline.explainCode",
+ "command": "joe-code.explainCode",
"title": "%command.explainCode.title%",
"category": "%configuration.title%"
},
{
- "command": "roo-cline.fixCode",
+ "command": "joe-code.fixCode",
"title": "%command.fixCode.title%",
"category": "%configuration.title%"
},
{
- "command": "roo-cline.improveCode",
+ "command": "joe-code.improveCode",
"title": "%command.improveCode.title%",
"category": "%configuration.title%"
},
{
- "command": "roo-cline.addToContext",
+ "command": "joe-code.addToContext",
"title": "%command.addToContext.title%",
"category": "%configuration.title%"
},
{
- "command": "roo-cline.newTask",
+ "command": "joe-code.newTask",
"title": "%command.newTask.title%",
"category": "%configuration.title%"
},
{
- "command": "roo-cline.terminalAddToContext",
+ "command": "joe-code.terminalAddToContext",
"title": "%command.terminal.addToContext.title%",
"category": "Terminal"
},
{
- "command": "roo-cline.terminalFixCommand",
+ "command": "joe-code.terminalFixCommand",
"title": "%command.terminal.fixCommand.title%",
"category": "Terminal"
},
{
- "command": "roo-cline.terminalExplainCommand",
+ "command": "joe-code.terminalExplainCommand",
"title": "%command.terminal.explainCommand.title%",
"category": "Terminal"
},
{
- "command": "roo-cline.setCustomStoragePath",
+ "command": "joe-code.setCustomStoragePath",
"title": "%command.setCustomStoragePath.title%",
"category": "%configuration.title%"
},
{
- "command": "roo-cline.importSettings",
+ "command": "joe-code.importSettings",
"title": "%command.importSettings.title%",
"category": "%configuration.title%"
},
{
- "command": "roo-cline.focusInput",
+ "command": "joe-code.focusInput",
"title": "%command.focusInput.title%",
"category": "%configuration.title%"
},
{
- "command": "roo-cline.acceptInput",
+ "command": "joe-code.acceptInput",
"title": "%command.acceptInput.title%",
"category": "%configuration.title%"
},
{
- "command": "roo-cline.toggleAutoApprove",
+ "command": "joe-code.toggleAutoApprove",
"title": "%command.toggleAutoApprove.title%",
"category": "%configuration.title%"
}
@@ -174,112 +175,112 @@
"menus": {
"editor/context": [
{
- "submenu": "roo-cline.contextMenu",
+ "submenu": "joe-code.contextMenu",
"group": "1"
}
],
- "roo-cline.contextMenu": [
+ "joe-code.contextMenu": [
{
- "command": "roo-cline.addToContext",
+ "command": "joe-code.addToContext",
"group": "1_actions@1"
},
{
- "command": "roo-cline.explainCode",
+ "command": "joe-code.explainCode",
"group": "1_actions@2"
},
{
- "command": "roo-cline.improveCode",
+ "command": "joe-code.improveCode",
"group": "1_actions@3"
}
],
"terminal/context": [
{
- "submenu": "roo-cline.terminalMenu",
+ "submenu": "joe-code.terminalMenu",
"group": "2"
}
],
- "roo-cline.terminalMenu": [
+ "joe-code.terminalMenu": [
{
- "command": "roo-cline.terminalAddToContext",
+ "command": "joe-code.terminalAddToContext",
"group": "1_actions@1"
},
{
- "command": "roo-cline.terminalFixCommand",
+ "command": "joe-code.terminalFixCommand",
"group": "1_actions@2"
},
{
- "command": "roo-cline.terminalExplainCommand",
+ "command": "joe-code.terminalExplainCommand",
"group": "1_actions@3"
}
],
"view/title": [
{
- "command": "roo-cline.plusButtonClicked",
+ "command": "joe-code.plusButtonClicked",
"group": "navigation@1",
- "when": "view == roo-cline.SidebarProvider"
+ "when": "view == joe-code.SidebarProvider"
},
{
- "command": "roo-cline.settingsButtonClicked",
+ "command": "joe-code.settingsButtonClicked",
"group": "navigation@2",
- "when": "view == roo-cline.SidebarProvider"
+ "when": "view == joe-code.SidebarProvider"
},
{
- "command": "roo-cline.cloudButtonClicked",
+ "command": "joe-code.cloudButtonClicked",
"group": "navigation@3",
- "when": "view == roo-cline.SidebarProvider"
+ "when": "view == joe-code.SidebarProvider"
},
{
- "command": "roo-cline.marketplaceButtonClicked",
+ "command": "joe-code.marketplaceButtonClicked",
"group": "navigation@4",
- "when": "view == roo-cline.SidebarProvider"
+ "when": "view == joe-code.SidebarProvider"
},
{
- "command": "roo-cline.historyButtonClicked",
+ "command": "joe-code.historyButtonClicked",
"group": "overflow@1",
- "when": "view == roo-cline.SidebarProvider"
+ "when": "view == joe-code.SidebarProvider"
},
{
- "command": "roo-cline.popoutButtonClicked",
+ "command": "joe-code.popoutButtonClicked",
"group": "overflow@2",
- "when": "view == roo-cline.SidebarProvider"
+ "when": "view == joe-code.SidebarProvider"
}
],
"editor/title": [
{
- "command": "roo-cline.plusButtonClicked",
+ "command": "joe-code.plusButtonClicked",
"group": "navigation@1",
- "when": "activeWebviewPanelId == roo-cline.TabPanelProvider"
+ "when": "activeWebviewPanelId == joe-code.TabPanelProvider"
},
{
- "command": "roo-cline.settingsButtonClicked",
+ "command": "joe-code.settingsButtonClicked",
"group": "navigation@2",
- "when": "activeWebviewPanelId == roo-cline.TabPanelProvider"
+ "when": "activeWebviewPanelId == joe-code.TabPanelProvider"
},
{
- "command": "roo-cline.cloudButtonClicked",
+ "command": "joe-code.cloudButtonClicked",
"group": "navigation@3",
- "when": "activeWebviewPanelId == roo-cline.TabPanelProvider"
+ "when": "activeWebviewPanelId == joe-code.TabPanelProvider"
},
{
- "command": "roo-cline.marketplaceButtonClicked",
+ "command": "joe-code.marketplaceButtonClicked",
"group": "navigation@4",
- "when": "activeWebviewPanelId == roo-cline.TabPanelProvider"
+ "when": "activeWebviewPanelId == joe-code.TabPanelProvider"
},
{
- "command": "roo-cline.historyButtonClicked",
+ "command": "joe-code.historyButtonClicked",
"group": "overflow@1",
- "when": "activeWebviewPanelId == roo-cline.TabPanelProvider"
+ "when": "activeWebviewPanelId == joe-code.TabPanelProvider"
},
{
- "command": "roo-cline.popoutButtonClicked",
+ "command": "joe-code.popoutButtonClicked",
"group": "overflow@2",
- "when": "activeWebviewPanelId == roo-cline.TabPanelProvider"
+ "when": "activeWebviewPanelId == joe-code.TabPanelProvider"
}
]
},
"keybindings": [
{
- "command": "roo-cline.addToContext",
+ "command": "joe-code.addToContext",
"key": "cmd+k cmd+a",
"mac": "cmd+k cmd+a",
"win": "ctrl+k ctrl+a",
@@ -287,7 +288,7 @@
"when": "editorTextFocus && editorHasSelection"
},
{
- "command": "roo-cline.toggleAutoApprove",
+ "command": "joe-code.toggleAutoApprove",
"key": "cmd+alt+a",
"mac": "cmd+alt+a",
"win": "ctrl+alt+a",
@@ -296,18 +297,18 @@
],
"submenus": [
{
- "id": "roo-cline.contextMenu",
+ "id": "joe-code.contextMenu",
"label": "%views.contextMenu.label%"
},
{
- "id": "roo-cline.terminalMenu",
+ "id": "joe-code.terminalMenu",
"label": "%views.terminalMenu.label%"
}
],
"configuration": {
"title": "%configuration.title%",
"properties": {
- "roo-cline.allowedCommands": {
+ "joe-code.allowedCommands": {
"type": "array",
"items": {
"type": "string"
@@ -319,7 +320,7 @@
],
"description": "%commands.allowedCommands.description%"
},
- "roo-cline.deniedCommands": {
+ "joe-code.deniedCommands": {
"type": "array",
"items": {
"type": "string"
@@ -327,14 +328,14 @@
"default": [],
"description": "%commands.deniedCommands.description%"
},
- "roo-cline.commandExecutionTimeout": {
+ "joe-code.commandExecutionTimeout": {
"type": "number",
"default": 0,
"minimum": 0,
"maximum": 600,
"description": "%commands.commandExecutionTimeout.description%"
},
- "roo-cline.commandTimeoutAllowlist": {
+ "joe-code.commandTimeoutAllowlist": {
"type": "array",
"items": {
"type": "string"
@@ -342,12 +343,12 @@
"default": [],
"description": "%commands.commandTimeoutAllowlist.description%"
},
- "roo-cline.preventCompletionWithOpenTodos": {
+ "joe-code.preventCompletionWithOpenTodos": {
"type": "boolean",
"default": false,
"description": "%commands.preventCompletionWithOpenTodos.description%"
},
- "roo-cline.vsCodeLmModelSelector": {
+ "joe-code.vsCodeLmModelSelector": {
"type": "object",
"properties": {
"vendor": {
@@ -361,70 +362,70 @@
},
"description": "%settings.vsCodeLmModelSelector.description%"
},
- "roo-cline.customStoragePath": {
+ "joe-code.customStoragePath": {
"type": "string",
"default": "",
"description": "%settings.customStoragePath.description%"
},
- "roo-cline.enableCodeActions": {
+ "joe-code.enableCodeActions": {
"type": "boolean",
"default": true,
"description": "%settings.enableCodeActions.description%"
},
- "roo-cline.autoImportSettingsPath": {
+ "joe-code.autoImportSettingsPath": {
"type": "string",
"default": "",
"description": "%settings.autoImportSettingsPath.description%"
},
- "roo-cline.maximumIndexedFilesForFileSearch": {
+ "joe-code.maximumIndexedFilesForFileSearch": {
"type": "number",
"default": 10000,
"minimum": 5000,
"maximum": 500000,
"description": "%settings.maximumIndexedFilesForFileSearch.description%"
},
- "roo-cline.useAgentRules": {
+ "joe-code.useAgentRules": {
"type": "boolean",
"default": true,
"description": "%settings.useAgentRules.description%"
},
- "roo-cline.apiRequestTimeout": {
+ "joe-code.apiRequestTimeout": {
"type": "number",
"default": 600,
"minimum": 0,
"maximum": 3600,
"description": "%settings.apiRequestTimeout.description%"
},
- "roo-cline.newTaskRequireTodos": {
+ "joe-code.newTaskRequireTodos": {
"type": "boolean",
"default": false,
"description": "%settings.newTaskRequireTodos.description%"
},
- "roo-cline.codeIndex.embeddingBatchSize": {
+ "joe-code.codeIndex.embeddingBatchSize": {
"type": "number",
"default": 60,
"minimum": 1,
"maximum": 200,
"description": "%settings.codeIndex.embeddingBatchSize.description%"
},
- "roo-cline.debug": {
+ "joe-code.debug": {
"type": "boolean",
"default": false,
"description": "%settings.debug.description%"
},
- "roo-cline.debugProxy.enabled": {
+ "joe-code.debugProxy.enabled": {
"type": "boolean",
"default": false,
"description": "%settings.debugProxy.enabled.description%",
"markdownDescription": "%settings.debugProxy.enabled.description%"
},
- "roo-cline.debugProxy.serverUrl": {
+ "joe-code.debugProxy.serverUrl": {
"type": "string",
"default": "http://127.0.0.1:8888",
"description": "%settings.debugProxy.serverUrl.description%",
"markdownDescription": "%settings.debugProxy.serverUrl.description%"
},
- "roo-cline.debugProxy.tlsInsecure": {
+ "joe-code.debugProxy.tlsInsecure": {
"type": "boolean",
"default": false,
"description": "%settings.debugProxy.tlsInsecure.description%",
diff --git a/src/package.nls.json b/src/package.nls.json
index 177b392f775..3bd3ba6aeeb 100644
--- a/src/package.nls.json
+++ b/src/package.nls.json
@@ -1,10 +1,10 @@
{
- "extension.displayName": "Roo Code",
+ "extension.displayName": "Joe-Code",
"extension.description": "A whole dev team of AI agents in your editor.",
- "views.contextMenu.label": "Roo Code",
- "views.terminalMenu.label": "Roo Code",
- "views.activitybar.title": "Roo Code",
- "views.sidebar.name": "Roo Code",
+ "views.contextMenu.label": "Joe-Code",
+ "views.terminalMenu.label": "Joe-Code",
+ "views.activitybar.title": "Joe-Code",
+ "views.sidebar.name": "Joe-Code",
"command.newTask.title": "New Task",
"command.history.title": "Task History",
"command.marketplace.title": "Marketplace",
@@ -25,7 +25,7 @@
"command.terminal.explainCommand.title": "Explain This Command",
"command.acceptInput.title": "Accept Input/Suggestion",
"command.toggleAutoApprove.title": "Toggle Auto-Approve",
- "configuration.title": "Roo Code",
+ "configuration.title": "Joe-Code",
"commands.allowedCommands.description": "Commands that can be auto-executed when 'Always approve execute operations' is enabled",
"commands.deniedCommands.description": "Command prefixes that will be automatically denied without asking for approval. In case of conflicts with allowed commands, the longest prefix match takes precedence. Add * to deny all commands.",
"commands.commandExecutionTimeout.description": "Maximum time in seconds to wait for command execution to complete before timing out (0 = no timeout, 1-600s, default: 0s)",
diff --git a/webview-ui/src/i18n/locales/en/welcome.json b/webview-ui/src/i18n/locales/en/welcome.json
index 2fec3e2c121..0c4187ef033 100644
--- a/webview-ui/src/i18n/locales/en/welcome.json
+++ b/webview-ui/src/i18n/locales/en/welcome.json
@@ -13,7 +13,7 @@
}
},
"landing": {
- "greeting": "Welcome to Roo Code!",
+ "greeting": "Welcome to Joe-Code!",
"introduction": "With a range of built-in and extensible Modes, Roo Code lets you plan, architect, code, debug and boost your productivity like never before.",
"accountMention": "To get started, create your Roo Code Cloud account. Get powerful models, web control, analytics, support and more.",
"getStarted": "Create Roo Account",