Documentation

Getting started

Configuration

Updated 2026-11-03

Configuration

Configuration is standard Laravel: .env values feed config/*.php. Never commit .env or any secret.

Application

Variable Purpose
APP_URL Public base URL
APP_ENV production on a live server
APP_DEBUG false on a live server
APP_KEY Generated by php artisan key:generate
THEME_PATH Active theme file, e.g. themes/neutral/theme.yaml
PRODUCT_SITE_ENABLED true on the kit sales site: marketing at the root, gameplay under /demo; false for games
CONTACT_EMAIL Recipient of the product contact form (optional; falls back to the mail sender)
KIT_VERSION Version shown to the client/build tooling

Database and queue

Variable Purpose
DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD MySQL connection
QUEUE_CONNECTION Queue driver (database, redis, ...)
CACHE_STORE, SESSION_DRIVER Cache and session drivers

Mail

Variable Purpose
MAIL_MAILER, MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD SMTP transport
MAIL_FROM_ADDRESS, MAIL_FROM_NAME Sender for transactional mail

Client and auth

Variable Purpose
CLIENT_API_BASE_URL API base URL embedded in the client build
AUTH_TOKEN_TTL_DAYS Sanctum token lifetime (default 30)
SANCTUM_STATEFUL_DOMAINS Hosts allowed to use cookie auth

Feature flags

Variable Purpose
MECHANICS_DYNAMIC_RULES Use the versioned mechanics profile
ABILITIES_ENABLED Enable abilities
QUIZ_ENABLED Enable the quiz module
CONTROL_PLANE_ENABLED Enable the signed control API
TIMED_TRIALS_ENABLED Enable timed quiz sessions

Some flags have per-game admin overrides in Feature settings. The environment flag is the global gate.

AI (optional)

Variable Purpose
OLLAMA_BASE_URL, OLLAMA_DEFAULT_MODEL, OLLAMA_FALLBACK_MODEL Local prose generation
SD_* Stable Diffusion Forge connection and process commands
TTS_COMMAND Optional local text-to-speech command

AI features are optional. The kit works without them.

Product site

PRODUCT_SITE_ENABLED=true enables:

  • the marketing site at /;
  • /features, /how-it-works, /editions, /docs, /contact, /changelog, /roadmap, /faq;
  • the demo sandbox at /demo with gameplay under /demo/....

With the flag off (default), the app behaves as a game and the marketing routes are not mounted.