Knowledge Islands Cloudflare hosting standard
Apply the house convention for serving a built static site on Cloudflare Workers Static Assets: one site Worker points at the build's dist/, may expose custom domains, enables observability, and is reached through the ki:site:* script family.
This is a base-agnostic standard skill selected by [skills.ki-repo-website-cloudflare] in .ki.toml. It owns only the deploy/serve delta for the static-site Worker. ki-repo-website owns the build that emits dist/; ki-engineering owns the toolchain. Companion Workers and general Cloudflare or Wrangler concerns route to the cloudflare and wrangler skills.
Use these references progressively:
- Cloudflare hosting standard — load for the normative model, seam, configuration, scripts, CI/CD, and ownership boundaries.
- Generated rubric — load when applying the mechanical and judgment criteria.
- Source list — load during REFRESH to recheck volatile Cloudflare facts and review dates.
- Worked exemplars — load only when a standard clause needs a concrete multi-artifact configuration or CI/CD illustration; examples do not define policy.
Model at a glance
{
"name": "<site-name>",
"compatibility_date": "<YYYY-MM-DD>",
"assets": { "directory": "./dist" },
"observability": { "enabled": true }
}
Three rules define the boundary:
- Use Workers Static Assets and
wrangler deploy; Pages is not a deployment target for new projects.
- Consume
[skills.ki-repo-website].site-root (default apps/site) and treat its dist/ as the build seam; the hosting table remains keyless.
- Keep the site assets-only: no
main means no server-side Worker code executes, making a published “no control plane” claim mechanically verifiable.
Composition
Selecting this capability runs its declared ki-repo-website prerequisite first. ki-engineering is independently coverage-detected, and the unscoped repository audit includes it when declared:
ki repo audit --skill ki-engineering --repo <repo>
ki repo audit --skill ki-repo-website --repo <repo>
ki repo audit --skill ki-repo-website-cloudflare --repo <repo>
The hosting catalogue reads repository evidence only. Cloudflare account and domain changes, Wrangler authentication or execution, Workers Builds configuration, preview, and deployment remain explicit report-only work outside hosted AUDIT and CONFORM.
Operating modes
| Mode |
Procedure |
| AUDIT |
Read and follow Mode AUDIT. |
| CONFORM |
Read and follow Mode CONFORM. |
| EDUCATE |
Read and follow Mode EDUCATE for the one-time hosting scaffold. |
| REFRESH |
Read and follow Mode REFRESH. |
| HELP |
Explain the purpose, invocation, modes, and off-ramps, then stop without inspecting or changing repository. |
With no mode, show HELP and, in an interactive session only, offer the mode choice and request the target shown by argument-hint.
Boundaries
- Shared
dist/ lifecycle → ki-repo-website; Eleventy content structure → ki-repo-website-content; React/Vite app structure → ki-repo-website-app.
- Companion Workers, APIs, Durable Objects, bindings, secrets,
wrangler dev, deploy flags, KV/R2/D1, crons, and queues → cloudflare / wrangler.
- Bun, lint/dependency families, TypeScript, and Biome →
ki-engineering.
- Universal repository files and repository configuration ownership →
ki-repo.
1---2name: ki-repo-website-cloudflare3description: Governs Cloudflare hosting for either Knowledge Islands website implementation using Workers Static Assets, never Pages as the deployment target. Audits `wrangler.jsonc`, rejects the legacy `pages_build_output_dir` marker and any `main` server entry, matches `assets.directory` to `dist/`, and covers Workers Builds, workers.dev, custom domains, and deploy scripts. Use when publishing a content site or interactive app on Cloudflare or diagnosing a static deployment failure. Depends only on the neutral `ki-repo-website` seam.4---56# Knowledge Islands Cloudflare hosting standard78Apply the house convention for serving a built static site on **Cloudflare Workers Static Assets**: one site Worker points at the build's `dist/`, may expose custom domains, enables observability, and is reached through the `ki:site:*` script family.910This is a base-agnostic standard skill selected by `[skills.ki-repo-website-cloudflare]` in `.ki.toml`. It owns only the deploy/serve delta for the static-site Worker. `ki-repo-website` owns the build that emits `dist/`; `ki-engineering` owns the toolchain. Companion Workers and general Cloudflare or Wrangler concerns route to the `cloudflare` and `wrangler` skills.1112Use these references progressively:1314- [Cloudflare hosting standard](references/standards-cloudflare-hosting.md) — load for the normative model, seam, configuration, scripts, CI/CD, and ownership boundaries.15- [Generated rubric](references/rubric.md) — load when applying the mechanical and judgment criteria.16- [Source list](references/sources.md) — load during REFRESH to recheck volatile Cloudflare facts and review dates.17- [Worked exemplars](references/exemplars.md) — load only when a standard clause needs a concrete multi-artifact configuration or CI/CD illustration; examples do not define policy.1819## Model at a glance2021```jsonc22{23 "name": "<site-name>",24 "compatibility_date": "<YYYY-MM-DD>",25 "assets": { "directory": "./dist" },26 "observability": { "enabled": true }27}28```2930Three rules define the boundary:31321. Use Workers Static Assets and `wrangler deploy`; Pages is not a deployment target for new projects.332. Consume `[skills.ki-repo-website].site-root` (default `apps/site`) and treat its `dist/` as the build seam; the hosting table remains keyless.343. Keep the site assets-only: no `main` means no server-side Worker code executes, making a published “no control plane” claim mechanically verifiable.3536## Composition3738Selecting this capability runs its declared `ki-repo-website` prerequisite first. `ki-engineering` is independently coverage-detected, and the unscoped repository audit includes it when declared:3940```text41ki repo audit --skill ki-engineering --repo <repo>42ki repo audit --skill ki-repo-website --repo <repo>43ki repo audit --skill ki-repo-website-cloudflare --repo <repo>44```4546The hosting catalogue reads repository evidence only. Cloudflare account and domain changes, Wrangler authentication or execution, Workers Builds configuration, preview, and deployment remain explicit report-only work outside hosted AUDIT and CONFORM.4748## Operating modes4950| Mode | Procedure |51| --- | --- |52| AUDIT | Read and follow [Mode AUDIT](references/mode-audit.md). |53| CONFORM | Read and follow [Mode CONFORM](references/mode-conform.md). |54| EDUCATE | Read and follow [Mode EDUCATE](references/mode-educate.md) for the one-time hosting scaffold. |55| REFRESH | Read and follow [Mode REFRESH](references/mode-refresh.md). |56| HELP | Explain the purpose, invocation, modes, and off-ramps, then stop without inspecting or changing repository. |5758With no mode, show HELP and, in an interactive session only, offer the mode choice and request the target shown by `argument-hint`.5960## Boundaries6162- Shared `dist/` lifecycle → `ki-repo-website`; Eleventy content structure → `ki-repo-website-content`; React/Vite app structure → `ki-repo-website-app`.63- Companion Workers, APIs, Durable Objects, bindings, secrets, `wrangler dev`, deploy flags, KV/R2/D1, crons, and queues → `cloudflare` / `wrangler`.64- Bun, lint/dependency families, TypeScript, and Biome → `ki-engineering`.65- Universal repository files and repository configuration ownership → `ki-repo`.