Files
3031023-xyz-public/README.md
T

51 lines
2.0 KiB
Markdown

# Happy Tails Astro pilot
This repository is a static Astro pilot for `3031023.xyz`. The existing
Cloudflare Pages site remains the rollback target while this branch is tested.
## Repository layout
- `sites/www/` is the primary-site content location; it serves `3031023.xyz`.
- `sites/blog/` is the separate `blog.3031023.xyz` sample site.
- `sites.json` is the operator-controlled manifest. It is not public intake.
- `src/` contains shared Astro presentation code.
- `schemas/` and `fixtures/` provide the Phase 1 JSON contract proof.
Blog posts and primary-site FAQs are now static Markdown collections with
validated frontmatter and draft filtering. CMS workflows, public sign-up
changes, n8n changes, and onboarding-worker changes remain out of scope.
## Local checks
Use Node 22.
```bash
npm ci
SITE_KEY=www npm run build:site
SITE_KEY=www npm run verify:build
SITE_KEY=blog npm run build:site
SITE_KEY=blog npm run verify:build
```
Each selected site builds to `dist/<site-key>/`. The Worker configurations use
only static assets and a custom 404 page. They contain no custom domains,
routes, account IDs, or secrets.
## Preview deployment
The Gitea workflows deploy scoped non-production Workers from every non-`main`
branch: `3031023-xyz-www-preview` for primary-site changes and
`3031023-xyz-blog-preview` for blog changes. Relevant primary-site pushes to
`main` deploy the existing `3031023-xyz-www` production Worker automatically.
Relevant blog pushes to `main` deploy the separate `3031023-xyz-blog`
production Worker automatically. Both production workflows deploy static assets
only.
It uses the existing `CF_API_TOKEN` and `CF_ACCOUNT_ID`. The token retains the
Pages permissions needed for the `main` rollback target and now also permits
the non-production Worker preview deployment.
Routine jobs do not configure DNS or custom domains.
Production hostname attachment and the `www` redirect are manual,
operator-controlled cutover steps. See `docs/pilot-baseline.md` for the
rollback record.