Terminal Split Hero

Built for your agent

Stopdescribingpages.Askforthem.

One command connects your coding agent to a library of finished sections. Ask for a pricing page and it arrives already designed, responsive and in your theme.

terminal

npx beste-agent@latest

Connected to Claude Code

1,500 sections available over MCP

Ask your agent for a page. It is already built.

About this block

Terminal Split HeroPRO

A split install hero: on the left an eyebrow, a serif headline that settles in word by word, an intro and two sliding-marker pills; on the right an ink terminal card that drifts on scroll, prints the install command and its output line by line, ends on a blinking cursor and copies the command from its title bar.

Hero190: Terminal Split Hero

A split hero that answers its own headline: text on the left, and on the right an ink terminal that types the command, prints its output line by line and ends on a blinking cursor.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/hero190?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/hero190?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/hero190.tsx plus the button22 sliding-marker pill and the text1 word stagger it uses.

Quick start

The installed file exports hero190Demo alongside the block: the exact props behind the preview above. Spread it to get a working hero in one line.

tsx
import { Hero190, hero190Demo } from "@/components/beste/block/hero190";

export default function Page() {
  return <Hero190 {...hero190Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Hero190 } from "@/components/beste/block/hero190";

export default function Page() {
  return (
    <Hero190
      eyebrow="Built for your agent"
      heading="Stop describing pages. Ask for them."
      description="One command connects your coding agent to a library of finished sections."
      buttons={[{ label: "See what it builds", href: "/blocks" }]}
      terminal={{
        title: "terminal",
        command: "npx your-cli@latest",
        output: ["Connected to Claude Code", "1,500 sections available"],
        copyLabel: "Copy command",
        copiedLabel: "Copied",
      }}
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstringSmall-caps line above the headline
headingstringHeadline, rendered as the page h1 through Text1
descriptionstringParagraph under the headline
buttonsActionButton[][]Pill actions under the intro
terminalTerminalThe card on the right, including the command it copies
classNamestringExtra classes for the outer <section>
ts
type Terminal = {
  title: string;
  command: string;
  output: string[];
  copyLabel: string;
  copiedLabel: string;
};

type ActionButton = {
  label: string;
  href: string;
  tone?: "primary" | "light" | "dark" | "outline";
};

Behavior notes

  • Output lines appear on a fixed cadence rather than a real typing simulation: the command lands first, then each line 0.55 seconds after the one above it, so the rhythm holds however many lines you pass.
  • The blinking cursor is an infinite opacity loop that stops entirely under reduced motion, since a caret that never settles is the kind of movement the setting exists to remove.
  • The card drifts from 4 percent to minus 6 percent across the whole scroll, a slower travel than a background photograph because the card is foreground and should not appear to slide.
  • The panel keeps a min-h so the section does not grow taller as the lines arrive, which would otherwise push the page down while someone is reading it.
  • Copying happens from the title bar rather than the command line, leaving the printed command as text you can select by hand.
  • The three dots in the title bar are decorative and marked aria-hidden, so a screen reader gets the terminal title and nothing else.
  • The whole terminal prop is optional, which collapses the block to a single-column hero.

More Hero blocks

View all Hero
PRO

hero192

Half Photo Command Hero

A full-height split install hero: text on the left with an eyebrow, a serif headline that settles in word by word, an intro, a rounded command pill that copies the install command on click and two sliding-marker pills; on the right an edge-to-edge photograph that blurs in and drifts on scroll with a small caption.

PRO

hero101

Split Hero with Terminal Card

Fullscreen split hero with content left and realistic terminal/CLI card right over inset background video

PRO

hero188

Single Command Hero

The most minimal install hero: a serif headline that settles in word by word, then one rounded command pill that copies the install command on click and confirms with a tick, and a quiet note with a docs link. No image, no buttons.

PRO

hero166

Split Headline Hero

An editorial hero that breaks its display heading across two lines and slots a square image tile floating a live payment card into the gap, with the paragraph and action landing under a hairline.

PRO

hero181

Benefits Split Hero

A split hero: eyebrow, a serif headline that settles in word by word, an intro, three ringed check benefits and a sliding-marker pill on the left, and a portrait photograph drifting inside its frame on the right.

PRO

hero195

Three Screens Hero

A centred install hero with a serif headline that settles in word by word, an intro, a rounded command pill that copies the install command on click beside a sliding-marker pill, and under it three portrait page previews that blur in as they load and rise at different speeds on scroll, the middle one sitting higher, each with a small caption.