Prod needs twig.cache:true / debug:false / auto_reload:false, but those values break local dev, so they must not live in the committed system.yaml. Add a per-environment override deployed only to the server via Grav's environment://config (user/env/<host>/config/system.yaml): - deploy/env/prod/system.yaml — version-controlled source of truth. - make remote-apply-env-prod — writes it to the server + clears cache; resolves the host in-recipe (WEB_HOST || REMOTE_HOST) to avoid the recursive-make empty-export trap. - remote-diag now shows the deployed override + whether twig cache is populating, so prod-mode can be verified not assumed. - CLAUDE.md §1 rewritten: never flip committed system.yaml; use the override. Backlog updated (twig prod-mode + /post login-gate done; note stale .env.prod GRAV_VERSION and pending git-sync). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Np4cMQLF77i664CAQXySzU
21 lines
891 B
YAML
21 lines
891 B
YAML
# Production-only Grav config overrides.
|
|
#
|
|
# Deep-merged OVER the committed user/config/system.yaml via Grav's
|
|
# per-environment config mechanism: on the server this file is deployed to
|
|
# <webroot>/user/env/<hostname>/config/system.yaml
|
|
# and Grav's `environment://config` stream (keyed on the request hostname)
|
|
# layers it on top of `user://config`.
|
|
#
|
|
# These values are deliberately NOT in the committed system.yaml because they
|
|
# would break local development (see CLAUDE.md §1 — dev keeps twig.cache:false
|
|
# so theme edits take effect immediately). Prod is the only place they apply.
|
|
#
|
|
# Deploy with: make remote-apply-env-prod
|
|
# The user/env/ tree is outside the content repo's tracked folders, so it is
|
|
# NOT restored by content-push / git-sync / remote-fetch-content — re-run the
|
|
# target above after any fresh install.
|
|
twig:
|
|
cache: true
|
|
debug: false
|
|
auto_reload: false
|