From e5e0446c64b8e4099dc192cdb0752f90a79ada87 Mon Sep 17 00:00:00 2001 From: Eric Rodriguez Date: Sat, 6 Jun 2026 09:45:17 +0200 Subject: [PATCH] feat(web): add an install section to the home page A four-card Install band (npm / Homebrew / Scoop / Docker) with copyable commands and OS tags, placed before the CTA. The hero keeps the single npm one-liner; this section surfaces all channels added in 0.11. --- website/src/pages/index.astro | 50 +++++++++++++++++++++++++++++++++++ website/src/styles/home.css | 23 ++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/website/src/pages/index.astro b/website/src/pages/index.astro index 1cb7d13..70cf5ea 100644 --- a/website/src/pages/index.astro +++ b/website/src/pages/index.astro @@ -245,6 +245,56 @@ const description = + +
+
+
+

Install

+

Get it your way.

+

npm is the source of truth — Homebrew, Scoop, and Docker track every release.

+
+
+
+
npmany OS · Node 20+
+
+ $npm i -g @wavyx/hscli + +
+
+
+
HomebrewmacOS · Linux
+
+ $brew install wavyx/tap/hscli + +
+
+
+
ScoopWindows
+
+ $scoop install hscli + +
+
+
+
Dockerno local Node
+
+ $docker run ghcr.io/wavyx/hscli + +
+
+
+

Then authenticate and run hscli conv list — or see the installation guide.

+
+
+
diff --git a/website/src/styles/home.css b/website/src/styles/home.css index 1eeb49b..9d70da4 100644 --- a/website/src/styles/home.css +++ b/website/src/styles/home.css @@ -125,6 +125,29 @@ @media (max-width: 980px) { .feature-grid { grid-template-columns: repeat(2, 1fr); } } @media (max-width: 560px) { .feature-grid { grid-template-columns: 1fr; } } +/* ============================================================ + INSTALL + ============================================================ */ +.install-band { padding: 64px 0; border-top: 1px solid var(--border); } +.install-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; } +.install-card { + background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); + padding: 20px; display: flex; flex-direction: column; transition: all var(--dur) var(--ease); +} +.install-card:hover { border-color: var(--accent-line); transform: translateY(-2px); box-shadow: var(--shadow-md); } +.install-card__head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; } +.install-card__name { font-family: var(--font-display); font-weight: 600; font-size: 1.05rem; color: var(--fg); letter-spacing: -.01em; } +.install-card__os { font-family: var(--font-mono); font-size: 11px; color: var(--fg-subtle); white-space: nowrap; } +.install-card .install-line { margin-top: 14px; display: flex; width: 100%; gap: 8px; font-size: 12.5px; padding: 9px 8px 9px 12px; } +.install-card__cmd { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; min-width: 0; } +.install-card .install-line button { margin-left: auto; flex: none; } +.install-note { text-align: center; margin: 28px 0 0; font-size: 14px; color: var(--fg-muted); } +.install-note a { color: var(--accent); text-decoration: none; } +.install-note a:hover { text-decoration: underline; } +.install-note code { font-family: var(--font-mono); font-size: 12.5px; color: var(--accent); } +@media (max-width: 980px) { .install-grid { grid-template-columns: repeat(2, 1fr); } } +@media (max-width: 560px) { .install-grid { grid-template-columns: 1fr; } } + /* ============================================================ RECIPES (coral is the energy accent here) ============================================================ */