Skip to content

Integrate Astro project, update dependencies, and enhance documentation - #17

Merged
Mazze LeCzzare Frazer (mazze93) merged 13 commits into
claude/clarify-project-docs-241Jkfrom
main
May 23, 2026
Merged

Mazze LeCzzare Frazer (mazze93) merged 13 commits into
claude/clarify-project-docs-241Jkfrom
main

Conversation

@mazze93

@mazze93 mazze93 commented May 23, 2026

Copy link
Copy Markdown
Member

PR Checklist

  • I understand that changing component props means updating docs/components/contracts.md
  • PR description includes BEFORE/AFTER snippet for any API changes
  • CI passes (content validation build)

Notes

Add concise context + screenshots if relevant.

feat(site): integrate landing bundle as Astro project
Bumps the npm_and_yarn group with 1 update in the /site directory: [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro).


Updates `astro` from 4.16.19 to 6.1.7
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/astro@6.1.7/packages/astro)

---
updated-dependencies:
- dependency-name: astro
  dependency-version: 6.1.7
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…onfig

- Extract inline CSS/JS to assets/style.css and assets/main.js; remove
  all unsafe-inline from CSP (style-src 'self'; script-src 'self')
- Self-host Inter, Orbitron, Rajdhani as woff2 — no external CDN
- Apply design system v2 tokens: correct neon palette, Orbitron display
  font, Rajdhani headings, circuit board SVG background, ambient glow
  orbs, rainbow border on audit card, shield-padlock SVG logo
- Add _headers with HSTS, strict CSP, COOP/CORP/COEP, Permissions-Policy,
  cache rules (fonts immutable, HTML no-cache)
- Add _redirects: www → apex 301
- Fix heading order (h1→h2→h3), add meta description, add inline SVG
  favicon — Lighthouse scores 99/100/100/100
- Add .claude/launch.json for local preview server (npx serve :4321)
- Ignore lighthouse-report.json and .superpowers/ in .gitignore

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Mazze LeCzzare Frazer <mazze@mazzeleczzare.com>
Signed-off-by: Mazze LeCzzare Frazer <mazze@mazzeleczzare.com>
* docs: complete frozen component API contracts for BlogCard, PostMeta, Triptych

Signed-off-by: Mazze LeCzzare Frazer <mazze@mazzeleczzare.com>

* fix: address Codex review — correct PostMeta TagPill prop and Triptych aspect-ratio contract

Signed-off-by: Mazze LeCzzare Frazer <mazze@mazzeleczzare.com>

---------

Signed-off-by: Mazze LeCzzare Frazer <mazze@mazzeleczzare.com>
The repo previously deployed root index.html directly. Replace with the
Astro project (Tailwind, React islands, sitemap, multi-page routes).

- Remove: legacy index.html, assets/, securepride-document-engine.jsx,
  unused securepride-landing-bundle and zips, dockerhub-token-ci-pack.zip,
  empty site/ Astro scaffold
- Add: Astro 6.1.8 source under src/, public/, astro.config.mjs,
  tailwind.config.ts, postcss.config.mjs
- Update: wrangler.toml pages_build_output_dir = "dist"
- .npmrc: legacy-peer-deps=true (resolves @astrojs/react peer mismatch)
- .gitignore: track package-lock.json for reproducible CF Pages builds
- Keep: _headers, _redirects, .github/, docs/, README/CLAUDE/SECURITY/CONTRIBUTING

Pages build command updated via API to: npm install && npm run build
Output dir: dist (Astro static build)

Palette unchanged in this commit — neon → kintsugi retoken follows separately.
* chore: nondestructive hygiene — untrack sensitive files, harden .gitignore

Files removed from git index (still on disk, listed in docs/REVIEW-NEEDED.md):
- .claude/launch.json (machine-local absolute paths)
- docs/501(c)(3)-bundle.zip (IRS/incorporation docs — use encrypted vault)
- docs/Secure Pride Grant Materials.pdf (strategic/SOGI-adjacent)
- docs/certificate+signing.zip (potential key material — verify + rotate if needed)
- dockerhub-token-ci-pack.zip (CI bundle — inspect for live tokens)
- securepride-landing-bundle.zip (stale deployment snapshot)
- securepride-document-engine.jsx (orphan root-level duplicate)
- assets/incoming-2026-03-04/SecurePride Stonewall.png (staging artefact)

.gitignore now covers: .claude/, *.zip, docs/*.pdf, docs/brand/*.docx,
assets/incoming-*/, node_modules/, .wrangler/, **/.DS_Store

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: Docker Hub CI release pipeline + token rotation workflow

- Dockerfile: two-stage build (node:20-alpine → nginx:1.27-alpine)
  serving the Astro site on port 80 with gzip + immutable cache headers
- .github/workflows/release.yml: buildx multi-platform (amd64 + arm64)
  build + push on v* tags; tags :version, :major.minor, :latest
- .github/workflows/token-reminder.yml: monthly GH issue on the 1st
  reminding to rotate the Docker Hub PAT
- bin/gh-secrets-setup.sh: sets DOCKERHUB_USERNAME + DOCKERHUB_TOKEN secrets
- bin/dockerhub-login-test.sh: local credential sanity check
- bin/repo-init.sh: idempotent workflow pack installer
- docs/DOCKERHUB_TOKEN_WORKFLOW.md: full step-by-step playbook
- docs/REVIEW-NEEDED.md: marked dockerhub zip as resolved (clean — no live creds)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: document engine at /tools/document-engine

- site/astro.config.mjs: add @astrojs/react integration
- site/src/layouts/ToolLayout.astro: minimal full-screen tool layout
  with self-hosted fonts and print CSS (no header/footer chrome)
- site/src/components/tools/securepride-document-engine.jsx: adapted
  from docs/ original — Google Fonts removed, Source Sans 3 → Inter,
  JetBrains Mono → ui-monospace, print styles moved to layout
- site/src/pages/tools/document-engine.astro: Astro page wrapper
  using client:only="react" for full client-side hydration
- site/public/*.woff2: self-hosted Inter + Rajdhani (600, 700)
  served by Astro dev server; production uses /assets/fonts/

Build: 5 pages, 0 errors (blog collection warning is pre-existing)
URL:   securepride.org/tools/document-engine

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* chore: nondestructive hygiene — untrack sensitive files, harden .gitignore

Files removed from git index (still on disk, listed in docs/REVIEW-NEEDED.md):
- .claude/launch.json (machine-local absolute paths)
- docs/501(c)(3)-bundle.zip (IRS/incorporation docs — use encrypted vault)
- docs/Secure Pride Grant Materials.pdf (strategic/SOGI-adjacent)
- docs/certificate+signing.zip (potential key material — verify + rotate if needed)
- dockerhub-token-ci-pack.zip (CI bundle — inspect for live tokens)
- securepride-landing-bundle.zip (stale deployment snapshot)
- securepride-document-engine.jsx (orphan root-level duplicate)
- assets/incoming-2026-03-04/SecurePride Stonewall.png (staging artefact)

.gitignore now covers: .claude/, *.zip, docs/*.pdf, docs/brand/*.docx,
assets/incoming-*/, node_modules/, .wrangler/, **/.DS_Store

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: Docker Hub CI release pipeline + token rotation workflow

- Dockerfile: two-stage build (node:20-alpine → nginx:1.27-alpine)
  serving the Astro site on port 80 with gzip + immutable cache headers
- .github/workflows/release.yml: buildx multi-platform (amd64 + arm64)
  build + push on v* tags; tags :version, :major.minor, :latest
- .github/workflows/token-reminder.yml: monthly GH issue on the 1st
  reminding to rotate the Docker Hub PAT
- bin/gh-secrets-setup.sh: sets DOCKERHUB_USERNAME + DOCKERHUB_TOKEN secrets
- bin/dockerhub-login-test.sh: local credential sanity check
- bin/repo-init.sh: idempotent workflow pack installer
- docs/DOCKERHUB_TOKEN_WORKFLOW.md: full step-by-step playbook
- docs/REVIEW-NEEDED.md: marked dockerhub zip as resolved (clean — no live creds)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Signed-off-by: Mazze LeCzzare Frazer <mazze@mazzeleczzare.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…15)

Bumps the npm_and_yarn group with 1 update in the / directory: [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro).


Updates `astro` from 6.1.8 to 6.1.10
- [Release notes](https://github.com/withastro/astro/releases)
- [Changelog](https://github.com/withastro/astro/blob/main/packages/astro/CHANGELOG.md)
- [Commits](https://github.com/withastro/astro/commits/astro@6.1.10/packages/astro)

---
updated-dependencies:
- dependency-name: astro
  dependency-version: 6.1.10
  dependency-type: direct:production
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Updated the CLAUDE.md file to clarify project context, purpose, and workflow guidelines.

Signed-off-by: Mazze LeCzzare Frazer <mazze@mazzeleczzare.com>
Bumps the npm_and_yarn group with 1 update in the / directory: [devalue](https://github.com/sveltejs/devalue).


Updates `devalue` from 5.6.4 to 5.8.1
- [Release notes](https://github.com/sveltejs/devalue/releases)
- [Changelog](https://github.com/sveltejs/devalue/blob/main/CHANGELOG.md)
- [Commits](sveltejs/devalue@v5.6.4...v5.8.1)

---
updated-dependencies:
- dependency-name: devalue
  dependency-version: 5.8.1
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Comment thread api/contact.ts
}

// Basic email format check
if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
@mazze93
Mazze LeCzzare Frazer (mazze93) merged commit 5048199 into claude/clarify-project-docs-241Jk May 23, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants