Luca Perullo
Components

Component

LiveNew

Terminal

Shell server component + sub-component Command/Output/Typing. Typing è un mini-typewriter dedicato.

MockCodeShowcase
Open in ClaudeSorgente

Esempio01

terminal.tsx
001Default · simple session
zsh

$ npm run dev

› Ready in 1.2s

$

002Build output · multi-step
build · production

$ pnpm build

› Compiling... › Routes: 56 static · 8 dynamic › Bundle: 142 kB shared › Build complete · 8.4s

$ pnpm test

✓ 142 passed · 1.2s

003Onboarding · install flow
install

$ npx claude-mem init my-project

› Creating new project...

› Done · cd my-project

$

Note Bg fissato a zinc-950 per lookalike di un terminale reale, indipendente dal tema globale del sito.

Prompt LLM02

Incolla in Claude o ChatGPT per generare la tua variante. Include il contesto del brand, i token e i vincoli del progetto.

Prompt · terminal
Open in Claude
Sei un senior frontend engineer. Stai lavorando su un sito Next.js 16 + React 19 + Tailwind v4 in italiano, look chanhdai-inspired: colonna stretta 672px, Geist Sans + Geist Mono, hairline 1px, divisori a stripe diagonale, palette zinc.

Token CSS disponibili: --bg, --bg-alt, --fg, --fg-muted, --fg-soft, --border, --border-strong, --accent. Usa SEMPRE queste variabili tramite le utility tailwind generate (bg-bg, text-fg-muted, border-border, ecc.). Helper "cn" da "@/lib/utils". Niente librerie UI extra: solo lucide-react e tailwind-merge.

Genera un componente <Terminal> + <TerminalCommand> / <TerminalOutput> / <TerminalTyping>.
Props Terminal:
- children: ReactNode.
- title?: string (default "zsh").
- className?: string.

Sub-components:
- TerminalCommand: <p font-mono text-emerald-400> con prefisso "$ " text-zinc-500.
- TerminalOutput: <p whitespace-pre-wrap font-mono text-zinc-400>.
- TerminalTyping ("use client"): props text, delay?, speed?. Typewriter mono con caret keyframe blink.

Implementazione:
- Terminal: shell rounded-md border border-border bg-zinc-950 text-zinc-100. Top bar h-8 border-b border-zinc-800 con 3 traffic-light dots e title mono 11px text-zinc-500.
- Body p-4 font-mono 12px space-y-1.

Output: file completo src/components/terminal.tsx con tutti i sub-component esportati.

Uso tipico03

tsx
<Terminal title="zsh">
  <TerminalCommand>npm run dev</TerminalCommand>
  <TerminalOutput>Ready in 1.2s</TerminalOutput>
  <TerminalTyping text="git status" />
</Terminal>

Dipendenze04

npm
  • tailwind-merge
  • clsx
Interno
  • @/lib/utils#cn

Ti è servito? Dimmelo, oppure proponi il prossimo componente.