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

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

Choose where your studies are kept, how e2er reaches an AI model, and where your literature and data are. {% if exists %}The settings are saved in {{ env_path }}, which only you can read.{% endif %} You can change everything here later.

{% if not session_ok %}
{{ session_problem | ticks }}
{% endif %}
{# ── Studies folder ─────────────────────────────────────────────────── #}

Studies folder

{% if folder_kind == 'studies' %}Chosen{% elif folder_kind == 'project' %}This folder{% else %}Choose one{% endif %}
{% if folder_kind == 'project' %}

e2er uses the settings in the folder you started it in, {{ folder }}, and keeps this folder's studies and exports there.{% if studies_folder %} Your studies folder is {{ studies_folder }}; start e2er from any other folder to use it.{% endif %}

{% else %}

Your settings, your studies and the folders you export are kept here. e2er uses this folder from any folder you start it in.

{{ studies_folder or default_studies_folder }}
{% if folder_kind == 'studies' %}

Studies you already made stay where they are and keep working.

{% endif %} {% endif %}
{# ── AI provider ─────────────────────────────────────────────────────── #}

AI provider

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

Claude Code and Codex 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. Full runs are tested on Claude (Claude Code) and OpenAI (Codex CLI with a ChatGPT plan).

{% if not any_backend %}

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

{% endif %} {% macro provider_choice(b) %} {% endmacro %}
{% for b in backends %}{{ provider_choice(b) }}{% endfor %}
{% if other_backends %}
Other providers (not tested)

No full study has been run on these. Google ended Gemini CLI sign-in for individual accounts in October 2026, so Gemini needs a Gemini API key (GEMINI_API_KEY). Install the Gemini CLI, then paste a key from Google AI Studio below.

{% for b in other_backends %}{{ provider_choice(b) }}{% endfor %}
{% endif %}

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 %}

{# ── Publishing ─────────────────────────────────────────────────────── #}

Publishing

{{ "Set" if github_login else "Optional" }}

Your GitHub login names you as the owner of what you publish on e2er.org (its address is e2er.org/your-login/project).

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

Optional keys

Optional

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

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

Checks

Running the checks…

Start a study

{% endblock %}