CLI Installation Typewriter

Animated terminal that types commands character-by-character with output responses. Perfect for showcasing CLI installation steps or quick-start guides.

FREE

Terminal1: CLI Installation Typewriter

A fake terminal window used to demo CLI installation steps: mac-style traffic-light dots, a centered title, copy and restart controls, and a body that types each command character-by-character before "running" and typing out its output line.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/terminal1"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/terminal1"

This installs the block to components/beste/block/terminal1.tsx and the badge and button shadcn/ui primitives it depends on.

Quick start

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

tsx
import { Terminal1, terminal1Demo } from "@/components/beste/block/terminal1";

export default function QuickStartPage() {
  return <Terminal1 {...terminal1Demo} />;
}

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

tsx
import { Terminal1 } from "@/components/beste/block/terminal1";

export default function QuickStartPage() {
  return (
    <Terminal1
      heading="Get started in seconds"
      description="Install the CLI and start building."
      terminal={{
        title: "Terminal",
        commands: [
          {
            id: "cmd-1",
            prompt: "$ ",
            command: "npm install -g @acme/cli",
            output: "Installing @acme/cli...\n✓ Installed successfully",
          },
          {
            id: "cmd-2",
            prompt: "$ ",
            command: "acme init my-project",
            output: "✓ Project initialized",
          },
        ],
      }}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Optional badge above the heading
headingstringSection heading
descriptionstringSection intro text
terminalTerminalConfigWindow title, commands, and typing timing
showCopyButtonbooleantrueShows the header "copy all commands" button
glowEffectbooleantrueAdds a drop shadow behind the terminal window
classNamestringExtra classes for the outer <section>
ts
type TerminalConfig = {
  title?: string;
  commands: TerminalCommand[];
  typeSpeed?: number;
  delayBetweenCommands?: number;
  showLineNumbers?: boolean;
};

type TerminalCommand = {
  id: string;
  prompt?: string;
  command: string;
  output?: string;
  outputDelay?: number;
};

Behavior notes

More Terminal blocks

View all Terminal
PRO

terminal3

One Command Install

A centered install section with an eyebrow, light heading, paragraph, a row of package-manager tabs, and an image tile that floats a live terminal command card.

PRO

terminal2

Code Snippet with Marketing Split

Two-column layout with marketing content and a static code snippet display with copy functionality. Perfect for developer tool landing pages or CLI documentation sections.