Provides context about the Roo Code evals system structure in this monorepo. Use when tasks mention "evals", "evaluation", "eval runs", "eval exercises", or working with the evals infrastructure...
Use this skill when the task involves:
Do NOT use this skill when:
This monorepo has two distinct evals-related locations that can cause confusion:
| Component | Path | Purpose |
|---|---|---|
| Evals Execution System | packages/evals/ |
Core eval infrastructure: CLI, DB schema, Docker configs |
| Evals Management UI | apps/web-evals/ |
Next.js app for creating/monitoring eval runs (localhost:3446) |
| Website Evals Page | apps/web-roo-code/src/app/evals/ |
Public roocode.com page displaying eval results |
| External Exercises Repo | Roo-Code-Evals | Actual coding exercises (NOT in this monorepo) |
packages/evals/ - Core Evals Packagepackages/evals/
āāā ARCHITECTURE.md # Detailed architecture documentation
āāā ADDING-EVALS.md # Guide for adding new exercises/languages
āāā README.md # Setup and running instructions
āāā docker-compose.yml # Container orchestration
āāā Dockerfile.runner # Runner container definition
āāā Dockerfile.web # Web app container
āāā drizzle.config.ts # Database ORM config
āāā src/
ā āāā index.ts # Package exports
ā āāā cli/ # CLI commands for running evals
ā ā āāā runEvals.ts # Orchestrates complete eval runs
ā ā āāā runTask.ts # Executes individual tasks in containers
ā ā āāā runUnitTest.ts # Validates task completion via tests
ā ā āāā redis.ts # Redis pub/sub integration
ā āāā db/
ā ā āāā schema.ts # Database schema (runs, tasks)
ā ā āāā queries/ # Database query functions
ā ā āāā migrations/ # SQL migrations
ā āāā exercises/
ā āāā index.ts # Exercise loading utilities
āāā scripts/
āāā setup.sh # Local macOS setup script
apps/web-evals/ - Evals Management Web Appapps/web-evals/
āāā src/
ā āāā app/
ā ā āāā page.tsx # Home page (runs list)
ā ā āāā runs/
ā ā ā āāā new/ # Create new eval run
ā ā ā āāā [id]/ # View specific run status
ā ā āāā api/runs/ # SSE streaming endpoint
ā āāā actions/ # Server actions
ā ā āāā runs.ts # Run CRUD operations
ā ā āāā tasks.ts # Task queries
ā ā āāā exercises.ts # Exercise listing
ā ā āāā heartbeat.ts # Controller health checks
ā āāā hooks/ # React hooks (SSE, models, etc.)
ā āāā lib/ # Utilities and schemas
apps/web-roo-code/src/app/evals/ - Public Website Evals Pageapps/web-roo-code/src/app/evals/
āāā page.tsx # Fetches and displays public eval results
āāā evals.tsx # Main evals display component
āāā plot.tsx # Visualization component
āāā types.ts # EvalRun type (extends packages/evals types)
This page displays eval results on the public roocode.com website. It imports types from @roo-code/evals but does NOT run evals.
The evals system is a distributed evaluation platform that runs AI coding tasks in isolated VS Code environments:
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Web App (apps/web-evals) āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā
ā ā ā
ā ā¼ ā
ā PostgreSQL āāāāāāŗ Controller Container ā
ā ā ā ā
ā ā¼ ā¼ ā
ā Redis āāāāāŗ Runner Containers (1-25 parallel) ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Key components:
packages/evals/ADDING-EVALS.md for structureEdit files in packages/evals/src/cli/:
runEvals.ts - Run orchestrationrunTask.ts - Task executionrunUnitTest.ts - Test validationEdit files in apps/web-evals/src/:
app/runs/new/new-run.tsx - New run formactions/runs.ts - Run server actionsEdit files in apps/web-roo-code/src/app/evals/:
packages/evals/src/db/schema.tscd packages/evals && pnpm drizzle-kit generatepnpm drizzle-kit migrate# From repo root
pnpm evals
# Opens web UI at http://localhost:3446
Ports (defaults):
# packages/evals tests
cd packages/evals && npx vitest run
# apps/web-evals tests
cd apps/web-evals && npx vitest run
@roo-code/evalsThe package exports are defined in packages/evals/src/index.ts:
getRuns, getTasks, getTaskMetrics, etc.Run, Task, TaskMetricsapps/web-evals and apps/web-roo-code