Terminal CLI Feature Showcase
A feature section with an eyebrow, heading, and description above a dark, monospace terminal window with macOS-style chrome. Each entry shows a syntax-colored command line and its muted output text, ending in a blinking cursor at an empty prompt.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/terminal-cli-feature-showcase.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/feature/feature107.tsx instead.
Usage
The file also exports feature107Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Feature107, feature107Demo } from "@/components/blocks/feature/feature107"; export default function Page() { return <Feature107 {...feature107Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| eyebrow | string | undefined | Small label above the heading; omitted entirely when unset. |
| heading | ReactNode | none | Section heading. |
| description | string | undefined | Supporting copy under the heading. |
| windowTitle | string | "showcase.sh" | Text shown in the terminal window's title bar. |
| commands | TerminalCommandEntry[] | none | Command lines to display, each with its own output lines. |
| className | string | undefined | Extra classes for the outer section element. |
Types
type TerminalCommandEntry = { command: ReactNode; // pre-styled with colored spans, e.g. <span className="text-sky-400">deploy</span> output: string[]; };
Behavior notes
- Server component: syntax coloring is manual, done by the caller passing pre-styled <span> elements with color-utility classes as the `command` ReactNode, not a real syntax-highlighting engine.
- The blinking cursor after the final prompt is a pure CSS `animation` (step-end infinite) toggling opacity, no JS timer, so it stays static-render-safe.
- This block deliberately breaks from semantic Tailwind tokens for a hardcoded dark, monospace CLI look, mirroring the Auth category's one-off terminal exception (auth29) — not a pattern meant to spread to other feature blocks.
- No live command execution or backend of any kind: this is a static, illustrative transcript.
More Feature Blocks
View all →Full-Bleed Workspace Band
Two-column header above a full-bleed image band with a live view switcher, closing on three numbered captions.
Center-Line Journey Timeline
Vertical hairline timeline alternating stages either side, dropping a phone frame on one step.
Figure-Led Evidence Rows
Tall image with a floating before-and-after card, leading into oversized-figure evidence rows.
Staircase Asset Trio
Three image tiles stepping down the page in a staircase, each floating a different live asset.
Sticky Reference List
Sticky heading column beside three labelled groups of checked capabilities, closing on a footnote.
Day Timeline Rows
Hairline rows walking through one working day, stamped with time and a live approval card inline.