Appearance
Cloudflare Pages deployment
Production target
| Item | Value |
|---|---|
| Cloudflare account | [email protected] |
| Pages project | escape-house-wiki |
| Production branch | main |
| Stable address | https://escape-house-wiki.pages.dev/ |
| Upload directory | site/public |
The Pages address is publicly reachable. Generated responses carry X-Robots-Tag: noindex, nofollow, but that is not access control.
Files and build
- Edit the canonical Markdown in the repository root and
docs/. site/scripts/sync-docs.mjsprepares that Markdown for VitePress.- VitePress builds the knowledge base under
site/public/docs/. site/scripts/prepare-pages.mjsadds the root redirect and Pages headers.site/contentandsite/publicare generated and must not be edited or committed.
Local validation
From site/, run:
bash
npm ci
npm run release:checkThe release check synchronizes the Markdown, builds the documentation and Pages files, and tests the rendered output.
For an optional documentation preview, run npm run dev and open the local address it prints.
First-time project creation
Wrangler must report the intended Cloudflare identity before any write:
bash
cd site
npx wrangler whoamiProceed only when the output identifies [email protected]. Create the project once:
bash
npx wrangler pages project create escape-house-wiki --production-branch mainDo not repeat project creation for routine releases.
Routine deployment
Validate and commit the exact source first. From site/, deploy that commit with Wrangler:
bash
npm ci
npm run release:check
npx wrangler whoami
npx wrangler pages deploy public \
--project-name escape-house-wiki \
--branch main \
--commit-hash "$(git rev-parse HEAD)" \
--commit-message "$(git log -1 --pretty=%s)" \
--commit-dirty=falseThe identity check must show [email protected], and the working tree should be clean. After deployment, verify both the latest Cloudflare record and the stable address:
bash
npx wrangler pages deployment list --project-name escape-house-wiki
curl -I -L https://escape-house-wiki.pages.dev/A release is complete only when the deployment succeeds and the stable address serves the new version.