Repository navigation
reference 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.
| 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). |
| 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. |
| 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. |
| 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.
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.
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 |
| 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. |
| 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.
Open-source prompt engineering and multi-LLM tooling by Sentra Artificial Intelligence.
MyPrompt develops practical approaches to prompt engineering, multi-LLM optimisation, reusable prompt systems, and AI-native workflows — with an emphasis on structured, interoperable, and real-world AI use.
Built in Indonesia as part of the Sentra Artificial Intelligence ecosystem.
Sentra Artificial Intelligence · Source Repository · Official Website
Dr Ferdi Iskandar — Creator & Maintainer
LinkedIn ·
ORCID ·
Hugging Face ·
Kaggle ·
Medium ·
Substack ·
X ·
Threads
MyPrompt · Sentra Artificial Intelligence · Indonesia