Files
hanzo.sh-native/index.html
T
zeekayandHanzo Dev 09b1fada81 the estate icon set, an og image that exists, and the brand typeface
Three things the page declared and did not have.

Icons. /favicon.ico and /apple-touch-icon.png were 404 — hanzo.ai serves both —
and /favicon.png was 8-bit RGB with no alpha, so the rounded corners of the tile
were filled pure white and read as four white nubs on a dark tab strip. The set
is now the estate's, byte-identical to the files hanzo.ai serves and to
hanzoai/brand assets/logo/favicon.svg: .ico (16/32/48), the theme-aware .svg,
16x16 and 32x32 PNGs, and a 180x180 apple-touch-icon. Nothing redrawn.
public/hanzo-logo.svg goes with them: a second copy of the mark published at a
public URL and referenced by nothing.

The card. og:image pointed at /og-image.svg, which is in no commit of this repo
— every social card resolved to a 404, and it was relative, which not every
scraper follows. It is now an absolute /og-image.png, 1200x630, built by
rsvg-convert from scripts/og-image.svg: the canonical five-path mark and copy
that is already on the page, nothing invented, plus the width/height/alt that
let a scraper lay it out without fetching.

The typeface. src/index.css @imported Geist from
cdn.jsdelivr.net/npm/[email protected]/dist/fonts/{geist-sans,geist-mono}/style.css,
a path that package has not had since 1.4. Both returned 404, Chromium reported
ERR_BLOCKED_BY_ORB, document.fonts.size was 0 — no @font-face rule ever
existed, and every visitor read this page in their system fallback. Measured
with the local Geist hidden from fontconfig: rendered width of the same string
was 1191px against a 1193px system fallback (identical), and is 1328px now.
Nothing surfaced it because a cross-origin fetch that fails is not a console
error. The two variable files ship from /fonts (OFL, public/fonts/OFL.txt).

Also: the footer said (c) 2016 and the installer served from the same URL said
2024-2026 hanzo ai inc. Two founding years and two spellings of the company on
one host. Both now say what hanzo.ai says — the current year, "Hanzo AI, Inc." —
and the installer header carries no year it cannot keep current. The two depth
slivers of the inline mark are 0.867 opacity, which is the canonical #DDDDDD
over black; they were 0.7.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-05 16:16:04 -07:00

41 lines
2.0 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- The estate icon set, byte-identical to hanzo.ai's: the five-path Hanzo
mark from hanzoai/brand (assets/logo/favicon.svg). The SVG is the one
browsers pick and it is theme-aware; the .ico is for legacy probes and
the two PNGs for anything that will not read either. -->
<link rel="icon" href="/favicon.ico" sizes="any" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="icon" href="/favicon-32x32.png" type="image/png" sizes="32x32" />
<link rel="icon" href="/favicon-16x16.png" type="image/png" sizes="16x16" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180" type="image/png" />
<title>hanzo.sh — install the Hanzo CLI</title>
<meta name="description" content="curl -fsSL hanzo.sh | sh — the Hanzo CLI and MCP server as native binaries. One prebuilt binary per tool, checksum-verified. No runtime, no package manager, no build step." />
<meta name="author" content="Hanzo AI, Inc." />
<meta property="og:title" content="hanzo.sh — install the Hanzo CLI" />
<meta property="og:description" content="One command. Native binaries, checksum-verified, nothing to build." />
<meta property="og:url" content="https://hanzo.sh" />
<!-- Absolute, and a PNG that exists. This pointed at /og-image.svg, which was
never in the repo: every social card resolved to a 404. -->
<meta property="og:image" content="https://hanzo.sh/og-image.png" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<meta property="og:image:alt" content="hanzo.sh — curl -fsSL hanzo.sh | sh" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="https://hanzo.sh/og-image.png" />
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.tsx"></script>
</body>
</html>