Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
b8aa4b4
Changeset version bump (#3803)
github-actions[bot] May 21, 2025
57249a0
PNPM + Turbo monorepo + Nightly releases (#3407)
cte May 22, 2025
3eb3169
Update contributors list (#3781)
github-actions[bot] May 22, 2025
d5484b5
Upgrade to ESLint 9 + share eslint config across workspaces (#3815)
cte May 22, 2025
c685197
Fix vite server (#3816)
cte May 22, 2025
39cd50b
Fix linter errors (#3821)
cte May 22, 2025
568fb87
Improve version number derivation (#3822)
cte May 22, 2025
58a0efa
Move e2e into apps (#3823)
cte May 22, 2025
edcaa15
Fix README gif in all locales (#3837)
mrubens May 22, 2025
8a8fadd
Add Claude Sonnet 4 and Claude Opus 4 models with thinking variants (…
shariqriazz May 22, 2025
9ee2033
v3.18.1 (#3847)
mrubens May 22, 2025
790c6b5
Fix referrer (#3848)
mrubens May 22, 2025
80d7203
Evals fixes (#3851)
cte May 22, 2025
0521163
Fix changeset version bumping (#3850)
cte May 22, 2025
fb3f6d0
Fix Claude 4 models in Vertex (#3849)
mrubens May 22, 2025
29adc27
v3.18.1-again (#3854)
mrubens May 22, 2025
45e2263
Fix changelog generation (#3856)
cte May 22, 2025
22431f0
Fix changelog generation (#3859)
cte May 22, 2025
36dff33
Changeset version bump (#3853)
github-actions[bot] May 22, 2025
57a6ab1
Fix extension publish action (#3860)
cte May 22, 2025
61eaf84
Fix syntax error (#3861)
cte May 22, 2025
f860d78
More publish fixes (#3863)
cte May 22, 2025
999c3d6
More publish fixes (#3864)
cte May 22, 2025
48ca890
Add --no-verify when pushing tags (#3865)
cte May 22, 2025
29ebd9b
fix spelling of reterence (#3804)
adilhafeez May 22, 2025
c52d6d5
Fix openrouter names for caching and computer use (#3868)
mrubens May 22, 2025
d149d65
Feature/condensing enhancements (#3826)
SannidhyaSah May 22, 2025
8270158
fix: respect user-configured terminal integration timeout (#3886)
KJ7LNW May 23, 2025
b9d3331
Fix vscode-material-icons path (#3889)
cte May 23, 2025
6931cc9
Fix global settings export (#3890)
cte May 23, 2025
7206da9
Changeset version bump (#3869)
github-actions[bot] May 23, 2025
fa1e7b4
Re-work support for reasoning models, including "hybrid" reasoning mo…
cte May 23, 2025
8729027
Fix max tokens in the task header (#3893)
cte May 23, 2025
1791bb9
Ability to refresh LiteLLM models list (take 2) (#3852)
slytechnical May 23, 2025
be19a49
fix: improve pnpm bootstrapping and add compile script (#3882)
KJ7LNW May 23, 2025
20c7453
Remove claude-3.7-sonnet and claude-3.7-sonnet:thinking from vscodelm…
shariqriazz May 23, 2025
78bb7e0
Convert bootstrap script to ESM (#3904)
cte May 23, 2025
5ab78b3
Bedrock Prompt Caching Improvements (#3099)
ronyblum May 23, 2025
1dcb6d4
Improve GitHub templates (#3905)
hannesrudolph May 23, 2025
61e122d
Codebase indexing (Clean history) (#3137)
daniel-lxs May 24, 2025
2cfb966
Fix o1-pro on OpenRouter (#3914)
cte May 24, 2025
1366ba0
Preserve model settings when selecting a specific OpenRouter provider…
cte May 24, 2025
4729432
refactor: simplify object assignment & use startsWith (#3891)
noritaka1166 May 24, 2025
ff50a47
feat: enable prompt caching for gemini-2.5-flash-preview-05-20 (#3907)
shariqriazz May 24, 2025
b655c0d
Make experimental settings more visually consistent (#3923)
mrubens May 24, 2025
a734aca
fix(mcp): fix error loading config when running MCP Server with npx a…
devxpain May 24, 2025
4abadd8
Default to Sonnet 4 (#3928)
mrubens May 24, 2025
448dc2b
Fix Qdrant initialization logic when vector size changes (#3925)
daniel-lxs May 24, 2025
c357daf
Fix Qdrant URL input default value (#3933)
daniel-lxs May 24, 2025
ca85162
Handle partial messages in the codebase search tool (#3934)
mrubens May 24, 2025
6efa674
Add a learn more link for indexing (#3935)
mrubens May 24, 2025
e86c0a1
fix(FileContextTracker): mark file as edited by Roo when added to con…
samhvw8 May 24, 2025
2053d27
Default to full file reads (#3936)
mrubens May 24, 2025
b396224
Fix codebase search results string (#3938)
mrubens May 24, 2025
def222f
Enhance error handling for collection checks on initialize (#3937)
daniel-lxs May 24, 2025
be9195c
Fix: Use EMBEDDING_MODEL_PROFILES as default in the state (#3939)
daniel-lxs May 24, 2025
20e7f11
Add handling for external settings changes (#3942)
daniel-lxs May 24, 2025
a8922e0
Improve tool descriptions to guide proper file editing tool selection…
hannesrudolph May 24, 2025
68b60a2
Add unsaved settings warning to codebase indexing settings view (#3944)
daniel-lxs May 24, 2025
77a5b6c
Fix reasoning budget for Gemini 2.5 Flash on OpenRouter (#3945)
cte May 24, 2025
80250cd
v3.18.3 (#3946)
mrubens May 24, 2025
62d1807
Changeset version bump (#3894)
github-actions[bot] May 24, 2025
83020c7
Update CHANGELOG.md
mrubens May 25, 2025
8da9858
Update contributors list (#3838)
github-actions[bot] May 25, 2025
fe9137b
Fix: Correct spawnSync parameters for pnpm check in bootstrap.mjs (cl…
ChuKhaLi May 25, 2025
6ebc95d
Update `xaiModels` and `xaiDefaultModelId` in `src/shared/api.ts` (#3…
PeterDaveHello May 25, 2025
ad2ff93
Fix handling BOM when user Rejects apply_diff (#3960)
avtc May 25, 2025
503c758
Fix: Wrongfully clearing input on autoApprove (#3956)
Ruakij May 25, 2025
78b7455
Add metadata to create message (#3832)
dtrugman May 25, 2025
977fa26
Batch code segments when using ollama to report progress (#3968)
daniel-lxs May 25, 2025
6a8fb59
Fix settings saving logic to ensure the saved settings are used (#3976)
daniel-lxs May 25, 2025
7509be8
Remove the hardcoded line breaks in the about (#3982)
mrubens May 26, 2025
fd84d48
v3.18.4 (#3984)
mrubens May 26, 2025
5bf4654
Update contributors list (#3961)
github-actions[bot] May 26, 2025
61a381a
Changeset version bump (#3983)
github-actions[bot] May 26, 2025
ce6cc6f
Adjust the read_file prompt based on whether partial reads are enable…
mrubens May 26, 2025
e66136f
Add a new @roo-code/types package and use it everywhere (#3912)
cte May 26, 2025
1e5bf74
fix: Correct path resolution for .vite-port file in ClineProvider (#4…
KJ7LNW May 26, 2025
1384077
Telemetry refactor (#4021)
cte May 27, 2025
b7d1c9a
More elegant way to generate arrays of keys from a type with full typ…
cte May 27, 2025
057ac3e
Add `dependsOn` for watch:esbuild script (#4026)
cte May 27, 2025
82f9e9e
Fix the build_extension step of the evals setup script (#4028)
cte May 27, 2025
9d4b4eb
Added support for dynamic litellm supports_computer_use (#4027)
slytechnical May 27, 2025
4ea7562
Add thinking to Requesty provider (#4041)
dtrugman May 27, 2025
dfacdb3
Improve zh-TW Traditional Chinese locale (#4048)
chrarnoldus May 27, 2025
f37e6f6
Fix Requesty extended thinking (#4051)
cte May 27, 2025
ed24f65
Fix Posthog by correctly copying .env in the build process (#4049)
cte May 27, 2025
1441112
v3.18.5 (#4054)
cte May 27, 2025
343f29b
Improve the prompt for the "modes" e2e test (#4055)
cte May 27, 2025
73d1623
Added a hardcoded list of computer use models for litellm as a fallba…
slytechnical May 27, 2025
ec48637
Try adding a version to @roo-code/types (#4056)
cte May 27, 2025
70a1a91
changeset version bump
github-actions[bot] May 27, 2025
582a117
Update CHANGELOG.md
cte May 27, 2025
46ceb1e
Merge commit '582a117a9a6c6c061af5fb2020d8dc79d36e89d6' into roo-v3.18.5
chrarnoldus May 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 0 additions & 2 deletions .changeset/changelog-config.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// Half-works to simplify the format but needs 'overwrite_changeset_changelog.py' in GHA to finish formatting

const getReleaseLine = async (changeset) => {
const [firstLine] = changeset.summary
.split("\n")
Expand Down
2 changes: 1 addition & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
"changelog": ["@changesets/changelog-github", { "repo": "Kilo-Org/kilocode" }],
"commit": false,
"fixed": [],
"fixed": [["roo-cline"]],
"linked": [],
"access": "restricted",
"baseBranch": "main",
Expand Down
25 changes: 0 additions & 25 deletions .eslintrc.json

This file was deleted.

1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
demo.gif filter=lfs diff=lfs merge=lfs -text
assets/docs/demo.gif filter=lfs diff=lfs merge=lfs -text
src/assets/docs/demo.gif filter=lfs diff=lfs merge=lfs -text
9 changes: 4 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,7 @@ docs/_site/
.env.*
!.env.*.sample


#Local lint config
.eslintrc.local.json

#Logging
# Logging
logs

# Vite development
Expand All @@ -45,6 +41,9 @@ logs
# kilocode_change
.history/

# Turborepo
.turbo

# IntelliJ and Qodo plugin folders
.idea/
.qodo/
24 changes: 14 additions & 10 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,23 @@ if [ "$branch" = "main" ]; then
exit 1
fi

# Detect if running on Windows and use npx.cmd, otherwise use npx
# Detect if running on Windows and use pnpm.cmd, otherwise use pnpm.
if [ "$OS" = "Windows_NT" ]; then
npx_cmd="npx.cmd"
pnpm_cmd="pnpm.cmd"
else
npx_cmd="npx"
if command -v pnpm >/dev/null 2>&1; then
pnpm_cmd="pnpm"
else
pnpm_cmd="npx pnpm"
fi
fi

npm run generate-types

if [ -n "$(git diff --name-only src/exports/roo-code.d.ts)" ]; then
echo "Error: There are unstaged changes to roo-code.d.ts after running 'npm run generate-types'."
echo "Please review and stage the changes before committing."
exit 1
# Detect if running on Windows and use npx.cmd, otherwise use npx.
if [ "$OS" = "Windows_NT" ]; then
npx_cmd="npx.cmd"
else
npx_cmd="npx"
fi

"$npx_cmd" lint-staged
$npx_cmd lint-staged
$pnpm_cmd lint
14 changes: 9 additions & 5 deletions .husky/pre-push
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,25 @@ if [ "$branch" = "main" ]; then
exit 1
fi

# Detect if running on Windows and use npm.cmd, otherwise use npm
# Detect if running on Windows and use pnpm.cmd, otherwise use pnpm.
if [ "$OS" = "Windows_NT" ]; then
npm_cmd="npm.cmd"
pnpm_cmd="pnpm.cmd"
else
npm_cmd="npm"
if command -v pnpm >/dev/null 2>&1; then
pnpm_cmd="pnpm"
else
pnpm_cmd="npx pnpm"
fi
fi

"$npm_cmd" run compile
$pnpm_cmd run check-types

# Check for new changesets.
NEW_CHANGESETS=$(find .changeset -name "*.md" ! -name "README.md" | wc -l | tr -d ' ')
echo "Changeset files: $NEW_CHANGESETS"

if [ "$NEW_CHANGESETS" = "0" ]; then
echo "-------------------------------------------------------------------------------------"
echo "Changes detected. Please run 'npm run changeset' to create a changeset if applicable."
echo "Changes detected. Please run 'pnpm changeset' to create a changeset if applicable."
echo "-------------------------------------------------------------------------------------"
fi
1 change: 0 additions & 1 deletion .npmrc

This file was deleted.

5 changes: 0 additions & 5 deletions .prettierignore

This file was deleted.

3 changes: 2 additions & 1 deletion .prettierrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
"useTabs": true,
"printWidth": 120,
"semi": false,
"bracketSameLine": true
"bracketSameLine": true,
"ignore": ["node_modules", "dist", "build", "out", ".next", ".venv", "pnpm-lock.yaml"]
}
5 changes: 3 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@
"type": "extensionHost",
"request": "launch",
"runtimeExecutable": "${execPath}",
"args": ["--extensionDevelopmentPath=${workspaceFolder}"],
"args": ["--extensionDevelopmentPath=${workspaceFolder}/src"],
"sourceMaps": true,
"outFiles": ["${workspaceFolder}/dist/**/*.js"],
"outFiles": ["${workspaceFolder}/src/dist/**/*.js"],
"preLaunchTask": "${defaultBuildTask}",
"env": {
"NODE_ENV": "development",
"VSCODE_DEBUG_MODE": "true"
Expand Down
26 changes: 13 additions & 13 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"tasks": [
{
"label": "watch",
"dependsOn": ["npm: dev", "npm: watch:tsc", "npm: watch:esbuild"],
"dependsOn": ["watch:webview", "watch:bundle", "watch:tsc"],
"presentation": {
"reveal": "never"
},
Expand All @@ -18,9 +18,9 @@
}
},
{
"label": "npm: dev",
"type": "npm",
"script": "dev",
"label": "watch:webview",
"type": "shell",
"command": "pnpm --filter @roo-code/vscode-webview dev",
"group": "build",
"problemMatcher": {
"owner": "vite",
Expand All @@ -35,14 +35,14 @@
},
"isBackground": true,
"presentation": {
"group": "webview-ui",
"group": "watch",
"reveal": "always"
}
},
{
"label": "npm: watch:esbuild",
"type": "npm",
"script": "watch:esbuild",
"label": "watch:bundle",
"type": "shell",
"command": "npx turbo watch:bundle",
"group": "build",
"problemMatcher": {
"owner": "esbuild",
Expand All @@ -51,8 +51,8 @@
},
"background": {
"activeOnStart": true,
"beginsPattern": "\\[watch\\] build started",
"endsPattern": "\\[watch\\] build finished"
"beginsPattern": "esbuild-problem-matcher#onStart",
"endsPattern": "esbuild-problem-matcher#onEnd"
}
},
"isBackground": true,
Expand All @@ -62,9 +62,9 @@
}
},
{
"label": "npm: watch:tsc",
"type": "npm",
"script": "watch:tsc",
"label": "watch:tsc",
"type": "shell",
"command": "npx turbo watch:tsc",
"group": "build",
"problemMatcher": "$tsc-watch",
"isBackground": true,
Expand Down
129 changes: 129 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
**English** • [Català](locales/ca/CONTRIBUTING.md) • [Deutsch](locales/de/CONTRIBUTING.md) • [Español](locales/es/CONTRIBUTING.md) • [Français](locales/fr/CONTRIBUTING.md) • [हिंदी](locales/hi/CONTRIBUTING.md) • [Italiano](locales/it/CONTRIBUTING.md) • [Nederlands](locales/nl/CONTRIBUTING.md) • [Русский](locales/ru/CONTRIBUTING.md)

[日本語](locales/ja/CONTRIBUTING.md) • [한국어](locales/ko/CONTRIBUTING.md) • [Polski](locales/pl/CONTRIBUTING.md) • [Português (BR)](locales/pt-BR/CONTRIBUTING.md) • [Türkçe](locales/tr/CONTRIBUTING.md) • [Tiếng Việt](locales/vi/CONTRIBUTING.md) • [简体中文](locales/zh-CN/CONTRIBUTING.md) • [繁體中文](locales/zh-TW/CONTRIBUTING.md)

# Contributing to Roo Code

Roo Code is a community-driven project, and we deeply value every contribution. To streamline collaboration, we operate on an [Issue-First](#issue-first-approach) basis, meaning all [Pull Requests (PRs)](#submitting-a-pull-request) must first be linked to a GitHub Issue. Please review this guide carefully.

## Table of Contents

- [Before You Contribute](#before-you-contribute)
- [Finding & Planning Your Contribution](#finding--planning-your-contribution)
- [Development & Submission Process](#development--submission-process)
- [Legal](#legal)

## Before You Contribute

### 1. Code of Conduct

All contributors must adhere to our [Code of Conduct](./CODE_OF_CONDUCT.md).

### 2. Project Roadmap

Our roadmap guides the project's direction. Align your contributions with these key goals:

### Reliability First

- Ensure diff editing and command execution are consistently reliable.
- Reduce friction points that deter regular usage.
- Guarantee smooth operation across all locales and platforms.
- Expand robust support for a wide variety of AI providers and models.

### Enhanced User Experience

- Streamline the UI/UX for clarity and intuitiveness.
- Continuously improve the workflow to meet the high expectations developers have for daily-use tools.

### Leading on Agent Performance

- Establish comprehensive evaluation benchmarks (evals) to measure real-world productivity.
- Make it easy for everyone to easily run and interpret these evals.
- Ship improvements that demonstrate clear increases in eval scores.

Mention alignment with these areas in your PRs.

### 3. Join the Roo Code Community

- **Primary:** Join our [Discord](https://discord.gg/roocode) and DM **Hannes Rudolph (`hrudolph`)**.
- **Alternative:** Experienced contributors can engage directly via [GitHub Projects](https://github.com/orgs/RooCodeInc/projects/1).

## Finding & Planning Your Contribution

### Types of Contributions

- **Bug Fixes:** Addressing code issues.
- **New Features:** Adding functionality.
- **Documentation:** Improving guides and clarity.

### Issue-First Approach

All contributions must begin with a GitHub Issue.

- **Check existing issues**: Search [GitHub Issues](https://github.com/RooCodeInc/Roo-Code/issues).
- **Create an issue**: Use appropriate templates:
- **Bugs:** "Bug Report" template.
- **Features:** "Detailed Feature Proposal" template. Approval required before starting.
- **Claim issues**: Comment and await official assignment.

**PRs without approved issues may be closed.**

### Deciding What to Work On

- Check the [GitHub Project](https://github.com/orgs/RooCodeInc/projects/1) for unassigned "Good First Issues."
- For docs, visit [Roo Code Docs](https://github.com/RooCodeInc/Roo-Code-Docs).

### Reporting Bugs

- Check for existing reports first.
- Create new bugs using the ["Bug Report" template](https://github.com/RooCodeInc/Roo-Code/issues/new/choose).
- **Security issues**: Report privately via [security advisories](https://github.com/RooCodeInc/Roo-Code/security/advisories/new).

## Development & Submission Process

### Development Setup

1. **Fork & Clone:**

```
git clone https://github.com/YOUR_USERNAME/Roo-Code.git
```

2. **Install Dependencies:**

```
pnpm install
```

3. **Debugging:** Open with VS Code (`F5`).

### Writing Code Guidelines

- One focused PR per feature or fix.
- Follow ESLint and TypeScript best practices.
- Write clear, descriptive commits referencing issues (e.g., `Fixes #123`).
- Provide thorough testing (`npm test`).
- Rebase onto the latest `main` branch before submission.

### Submitting a Pull Request

- Begin as a **Draft PR** if seeking early feedback.
- Clearly describe your changes following the Pull Request Template.
- Provide screenshots/videos for UI changes.
- Indicate if documentation updates are necessary.

### Pull Request Policy

- Must reference pre-approved, assigned issues.
- PRs without adherence to the policy may be closed.
- PRs should pass CI tests, align with the roadmap, and have clear documentation.

### Review Process

- **Daily Triage:** Quick checks by maintainers.
- **Weekly In-depth Review:** Comprehensive assessment.
- **Iterate promptly** based on feedback.

## Legal

By contributing, you agree your contributions will be licensed under the Apache 2.0 License, consistent with Roo Code's licensing.
29 changes: 29 additions & 0 deletions MONOREPO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Monorepo Guide

Roo Code has transitioned to a monorepo powered by [PNPM workspaces](https://pnpm.io/workspaces) and [Turborepo](https://turborepo.com).

When you first pull down the monorepo changes from git you'll need to re-install all packages using pnpm. You can install pnpm using [these](https://pnpm.io/installation) instructions. If you're on MacOS the easiest option is to use Homebrew:

```sh
brew install pnpm
```

Once pnpm is installed you should wipe out your existing node_modules directories for a fresh start:

```sh
# This is optional, but recommended.
find . -name node_modules | xargs rm -rvf
```

And then install your packages:

```sh
pnpm install
```

If things are in good working order then you should be able to build a vsix and install it in VSCode:

```sh
pnpm build --out ../bin/roo-code-main.vsix && \
code --install-extension bin/roo-code-main.vsix
```
File renamed without changes.
1 change: 1 addition & 0 deletions apps/vscode-e2e/.env.local.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
OPENROUTER_API_KEY=sk-or-v1-...
File renamed without changes.
4 changes: 4 additions & 0 deletions apps/vscode-e2e/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { config } from "@roo-code/config-eslint/base"

/** @type {import("eslint").Linter.Config} */
export default [...config]
Loading
Loading