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 |
| 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
/demowith gameplay under/demo/....
With the flag off (default), the app behaves as a game and the marketing routes are not mounted.