InkUI
v0.4.0
v0.4.0 · shadcn/ui for terminal UIs

Terminal UI components.

Copy. Paste. Own it.

shadcn/ui inspired library for building beautiful, interactive Node.js CLIs with React and TypeScript.

Get Started →Browse Components
~/my-cli
$
32+ Components
33 npm packages
TypeScript
MIT License
$ npx inkui add <component>

Pick a component. Copy. Ship.

Every component is copied into your project — no black-box dependency. You own and modify the source.

~/my-cli
Deploying to production...
Loading states with 4 animation styles
app.tsx
import { Spinner } from './components/spinner';
import { darkTheme } from './components/core';

export default function App() {
  return (
    <Spinner
      type="dots"
      label="Deploying to production..."
      theme={darkTheme}
    />
  );
}
Browse all 32 components →

Everything you need to build beautiful CLIs

Designed for the developer experience you expect from a modern component library.

Copy & Paste
Own the code. Every component is copied into your project — no black-box dependency. Modify anything.
TypeScript First
Full type safety. Generics for Table<T> and Select<T>. IntelliSense that actually works in terminal apps.
Theme Everything
Dark and light themes built in. Customize every color, border style, and spacing token.
15+ Components
Spinner, Badge, ProgressBar, TextInput, Select, Table, Toast, Dialog, and more — growing fast.
Battle-tested Renderer
Built on Ink, the React renderer used by Vercel, Prisma, and Gatsby CLIs in production.
One Command Install
npx inkui add table — copies the component into your project. You own it from day one.

Simple API. Real results.

Write React. Get a terminal UI. No configuration required.

deploy.tsxtsx
import { Select } from './components/ui/select'

export default function Deploy() {
  return (
    <Select
      label="Where to deploy?"
      items={[
        { label: 'AWS',     value: 'aws'     },
        { label: 'Vercel',  value: 'vercel'  },
        { label: 'Railway', value: 'railway' },
      ]}
      onSelect={(item) => deploy(item.value)}
    />
  )
}
? Where to deploy?
AWS
Vercel
Railway
Use ↑↓ to navigate, Enter to select
real-world examples

What you can build with InkUI

Real CLI tools assembled from InkUI components. Copy the install command, paste the components, ship your CLI.

~/projects/my-cli — deploykit
◆ DeployKit v2.1.0 · production
────────────────────────────────────
Connecting to cloud...
API Gateway
Database
CDN Edge
Zero-config deployment CLI

DeployKit

A production deploy tool with environment selection, service health checks, artifact progress, and success notifications.

Components used
HeaderSpinnerStatusIndicatorProgressBarToast
install all components
$ npx inkui add spinner status-indicator progress-bar toast header

"InkUI eliminated all our custom terminal boilerplate. We rebuilt our deploy CLI in half a day — spinner, progress bars, tables, all of it."

— built with npx inkui add

Start in seconds.

$ npx inkui add spinner table select

Or install directly: npm install @inkui-cli/spinner