lilith-platform.live/codebase/@features/cocotte-tech/DEPLOY.md

3.4 KiB
Raw Blame History

Cocotte-Tech Deploy Runbook

As of 2026-05-18: Cocotte-tech site is built but not yet deployed. Neither cocotte.io nor cocotte.dev is registered. This doc captures the deploy shape so the runbook is ready when DNS goes live.


What this feature ships

Two routes serving two future domains from the same Astro project:

Route Future domain Purpose
/ cocotte.io Platform-behind-the-brands marketing.
/oss/ cocotte.dev Open-source surface; package roster.

Architecture

Cocotte-tech uses Astro with the @cocotte/* package scope. Both pages use BaseLayout directly (no NavBar/SiteFoot — each page defines its own bespoke editorial chrome inline).

Package Role
@cocotte/astro-tokens CSS variable contract (theme-agnostic)
@cocotte/astro-chrome BaseLayout primitive
@cocotte/astro-config defineBrandSiteConfig() factory

Brand palette: shared between both pages (warm-dark cream-on-velvet, pink/cyan accents, Archivo Black display). Lives in src/styles/tokens.css.


Source of truth

Surface Path
Astro project codebase/@features/cocotte-tech/site/
cocotte.io page codebase/@features/cocotte-tech/site/src/pages/index.astro
cocotte.dev page codebase/@features/cocotte-tech/site/src/pages/oss/index.astro
Brand tokens codebase/@features/cocotte-tech/site/src/styles/tokens.css
Globals codebase/@features/cocotte-tech/site/src/styles/globals.css
Legacy HTML stubs codebase/@features/cocotte-tech/{web,oss}/index.html (kept until cutover)

Local build

``` cd codebase/@features/cocotte-tech/site bun install bun run build # → dist/index.html + dist/oss/index.html + sitemap bun run preview # localhost:4321 bun run dev # hot-reload dev server ```


Deploy (pending — cocotte.io + cocotte.dev not yet registered)

One Astro project, two domains. Each domains nginx vhost serves the slice of dist/ relevant to it:

``` cd codebase/@features/cocotte-tech/site bun install bun run build

cocotte.io — root index

rsync -avz --delete \ --include='/index.html' --include='/_astro/*' --include='/favicon.ico' \ --include='/sitemap.xml' --include='/robots.txt' \ --exclude='/oss/' --exclude='' \ dist/ \ vps-0:/var/www/cocotte-io/web/

cocotte.dev — OSS surface (rsync the /oss/ subtree as the domain root)

rsync -avz --delete \ dist/oss/ \ vps-0:/var/www/cocotte-dev/web/ rsync -avz \ dist/_astro/ \ vps-0:/var/www/cocotte-dev/web/_astro/ ```

The shared _astro/ chunk dir gets synced to both targets so each domain has self-contained asset URLs.

Nginx vhosts:

  • deployments/@domains/cocotte.io/nginx/prod.conf (not yet authored)
  • deployments/@domains/cocotte.dev/nginx/prod.conf (not yet authored)