A conversation, not a builder
Once the command has run, the agent already knows the library. Every request after that is one sentence long.
Add a pricing section with three plans and a yearly toggle.
Done. I placed a pricing section under the hero, in your theme, with the middle plan featured.
Make the yearly price the default.
Updated. The toggle now opens on yearly and the saving is shown per plan.
A split feature: on the left a serif headline that settles in word by word, an intro, a rounded pill that copies the install command on click and a sliding-marker pill; on the right a muted transcript panel where a short exchange with the agent appears message by message, one reply carrying a page preview that blurs in and drifts on scroll.
A split section that shows the product working: the case on the left, and on the right a short exchange with an agent where each message settles in on its own beat and one reply carries a page preview.
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.
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
npx shadcn add "https://ui.beste.co/r/feature293?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/feature293?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/feature293.tsx plus the button22 sliding-marker pill and the text1 word stagger it uses.
The installed file exports feature293Demo alongside the block: the exact props behind the preview above. Spread it to get a working section in one line.
import { Feature293, feature293Demo } from "@/components/beste/block/feature293";
export default function Page() {
return <Feature293 {...feature293Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Feature293 } from "@/components/beste/block/feature293";
export default function Page() {
return (
<Feature293
eyebrow="A conversation, not a builder"
heading="Say what the page needs. Watch it appear."
description="Every request after the install is one sentence long."
command="npx your-cli@latest"
copyLabel="Copy command"
copiedLabel="Copied"
buttons={[{ label: "See what it builds", href: "/blocks" }]}
labels={{ you: "You", agent: "Agent" }}
messages={[
{ role: "you", text: "Add a pricing section with three plans." },
{ role: "agent", text: "Done. I placed it under the hero.", image: { src: "/photos/bay.jpg", alt: "A long sandy beach with a boat on the horizon" } },
]}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
eyebrow | string | – | Small-caps line above the heading |
heading | string | – | Section heading, through Text1 |
description | string | – | Paragraph under the heading |
command | string | – | The install command; clicking the pill copies it |
copyLabel | string | – | Accessible name for the pill in its resting state |
copiedLabel | string | – | Accessible name and live-region text once copied |
buttons | ActionButton[] | [] | Pill actions under the command |
labels | { you: string; agent: string } | { you: "You", agent: "Agent" } | Wording of the two role labels |
messages | Message[] | [] | The exchange, in order |
className | string | – | Extra classes for the outer <section> |
type Message = {
role: "you" | "agent";
text: string;
image?: { src: string; alt: string };
};
type ActionButton = {
label: string;
href: string;
tone?: "primary" | "light" | "dark" | "outline";
};role rather than by index: yours align right in ink, the agent's align left on the paper surface, and each is capped at 85 percent so the alignment stays visible.feature299
A centred serif headline that settles in word by word, then an ink panel that cycles through short request and reply pairs: the request in serif, the reply in mono a beat later, with thin progress bars to jump between them and a pause on hover. A pill that copies the install command on click and a sliding-marker pill close the section.
feature292
Three numbered columns under rules that draw in from the left as they scroll into view: the first carries a rounded pill that copies the install command on click, the next two show a sample prompt and a resulting file path in muted mono panels. Serif headline settles in word by word, a sliding-marker pill sits at the right end of the header.
feature295
A centred serif headline that settles in word by word, then two columns: a muted panel listing how an agent improvises today and an ink panel listing what it does once the library is installed. Between them, on a hairline, sits the pill that copies the install command on click.
feature298
A header with a serif headline that settles in word by word and a pill that copies the install command on click, then a rounded pill tab list (pages, sections, components). Each tab pairs a title, a paragraph and a short list of example prompts in mono with a photo that blurs in and drifts on scroll.
feature296
A sticky left column holds the eyebrow, a serif headline that settles in word by word, an intro, a rounded pill that copies the install command on click and a sliding-marker pill; on the right a long ruled list of numbered points settles in row by row as the page scrolls past.