terminal-ui

安装量: 224
排名: #3889

安装

npx skills add https://github.com/pproenca/dot-skills --skill terminal-ui

DevEx Developer Experience TUI Best Practices

Comprehensive developer experience guide for building TypeScript terminal user interfaces using Ink (React for CLIs) and Clack prompts. Contains 42 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

Building CLI tools with interactive prompts using @clack/prompts Creating React-based terminal UIs with Ink Handling keyboard input and user interactions Optimizing terminal rendering and preventing flicker Designing developer-friendly CLI experiences Rule Categories by Priority Priority Category Impact Prefix 1 Rendering & Output CRITICAL render- 2 Input & Keyboard CRITICAL input- 3 Component Patterns HIGH tuicomp- 4 State & Lifecycle HIGH tuistate- 5 Prompt Design MEDIUM-HIGH prompt- 6 UX & Feedback MEDIUM ux- 7 Configuration & CLI MEDIUM tuicfg- 8 Robustness & Compatibility LOW-MEDIUM robust- Quick Reference 1. Rendering & Output (CRITICAL) render-single-write - Batch Terminal Output in Single Write render-overwrite-dont-clear - Overwrite Content Instead of Clear and Redraw render-synchronized-output - Use Synchronized Output Protocol for Animations render-60fps-baseline - Target 60fps for Smooth Animation render-partial-updates - Update Only Changed Regions render-escape-sequence-batching - Defer ANSI Escape Code Generation to Final Output 2. Input & Keyboard (CRITICAL) input-useinput-hook - Use useInput Hook for Keyboard Handling input-immediate-feedback - Provide Immediate Visual Feedback for Input input-modifier-keys - Handle Modifier Keys Correctly input-isactive-focus - Use isActive Option for Focus Management input-escape-routes - Always Provide Escape Routes 3. Component Patterns (HIGH) tuicomp-box-flexbox - Use Box Component with Flexbox for Layouts tuicomp-text-styling - Use Text Component for All Visible Content tuicomp-measure-element - Use measureElement for Dynamic Sizing tuicomp-static-for-logs - Use Static Component for Log Output tuicomp-percentage-widths - Use Percentage Widths for Responsive Layouts tuicomp-border-styles - Use Border Styles for Visual Structure 4. State & Lifecycle (HIGH) tuistate-useapp-exit - Use useApp Hook for Application Lifecycle tuistate-cleanup-effects - Always Clean Up Effects on Unmount tuistate-functional-updates - Use Functional State Updates to Avoid Stale Closures tuistate-usecallback-stable - Stabilize Callbacks with useCallback tuistate-usememo-expensive - Memoize Expensive Computations with useMemo 5. Prompt Design (MEDIUM-HIGH) prompt-group-flow - Use Clack group() for Multi-Step Prompts prompt-validation - Validate Input Early with Descriptive Messages prompt-cancellation - Handle Cancellation Gracefully with isCancel prompt-spinner-tasks - Use Spinner and Tasks for Long Operations prompt-custom-render - Build Custom Prompts with @clack/core 6. UX & Feedback (MEDIUM) ux-progress-indicators - Show Progress for Operations Over 1 Second ux-color-semantics - Use Colors Semantically and Consistently ux-error-messages - Write Actionable Error Messages ux-next-steps - Show Next Steps After Completion ux-intro-outro - Use Intro and Outro for Session Framing 7. Configuration & CLI (MEDIUM) tuicfg-sensible-defaults - Provide Sensible Defaults for All Options tuicfg-env-vars - Support Standard Environment Variables tuicfg-flags-over-args - Prefer Flags Over Positional Arguments tuicfg-help-system - Implement Comprehensive Help System tuicfg-json-output - Support Machine-Readable Output Format 8. Robustness & Compatibility (LOW-MEDIUM) robust-tty-detection - Detect TTY and Adjust Behavior Accordingly robust-signal-handling - Handle Process Signals Gracefully robust-exit-codes - Use Meaningful Exit Codes robust-terminal-restore - Always Restore Terminal State on Exit robust-graceful-degradation - Degrade Gracefully for Limited Terminals How to Use

Read individual reference files for detailed explanations and code examples:

Section definitions - Category structure and impact levels Rule template - Template for adding new rules render-single-write - Example rule file input-useinput-hook - Example rule file Full Compiled Document

For the complete guide with all rules expanded: AGENTS.md

返回排行榜