Skip to content

feat(frontend): replace landing with open-source ecosystem page - #436

Merged
ubercylon8 merged 1 commit into
mainfrom
feature/ecosystem-landing
Sep 4, 2026
Merged

feat(frontend): replace landing with open-source ecosystem page#436
ubercylon8 merged 1 commit into
mainfrom
feature/ecosystem-landing

Conversation

@ubercylon8

Copy link
Copy Markdown
Collaborator

Summary

Rebuilds the public landing page (served as the whole app in marketing mode and at / in app mode) from the ecosystem design handoff. ProjectAchilles is now presented as an open-source ecosystem of six tools (f0_csv, f0_library, f0_hpot, f0_pentest, f0_sectools, hx) across three layers (Validate, Deceive, Test), powered by local AI agents. Copy is verbatim from the handoff README, with a full Spanish set in the existing COPY[lang] i18n pattern. LimaCharlie is not mentioned anywhere (enforced by test).

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that changes existing functionality)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • Security fix

Module(s) Affected

  • Browser (test library, MITRE matrix)
  • Analytics (Elasticsearch, dashboards, Defender)
  • Agents (enrollment, tasks, scheduling, heartbeat)
  • Build & Settings (compilation, certificates, config)
  • Core/Infrastructure (auth, middleware, deployment)
  • Documentation

Related Issues

None.

Changes Made

  • New sections under frontend/src/pages/landing/: hero with coverage ledger and cycling terminal over a cursor-reactive dot-field canvas, marquee, manifesto, why-it-matters bars, hover-driven ecosystem map with sticky detail panel, tools grid, local-AI boundary diagram, contribute rows, roadmap, footer
  • i18n.ts rewritten (EN verbatim from handoff, ES added); language-independent data in content.ts
  • Scroll reveal via IntersectionObserver with a getBoundingClientRect fallback, staggered load animations, prefers-reduced-motion respected (reveals, marquee, cursor, pulses, canvas loop)
  • Fonts switch to Sora / IBM Plex Mono / IBM Plex Sans on the Google Fonts link (Orbitron and Rajdhani had no other consumers)
  • App mode keeps the "sign in →" CTA to /sign-in; marketing mode links to GitHub Discussions
  • Small en / es toggle floats left of the nav CTA, out of flow so the centred link row keeps its reference position
  • Light responsive pass below 1100px and 720px (nav, ledger columns, grids), which the handoff left untuned
  • The two half-width test nodes (f0_pentest, f0_sectools) size their name from the box width and may break after f0_, so they never overflow
  • Superseded frontend/design_handoff_achilles_landing/ bundle removed
  • New test landing/__tests__/i18n.test.ts: EN/ES structural parity, no LimaCharlie, ledger/contribute row alignment, edge symmetry, key EN strings verbatim

Fidelity verification

Headless Chromium (reduced motion, seeded Math.random) full-page pixel diff against the reference HTML at 1440×900: page height identical (7,705px); the only differing pixels are the blinking cursor, the two pulsing decoy dots, the marquee scroll phase and the language toggle. Hover states on map nodes, tool cards, contribute rows, buttons and nav CTA match the reference's computed styles and screenshots.

Build Verification

  • Frontend: npm run build passes
  • Backend: npm run build passes (unchanged)
  • Frontend tests pass (47 files, 418 tests)
  • Backend tests pass (unchanged)
  • Go agent builds (if changed)
  • Docker Compose builds (if infrastructure changed)

🤖 Generated with Claude Code

Rebuild the public landing (marketing mode and "/" in app mode) from the
ecosystem design handoff: six tools across Validate / Deceive / Test with
local AI agents. Copy is verbatim from the handoff README, with a full
Spanish set in the existing COPY[lang] i18n pattern.

- New sections: hero with coverage ledger and cycling terminal over a
  cursor-reactive dot-field canvas, marquee, manifesto, why-it-matters
  bars, hover-driven ecosystem map with sticky detail panel, tools grid,
  local-AI boundary diagram, contribute rows, roadmap, footer
- Scroll reveal (IntersectionObserver + rect fallback), staggered load
  animations, prefers-reduced-motion support
- Fonts switch to Sora / IBM Plex Mono / IBM Plex Sans (Orbitron and
  Rajdhani had no other consumers)
- App mode keeps the "sign in" CTA; marketing mode links to Discussions
- Verified pixel-identical to the reference HTML at 1440px outside
  animation phase; light responsive pass below 1100px and 720px
- Remove the superseded achilles_landing design handoff bundle
- Add i18n parity test (EN/ES structure, no LimaCharlie mentions)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@ubercylon8
ubercylon8 requested a review from a team September 4, 2026 21:04
@vercel

vercel Bot commented Sep 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
blog Ready Ready Preview Sep 4, 2026 9:05pm UTC
projectachilles-io Ready Ready Preview Sep 4, 2026 9:05pm UTC
wiki Ready Ready Preview Sep 4, 2026 9:05pm UTC

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown

Semgrep SAST Results

No security findings. All checks passed.

@ubercylon8
ubercylon8 merged commit 5f66b6e into main Sep 4, 2026
17 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.

1 participant