diff --git a/apps/web-roo-code/src/app/cloud/team/page.tsx b/apps/web-roo-code/src/app/cloud/team/page.tsx new file mode 100644 index 00000000000..7be79f74e22 --- /dev/null +++ b/apps/web-roo-code/src/app/cloud/team/page.tsx @@ -0,0 +1,297 @@ +import { + ArrowRight, + Users, + Settings, + BarChart3, + Lock, + Puzzle, + ShieldCheck, + DollarSign, + Share2, + LucideIcon, + Server, + ServerIcon, + RefreshCcw, +} from "lucide-react" +import type { Metadata } from "next" + +import { Button } from "@/components/ui" +import { AnimatedBackground } from "@/components/homepage" +import { SEO } from "@/lib/seo" +import { ogImageUrl } from "@/lib/og" +import { EXTERNAL_LINKS } from "@/lib/constants" + +const TITLE = "Roo Code Cloud Team Plan" +const DESCRIPTION = + "Scale your development with team collaboration features. Centralized billing, shared configuration, team-wide analytics, and unified GitHub and Slack integrations." +const OG_DESCRIPTION = "Team collaboration for AI-powered development" +const PATH = "/cloud/team" + +export const metadata: Metadata = { + title: TITLE, + description: DESCRIPTION, + alternates: { + canonical: `${SEO.url}${PATH}`, + }, + openGraph: { + title: TITLE, + description: DESCRIPTION, + url: `${SEO.url}${PATH}`, + siteName: SEO.name, + images: [ + { + url: ogImageUrl(TITLE, OG_DESCRIPTION), + width: 1200, + height: 630, + alt: TITLE, + }, + ], + locale: SEO.locale, + type: "website", + }, + twitter: { + card: SEO.twitterCard, + title: TITLE, + description: DESCRIPTION, + images: [ogImageUrl(TITLE, OG_DESCRIPTION)], + }, + keywords: [ + ...SEO.keywords, + "team", + "collaboration", + "enterprise", + "organization", + "centralized billing", + "team management", + ], +} + +const keyBenefits = [ + { + title: "No Per-Seat Costs", + description: "Add unlimited team members without worrying about escalating per-seat charges.", + icon: Users, + }, + { + title: "Centralized Billing", + description: + "Single billing point for all team members using Cloud Agents and the Roo Code Cloud Provider. No more API key management.", + icon: DollarSign, + }, + { + title: "Unified Integrations", + description: + "Connect GitHub and Slack once for the entire team. No need for each member to set up individual integrations.", + icon: Settings, + }, + { + title: "Team-Wide Visibility", + description: "Access task history and usage analytics across your entire team with granular per-user filters.", + icon: BarChart3, + }, + { + title: "Configuration Enforcement", + description: + "Set policies for providers, models, and MCP servers to ensure your team follows organizational standards.", + icon: ShieldCheck, + }, + { + title: "Secure Environment Variables", + description: + "Centrally manage secrets, API keys, and environment variables for Cloud Agents in our encrypted secret store.", + icon: Lock, + }, +] + +interface Feature { + icon: LucideIcon + title: string + description: string +} + +const features: Feature[] = [ + { + icon: ShieldCheck, + title: "Configuration Enforcement", + description: + "Require team members to log in to the VS Code Extension so policies can be enforced via MDM distribution.", + }, + { + icon: Server, + title: "Provider Management", + description: + "Configure and manage the model providers your team can access for both the Extension and Cloud Agents, with API-key-free management.", + }, + { + icon: Puzzle, + title: "Centralized Integration", + description: + "Centralized GitHub and Slack connection for the entire team. Agents can review PRs, collaborate on your repositories and respond on your team channels.", + }, + { + icon: RefreshCcw, + title: "Extension Task Sync Config", + description: + "Require task syncing from VS Code Extension and control visibility settings for who can view each other's tasks.", + }, + { + icon: Share2, + title: "Task Sharing Controls", + description: "Enable per-task sharing with customizable audience controls and link expiration times.", + }, + { + icon: ServerIcon, + title: "MCP Server Controls", + description: "Control access to the Roo MCP Marketplace and what custom MCPs to make available to your team.", + }, +] + +export default function CloudTeamPage() { + return ( + <> + {/* Hero Section */} +
+ +
+
+

Roo Code Cloud Team

+

+ Built for AI-Forward Teams +

+

+ Empower your entire team with confidence with team-wide configuration, centralized billing, + analytics and more. No per-seat costs, no API key juggling. +

+
+ + +
+
+
+
+ + {/* Key Benefits Section */} +
+
+
+
+
+ +
+
+

Why Teams Choose Roo

+

+ Streamline collaboration and scale your development capacity with team-first features. +

+
+
+ +
+
    + {keyBenefits.map((benefit, index) => { + const Icon = benefit.icon + return ( +
  • + {Icon && ( +
    + +
    + )} +

    {benefit.title}

    +
    + {benefit.description} +
    +
  • + ) + })} +
+
+
+
+ + {/* Features Grid */} +
+
+
+
+
+
+

Complete Team Management

+

+ Access all capabilities from your Organization Settings. Everything you need to manage your + team in one place. +

+
+
+ {features.map((feature, index) => { + const Icon = feature.icon + return ( +
+ +

{feature.title}

+

+ {feature.description} +

+
+ ) + })} +
+
+
+ + {/* CTA Section */} +
+
+
+

+ Ready to scale your team's development? +

+

+ Start your free 14-day trial today. Got questions? Get in touch. +

+
+ + +
+
+
+
+ + ) +} diff --git a/apps/web-roo-code/src/app/pricing/page.tsx b/apps/web-roo-code/src/app/pricing/page.tsx index 2e3c64fc730..8a79470ea15 100644 --- a/apps/web-roo-code/src/app/pricing/page.tsx +++ b/apps/web-roo-code/src/app/pricing/page.tsx @@ -71,6 +71,7 @@ interface PricingTier { text: string href?: string } + learnMoreLink?: string } const pricingTiers: PricingTier[] = [ @@ -123,6 +124,7 @@ const pricingTiers: PricingTier[] = [ text: "Sign up", href: EXTERNAL_LINKS.CLOUD_APP_SIGNUP + "?redirect_url=/billing", }, + learnMoreLink: "/cloud/team", }, ] @@ -164,11 +166,11 @@ export default function PricingPage() { -
+

{tier.featuresIntro} 

-
    +
      {tier.features.map((feature) => (
    • @@ -176,6 +178,15 @@ export default function PricingPage() {
    • ))}
    + {tier.learnMoreLink && ( +
    + + Learn more → + +
    + )}

{tier.trial}

diff --git a/apps/web-roo-code/src/components/chromes/nav-bar.tsx b/apps/web-roo-code/src/components/chromes/nav-bar.tsx index fa51f081cec..046e3e0bd82 100644 --- a/apps/web-roo-code/src/components/chromes/nav-bar.tsx +++ b/apps/web-roo-code/src/components/chromes/nav-bar.tsx @@ -70,11 +70,6 @@ export function NavBar({ stars, downloads }: NavBarProps) { {/* Dropdown Menu */}
- - FAQ - diff --git a/apps/web-roo-code/src/lib/constants.ts b/apps/web-roo-code/src/lib/constants.ts index 65e70d8f6c3..fe0137661ae 100644 --- a/apps/web-roo-code/src/lib/constants.ts +++ b/apps/web-roo-code/src/lib/constants.ts @@ -28,6 +28,7 @@ export const EXTERNAL_LINKS = { CLOUD_APP_SIGNUP: "https://app.roocode.com/sign-up", CLOUD_APP_SIGNUP_HOME: "https://app.roocode.com/sign-up?redirect_url=/cloud-agents/setup", CLOUD_APP_SIGNUP_PRO: "https://app.roocode.com/sign-up?redirect_url=/cloud-agents/setup", + SUPPORT: "mailto:support@roocode.com", } export const INTERNAL_LINKS = {