Skip to content

Getting Started

The Evidential suite has a backend API server (FastAPI) and a frontend web-app (NextJS).

Note

Note: See our Reading List for links to documentation on our open-source tech stack.

Contributing from outside the team?

The clone commands below use the upstream repositories. If you're an external contributor, fork first and clone your fork instead β€” you won't have push access to the upstream repos.

Setting up on Windows?

Windows needs a few extra steps first. Start with Windows Setup β€” it sets up WSL and installs everything in Prerequisites for you β€” then continue with Setup inside WSL.

Prerequisites

  1. Install Task.

  2. Install Docker.

  3. Install Git LFS.

  4. Install pnpm. pnpm will select the Node.js version required by the frontend.

  5. Install prek.

Setup

Run these steps on macOS, on Linux, or inside WSL on Windows.

Backend

Follow the steps below to get a local development environment running.

  1. Clone the https://github.com/agency-fund/evidential-be repository:

    gh repo clone agency-fund/evidential-be
    cd evidential-be
    
  2. Set up the prek git hooks in your local checkout:

    uv run prek install
    
  3. Install dependencies (Atlas, uv, Python dependencies) by running:

    git lfs install
    task install-dependencies
    
  4. Run the unit tests:

    task test-airplane
    
  5. Get familiar with the task runner. Most of the commands you will run are defined in Taskfile.yml. Run:

    task --list
    
  6. Start the backend server:

    task start-airplane
    

    This will start the server at http://localhost:8000. It stores its state in a local Postgres instance, running in Docker, on localhost:5499.

  7. Visit the local interactive OpenAPI docs page: http://localhost:8000/docs

Frontend

  1. Clone the https://github.com/agency-fund/evidential-fe repository:

    gh repo clone agency-fund/evidential-fe
    cd evidential-fe
    
  2. Set up the prek git hooks in your local checkout:

    prek install
    
  3. Confirm that pnpm selects and runs the required Node.js version:

    pnpm exec node --version
    
  4. Start the frontend server:

    task start-airplane
    

Windows Setup

  1. From Command Prompt, install WSL 2:

    wsl --set-default-version 2
    wsl --install -d ubuntu-24.04
    
  2. From Command Prompt, configure WSL networking so that servers running in WSL are reachable from Windows. Open the WSL config file:

    notepad %USERPROFILE%\.wslconfig
    

    Add the following, then save and close the file:

    [wsl2]
    networkingMode=mirrored
    dnsTunneling=true
    firewall=true
    autoProxy=true
    

    Restart WSL to apply the change, then reopen WSL when you're ready to continue.

  3. Install the prerequisites by running tools/windows_setup.sh from the backend repo:

    curl -fsSL https://raw.githubusercontent.com/agency-fund/evidential-be/main/tools/windows_setup.sh -o /tmp/windows_setup.sh
    chmod +x /tmp/windows_setup.sh
    /tmp/windows_setup.sh
    
  4. Go back to Setup and follow the remaining steps from inside WSL.