Rose Documentation¶
Welcome to the Rose platform documentation. Rose is an AI-first inbound marketing platform that automates the entire B2B buyer journey through specialized AI agents.
What is Rose?¶
Rose is not just a chat widget - it's a comprehensive platform of AI agents designed to attract, engage, qualify, and convert B2B buyers:
| Stage | Agent | Status |
|---|---|---|
| Engage | Website Agent | Active |
| Qualify | Lead Intelligence Agent | Coming Soon |
| Nurture | Nurturing Agent | Beta |
| Reach | Outreach Agent | Coming Soon |
| Create | Content Agent | Coming Soon |
| Integrate | Agent 2 Agent | Coming Soon |
See Agents Overview for detailed agent documentation.
Quick Start¶
Prerequisites¶
- Python 3.12+ with Poetry installed
- Node.js 18+ with npm
- Docker (for containerized development)
- Google Cloud SDK (
gcloudCLI) - Terraform (for infrastructure management)
- Just command runner (
brew install juston macOS)
Creating a New Worktree¶
Create an isolated workspace for each feature:
See the development workflow for worktree setup and the full branch-to-deployment flow.
Automated Setup (Recommended)¶
For quick setup of cloned worktrees:
# Full setup with environment download
./bootstrap.py
# Skip environment file download
./bootstrap.py --skip-env
# Force recreate Python venv
./bootstrap.py --force
This script will:
- Setup backend (Python venv, dependencies, pre-commit hooks)
- Setup frontend (npm dependencies for all packages)
- Download environment files from Google Secret Manager (requires gcloud auth)
Project Structure¶
rose/
├── backend/ # Python services, jobs, CLIs, and shared packages
│ ├── apps/api/ # Search, Admin, Knowledge, Integrations, IXVector
│ ├── apps/jobs/ # Cloud Run batch and ingestion jobs
│ ├── apps/mcp/ # Hosted Rose MCP service
│ └── packages/ # ixchat, ixrag, ixllm, ixknowledge, ixscraping, …
├── frontend/ # TypeScript/React workspace
│ ├── shared/ # @inboundx/shared/* public entrypoints
│ ├── widget/ # Embeddable Website Agent
│ ├── client-backoffice/ # Client and staff dashboard
│ ├── playground/ # Testing interface
│ ├── chrome-plugin/ # Rose injection extension
│ └── stats-opt-out/ # Standalone internal-traffic opt-out extension
├── website/ # Astro marketing site on Cloudflare Workers
├── cloudflare-workers/ # API proxy and edge services
├── supabase/ # Schema migrations, functions, and local config
├── infrastructure/ # Terraform for GCP and shared infrastructure
└── docs/ # MkDocs developer and client documentation
Key Technologies¶
| Layer | Technologies |
|---|---|
| Backend | Python 3.12+, Poetry, FastAPI, LangGraph, LightRAG, MongoDB, Neo4j, Redis |
| Product surfaces | TypeScript, React, Vite, WXT, Astro 6 |
| Data | Supabase Postgres, MongoDB, Neo4j, Redis, GCS, Cloudflare R2 |
| Infrastructure | Docker, Google Cloud Run, Cloud Tasks, Terraform, Cloudflare Workers |
| Testing | pytest, Vitest, Playwright |
| Code quality | Ruff, MyPy, Biome, TypeScript |
Documentation Sections¶
- Agents - Rose AI agents and their capabilities
- Architecture - System architecture and diagrams
- Backend - Backend services and packages
- Frontend - Frontend applications and components
- R&D Journal - Research & Development documentation (CIR/JEI)
- ADRs - Architecture Decision Records
Common Commands¶
Backend¶
cd backend
just dev staging # Start development server
poetry run pytest # Run all tests
poetry run ruff check # Run linting
Frontend¶
cd frontend
just install # Install dependencies
just dev # Playground plus shared package
just dev-playground # Playground UI
just check # Lint, type-check, and test
Environment Configuration¶
The project uses IX_ENVIRONMENT to control which configuration and secrets are loaded:
- test - Local testing environment
- staging - Staging environment
- production - Production environment
- development - Development environment
See the Backend Setup guide for detailed configuration instructions.