diff --git a/site/astro.config.mjs b/site/astro.config.mjs index 2c9a4e72..39dd662d 100644 --- a/site/astro.config.mjs +++ b/site/astro.config.mjs @@ -84,18 +84,19 @@ export default defineConfig({ integrations: [ // simple-icons is named explicitly because astro-icon otherwise assigns an // installed collection `["*"]` and inlines the whole pack into the build's - // virtual module — 3,700 icons and ~4.7MB of source, to draw seven brand - // marks in Compat.astro. Collections left unnamed (tabler) keep `*`. + // virtual module — 3,700 icons and ~4.7MB of source, to draw five brand + // marks in Compat.astro. (Claude Code and Mistral AI moved to src/icons/ + // with a tightened viewBox — the simple-icons originals letterbox short of + // the full 24x24, so they render smaller than their siblings.) Collections + // left unnamed (tabler) keep `*`. icon({ include: { "simple-icons": [ - "claudecode", "openai", "opencode", "cursor", "githubcopilot", "kimi", - "mistralai", ], }, }), diff --git a/site/src/components/sections/ClosingCta.astro b/site/src/components/sections/ClosingCta.astro index 5097d81d..04c84486 100644 --- a/site/src/components/sections/ClosingCta.astro +++ b/site/src/components/sections/ClosingCta.astro @@ -8,7 +8,6 @@ import { BETA_FREE, FREE_WORKERS, PRO_WORKERS, YEARLY_OFFER_USD } from "../../da const stores = [ { icon: "tabler:brand-apple", label: "App Store" }, { icon: "tabler:brand-google-play", label: "Google Play" }, - { icon: "tabler:brand-apple", label: "Mac App Store" }, ]; ---
diff --git a/site/src/components/sections/Compat.astro b/site/src/components/sections/Compat.astro index e51f2e7f..bf86f8ec 100644 --- a/site/src/components/sections/Compat.astro +++ b/site/src/components/sections/Compat.astro @@ -3,72 +3,39 @@ import { Icon } from "astro-icon/components"; import Chip from "../ui/Chip.astro"; import Eyebrow from "../ui/Eyebrow.astro"; -// Keep in lockstep with bridge/src/agents/registry.ts. `handler: true` is what -// `handlerObservable` answers true for — a terminal session needs the agent's -// integration to POST /handler-event, a chat session needs a driver, and only -// these three clear either bar. -// -// They are also the only three that get signal. In this palette the accent means -// the system is doing something (see .live-cells in global.css, and the note in -// Eyebrow.astro on why section labels gave the colour up), so a row where all -// ten marks glow would promise the paid feature to six agents that cannot run -// it. The sentence below names the three in words too: colour reinforces here, -// it never carries alone. const agents = [ - { name: "Claude Code", icon: "simple-icons:claudecode", handler: true }, - { name: "Codex", icon: "simple-icons:openai", handler: true }, - { name: "opencode", icon: "simple-icons:opencode", handler: true }, + { name: "Claude Code", icon: "claudecode", color: "#D97757", w: 22 }, + { name: "Codex", icon: "simple-icons:openai" }, + { name: "opencode", icon: "simple-icons:opencode" }, { name: "Cursor", icon: "simple-icons:cursor" }, { name: "GitHub Copilot", icon: "simple-icons:githubcopilot" }, - { name: "Antigravity" }, - { name: "Kilo" }, + { name: "Antigravity", icon: "antigravity-color" }, + { name: "Kilo", icon: "kilocode" }, { name: "Kimi", icon: "simple-icons:kimi" }, - { name: "Mistral Vibe", icon: "simple-icons:mistralai" }, + { name: "Mistral Vibe", icon: "mistralai", color: "#FA520F", w: 20 }, ]; - -// Two rows rather than one that wraps: the chips are ~100px wider than the shell -// at every desktop width, so a single flex row breaks 9 + 1 and strands the -// dashed chip alone on the second line. Splitting on the distinction the row -// already encodes costs no words and fixes the orphan. -const supervised = agents.filter((a) => a.handler); -const unsupervised = agents.filter((a) => !a.handler); - -// Built from the same array the chips are, so the sentence cannot go on naming -// three while a fourth chip lights up. -const supervisedNames = supervised.map((a) => a.name); ---
The agent you already run -
-
- {supervised.map((a) => ( - - {a.icon - ? - : } - {a.name} - - ))} -
-
- {unsupervised.map((a) => ( - - {a.icon - ? - : } - {a.name} - - ))} - any terminal agent -
+
+ {agents.map((a) => ( + + {a.icon + ? /* w overrides the default square slot for marks whose real + aspect ratio is landscape (Claude Code, Mistral) — forcing + those into 14x14 just letterboxes them small again. */ + + : } + {a.name} + + ))} + any terminal agent

- Handler supervises {supervisedNames.map((name, i) => ( - <>{i === 0 ? "" : i === supervisedNames.length - 1 ? " and " : ", "}{name} - ))} today. Every other agent runs as a named session — terminal, files, git and alerts. + Run any of them through antgrid — terminal, files, git and alerts, no workflow change.

diff --git a/site/src/components/shell/AgentPane.astro b/site/src/components/shell/AgentPane.astro index 12a8b4c6..d1484840 100644 --- a/site/src/components/shell/AgentPane.astro +++ b/site/src/components/shell/AgentPane.astro @@ -27,8 +27,8 @@ const trail = [ { call: "Write(tests/checkout.test.ts)", result: "41 lines" }, ]; --- -
-
+
+