Skip to content
Closed
Changes from all commits
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
167 changes: 167 additions & 0 deletions repository-analysis.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
# Git Repository Analysis

This document provides a comprehensive overview of the git repositories found in the current working directory, explaining the purpose and contents of each repository.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This statement is misleading - the repositories are actually in the parent directory, not the current working directory where this document resides. Could we clarify this to avoid confusion? Perhaps: "git repositories found in the parent directory" or specify the actual location?


## Overview

There are **3 main git repositories** in the current directory:

1. [`Roo-Code/`](Roo-Code/) - The main VS Code extension
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The relative links here won't work correctly. Since this document is in the Roo-Code repository but references sibling repositories at the parent level, these links will be broken. Should we either:

  1. Move this document to the parent directory (/data/repos/), or
  2. Update all links to use correct relative paths like ../Roo-Code-Cloud/?

The same issue applies to all repository links throughout the document (lines 9-11, 17, 50, 96).

2. [`Roo-Code-Cloud/`](Roo-Code-Cloud/) - Cloud infrastructure and services
3. [`Roo-Code-Docs/`](Roo-Code-Docs/) - Documentation website

---

## 1. Roo-Code Repository

**Location:** [`Roo-Code/`](Roo-Code/)
**Type:** VS Code Extension
**Technology Stack:** TypeScript, Node.js, VS Code Extension API
**Package Manager:** pnpm

### Purpose
This is the main repository for **Roo Code**, an AI-powered autonomous coding agent that runs as a VS Code extension. It serves as an intelligent coding assistant that can communicate in natural language, read/write files, run terminal commands, and automate browser actions.

### Key Features
- **Multiple AI Provider Support**: Integrates with OpenAI-compatible APIs and custom models
- **Multiple Modes**: Code, Architect, Ask, Debug, and Custom Modes for specialized tasks
- **Smart Tools**: File operations, terminal commands, web browser control
- **MCP Integration**: Model Context Protocol for extending capabilities
- **Customization**: Custom instructions, modes, local models, and auto-approval settings

### Repository Structure
- **`src/`**: Main extension source code including [`extension.ts`](Roo-Code/src/extension.ts) (entry point)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider adding links to other important configuration files for better navigation, such as:

  • package.json
  • tsconfig.json
  • .github/workflows/ (CI/CD configs)
  • turbo.json

This would make the document more useful as a navigation reference.

- **`webview-ui/`**: User interface components for the VS Code webview
- **`packages/`**: Shared packages and utilities
- **`apps/`**: Application components
- **`locales/`**: Internationalization files (supports 15+ languages)
- **`scripts/`**: Build and development scripts

### Development
- **Node.js Version**: 20.19.2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we verify these Node.js versions are accurate? The document mentions 20.19.2 here and 22.x for Roo-Code-Cloud (line 80). It might be helpful to add a note about version compatibility requirements between the repositories.

- **Build System**: Turbo monorepo with TypeScript
- **Testing**: Vitest framework
- **Distribution**: Published to VS Code Marketplace as VSIX packages

---

## 2. Roo-Code-Cloud Repository

**Location:** [`Roo-Code-Cloud/`](Roo-Code-Cloud/)
**Type:** Cloud Infrastructure Monorepo
**Technology Stack:** TypeScript, Node.js, Docker, PostgreSQL, ClickHouse, Redis
**Package Manager:** pnpm
**Deployment:** Fly.io

### Purpose
This repository contains the cloud infrastructure and backend services that power Roo Code's cloud features. It's a comprehensive monorepo that includes multiple microservices, APIs, dashboards, and deployment tools.

### Key Components

#### Applications (`apps/`)
- **`web/`**: Main web application and dashboard
- **`roomote-api/`**: Core API service for Roomote (remote execution service)
- **`roomote-controller/`**: Service controller and orchestration
- **`roomote-dashboard/`**: Administrative dashboard
- **`roomote-worker/`**: Background job processing and AI agent execution
- **`roomote-cli/`**: Command-line interface for management
- **`roomote-deployer/`**: Deployment automation tools
- **`provider-proxy/`**: API proxy for AI providers
- **`extension-bridge/`**: Bridge service between VS Code extension and cloud
- **`dev/`**: Development environment setup

#### Infrastructure
- **Database Stack**: PostgreSQL (primary data), ClickHouse (analytics), Redis (caching)
- **Containerization**: Docker Compose for local development
- **Deployment**: Fly.io with automated CI/CD
- **Security**: Encrypted environment variables using dotenvx

### Development Environment
- **Node.js Version**: 22.x
- **Database Setup**: Automated with `pnpm db:up`
- **Local Development**: `pnpm dev` starts all services
- **Environment Management**: Encrypted `.env` files for different environments

### Key Features
- **Multi-tenant Architecture**: Supports multiple organizations and users
- **Real-time Communication**: WebSocket connections for live updates
- **Analytics**: ClickHouse-powered analytics and monitoring
- **Scalable Deployment**: Microservices architecture on Fly.io
- **Development Tools**: Comprehensive CLI and deployment automation

---

## 3. Roo-Code-Docs Repository

**Location:** [`Roo-Code-Docs/`](Roo-Code-Docs/)
**Type:** Documentation Website
**Technology Stack:** Docusaurus, React, TypeScript
**Package Manager:** npm
**Deployment:** Static site hosting

### Purpose
This repository contains the official documentation website for Roo Code, built with Docusaurus. It serves as the comprehensive user guide and developer documentation.

### Website URL
**Live Site:** [https://docs.roocode.com](https://docs.roocode.com)

### Content Structure
- **`docs/`**: Main documentation content
- **`getting-started/`**: Installation and setup guides
- **`basic-usage/`**: Core functionality documentation
- **`advanced-usage/`**: Advanced features and customization
- **`features/`**: Detailed feature explanations
- **`providers/`**: AI provider integration guides
- **`roo-code-cloud/`**: Cloud service documentation
- **`update-notes/`**: Release notes and changelogs

### Key Features
- **Modern Documentation**: Built with Docusaurus v3
- **Search Functionality**: Local search with `@easyops-cn/docusaurus-search-local`
- **Analytics**: PostHog integration for usage tracking
- **Responsive Design**: Mobile-friendly documentation
- **Code Highlighting**: Syntax highlighting for multiple languages

### Development
- **Node.js Version**: 18+
- **Local Development**: `npm start` for live preview
- **Build**: `npm run build` for production
- **Deployment**: Static site generation

---

## Repository Relationships

```mermaid
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice diagram! Have we verified this Mermaid syntax renders correctly in the target viewing environments (GitHub, VS Code preview, documentation site)? Some platforms have specific requirements for Mermaid blocks.

graph TB
A[Roo-Code Extension] --> B[Roo-Code-Cloud Services]
A --> C[Roo-Code-Docs Website]
B --> D[AI Providers]
B --> E[User Data & Analytics]
C --> F[Users & Developers]

subgraph "Local Development"
A
end

subgraph "Cloud Infrastructure"
B
D
E
end

subgraph "Documentation"
C
F
end
```

## Summary

These three repositories form a complete ecosystem:

1. **Roo-Code**: The core VS Code extension that users interact with directly
2. **Roo-Code-Cloud**: The backend infrastructure that powers cloud features, analytics, and multi-user capabilities
3. **Roo-Code-Docs**: The documentation that helps users understand and effectively use the platform

Together, they provide a comprehensive AI-powered coding assistant platform with local and cloud capabilities, extensive documentation, and enterprise-grade infrastructure.
Loading