Wellfed Docs
well-fed.dev

Server and web

well-fed.dev

This page is for maintainers of the project's landing page. The site is one prerendered page in src/web/apps/site, served as static files by a Cloudflare Worker.

It speaks to two readers: owners who want cloud-free feeding later, and tinkerers who can help now. It is as honest as the README about what works.

What it is#

Area Choice
Build SvelteKit 3 with adapter-static; every route prerendered, csr = false, so the page ships no JavaScript
Style The tokens and @wellfed/ui's base, following the system's light or dark. Typography and hairlines do the work: no product renders, gradients, cards or badges
Picture The hero's route diagram (where one feed command travels, stock against Wellfed), drawn in HTML so it reflows on a phone
Brand The favicon, lockups and theme colors are imported from assets/brand/, never copied
Requests None off its own origin: no analytics, CDN or web fonts. static/_headers sets a CSP that allows only 'self'
Tests svelte-check, ESLint and Prettier with the workspace, and a Playwright smoke test against vite preview at desktop and phone width

Keeping it true#

The claims live in src/lib/status.ts:

  • the three setup steps, each with its stage (available now, works on the bench, in progress, planned);
  • the stock and Wellfed comparison. Its stock column comes from the stock firmware notes, and each Wellfed entry carries a stage.

Update it by hand when a status changes on the roadmap. Set UPDATED to the day. Never claim more than the roadmap and the stock notes do. Outbound links are in src/lib/links.ts.

Social card#

static/og.png is rendered from assets/brand/og.svg. Inter must be installed for the text:

rsvg-convert -w 1200 -h 630 assets/brand/og.svg -o src/web/apps/site/static/og.png

Develop#

pnpm -C src/web install
pnpm -C src/web generate
pnpm -C src/web --filter @wellfed/site dev      # http://localhost:5173
pnpm -C src/web --filter @wellfed/site build    # writes src/web/apps/site/build/
pnpm -C src/web --filter @wellfed/site e2e

make ui and make check-web build, check and test the site with the other apps.

Deploy#

Cloudflare Workers Builds builds from the repository with its Git integration; nothing in the repository holds a Cloudflare credential. The Worker has no script: wrangler.jsonc serves the prerendered build as static assets, and static/_headers sets the response headers. The project settings:

Setting Value
Worker name wellfed (must match name in wrangler.jsonc)
Production branch master
Build command corepack enable && pnpm -C src/web install --frozen-lockfile && pnpm -C src/web generate && pnpm -C src/web --filter @wellfed/site build
Deploy command npx wrangler@4.152.0 deploy --config src/web/apps/site/wrangler.jsonc
Non-production branch deploy command npx wrangler@4.152.0 versions upload --config src/web/apps/site/wrangler.jsonc
Environment NODE_VERSION=22.18.0
Custom domain well-fed.dev

Every other branch gets a preview URL from the same settings, which is the place to review a change before it reaches master.