Sticky Command List

What happens after install

Quietchangestohowpagesgetmade.

The command runs in a few seconds. The list on the right is what it leaves behind.

  1. 01

    Search inside the conversation

    The agent asks the library for a section by meaning, not by file name, and gets back the three closest matches.

  2. 02

    Placement in your tree

    It writes ordinary components into the folders you already use and wires the imports itself.

  3. 03

    Theme carried through

    Colors, radius and type come from your tokens, so a new section never looks pasted in.

  4. 04

    Copy adapted, not replaced

    Headlines and body text are rewritten for your product while the structure stays intact.

  5. 05

    Motion already tuned

    Entrances, parallax and reveals arrive calibrated and switch off for people who prefer reduced motion.

  6. 06

    Nothing to uninstall

    It is one MCP entry in your agent config. Remove the line and everything else stays as it was.

About this block

Sticky Command ListPRO

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.

Feature296: Sticky Command List

A sticky left column holding the case and the command, against a long ruled list on the right that settles in row by row as the page moves past it.

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/feature296?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

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

Quick start

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

tsx
import { Feature296, feature296Demo } from "@/components/beste/block/feature296";

export default function Page() {
  return <Feature296 {...feature296Demo} />;
}

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

tsx
import { Feature296 } from "@/components/beste/block/feature296";

export default function Page() {
  return (
    <Feature296
      eyebrow="What happens after install"
      heading="Quiet changes to how pages get made."
      description="The command runs in a few seconds. The list is what it leaves behind."
      command="npx your-cli@latest"
      copyLabel="Copy command"
      copiedLabel="Copied"
      buttons={[{ label: "Read the docs", href: "/docs", tone: "outline" }]}
      items={[
        { number: "01", title: "Search inside the conversation", description: "The agent asks the library for a section by meaning." },
        { number: "02", title: "Placement in your tree", description: "It writes components into the folders you already use." },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstring–Small-caps line above the heading
headingstring–Section heading, through Text1
descriptionstring–Paragraph under the heading
commandstring–The install command; clicking the pill copies it
copyLabelstring–Accessible name for the pill in its resting state
copiedLabelstring–Accessible name and live-region text once copied
buttonsActionButton[][]Pill actions under the command
itemsItem[][]Numbered rows on the right
classNamestring–Extra classes for the outer <section>
ts
type Item = {
  number: string;
  title: string;
  description: string;
};

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

Behavior notes

  • The left column is sticky only from the large breakpoint up. Below it the two columns stack and the stickiness is dropped, which is what stops a phone from pinning the heading over its own list.
  • Sticky positioning is offset by top-24 to clear a fixed header. Change that if your navigation is taller.
  • Rows all share one transition delay rather than a per-index stagger, because the list is long enough that an index-based cascade would leave the last rows arriving well after they are in view.
  • Each row is a two-column grid with a fixed number gutter, so titles align down the page whether the number is one digit or two.
  • This is the block to reach for when the list runs past six items. The ruled grid in the set is tuned for exactly six.
  • Copying flips the icon and a visually hidden live region, then resets after two seconds.
  • The right column is an ordered list, so the numbering is semantic and not only visual.

More Feature blocks

View all Feature
PRO

feature285

Sticky Icon List

PRO

feature264

Sticky Reference List

PRO

feature292

Install Ask Ship Steps

Get Pro access