Skip to content

Commit 04f5d58

Browse files
authored
Merge branch 'feat/observability' into codex/pr-32-observability-review-fixes
2 parents c87eb71 + 1113ef1 commit 04f5d58

180 files changed

Lines changed: 10819 additions & 1585 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/code-qa.yml

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ on:
66
branches: [main]
77
pull_request:
88
types: [opened, reopened, ready_for_review, synchronize]
9-
branches: [main]
109

1110
jobs:
1211
check-translations:
@@ -49,12 +48,34 @@ jobs:
4948
include:
5049
- os: ubuntu-latest
5150
name: ubuntu-latest
51+
codecov-flag: ubuntu
5252
- os: windows-latest
5353
name: windows-latest
54+
codecov-flag: windows
5455
steps:
5556
- name: Checkout code
5657
uses: actions/checkout@v4
5758
- name: Setup Node.js and pnpm
5859
uses: ./.github/actions/setup-node-pnpm
59-
- name: Run unit tests
60-
run: pnpm test
60+
- name: Cache Turbo
61+
uses: actions/cache@v4
62+
with:
63+
path: .turbo/cache
64+
key: ${{ runner.os }}-turbo-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.sha }}
65+
restore-keys: |
66+
${{ runner.os }}-turbo-${{ hashFiles('**/pnpm-lock.yaml') }}-
67+
${{ runner.os }}-turbo-
68+
- name: Run unit tests with coverage
69+
run: pnpm test:coverage
70+
- name: Upload coverage to Codecov
71+
uses: codecov/codecov-action@v4
72+
with:
73+
files: >-
74+
src/coverage/lcov.info,
75+
webview-ui/coverage/lcov.info,
76+
packages/core/coverage/lcov.info,
77+
packages/cloud/coverage/lcov.info,
78+
packages/telemetry/coverage/lcov.info,
79+
apps/cli/coverage/lcov.info
80+
flags: ${{ matrix.codecov-flag }}
81+
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/codeql.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ on:
44
push:
55
branches: [ "main" ]
66
pull_request:
7-
branches: [ "main" ]
87
schedule:
98
- cron: '24 19 * * 3'
109

.github/workflows/e2e.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: E2E Tests (Mocked)
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
types: [opened, reopened, ready_for_review, synchronize]
7+
paths:
8+
- "src/**"
9+
- "webview-ui/**"
10+
- "apps/vscode-e2e/**"
11+
- "packages/core/**"
12+
- "package.json"
13+
- "pnpm-lock.yaml"
14+
- "turbo.json"
15+
- ".github/actions/setup-node-pnpm/**"
16+
17+
jobs:
18+
e2e-mock:
19+
runs-on: ubuntu-latest
20+
timeout-minutes: 30
21+
steps:
22+
- name: Checkout code
23+
uses: actions/checkout@v4
24+
- name: Setup Node.js and pnpm
25+
uses: ./.github/actions/setup-node-pnpm
26+
- name: Install xvfb
27+
run: sudo apt-get install -y xvfb
28+
- name: Run mocked E2E tests
29+
run: xvfb-run -a pnpm --filter @roo-code/vscode-e2e test:ci:mock

.roomodes

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
customModes:
22
- slug: translate
33
name: 🌐 Translate
4-
roleDefinition: You are Roo, a linguistic specialist focused on translating and managing localization files. Your responsibility is to help maintain and update translation files for the application, ensuring consistency and accuracy across all language resources.
4+
roleDefinition: You are Zoo, a linguistic specialist focused on translating and managing localization files. Your responsibility is to help maintain and update translation files for the application, ensuring consistency and accuracy across all language resources.
55
whenToUse: Translate and manage localization files.
66
description: Translate and manage localization files.
77
groups:
@@ -33,7 +33,7 @@ customModes:
3333
source: project
3434
- slug: pr-fixer
3535
name: 🛠️ PR Fixer
36-
roleDefinition: "You are Roo, a pull request resolution specialist. Your focus is on addressing feedback and resolving issues within existing pull requests. Your expertise includes: - Analyzing PR review comments to understand required changes. - Checking CI/CD workflow statuses to identify failing tests. - Fetching and analyzing test logs to diagnose failures. - Identifying and resolving merge conflicts. - Guiding the user through the resolution process."
36+
roleDefinition: "You are Zoo, a pull request resolution specialist. Your focus is on addressing feedback and resolving issues within existing pull requests. Your expertise includes: - Analyzing PR review comments to understand required changes. - Checking CI/CD workflow statuses to identify failing tests. - Fetching and analyzing test logs to diagnose failures. - Identifying and resolving merge conflicts. - Guiding the user through the resolution process."
3737
whenToUse: Use this mode to fix pull requests. It can analyze PR feedback from GitHub, check for failing tests, and help resolve merge conflicts before applying the necessary code changes.
3838
description: Fix pull requests.
3939
groups:
@@ -44,7 +44,7 @@ customModes:
4444
- slug: merge-resolver
4545
name: 🔀 Merge Resolver
4646
roleDefinition: |-
47-
You are Roo, a merge conflict resolution specialist with expertise in:
47+
You are Zoo, a merge conflict resolution specialist with expertise in:
4848
- Analyzing pull request merge conflicts using git blame and commit history
4949
- Understanding code intent through commit messages and diffs
5050
- Making intelligent decisions about which changes to keep, merge, or discard
@@ -76,7 +76,7 @@ customModes:
7676
- slug: docs-extractor
7777
name: 📚 Docs Extractor
7878
roleDefinition: |-
79-
You are Roo Code, a codebase analyst who extracts raw facts for documentation teams.
79+
You are Zoo Code, a codebase analyst who extracts raw facts for documentation teams.
8080
You do NOT write documentation. You extract and organize information.
8181

8282
Two functions:
@@ -98,7 +98,7 @@ customModes:
9898
source: project
9999
- slug: issue-investigator
100100
name: 🕵️ Issue Investigator
101-
roleDefinition: You are Roo, a GitHub issue investigator. Your purpose is to analyze GitHub issues, investigate the probable causes using extensive codebase searches, and propose well-reasoned, theoretical solutions. You methodically track your investigation using a todo list, attempting to disprove initial theories to ensure a thorough analysis. Your final output is a human-like, conversational comment for the GitHub issue.
101+
roleDefinition: You are Zoo, a GitHub issue investigator. Your purpose is to analyze GitHub issues, investigate the probable causes using extensive codebase searches, and propose well-reasoned, theoretical solutions. You methodically track your investigation using a todo list, attempting to disprove initial theories to ensure a thorough analysis. Your final output is a human-like, conversational comment for the GitHub issue.
102102
whenToUse: Use this mode when you need to investigate a GitHub issue to understand its root cause and propose a solution. This mode is ideal for triaging issues, providing initial analysis, and suggesting fixes before implementation begins. It uses the `gh` CLI for issue interaction.
103103
description: Investigates GitHub issues
104104
groups:

PRIVACY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ Roo Code respects your privacy and is committed to transparency about how we han
1111
- **Prompts & AI Requests**: When you use AI-powered features, your prompts and relevant project context are sent to your chosen AI model provider (e.g., OpenAI, Anthropic, OpenRouter) to generate responses. We do not store or process this data. These AI providers have their own privacy policies and may store data per their terms of service. If you choose Roo Code Cloud as the provider (proxy mode), prompts may transit Roo Code servers only to forward them to the upstream model and are not stored.
1212
- **API Keys & Credentials**: If you enter an API key (e.g., to connect an AI model), it is stored locally on your device and never sent to us or any third party, except the provider you have chosen.
1313
- **Telemetry (Usage Data)**: We collect anonymous feature usage and error data to help us improve Roo Code. This telemetry is powered by PostHog and includes your VS Code machine ID, feature usage patterns, and exception reports. This telemetry does **not** collect personally identifiable information, your code, or AI prompts. You can opt out of this telemetry at any time through the settings.
14+
- **Zoo Code Observability (Authenticated Subscribers Only):** If you sign in to Zoo Code and have an active subscription, Zoo Code will send LLM usage telemetry to the Zoo Code backend (zoocode.dev). This includes task ID, AI provider name, model name, token counts (input/output/cache), and estimated cost. This data is linked to your authenticated Zoo Code account. You can stop this collection at any time by signing out via the Zoo Code badge in the chat area.
1415
- **Marketplace Requests**: When you browse or search the Marketplace for Model Configuration Profiles (MCPs) or Custom Modes, Roo Code makes a secure API call to Roo Code's backend servers to retrieve listing information. These requests send only the query parameters (e.g., extension version, search term) necessary to fulfill the request and do not include your code, prompts, or personally identifiable information.
1516

1617
### **How We Use Your Data (If Collected)**

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<p align="center">
2-
<a href="https://marketplace.visualstudio.com/items?itemName=RooVeterinaryInc.roo-cline"><img src="https://img.shields.io/badge/VS_Code_Marketplace-007ACC?style=flat&logo=visualstudiocode&logoColor=white" alt="VS Code Marketplace"></a>
2+
<a href="https://marketplace.visualstudio.com/items?itemName=ZooCodeOrganization.zoo-code"><img src="https://img.shields.io/badge/VS_Code_Marketplace-007ACC?style=flat&logo=visualstudiocode&logoColor=white" alt="VS Code Marketplace"></a>
33
<a href="https://x.com/roocode"><img src="https://img.shields.io/badge/roocode-000000?style=flat&logo=x&logoColor=white" alt="X"></a>
44
<a href="https://youtube.com/@roocodeyt?feature=shared"><img src="https://img.shields.io/badge/YouTube-FF0000?style=flat&logo=youtube&logoColor=white" alt="YouTube"></a>
55
<a href="https://discord.gg/roocode"><img src="https://img.shields.io/badge/Join%20Discord-5865F2?style=flat&logo=discord&logoColor=white" alt="Join Discord"></a>
@@ -9,7 +9,7 @@
99
<em>Get help fast → <a href="https://discord.gg/roocode">Join Discord</a> • Prefer async? → <a href="https://www.reddit.com/r/RooCode/">Join r/RooCode</a></em>
1010
</p>
1111

12-
# Roo Code
12+
# Zoo Code
1313

1414
> Your AI-Powered Dev Team, Right in Your Editor
1515
@@ -19,7 +19,7 @@
1919
>
2020
> You may have seen the [recent announcement](https://x.com/mattrubens/status/2046636598859559114) that Roo Code hit 3 million installs and the original team is going all-in on Roomote. We know that news was hard for a lot of you. This plugin means a lot to us and to you, and we hear you.
2121
>
22-
> The good news: **a community team has stepped up to carry Roo Code forward**, and we're working with them on an official handoff so the plugin you rely on keeps getting maintained and improved.
22+
> The good news: **Zoo Code, a community team has stepped up to carry Roo Code forward**, and we're working with Roo code on an official handoff so the plugin you rely on keeps getting maintained and improved.
2323
2424
**What's new in this release:**
2525

@@ -73,7 +73,7 @@ Roo Code adapts to how you work:
7373
- Debug Mode: trace issues, add logs, isolate root causes
7474
- Custom Modes: build specialized modes for your team or workflow
7575

76-
Learn more: [Using Modes](https://docs.roocode.com/basic-usage/using-modes)[Custom Modes](https://docs.roocode.com/advanced-usage/custom-modes)
76+
Learn more: [Using Modes](https://docs.zoocode.dev/basic-usage/using-modes)[Custom Modes](https://docs.zoocode.dev/advanced-usage/custom-modes)
7777

7878
## Tutorial & Feature Videos
7979

@@ -91,12 +91,12 @@ Learn more: [Using Modes](https://docs.roocode.com/basic-usage/using-modes) •
9191

9292
## Resources
9393

94-
- **[Documentation](https://docs.roocode.com):** The official guide to installing, configuring, and mastering Roo Code.
94+
- **[Documentation](https://docs.zoocode.dev):** The official guide to installing, configuring, and mastering Roo Code.
9595
- **[YouTube Channel](https://youtube.com/@roocodeyt?feature=shared):** Watch tutorials and see features in action.
9696
- **[Discord Server](https://discord.gg/roocode):** Join the community for real-time help and discussion.
9797
- **[Reddit Community](https://www.reddit.com/r/RooCode):** Share your experiences and see what others are building.
98-
- **[GitHub Issues](https://github.com/RooCodeInc/Roo-Code/issues):** Report bugs and track development.
99-
- **[Feature Requests](https://github.com/RooCodeInc/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop):** Have an idea? Share it with the developers.
98+
- **[GitHub Issues](https://github.com/Zoo-Code-Org/Zoo-Code/issues):** Report bugs and track development.
99+
- **[Feature Requests](https://github.com/Zoo-Code-Org/Zoo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop):** Have an idea? Share it with the developers.
100100

101101
---
102102

@@ -105,7 +105,7 @@ Learn more: [Using Modes](https://docs.roocode.com/basic-usage/using-modes) •
105105
1. **Clone** the repo:
106106

107107
```sh
108-
git clone https://github.com/RooCodeInc/Roo-Code.git
108+
git clone https://github.com/Zoo-Code-Org/Zoo-Code.git
109109
```
110110

111111
2. **Install dependencies**:
@@ -170,7 +170,7 @@ We use [changesets](https://github.com/changesets/changesets) for versioning and
170170

171171
## Disclaimer
172172

173-
**Please note** that Roo Code, Inc does **not** make any representations or warranties regarding any code, models, or other tools provided or made available in connection with Roo Code, any associated third-party tools, or any resulting outputs. You assume **all risks** associated with the use of any such tools or outputs; such tools are provided on an **"AS IS"** and **"AS AVAILABLE"** basis. Such risks may include, without limitation, intellectual property infringement, cyber vulnerabilities or attacks, bias, inaccuracies, errors, defects, viruses, downtime, property loss or damage, and/or personal injury. You are solely responsible for your use of any such tools or outputs (including, without limitation, the legality, appropriateness, and results thereof).
173+
**Please note** that Zoo Code, Inc does **not** make any representations or warranties regarding any code, models, or other tools provided or made available in connection with Roo Code, any associated third-party tools, or any resulting outputs. You assume **all risks** associated with the use of any such tools or outputs; such tools are provided on an **"AS IS"** and **"AS AVAILABLE"** basis. Such risks may include, without limitation, intellectual property infringement, cyber vulnerabilities or attacks, bias, inaccuracies, errors, defects, viruses, downtime, property loss or damage, and/or personal injury. You are solely responsible for your use of any such tools or outputs (including, without limitation, the legality, appropriateness, and results thereof).
174174

175175
---
176176

@@ -182,7 +182,7 @@ We love community contributions! Get started by reading our [CONTRIBUTING.md](CO
182182

183183
## License
184184

185-
[Apache 2.0 © 2025 Roo Code, Inc.](./LICENSE)
185+
[Apache 2.0 © 2026 Zoo Code, Inc.](./LICENSE)
186186

187187
---
188188

SECURITY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ We actively patch only the most recent minor release of Roo Code. Older version
66

77
## Reporting a Vulnerability
88

9-
Email security@roocode.com with:
9+
Email support@zoocode.dev with:
1010

1111
- A short summary of the issue
1212
- Steps to reproduce or a proof of concept

apps/cli/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"lint": "eslint src --ext .ts --max-warnings=0",
1414
"check-types": "tsc --noEmit",
1515
"test": "vitest run",
16+
"test:coverage": "vitest run --coverage",
1617
"test:integration": "tsx scripts/integration/run.ts",
1718
"build": "tsup",
1819
"build:extension": "pnpm --filter roo-cline bundle",
@@ -45,6 +46,7 @@
4546
"ink-testing-library": "^4.0.0",
4647
"rimraf": "^6.0.1",
4748
"tsup": "^8.4.0",
49+
"@vitest/coverage-v8": "^3.2.3",
4850
"vitest": "^3.2.3"
4951
}
5052
}

apps/cli/vitest.config.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,10 @@ export default defineConfig({
1313
watch: false,
1414
testTimeout: 120_000, // 2m for integration tests.
1515
include: ["src/**/*.test.ts", "src/**/*.test.tsx"],
16+
coverage: {
17+
provider: "v8",
18+
reporter: ["text", "lcov"],
19+
exclude: ["**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts", "**/*.spec.tsx", "**/vitest.config.ts"],
20+
},
1621
},
1722
})

0 commit comments

Comments
 (0)