Skip to content

Commit 7cf9c97

Browse files
committed
Merge branch 'main' into cte/node-version
2 parents 685faf0 + 65740b3 commit 7cf9c97

File tree

604 files changed

+76073
-17557
lines changed

Some content is hidden

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

604 files changed

+76073
-17557
lines changed

.changeset/fair-boxes-smile.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

.clinerules

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,11 @@
66

77
2. Lint Rules:
88
- Never disable any lint rules without explicit user approval
9-
- If a lint rule needs to be disabled, ask the user first and explain why
10-
- Prefer fixing the underlying issue over disabling the lint rule
11-
- Document any approved lint rule disabling with a comment explaining the reason
12-
13-
3. Logging Guidelines:
14-
- Always instrument code changes using the logger exported from `src\utils\logging\index.ts`.
15-
- This will facilitate efficient debugging without impacting production (as the logger no-ops outside of a test environment.)
16-
- Logs can be found in `logs\app.log`
17-
- Logfile is overwritten on each run to keep it to a manageable volume.
189

10+
3. Styling Guidelines:
11+
- Use Tailwind CSS classes instead of inline style objects for new markup
12+
- VSCode CSS variables must be added to webview-ui/src/index.css before using them in Tailwind classes
13+
- Example: `<div className="text-md text-vscode-descriptionForeground mb-2" />` instead of style objects
1914

2015
# Adding a New Setting
2116

.dockerignore

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Version control
2+
# .git/
3+
# .gitignore
4+
# .gitattributes
5+
# .git-blame-ignore-revs
6+
# .gitconfig
7+
8+
# Build artifacts
9+
bin/
10+
dist/
11+
**/dist/
12+
out/
13+
**/out/
14+
15+
# Dependencies
16+
node_modules/
17+
**/node_modules/
18+
19+
# Test and development files
20+
coverage/
21+
**/.vscode-test/
22+
23+
# Configuration files
24+
# .env*
25+
knip.json
26+
.husky/
27+
28+
# CI/CD
29+
# .changeset/
30+
# .github/
31+
# ellipsis.yaml
32+
33+
# OS specific
34+
.DS_Store
35+
36+
# Logs
37+
logs/
38+
*.log
39+
40+
# Nix
41+
# flake.lock
42+
# flake.nix
43+
44+
# Monorepo
45+
benchmark/exercises/

.env.sample

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
POSTHOG_API_KEY=key-goes-here

.eslintrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@
1919
"no-throw-literal": "warn",
2020
"semi": "off"
2121
},
22-
"ignorePatterns": ["out", "dist", "**/*.d.ts"]
22+
"ignorePatterns": ["out", "dist", "**/*.d.ts", "!roo-code.d.ts"]
2323
}

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# These owners will be the default owners for everything in the repo
2-
* @stea9499 @ColemanRoo @mrubens @cte
2+
* @mrubens @cte

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ body:
3333
id: model
3434
attributes:
3535
label: Which Model are you using?
36-
description: Please specify the model you're using (e.g. Claude 3.5 Sonnet)
36+
description: Please specify the model you're using (e.g. Claude 3.7 Sonnet)
3737
validations:
3838
required: true
3939
- type: textarea

.github/pull_request_template.md

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,35 @@
1-
<!-- **Note:** Consider creating PRs as a DRAFT. For early feedback and self-review. -->
1+
## Context
22

3-
## Description
3+
<!-- Brief description of WHAT you’re doing and WHY. -->
44

5-
## Type of change
5+
## Implementation
66

7-
<!-- Please ignore options that are not relevant -->
7+
<!--
88
9-
- [ ] Bug fix (non-breaking change which fixes an issue)
10-
- [ ] New feature
11-
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
12-
- [ ] This change requires a documentation update
9+
Some description of HOW you achieved it. Perhaps give a high level description of the program flow. Did you need to refactor something? What tradeoffs did you take? Are there things in here which you’d particularly like people to pay close attention to?
1310
14-
## How Has This Been Tested?
11+
-->
1512

16-
<!-- Please describe the tests that you ran to verify your changes -->
13+
## Screenshots
1714

18-
## Checklist:
15+
| before | after |
16+
| ------ | ----- |
17+
| | |
1918

20-
<!-- Go over all the following points, and put an `x` in all the boxes that apply -->
19+
## How to Test
2120

22-
- [ ] My code follows the patterns of this project
23-
- [ ] I have performed a self-review of my own code
24-
- [ ] I have commented my code, particularly in hard-to-understand areas
25-
- [ ] I have made corresponding changes to the documentation
21+
<!--
2622
27-
## Additional context
23+
A straightforward scenario of how to test your changes will help reviewers that are not familiar with the part of the code that you are changing but want to see it in action. This section can include a description or step-by-step instructions of how to get to the state of v2 that your change affects.
2824
29-
<!-- Add any other context or screenshots about the pull request here -->
25+
A "How To Test" section can look something like this:
3026
31-
## Related Issues
27+
- Sign in with a user with tracks
28+
- Activate `show_awesome_cat_gifs` feature (add `?feature.show_awesome_cat_gifs=1` to your URL)
29+
- You should see a GIF with cats dancing
3230
33-
<!-- List any related issues here. Use the GitHub issue linking syntax: #issue-number -->
31+
-->
3432

35-
## Reviewers
33+
## Get in Touch
3634

37-
<!-- @mention specific team members or individuals who should review this PR -->
35+
<!-- We'd love to have a way to chat with you about your changes if necessary. If you're in the [Roo Code Discord](https://discord.gg/roocode), please share your handle here. -->

.github/workflows/code-qa.yml

Lines changed: 60 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,37 @@ jobs:
3131
- name: Lint
3232
run: npm run lint
3333

34-
unit-test:
34+
check-translations:
35+
runs-on: ubuntu-latest
36+
steps:
37+
- name: Checkout code
38+
uses: actions/checkout@v4
39+
- name: Setup Node.js
40+
uses: actions/setup-node@v4
41+
with:
42+
node-version: '18'
43+
cache: 'npm'
44+
- name: Install dependencies
45+
run: npm run install:all
46+
- name: Verify all translations are complete
47+
run: node scripts/find-missing-translations.js
48+
49+
knip:
50+
runs-on: ubuntu-latest
51+
steps:
52+
- name: Checkout code
53+
uses: actions/checkout@v4
54+
- name: Setup Node.js
55+
uses: actions/setup-node@v4
56+
with:
57+
node-version: '18'
58+
cache: 'npm'
59+
- name: Install dependencies
60+
run: npm run install:all
61+
- name: Run knip checks
62+
run: npm run knip
63+
64+
test-extension:
3565
runs-on: ubuntu-latest
3666
steps:
3767
- name: Checkout code
@@ -44,7 +74,30 @@ jobs:
4474
- name: Install dependencies
4575
run: npm run install:all
4676
- name: Run unit tests
47-
run: npm test
77+
run: npx jest --silent
78+
79+
test-webview:
80+
runs-on: ubuntu-latest
81+
steps:
82+
- name: Checkout code
83+
uses: actions/checkout@v4
84+
- name: Setup Node.js
85+
uses: actions/setup-node@v4
86+
with:
87+
node-version: '18'
88+
cache: 'npm'
89+
- name: Install dependencies
90+
run: npm run install:all
91+
- name: Run unit tests
92+
working-directory: webview-ui
93+
run: npx jest --silent
94+
95+
unit-test:
96+
needs: [test-extension, test-webview]
97+
runs-on: ubuntu-latest
98+
steps:
99+
- name: NO-OP
100+
run: echo "All unit tests passed."
48101

49102
check-openrouter-api-key:
50103
runs-on: ubuntu-latest
@@ -73,9 +126,11 @@ jobs:
73126
with:
74127
node-version: ${{ env.NODE_VERSION }}
75128
cache: 'npm'
76-
- name: Create env.integration file
77-
run: echo "OPENROUTER_API_KEY=${{ secrets.OPENROUTER_API_KEY }}" > .env.integration
78129
- name: Install dependencies
79130
run: npm run install:all
131+
- name: Create .env.local file
132+
working-directory: e2e
133+
run: echo "OPENROUTER_API_KEY=${{ secrets.OPENROUTER_API_KEY }}" > .env.local
80134
- name: Run integration tests
81-
run: xvfb-run -a npm run test:integration
135+
working-directory: e2e
136+
run: xvfb-run -a npm run ci

.github/workflows/marketplace-publish.yml

Lines changed: 48 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ env:
1111
jobs:
1212
publish-extension:
1313
runs-on: ubuntu-latest
14+
permissions:
15+
contents: write # Required for pushing tags.
1416
if: >
1517
( github.event_name == 'pull_request' &&
1618
github.event.pull_request.base.ref == 'main' &&
@@ -25,28 +27,63 @@ jobs:
2527
with:
2628
node-version: ${{ env.NODE_VERSION }}
2729
- run: |
28-
git config user.name github-actions
29-
git config user.email github-actions@github.com
30+
git config user.name "github-actions[bot]"
31+
git config user.email "github-actions[bot]@users.noreply.github.com"
3032
- name: Install Dependencies
3133
run: |
3234
npm install -g vsce ovsx
33-
npm install
34-
cd webview-ui
35-
npm install
36-
cd ..
37-
- name: Package and Publish Extension
38-
env:
39-
VSCE_PAT: ${{ secrets.VSCE_PAT }}
40-
OVSX_PAT: ${{ secrets.OVSX_PAT }}
35+
npm run install:all
36+
- name: Create .env file
37+
run: echo "POSTHOG_API_KEY=${{ secrets.POSTHOG_API_KEY }}" >> .env
38+
- name: Package Extension
4139
run: |
4240
current_package_version=$(node -p "require('./package.json').version")
43-
4441
npm run vsix
4542
package=$(unzip -l bin/roo-cline-${current_package_version}.vsix)
4643
echo "$package"
4744
echo "$package" | grep -q "dist/extension.js" || exit 1
4845
echo "$package" | grep -q "extension/webview-ui/build/assets/index.js" || exit 1
4946
echo "$package" | grep -q "extension/node_modules/@vscode/codicons/dist/codicon.ttf" || exit 1
47+
echo "$package" | grep -q ".env" || exit 1
48+
49+
- name: Create and Push Git Tag
50+
run: |
51+
current_package_version=$(node -p "require('./package.json').version")
52+
git tag -a "v${current_package_version}" -m "Release v${current_package_version}"
53+
git push origin "v${current_package_version}"
54+
echo "Successfully created and pushed git tag v${current_package_version}"
5055
56+
- name: Publish Extension
57+
env:
58+
VSCE_PAT: ${{ secrets.VSCE_PAT }}
59+
OVSX_PAT: ${{ secrets.OVSX_PAT }}
60+
run: |
61+
current_package_version=$(node -p "require('./package.json').version")
5162
npm run publish:marketplace
5263
echo "Successfully published version $current_package_version to VS Code Marketplace"
64+
65+
- name: Create GitHub Release
66+
env:
67+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
68+
run: |
69+
current_package_version=$(node -p "require('./package.json').version")
70+
71+
# Extract changelog for current version
72+
changelog_content=$(awk -v ver="## [${current_package_version}]" '
73+
$0 ~ ver {flag=1; next}
74+
/^## \[/ {if (flag) exit}
75+
flag {print}
76+
' CHANGELOG.md)
77+
78+
# If changelog extraction failed, use a default message
79+
if [ -z "$changelog_content" ]; then
80+
changelog_content="Release v${current_package_version}"
81+
fi
82+
83+
# Create release with changelog content
84+
gh release create "v${current_package_version}" \
85+
--title "Release v${current_package_version}" \
86+
--notes "$changelog_content" \
87+
--target ${{ env.GIT_REF }} \
88+
bin/roo-cline-${current_package_version}.vsix
89+
echo "Successfully created GitHub Release v${current_package_version}"

0 commit comments

Comments
 (0)