Skip to content

Commit dd89e98

Browse files
committed
first attempt
2 parents 6ac68a7 + 0d0bba2 commit dd89e98

File tree

150 files changed

+4333
-1888
lines changed

Some content is hidden

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

150 files changed

+4333
-1888
lines changed

CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,42 @@
11
# Roo Code Changelog
22

3+
## [3.25.15] - 2025-08-14
4+
5+
- Fix: Remove 500-message limit to prevent scrollbar jumping in long conversations (#7052, #7063 by @daniel-lxs, PR by @app/roomote)
6+
- Fix: Reset condensing state when switching tasks (#6919 by @f14XuanLv, PR by @f14XuanLv)
7+
- Fix: Implement sitemap generation in TypeScript and remove XML file (#5231 by @abumalick, PR by @abumalick)
8+
- Fix: allowedMaxRequests and allowedMaxCost values not showing in the settings UI (thanks @chrarnoldus!)
9+
10+
## [3.25.14] - 2025-08-13
11+
12+
- Fix: Only include verbosity parameter for models that support it (#7054 by @eastonmeth, PR by @app/roomote)
13+
- Fix: AWS Bedrock 1M context - Move anthropic_beta to additionalModelRequestFields (thanks @daniel-lxs!)
14+
- Fix: Make cancelling requests more responsive by reverting recent changes
15+
16+
## [3.25.13] - 2025-08-12
17+
18+
- Add Sonnet 1M context checkbox to Bedrock
19+
- Fix: add --no-messages flag to ripgrep to suppress file access errors (#6756 by @R-omk, PR by @app/roomote)
20+
- Add support for AGENT.md alongside AGENTS.md (#6912 by @Brendan-Z, PR by @app/roomote)
21+
- Remove deprecated GPT-4.5 Preview model (thanks @PeterDaveHello!)
22+
23+
## [3.25.12] - 2025-08-12
24+
25+
- Update: Claude Sonnet 4 context window configurable to 1 million tokens in Anthropic provider (thanks @daniel-lxs!)
26+
- Add: Minimal reasoning support to OpenRouter (thanks @daniel-lxs!)
27+
- Fix: Add configurable API request timeout for local providers (#6521 by @dabockster, PR by @app/roomote)
28+
- Fix: Add --no-sandbox flag to browser launch options (#6632 by @QuinsZouls, PR by @QuinsZouls)
29+
- Fix: Ensure JSON files respect .rooignore during indexing (#6690 by @evermoving, PR by @app/roomote)
30+
- Add: New Chutes provider models (#6698 by @fstandhartinger, PR by @app/roomote)
31+
- Add: OpenAI gpt-oss models to Amazon Bedrock dropdown (#6752 by @josh-clanton-powerschool, PR by @app/roomote)
32+
- Fix: Correct tool repetition detector to not block first tool call when limit is 1 (#6834 by @NaccOll, PR by @app/roomote)
33+
- Fix: Improve checkpoint service initialization handling (thanks @NaccOll!)
34+
- Update: Improve zh-TW Traditional Chinese locale (thanks @PeterDaveHello!)
35+
- Add: Task expand and collapse translations (thanks @app/roomote!)
36+
- Update: Exclude GPT-5 models from 20% context window output token cap (thanks @app/roomote!)
37+
- Fix: Truncate long model names in model selector to prevent overflow (thanks @app/roomote!)
38+
- Add: Requesty base url support (thanks @requesty-JohnCosta27!)
39+
340
## [3.25.11] - 2025-08-11
441

542
- Add: Native OpenAI provider support for Codex Mini model (#5386 by @KJ7LNW, PR by @daniel-lxs)

README.md

Lines changed: 41 additions & 40 deletions
Large diffs are not rendered by default.

apps/web-roo-code/.env.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,7 @@ NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com
66
# Basin Form Endpoint for Static Form Submissions
77
# Replace this with your actual Basin form endpoint (e.g., https://usebasin.com/f/your-form-id)
88
NEXT_PUBLIC_BASIN_ENDPOINT=https://usebasin.com/f/your-form-id-here
9+
10+
# Site URL Configuration
11+
# Used for generating absolute URLs in sitemap and other contexts
12+
NEXT_PUBLIC_SITE_URL=https://roocode.com

apps/web-roo-code/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,7 @@ yarn-error.log*
4040
# typescript
4141
*.tsbuildinfo
4242
next-env.d.ts
43+
44+
# generated files
45+
/public/sitemap*.xml
46+
/public/robots.txt

apps/web-roo-code/.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
enable-pre-post-scripts=true
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
/** @type {import('next-sitemap').IConfig} */
2+
module.exports = {
3+
siteUrl: process.env.NEXT_PUBLIC_SITE_URL || 'https://roocode.com',
4+
generateRobotsTxt: true,
5+
generateIndexSitemap: false, // We don't need index sitemap for a small site
6+
changefreq: 'monthly',
7+
priority: 0.7,
8+
sitemapSize: 5000,
9+
exclude: [
10+
'/api/*',
11+
'/server-sitemap-index.xml',
12+
'/404',
13+
'/500',
14+
'/_not-found',
15+
],
16+
robotsTxtOptions: {
17+
policies: [
18+
{
19+
userAgent: '*',
20+
allow: '/',
21+
},
22+
],
23+
additionalSitemaps: [
24+
// Add any additional sitemaps here if needed in the future
25+
],
26+
},
27+
// Custom transform function to set specific priorities and change frequencies
28+
transform: async (config, path) => {
29+
// Set custom priority for specific pages
30+
let priority = config.priority;
31+
let changefreq = config.changefreq;
32+
33+
if (path === '/') {
34+
priority = 1.0;
35+
changefreq = 'yearly';
36+
} else if (path === '/enterprise' || path === '/evals') {
37+
priority = 0.8;
38+
changefreq = 'monthly';
39+
} else if (path === '/privacy' || path === '/terms') {
40+
priority = 0.5;
41+
changefreq = 'yearly';
42+
}
43+
44+
return {
45+
loc: path,
46+
changefreq,
47+
priority,
48+
lastmod: config.autoLastmod ? new Date().toISOString() : undefined,
49+
alternateRefs: config.alternateRefs ?? [],
50+
};
51+
},
52+
additionalPaths: async (config) => {
53+
// Add any additional paths that might not be automatically discovered
54+
// This is useful for dynamic routes or API-generated pages
55+
// Add the /evals page since it's a dynamic route
56+
return [{
57+
loc: '/evals',
58+
changefreq: 'monthly',
59+
priority: 0.8,
60+
lastmod: new Date().toISOString(),
61+
}];
62+
63+
// Add the /evals page since it's a dynamic route
64+
result.push({
65+
loc: '/evals',
66+
changefreq: 'monthly',
67+
priority: 0.8,
68+
lastmod: new Date().toISOString(),
69+
});
70+
71+
return result;
72+
},
73+
};

apps/web-roo-code/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"check-types": "tsc --noEmit",
88
"dev": "next dev",
99
"build": "next build",
10+
"postbuild": "next-sitemap --config next-sitemap.config.cjs",
1011
"start": "next start",
1112
"clean": "rimraf .next .turbo"
1213
},
@@ -42,6 +43,7 @@
4243
"@types/react": "^18.3.23",
4344
"@types/react-dom": "^18.3.7",
4445
"autoprefixer": "^10.4.21",
46+
"next-sitemap": "^4.2.3",
4547
"postcss": "^8.5.4",
4648
"tailwindcss": "^3.4.17"
4749
}

apps/web-roo-code/src/app/enterprise/page.tsx

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,54 @@ import { AnimatedText } from "@/components/animated-text"
55
import { AnimatedBackground } from "@/components/homepage"
66
import { ContactForm } from "@/components/enterprise/contact-form"
77
import { EXTERNAL_LINKS } from "@/lib/constants"
8+
import type { Metadata } from "next"
9+
import { SEO } from "@/lib/seo"
10+
11+
const TITLE = "Enterprise Solution"
12+
const DESCRIPTION =
13+
"The control-plane for AI-powered software development. Gain visibility, governance, and control over your AI coding initiatives."
14+
const PATH = "/enterprise"
15+
const OG_IMAGE = SEO.ogImage
16+
17+
export const metadata: Metadata = {
18+
title: TITLE,
19+
description: DESCRIPTION,
20+
alternates: {
21+
canonical: `${SEO.url}${PATH}`,
22+
},
23+
openGraph: {
24+
title: TITLE,
25+
description: DESCRIPTION,
26+
url: `${SEO.url}${PATH}`,
27+
siteName: SEO.name,
28+
images: [
29+
{
30+
url: OG_IMAGE.url,
31+
width: OG_IMAGE.width,
32+
height: OG_IMAGE.height,
33+
alt: OG_IMAGE.alt,
34+
},
35+
],
36+
locale: SEO.locale,
37+
type: "website",
38+
},
39+
twitter: {
40+
card: SEO.twitterCard,
41+
title: TITLE,
42+
description: DESCRIPTION,
43+
images: [OG_IMAGE.url],
44+
},
45+
keywords: [
46+
...SEO.keywords,
47+
"Enterprise AI",
48+
"AI governance",
49+
"AI control-plane",
50+
"developer productivity",
51+
"SAML",
52+
"SCIM",
53+
"cost management",
54+
],
55+
}
856

957
export default async function Enterprise() {
1058
return (

apps/web-roo-code/src/app/evals/page.tsx

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,45 @@
11
import type { Metadata } from "next"
22

33
import { getEvalRuns } from "@/actions/evals"
4+
import { SEO } from "@/lib/seo"
45

56
import { Evals } from "./evals"
67

78
export const revalidate = 300
89
export const dynamic = "force-dynamic"
910

11+
const TITLE = "Evals"
12+
const DESCRIPTION = "Explore quantitative evals of LLM coding skills across tasks and providers."
13+
const PATH = "/evals"
14+
const IMAGE = {
15+
url: "https://i.imgur.com/ijP7aZm.png",
16+
width: 1954,
17+
height: 1088,
18+
alt: "Roo Code Evals – LLM coding benchmarks",
19+
}
20+
1021
export const metadata: Metadata = {
11-
title: "Roo Code Evals",
22+
title: TITLE,
23+
description: DESCRIPTION,
24+
alternates: {
25+
canonical: `${SEO.url}${PATH}`,
26+
},
1227
openGraph: {
13-
title: "Roo Code Evals",
14-
description: "Quantitative evals of LLM coding skills.",
15-
url: "https://roocode.com/evals",
16-
siteName: "Roo Code",
17-
images: {
18-
url: "https://i.imgur.com/ijP7aZm.png",
19-
width: 1954,
20-
height: 1088,
21-
},
28+
title: TITLE,
29+
description: DESCRIPTION,
30+
url: `${SEO.url}${PATH}`,
31+
siteName: SEO.name,
32+
images: [IMAGE],
33+
locale: SEO.locale,
34+
type: "website",
35+
},
36+
twitter: {
37+
card: SEO.twitterCard,
38+
title: TITLE,
39+
description: DESCRIPTION,
40+
images: [IMAGE.url],
2241
},
42+
keywords: [...SEO.keywords, "benchmarks", "LLM evals", "coding evaluations", "model comparison"],
2343
}
2444

2545
export default async function Page() {

apps/web-roo-code/src/app/layout.tsx

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React from "react"
22
import type { Metadata } from "next"
33
import { Inter } from "next/font/google"
44
import Script from "next/script"
5+
import { SEO } from "@/lib/seo"
56

67
import { Providers } from "@/components/providers"
78

@@ -12,11 +13,14 @@ import "./globals.css"
1213
const inter = Inter({ subsets: ["latin"] })
1314

1415
export const metadata: Metadata = {
15-
title: "Roo Code – Your AI-Powered Dev Team in VS Code",
16-
description:
17-
"Roo Code puts an entire AI dev team right in your editor, outpacing closed tools with deep project-wide context, multi-step agentic coding, and unmatched developer-centric flexibility.",
16+
metadataBase: new URL(SEO.url),
17+
title: {
18+
template: "%s | Roo Code",
19+
default: SEO.title,
20+
},
21+
description: SEO.description,
1822
alternates: {
19-
canonical: "https://roocode.com",
23+
canonical: SEO.url,
2024
},
2125
icons: {
2226
icon: [
@@ -40,6 +44,42 @@ export const metadata: Metadata = {
4044
},
4145
],
4246
},
47+
openGraph: {
48+
title: SEO.title,
49+
description: SEO.description,
50+
url: SEO.url,
51+
siteName: SEO.name,
52+
images: [
53+
{
54+
url: SEO.ogImage.url,
55+
width: SEO.ogImage.width,
56+
height: SEO.ogImage.height,
57+
alt: SEO.ogImage.alt,
58+
},
59+
],
60+
locale: SEO.locale,
61+
type: "website",
62+
},
63+
twitter: {
64+
card: SEO.twitterCard,
65+
title: SEO.title,
66+
description: SEO.description,
67+
images: [SEO.ogImage.url],
68+
},
69+
robots: {
70+
index: true,
71+
follow: true,
72+
googleBot: {
73+
index: true,
74+
follow: true,
75+
"max-snippet": -1,
76+
"max-image-preview": "large",
77+
"max-video-preview": -1,
78+
},
79+
},
80+
keywords: [...SEO.keywords],
81+
applicationName: SEO.name,
82+
category: SEO.category,
4383
}
4484

4585
export default function RootLayout({ children }: { children: React.ReactNode }) {
@@ -64,8 +104,8 @@ export default function RootLayout({ children }: { children: React.ReactNode })
64104
`}
65105
</Script>
66106
<div itemScope itemType="https://schema.org/WebSite">
67-
<link itemProp="url" href="https://roocode.com" />
68-
<meta itemProp="name" content="Roo Code" />
107+
<link itemProp="url" href={SEO.url} />
108+
<meta itemProp="name" content={SEO.name} />
69109
</div>
70110
<Providers>
71111
<Shell>{children}</Shell>

0 commit comments

Comments
 (0)