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
eyebrowstring–Small-caps line above the headline
headingstring–Headline, rendered as the page h1 through Text1
descriptionstring–Paragraph under the headline
buttonsActionButton[][]Pill actions under the intro
terminalTerminal–The card on the right, including the command it copies
classNamestring–Extra 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

PRO

hero279

Install Snippet Split Hero

PRO

hero101

Split Hero with Terminal Card

Get Pro access