Claude-skill-registry ink

Build CLI applications using React. Use when creating terminal UIs, handling keyboard input, or building interactive command-line tools with React components. Supports flexbox layouts, text styling, focus management, and accessibility.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/ink" ~/.claude/skills/majiayu000-claude-skill-registry-ink && rm -rf "$T"
manifest: skills/data/ink/SKILL.md
source content

Ink - React for CLIs

React for CLIs. Build and test your CLI output using components.

Ink provides the same component-based UI building experience that React offers in the browser, but for command-line apps. It uses Yoga for Flexbox layouts in the terminal.

Important: All text must be wrapped in a

<Text>
component.

Quick Example

import {render, Text, Box} from 'ink';

render(
	<Box borderStyle="round" padding={1}>
		<Text color="green">Hello World</Text>
	</Box>
);

Components

  • <Text>
    - Display text with styling (color, bold, italic, underline, etc.)
  • <Box>
    - Flexbox container for layouts
  • <Newline>
    - Insert newline characters
  • <Spacer>
    - Flexible space that expands to fill available space
  • <Static>
    - Permanently render output above everything else (for logs, completed tasks)
  • <Transform>
    - Transform string representation before output

Hooks

Interaction

Lifecycle & Streams

Accessibility

API

Guides

Third-Party Components

See references/third-party.md for a comprehensive list of community components including:

  • Text inputs, spinners, select menus
  • Progress bars, tables, charts
  • Markdown rendering, syntax highlighting
  • And many more