feat: add dedicated marketing site - #15
Merged
Merged
Conversation
Static GitHub Pages site under web/ following the AxeForge relay template (hero with a simulated aigate run -- claude / audit-log demo, isolation mechanism breakdown, cross-platform table, five-command guide, use cases grounded in the README, and the real install one-liner), full SEO head block (OG/Twitter tags with an og-image from docs/banner.png, canonical, SoftwareApplication JSON-LD), robots.txt/sitemap.xml, and the Pages deploy workflow.
Reduced em-dash density in marketing-site body copy from 10 instances (~1 per 458 chars, over the AI-cadence saturation threshold) down to zero real prose em-dashes, replacing them with parentheses, periods, semicolons, colons, and commas chosen per-sentence for readability. Full 5-dimension audit (accessibility, performance, theming, responsive, implementation integrity) verified at 4/4 each after this fix -- see PR description for the detailed breakdown, including two detector flags (grid-background, single-font) confirmed as pre-known false positives and a third (em-dash count) reduced to a residual of CLI double-dash flags and title-separator usage, not stylistic overuse.
✅ PR title follows the required formatCurrent title: |
Team credit should stay at the org level, not name a specific contributor -- more people than one work on AxeForging repos.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a dedicated AxeForge-branded marketing site for aigate at
web/, deployed via GitHub Pages.aigate run -- claudeterminal — real sandbox-active banner strings and a rotating blocked-event feed pulled from actual source strings, not fabricated copy.setup→init→deny/allow→run→doctor.SoftwareApplicationJSON-LD),robots.txt,sitemap.xml.AxeForging/aigateso forks don't accidentally deploy.Impeccable audit — final score: 20/20 (all 5 dimensions at 4/4)
Ran the mechanical detector + a full manual 5-dimension audit, fixed every verified real finding, then re-verified.
:focus-visible; clean h1→h2→h3 hierarchy; decorative logoalt="";prefers-reduced-motiondisables both looping animations and preserves state (3 seed feed lines still render, JS interval is what's paused, not the content).transform/opacityonly; hover transitions are one-shot paint-only (border-color/box-shadow); on-page images are tiny (6.8KB/9.3KB);font-display: optionalavoids FOIT/layout shift.var(--af-*)except two justified severity-status colors (info/warn dots in the live feed). Confirmed two real fonts in use by greppingaxeforge.css'sfont-familydeclarations (Inter via--af-font-sansfor body, JetBrains Mono via--af-font-monofor terminal/labels/code).scrollWidthvsclientWidth— zero page-level horizontal overflow at any width. Checked everygrid-template-columnsin the file for the bare-1fr-next-to-fixed-column bug class; all already useminmax(0, 1fr). The one intentionally wide element (isolation table) scrolls inside its own.table-scrollcontainer without leaking to the page.Verified detector false positives (not fixed, confirmed correct as-is)
codex-grid-background: the dot-grid hero background is the shared AxeForge brand kit's.technical-grid-style convention, used identically across gumshoe/heyra/rsvp-m5 — an intentional cross-site pattern, not AI slop.single-font: disproven by inspection —axeforge.cssdeclaresfont-family: var(--af-font-sans)onbody(Inter) andvar(--af-font-mono)on.terminal-window/code/labels (JetBrains Mono). Two real fonts, hierarchy carried by both family and weight/size.Real finding, fixed
—instances across 4,581 chars of visible body text (~1 per 458 chars) — over the detector's own AI-cadence saturation threshold. Rewrote all 10 to varied punctuation (parentheses, period, semicolon, colon, commas) chosen per sentence. Detector count dropped 21 → 11 post-fix; manual inspection confirms the residual 11 are 100% literal CLI double-dash flags rendered as visible<code>text (--unshare-net,--bind,--map-root-user, etc.), three genuine simulated-terminal-output strings (required by design to mirror real source strings), and the standard "Product — tagline"<title>convention — zero remaining stylistic prose em-dashes. This is a second, distinct, now-verified false positive for this page.Test plan
node detect.mjs --json web/index.htmlrun before and after fixesscrollWidth === clientWidthat all three widthsrelayflavor's token valuesaxeforge.cssfont-family declarations to settle the single-font flag