Skip to content

reference configuration

Claude edited this page Sep 23, 2026 · 2 revisions

Configuration

MyPrompt reads configuration from the process environment. .env.example lists every name with an empty value and a comment that values must never be committed. desktop/main.ts loads .env and .env.local through @next/env, then copies a fixed whitelist of provider keys into process.env; values are never printed.

Values are operator-managed and never committed. Never read or commit .env.

Database and encryption

Variable Purpose
DATABASE_URL Prisma datasource url for PostgreSQL in prisma/schema.prisma.
DIRECT_URL Prisma datasource directUrl, used for migration traffic. db:generate falls back to DATABASE_URL when unset.
ENCRYPTION_KEY Key material for the AES-256-GCM encryption of stored provider API keys (encryptedKey / iv / authTag on the UserApiKey model).

App and error reporting

Variable Purpose
NEXT_PUBLIC_APP_URL Public base URL of the app.
NEXT_PUBLIC_SENTRY_DSN Sentry DSN. When set, lib/logger.ts captures exceptions to Sentry in addition to console output.

Supabase auth

Variable Purpose
NEXT_PUBLIC_SUPABASE_URL Supabase project URL.
NEXT_PUBLIC_SUPABASE_ANON_KEY Supabase anonymous key.
SUPABASE_SERVICE_ROLE_KEY Supabase service-role key for privileged auth operations.

LLM providers

Variable Purpose
OPENAI_API_KEY OpenAI key.
OPENAI_BASE_URL Shared OpenAI-compatible base URL.
OPENAI_MODEL Shared OpenAI model.
ANTHROPIC_API_KEY Anthropic (Claude) key.
XAI_API_KEY xAI (Grok) key.
MISTRAL_API_KEY Mistral key. Read by lib/llm/provider-registry.ts; not listed in .env.example.
QWEN_API_KEY Qwen key. Read by lib/llm/provider-registry.ts; not listed in .env.example.
OLLAMA_MODEL Local model name used by the OpenAI-compatible local provider.
LOCAL_MODEL Alternate local model name; consulted alongside OLLAMA_MODEL in lib/llm/providers/openai.ts.

Defaults when no key is present come from lib/constants.ts: DEFAULT_PROVIDER is GROK, and DEFAULT_MODEL_MAP gives claude-sonnet-4-20250514 (CLAUDE), gpt-4o (OPENAI), mistral-large-latest (MISTRAL), qwen-plus (QWEN), grok-3-fast (GROK), and llama3 (LOCAL). PROVIDER_BASE_URLS sets the Qwen, Grok, and local base URLs.

OpenAI scope and lane overrides

lib/llm/provider-registry.ts resolves an OpenAI model and base URL from a precedence chain: a lane override wins over a scope override, which wins over the shared OPENAI_MODEL / OPENAI_BASE_URL. These names are read from the process environment and are not listed in .env.example.

Variable Scope
OPTIMIZER_OPENAI_MODEL, OPTIMIZER_OPENAI_BASE_URL Optimizer scope.
EVALUATOR_OPENAI_MODEL, EVALUATOR_OPENAI_BASE_URL Evaluator scope.
OPTIMIZER_INTERACTIVE_OPENAI_MODEL, OPTIMIZER_INTERACTIVE_OPENAI_BASE_URL Optimizer INTERACTIVE lane.
OPTIMIZER_DEEP_OPENAI_MODEL, OPTIMIZER_DEEP_OPENAI_BASE_URL Optimizer DEEP lane.

When the effective base URL matches OpenRouter and no lane or scope model is set, OPENROUTER_LANE_MODEL_FALLBACKS in lib/llm/constants.ts substitutes a per-lane route slug.

Evaluator weights

lib/evaluator/dimensions.ts reads four weights, each defaulting to 0.25, and normalizes them to a sum of one. If the total is zero or negative it falls back to 0.25 each. Not listed in .env.example.

Variable Dimension
EVAL_WEIGHT_STRUCTURE Structure
EVAL_WEIGHT_CLARITY Clarity
EVAL_WEIGHT_COMPLETENESS Completeness
EVAL_WEIGHT_SPECIFICITY Specificity

Email and payments

Variable Purpose
RESEND_API_KEY Resend API key for transactional email.
RESEND_FROM_EMAIL From address for Resend mail.
XENDIT_SECRET_KEY Xendit secret key.
XENDIT_CALLBACK_TOKEN Xendit callback verification token.

Desktop runtime

Variable Purpose
SENTRA_DESKTOP_DEBUG 1 enables renderer console, load-failure, and render-process-gone logging in desktop/main.ts.
SENTRA_DESKTOP_SMOKE 1 boots the shell, hides the window, and exits after load. Set by pnpm run desktop:smoke.
SENTRA_DESKTOP_PROVIDER Whitelisted desktop provider override, blanked by the e2e spec.
SENTRA_DESKTOP_USER_DATA Overrides Electron's userData directory; read in desktop/bootstrap.ts and set by e2e/transform.e2e.spec.ts.

See Debugging for how the desktop flags are used at runtime.

Clone this wiki locally