{% extends "base.html" %} {% block title %}Set up — e2er{% endblock %} {% block content %}

{% if exists %}Settings{% else %}Set up e2er{% endif %}

Choose how e2er reaches an AI model, and where your literature and data are. Everything is saved in {{ env_path }}, which only you can read. You can change it here later.

{% if not session_ok %}
{{ session_problem | ticks }}
{% endif %}
{# ── AI provider ─────────────────────────────────────────────────────── #}

AI provider

{{ "Ready" if any_backend else "None found on this computer" }}

Claude Code, Codex and Gemini run on your own subscription: no extra bill, a study uses part of your plan. The Anthropic and OpenRouter APIs bill per use; every study has a spending limit.

{% if not any_backend %}

e2er needs one of these. Install or sign up, then press “Check again”.

{% endif %}
{% for b in backends %} {% endfor %}

Check again

{# ── Literature ──────────────────────────────────────────────────────── #}

Literature

{{ "Chosen" if literature else "Optional" }}

A .bib file, a Zotero export (a .bib with a files folder), or a folder of PDFs. Without it, e2er searches OpenAlex for literature. Your PDFs never leave this computer.

{{ literature or "Nothing chosen" }}

{# ── Data ────────────────────────────────────────────────────────────── #}

Data folder

{{ "Chosen" if data_dir else "Optional" }}

A folder with your datasets (csv, tsv, xlsx, parquet, json, txt). e2er copies them into each study. Without it, e2er fetches public data (Yahoo Finance, and FRED with a key).

{{ data_dir or "Nothing chosen" }}
{# ── Docker ──────────────────────────────────────────────────────────── #}

Docker

{{ "Installed" if docker.ok else "Not installed" }}

{% if docker.ok %}Found. The replication template runs published code inside it. {% else %}Only the replication template needs Docker; everything else works without it. Get Docker Desktop.{% endif %}

{# ── Optional keys ───────────────────────────────────────────────────── #}

Optional keys

Optional

For data sources that need an account. Leave a field empty to keep what is stored.

{% for k in optional_keys %} {% endfor %}

Checks

Running the checks…

Start a study

{% endblock %}