From 1275e58d554a71bba373de43c55afc7aba0b8b5b Mon Sep 17 00:00:00 2001 From: Sanil Chawla Date: Thu, 12 Feb 2026 00:00:10 -0800 Subject: [PATCH] docs(config): add deploy command, update README and CLAUDE.md Adds bun run deploy script, deployment docs to README, and updates CLAUDE.md with deployment info, current patterns, and rule to keep docs in sync with changes. --- CLAUDE.md | 36 +++++++++++++++++++++++++----------- README.md | 10 ++++++++++ package.json | 1 + 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 1ab0535..bd743d0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,8 +1,13 @@ # CLAUDE.md +## Important Rules + +- **Always update `CLAUDE.md` and `README.md`** when making changes that affect project structure, commands, deployment, tooling, or conventions. Keep them in sync. +- Do not include co-author lines or "Generated by" attributions in commit messages. + ## Project Overview -Lofty is a 501(c)(4) social welfare organization connecting creative professionals with the progressive movement. This repo is the **pre-launch landing page** — a single-page static site to collect email signups. +The Lofty Project is a 501(c)(4) connecting creative talent with leftist organizing. This repo is the **pre-launch landing page** — a single-page static site with interest signup links. **Stack:** Astro 5 (static output), TypeScript, Bun 1.3+ @@ -11,10 +16,13 @@ Lofty is a 501(c)(4) social welfare organization connecting creative professiona ``` src/ layouts/Layout.astro # HTML shell, meta tags, Typekit fonts, design tokens, CSS reset - pages/index.astro # All page sections (hero, pillars, signup form, footer), scoped CSS, client JS + pages/index.astro # All page sections (hero, pillars, signup, footer), scoped CSS, client JS public/ favicon.svg # Stylized "L" mark + hero-bg.webp/.jpg # Hero background image (WebP + JPEG fallback) astro.config.mjs # Static output, site URL, dev toolbar disabled +wrangler.toml # Cloudflare Pages deployment config +.gitea/workflows/ # CI/CD via Gitea Actions ``` Two-file architecture: `Layout.astro` (global concerns) + `index.astro` (all content). No component files — single page with no reuse opportunity. @@ -27,6 +35,16 @@ bun run build # Static build to dist/ bun run preview # Preview production build ``` +## Deployment + +Deploys to **Cloudflare Pages** via Gitea Actions on push to `main`. + +```bash +bun run deploy # Build + deploy to Cloudflare Pages (manual) +``` + +Config lives in `wrangler.toml`. CI requires `CLOUDFLARE_API_TOKEN` and `CLOUDFLARE_ACCOUNT_ID` as Gitea secrets. + ## Linting & Formatting Uses **Biome** for both linting and formatting. @@ -53,8 +71,6 @@ Format: `type(scope): subject` bun run commit # Guided commit via commitizen (cz-git) ``` -Do not include co-author lines or "Generated by" attributions in commit messages. - ## Git Hooks (Lefthook) - **pre-commit:** Biome check on staged files @@ -63,19 +79,17 @@ Do not include co-author lines or "Generated by" attributions in commit messages ## Design Tokens -Colors, typography, and spacing are defined as CSS custom properties in `Layout.astro`: +Colors, typography, spacing, and easing are defined as CSS custom properties in `Layout.astro`: - **Colors:** cream (#F5F0EB), dusty-rose (#C48B8B), slate-blue (#8A9BB5), navy (#1A1F2E) - **Fonts:** `neue-haas-grotesk-display` (body, weight 500), `meno-text` (display/headings) via Typekit - **Spacing/type:** Fluid scales using `clamp()` - -## Environment Variables - -- `PUBLIC_SIGNUP_ENDPOINT` — Form submission endpoint (defaults to `/api/signup`). See `.env.example`. +- **Easing:** `--ease-out-quart` (hover), `--ease-in-out` (layout/entrance animations) ## Key Patterns - All scroll animations use `.reveal` class + IntersectionObserver (threshold 0.1, -40px root margin) -- Hero animations are CSS-only with staggered delays via `--i` custom property +- Hero animations: line-by-line blur-in reveal with staggered delays, quartic ease-out +- Hover interactions use `--ease-out-quart`, layout/entrance animations use `--ease-in-out` - `prefers-reduced-motion` is detected via inline script and disables all animations via `.reduce-motion` class -- Form handler uses progressive enhancement — works as standard POST without JS +- Hero background image uses blur + desaturation + cream overlay for glassmorphic effect diff --git a/README.md b/README.md index ea608f8..34cb8e0 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,16 @@ bun run build # Static build to dist/ bun run preview # Preview production build ``` +## Deployment + +Deploys to Cloudflare Pages via Gitea Actions on push to `main`. To deploy manually: + +```sh +bun run deploy # Build + deploy to Cloudflare Pages +``` + +Requires `CLOUDFLARE_API_TOKEN` and `CLOUDFLARE_ACCOUNT_ID` (set as Gitea secrets for CI, or via `wrangler login` locally). + ## Linting & Formatting ```sh diff --git a/package.json b/package.json index 391a992..466170b 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "format": "biome format --write .", "format:check": "biome format .", "commit": "cz", + "deploy": "astro build && wrangler pages deploy", "prepare": "lefthook install" }, "dependencies": {