Find a file
Roo Code 96a1fc0a49 Fix TypeScript errors in test files
- Fixed vitest matcher usage: replaced toBeTypeOf with typeof + toBe
- Fixed import statements for fs and path modules to use namespace imports
- Resolves TypeScript compilation errors preventing push

Part of fixing test setup issues for PR #227
2025-07-08 12:34:55 +00:00
.docker Add support for cloud job auth tokens (#182) 2025-07-03 10:00:37 -07:00
.github feat: enable manual deployment for roomote apps (#207) 2025-07-05 09:46:20 -08:00
.husky Monorepo + (disabled) agent authentication mechanism (#106) 2025-06-19 12:19:50 -07:00
.roo/rules Prototype of a Roomote tab (#147) 2025-07-07 10:52:18 -07:00
.vscode Encrypt and store secret ENV vars in the repo with dotenvx (#114) 2025-06-26 10:54:39 -07:00
apps Fix TypeScript errors in test files 2025-07-08 12:34:55 +00:00
packages Prototype of a Roomote tab (#147) 2025-07-07 10:52:18 -07:00
scripts Encrypt and store secret ENV vars in the repo with dotenvx (#114) 2025-06-26 10:54:39 -07:00
.dockerignore Encrypt and store secret ENV vars in the repo with dotenvx (#114) 2025-06-26 10:54:39 -07:00
.env.development Add fallback RCC user for roomote and pass job id consistently (#216) 2025-07-07 11:54:40 -07:00
.env.preview Add fallback RCC user for roomote and pass job id consistently (#216) 2025-07-07 11:54:40 -07:00
.env.production Add fallback RCC user for roomote and pass job id consistently (#216) 2025-07-07 11:54:40 -07:00
.env.test Add fallback RCC user for roomote and pass job id consistently (#216) 2025-07-07 11:54:40 -07:00
.gitignore Prototype of a Roomote tab (#147) 2025-07-07 10:52:18 -07:00
.prettierrc.json Add roomote to the monorepo (#109) 2025-06-20 09:41:51 -07:00
.roomodes Add a few MCPs and a mode to manage them (#208) 2025-07-06 09:28:44 -04:00
.tool-versions Fix token summing in ClickHouse queries (#105) 2025-06-18 11:36:58 -07:00
docker-compose.yml Encrypt and store secret ENV vars in the repo with dotenvx (#114) 2025-06-26 10:54:39 -07:00
ENV_VARS.md Spawn fly machine workers on production (#154) 2025-06-29 23:55:15 -08:00
fly.roomote-api.toml Encrypt and store secret ENV vars in the repo with dotenvx (#114) 2025-06-26 10:54:39 -07:00
fly.roomote-controller.toml Spawn fly machine workers on production (#154) 2025-06-29 23:55:15 -08:00
fly.roomote-dashboard.toml Encrypt and store secret ENV vars in the repo with dotenvx (#114) 2025-06-26 10:54:39 -07:00
fly.roomote-worker.toml Prototype of a Roomote tab (#147) 2025-07-07 10:52:18 -07:00
package.json Verbose worker logging (#173) 2025-07-02 07:46:17 -08:00
pnpm-lock.yaml Prototype of a Roomote tab (#147) 2025-07-07 10:52:18 -07:00
pnpm-workspace.yaml Monorepo + (disabled) agent authentication mechanism (#106) 2025-06-19 12:19:50 -07:00
README.md updated readme details (#123) 2025-06-27 09:46:05 -07:00
turbo.json Encrypt and store secret ENV vars in the repo with dotenvx (#114) 2025-06-26 10:54:39 -07:00

🚀 Roo Code Cloud Monorepo

📋 Prerequisites

Before getting started, ensure you have the following installed:

Tool Version Installation
🍎 macOS Latest This guide is optimized for macOS
🐳 Docker Desktop Latest Download here
📦 Node.js 18+ Install via nvm or asdf
pnpm Latest npm install -g pnpm

🔐 Environment Setup

The monorepo uses encrypted environment variables for security. Follow these steps:

1. Get Decryption Keys 🔑

Contact your team via Slack to obtain the private keys needed to decrypt environment files.

2. Create .env.keys File 📄

Create a .env.keys file at the repository root with your keys:

# .env.keys
DOTENV_PRIVATE_KEY_TEST=your_test_key_here
DOTENV_PRIVATE_KEY_DEVELOPMENT=your_dev_key_here
DOTENV_PRIVATE_KEY_PREVIEW=your_preview_key_here
DOTENV_PRIVATE_KEY_PRODUCTION=your_prod_key_here

3. Verify Setup

Test that decryption is working correctly:

pnpm install
pnpm --filter @roo-code-cloud/env test

If successful, you'll see: Environment decryption working correctly!

🗄️ Database Setup

Roo Code Cloud uses multiple databases for different purposes:

  • 🐘 PostgreSQL: Primary application data
  • 📊 ClickHouse: Analytics and time-series data
  • 🔴 Redis: Caching and session storage

Start All Database Services 🚀

pnpm db:up

This command will:

  • 🐳 Start Docker containers for all databases
  • 🔄 Automatically sync PostgreSQL schema to the latest version
  • 🌐 Make services available on standard ports

Reset Database (if needed) 🔄

To completely reset your local database:

pnpm db:reset

ClickHouse Manual Reset 🔧

If you encounter ClickHouse schema issues:

# Stop all databases
pnpm db:down

# Remove ClickHouse data
rm -rf .docker/data/clickhouse

# Restart everything
pnpm db:up

Configure Local Hosts 🌐

Add these entries to your /etc/hosts file for proper local development:

# /etc/hosts

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

# 🚀 Roo Code Cloud Services
127.0.0.1 postgres redis clickhouse

🌐 Running the Web App

Start the main web application:

pnpm --filter @roo-code-cloud/web dev

🎯 Access your app: http://localhost:3000

What you'll see:

  • 🎨 Modern, responsive web interface
  • 🔐 Authentication and user management
  • 📊 Dashboard with analytics
  • ⚙️ Settings and configuration panels

Linking with local Roo Code API

Make sure you are added to the Roo Cloud development organization.

To point the Roo VSCode extension at your local cloud database, in the Roo-Code repo, add the following to src/.env:

CLERK_BASE_URL=https://epic-chamois-85.clerk.accounts.dev
ROO_CODE_API_URL=http://localhost:3000

🤖 Roomote Services

Roomote provides intelligent automation and workflow management.

📝 Note: Detailed Roomote documentation is currently being developed.

For now, refer to our Work-in-Progress Setup Guide.

Available Roomote Commands:

# Start Roomote dashboard
pnpm --filter @roo-code-cloud/roomote-dashboard dev

# Run Roomote worker
pnpm --filter @roo-code-cloud/roomote worker

# Check Roomote health
pnpm --filter @roo-code-cloud/roomote health

🛠️ Development Commands

Here are the most commonly used development commands:

Testing 🧪

# Run all tests
pnpm test

# Test specific file
pnpm test path/to/file.test.ts

# Run tests in watch mode
pnpm test --watch

Code Quality 🔍

# Lint all code
pnpm lint

# Type checking
pnpm check-types

# Format code (auto-formatted on commit)
pnpm format

Database Operations 🗄️

# Push schema changes
pnpm db:push

# Generate new migration
pnpm --filter @roo-code-cloud/db db:generate

# Run pending migrations
pnpm --filter @roo-code-cloud/db db:migrate

# Reset database completely
pnpm db:reset

Package Management 📦

# Install dependencies
pnpm install

# Add dependency to specific workspace
pnpm --filter @roo-code-cloud/web add package-name

# Update all dependencies
pnpm update

🔧 Troubleshooting

Common Issues and Solutions

🚫 Database Connection Errors

# Check if containers are running
docker ps

# Restart database services
pnpm db:down && pnpm db:up

# Verify hosts file configuration
cat /etc/hosts | grep -E "(postgres|redis|clickhouse)"

🔐 Environment Decryption Fails

  • Verify .env.keys file exists and contains valid keys
  • Check with team for updated keys
  • Ensure no extra spaces or characters in key values

📦 Package Installation Issues

# Clear pnpm cache
pnpm store prune

# Remove node_modules and reinstall
rm -rf node_modules package-lock.json
pnpm install

🐳 Docker Issues

# Reset Docker Desktop
# Restart Docker Desktop application

# Clean Docker system
docker system prune -a