Skip to main content

Prerequisites

Before setting up Sprout, ensure you have the following installed:
1

Node.js 20+

Sprout requires Node.js version 20 or higher for both backend and frontend.
node --version  # Should be 20.x or higher
2

npm Package Manager

npm is used to install dependencies for both services.
npm --version
3

Anaconda or Miniconda

Required for the Python hand tracking service. Python 3.10 or 3.11+ recommended.
conda --version
If you don’t have Anaconda/Miniconda, download from miniconda.org
4

Webcam Access

A working webcam is required for hand tracking functionality. The system uses OpenCV to capture video at index 0 by default.
5

API Keys and Cloud Services

  • Anthropic API Key: Required for Claude-powered agents
  • AWS Credentials: Required for S3 document uploads (optional if not using uploads)
  • AWS S3 Bucket: For storing uploaded documents

Backend Dependencies

Navigate to the backend directory and install Node.js dependencies:
cd sprout-backend
npm install

Key Backend Packages

{
  "dependencies": {
    "@anthropic-ai/sdk": "^0.78.0",
    "@aws-sdk/client-s3": "^3.995.0",
    "better-sqlite3": "^12.6.2",
    "cors": "^2.8.6",
    "dotenv": "^17.3.1",
    "drizzle-orm": "^0.45.1",
    "express": "^5.2.1",
    "multer": "^2.0.2",
    "p-limit": "^7.3.0",
    "pdf-parse": "^2.4.5",
    "uuid": "^13.0.0",
    "zod": "^4.3.6"
  },
  "devDependencies": {
    "drizzle-kit": "^0.31.9",
    "tsx": "^4.21.0",
    "typescript": "^5.9.3"
  }
}

Frontend Dependencies

Navigate to the frontend directory and install dependencies:
cd sprout-frontend
npm install

Key Frontend Packages

{
  "dependencies": {
    "@dagrejs/dagre": "^2.0.4",
    "@excalidraw/excalidraw": "^0.18.0",
    "@xyflow/react": "^12.10.1",
    "next": "16.1.6",
    "react": "19.2.3",
    "react-dom": "19.2.3",
    "react-force-graph-3d": "^1.29.1"
  },
  "devDependencies": {
    "@biomejs/biome": "2.2.0",
    "tailwindcss": "^4",
    "typescript": "^5"
  }
}

Python Dependencies for Hand Tracking

The hand tracking service requires specific versions to avoid compatibility issues.

Create Conda Environment

cd sprout-backend
conda create -n sprout-cv python=3.11 -y
conda activate sprout-cv
Python 3.10 or 3.11 is recommended. Avoid Python 3.12+ as MediaPipe may have compatibility issues.

Install Python Packages

pip install -r requirements.txt

Required Python Packages

PackageVersionPurpose
mediapipe0.10.14Hand landmark detection
opencv-python4.13.0.92Webcam capture and video processing
websockets12.0WebSocket server for hand tracking data
numpy2.4.2Array operations (auto-installed by mediapipe)
If you encounter installation issues, use --no-cache-dir and --default-timeout=100 flags:
pip install -r requirements.txt --no-cache-dir --default-timeout=100

Verify Installation

Check that all dependencies are installed correctly:
cd sprout-backend
node --version   # 20+
npm list         # Should show no errors

Next Steps

Configuration

Set up environment variables and configuration files

Database Migrations

Initialize the SQLite database with Drizzle

Build docs developers (and LLMs) love