Skip to main content

Quick Start

This guide will walk you through setting up and running the starter app on your local machine.

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js and npm: Required for the frontend. Download Node.js
  • Python: Required for the backend and the worker.
  • uv: Recommended for Python package management. Install uv
  • Docker: Required for running a local PostgreSQL database.

1. Create Your Project

Use Copier to create a new project from the starter app template. You'll be prompted to choose which features to include.

uvx copier copy git@github.com:mistralai/starter-app.git your_project_name
cd your_project_name

2. Set Up Environment Variables

The backend and the worker requires environment variables for configuration. An example file is provided.

# Copy the example .env file
cp .env.example .env

# Open .env and fill in the required values

3. Install All Dependencies

Use invoke to install backend, worker and frontend dependencies.

uvx invoke install-all

4. Set Up the database and local blob storage for abraxas

A Docker Compose file is included to easily run required services, including a local PostgreSQL database with the pgvector extension for embeddings and Azurite (blob storage emulator) to store large temporal payload.

  1. Start the containers:

    docker-compose -p starter-app -f common/docker/docker-compose.yml up -d
  2. Run database migrations and container creation: This script waits for the database to be ready and then applies the first Alembic migration initialize your database. It will also create the necessary containers in azurite to store large abraxas/temporal payload.

    uvx invoke update-db

5. Run the Application

Run each service individually using invoke commands (in separate terminals):

# Terminal 1 - Backend
uvx invoke backend

# Terminal 2 - Worker
uvx invoke worker

# Terminal 3 - Frontend
uvx invoke frontend

You should now have:

  • The Backend API running at http://localhost:8000
  • The Frontend Application running at http://localhost:3000
Example with border

Your development environment is now ready!