Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions apps/website/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# PostHog Analytics Configuration
# Replace these values with your actual PostHog API key and host
NEXT_PUBLIC_POSTHOG_KEY=your_posthog_api_key_here
NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com

# Basin Form Endpoint for Static Form Submissions
# Replace this with your actual Basin form endpoint (e.g., https://usebasin.com/f/your-form-id)
NEXT_PUBLIC_BASIN_ENDPOINT=https://usebasin.com/f/your-form-id-here

TURSO_CONNECTION_URL=libsql://development-roo-code.aws-us-east-1.turso.io
TURSO_AUTH_TOKEN=your-auth-token-here
42 changes: 42 additions & 0 deletions apps/website/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/versions

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

# env files (can opt-in for committing if needed)
.env*
!.env.example

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
21 changes: 21 additions & 0 deletions apps/website/components.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "https://ui.shadcn.com/schema.json",
"style": "new-york",
"rsc": true,
"tsx": true,
"tailwind": {
"config": "tailwind.config.js",
"css": "src/app/globals.css",
"baseColor": "slate",
"cssVariables": true,
"prefix": ""
},
"aliases": {
"components": "@/components",
"utils": "@/lib/utils",
"ui": "@/components/ui",
"lib": "@/lib",
"hooks": "@/hooks"
},
"iconLibrary": "lucide"
}
18 changes: 18 additions & 0 deletions apps/website/drizzle.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { defineConfig } from "drizzle-kit"

if ((!process.env.TURSO_CONNECTION_URL || !process.env.TURSO_AUTH_TOKEN) && !process.env.BENCHMARKS_DB_PATH) {
throw new Error("TURSO_CONNECTION_URL and TURSO_AUTH_TOKEN or BENCHMARKS_DB_PATH must be set")
}

const dialect = process.env.BENCHMARKS_DB_PATH ? "sqlite" : "turso"

const dbCredentials = process.env.BENCHMARKS_DB_PATH
? { url: process.env.BENCHMARKS_DB_PATH }
: { url: process.env.TURSO_CONNECTION_URL!, authToken: process.env.TURSO_AUTH_TOKEN! }

export default defineConfig({
out: "./drizzle",
schema: "./src/db/schema.ts",
dialect,
dbCredentials,
})
4 changes: 4 additions & 0 deletions apps/website/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { nextJsConfig } from "@roo-code/config-eslint/next-js"

/** @type {import("eslint").Linter.Config} */
export default [...nextJsConfig]
36 changes: 36 additions & 0 deletions apps/website/next.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import type { NextConfig } from "next"

const nextConfig: NextConfig = {
/* config options here */
async redirects() {
return [
// Redirect www to non-www
{
source: "/:path*",
has: [
{
type: "host",
value: "www.roocode.com",
},
],
destination: "https://roocode.com/:path*",
permanent: true,
},
// Redirect HTTP to HTTPS
{
source: "/:path*",
has: [
{
type: "header",
key: "x-forwarded-proto",
value: "http",
},
],
destination: "https://roocode.com/:path*",
permanent: true,
},
]
},
}

export default nextConfig
57 changes: 57 additions & 0 deletions apps/website/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"name": "@roo-code/website",
"version": "0.0.0",
"type": "module",
"scripts": {
"lint": "next lint",
"check-types": "tsc --noEmit",
"dev": "next dev",
"build": "next build",
"start": "next start",
"drizzle-kit": "dotenvx run -f .env -- tsx node_modules/drizzle-kit/bin.cjs",
"db:generate": "pnpm drizzle-kit generate",
"db:migrate": "pnpm drizzle-kit migrate",
"db:push": "pnpm drizzle-kit push",
"db:pull": "pnpm drizzle-kit pull",
"db:check": "pnpm drizzle-kit check",
"db:up": "pnpm drizzle-kit up",
"db:studio": "pnpm drizzle-kit studio"
},
"dependencies": {
"@libsql/client": "^0.15.2",
"@radix-ui/react-dialog": "^1.1.6",
"@radix-ui/react-slot": "^1.1.2",
"@tanstack/react-query": "^5.71.10",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"drizzle-orm": "^0.41.0",
"drizzle-zod": "^0.7.1",
"embla-carousel-auto-scroll": "^8.6.0",
"embla-carousel-autoplay": "^8.6.0",
"embla-carousel-react": "^8.6.0",
"framer-motion": "^12.6.3",
"lucide-react": "^0.479.0",
"next": "15.2.4",
"next-themes": "^0.4.6",
"posthog-js": "^1.234.9",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-icons": "^5.5.0",
"recharts": "^2.15.2",
"tailwind-merge": "^3.1.0",
"tailwindcss-animate": "^1.0.7",
"zod": "^3.24.2"
},
"devDependencies": {
"@roo-code/config-eslint": "workspace:^",
"@roo-code/config-typescript": "workspace:^",
"@tailwindcss/typography": "^0.5.16",
"@types/node": "^20.17.30",
"@types/react": "^19.1.0",
"@types/react-dom": "^19.1.1",
"autoprefixer": "^10.4.21",
"drizzle-kit": "^0.30.6",
"postcss": "^8.5.3",
"tailwindcss": "^3.4.17"
}
}
6 changes: 6 additions & 0 deletions apps/website/postcss.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}
Loading
Loading