Iris
Architecture

Architecture

How the Iris monorepo is organized.

Iris is a pnpm + Turborepo monorepo:

iris/
├── apps/
│   ├── api/          # NestJS — REST API, WebSocket gateway, Bull job processor
│   ├── web/          # Next.js — test authoring UI, live canvas, run viewer
│   └── www/          # Next.js — marketing site
└── packages/
    ├── agent/        # Stagehand browser automation engine
    ├── cli/          # iris CLI — trigger runs from CI/CD pipelines
    ├── common/       # Shared TypeScript types and event constants
    ├── database/     # Prisma schema and generated client
    ├── ui/           # Shared shadcn/ui component library
    ├── eslint-config/
    └── typescript-config/
LayerTechnology
WebNext.js (App Router, Turbopack)
APINestJS 11
Authbetter-auth (email/password)
DatabasePostgreSQL 17 + Prisma
QueueBull + Redis
StorageMinIO (screenshots, frame recordings)
Browser AIStagehand + Gemini 2.5 Flash

Documentation in progress

Deeper dives — run lifecycle, the authoring WebSocket protocol, and the agent execution loop — are planned.