Skip to main content
ThinkEx reads runtime configuration from Cloudflare bindings, environment variables, and local .dev.vars files. Infisical is the shared secret source for the core team, but it is not required to run the app locally.

Required to Run Locally

VariablePurpose
BETTER_AUTH_SECRETSigns auth sessions
BETTER_AUTH_URLCanonical local app origin, usually http://localhost:3000

Optional Secrets

VariableFeature
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRETGoogle sign-in
AI_GATEWAY_API_KEYAI chat and title generation
AUTUMN_SECRET_KEYAI usage analytics
FIRECRAWL_API_KEYWeb search and URL/PDF extraction
TCC_API_KEYAgent observability export
LLAMA_CLOUD_API_KEYDocument extraction
Declared but unset secrets do not stop local startup. The matching feature fails or stays disabled when invoked.

Secret Declaration

wrangler.jsonc declares every Worker secret under secrets.required. In local development, only names declared there are loaded from .dev.vars, .env, or process.env.
If you add a new secret, add its name to wrangler.jsonc; otherwise it may never reach the Worker in local development.

Guest Sign-In

Local development shows a Continue as guest button. Automation can create the same anonymous session directly:
curl -i -c .auth.cookies -b .auth.cookies \
  -H "Content-Type: application/json" \
  -X POST "$APP_ORIGIN/api/auth/sign-in/anonymous" -d '{}'
Reuse the cookie jar for follow-up requests. For the lower-level repo note, see ENVIRONMENT.md.