cli-framework-oclif-ink
oclif + Ink CLI Patterns
Quick Guide: Use oclif for command routing, flag/arg parsing, and plugin architecture. Use Ink for React-based interactive terminal UIs with Flexbox layout. Combine both when commands need rich stateful interfaces. Always
await waitUntilExit()when rendering Ink from oclif commands. Usethis.log()instead ofconsole.logto preserve JSON output mode.
<critical_requirements>
CRITICAL: Before Using This Skill
All code must follow project conventions in CLAUDE.md (kebab-case, named exports, import ordering,
import type, named constants)
(You MUST await waitUntilExit() after render() in oclif commands -- without it the process exits before the UI completes)
(You MUST use this.log() / this.warn() / this.error() in commands -- console.log breaks --json mode and test capture)
(You MUST wrap all text in <Text> components in Ink -- bare strings cause rendering errors)
(You MUST use useEffect cleanup to cancel async operations -- Ink components unmount when the user presses Ctrl+C)
More from agents-inc/skills
web-animation-css-animations
CSS Animation patterns - transitions, keyframes, scroll-driven animations, @property, GPU-accelerated properties, accessibility with prefers-reduced-motion
24web-animation-view-transitions
View Transitions API patterns - same-document transitions, cross-document MPA transitions, shared element animations, pseudo-element styling, accessibility
21web-testing-playwright-e2e
Playwright E2E testing patterns - test structure, Page Object Model, locator strategies, assertions, network mocking, visual regression, parallel execution, fixtures, and configuration
21web-styling-cva
Class Variance Authority - type-safe component variant styling with cva(), compound variants, and VariantProps
20web-animation-framer-motion
Motion (formerly Framer Motion) animation patterns - motion components, variants, gestures, layout animations, scroll-linked animations, accessibility
20web-i18n-next-intl
Type-safe i18n for Next.js App Router
19