crossterm

Cross-platform terminal UI development for Rust with cursor, keyboard, mouse, and screen management.

3|Updated Jan 10, 2026
One-click install
npx skills add https://github.com/yankeeinlondon/rusty-biscuit --skill crossterm
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: crossterm
Source: https://github.com/yankeeinlondon/rusty-biscuit/tree/main/.claude/skills/crossterm
Command: npx skills add https://github.com/yankeeinlondon/rusty-biscuit --skill crossterm

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Crossterm provides a unified, cross-platform Rust API for building TUI and CLI applications with precise cursor control, styling, and robust input handling across Windows and UNIX systems.

Core Features & Use Cases

  • Cursor control: absolute/relative positioning and visibility management for dynamic UIs.
  • Styling and color: rich ANSI styling plus RGB/256-color support for expressive terminals.
  • Event handling: polls and reads keyboard/mouse/resize/focus events for interactive apps.
  • Terminal control: alternate screen, raw mode, and batch updates to minimize flicker.

Quick Start

Install the crate and run a minimal example that enables raw mode, moves the cursor, and prints styled text.

Frequently Asked Questions about crossterm

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a cross-platform terminal UI in Rust that works on both Windows and UNIX?

Cross-platform terminal UI development in Rust is achieved through a library providing type-safe cursor control, styling, and event handling. It manages raw mode and alternate screen buffers to ensure consistent rendering across Windows and UNIX systems.

What is the best way to handle keyboard and mouse events for a Rust TUI application?

Handling keyboard and mouse events for a Rust TUI application is done by polling and reading terminal events. This approach captures input, resize, and focus events robustly to support interactive CLI tools and dashboards.

How do I apply ANSI styling and RGB colors to terminal output in Rust?

Applying ANSI styling and RGB colors to terminal output in Rust uses a cross-platform library supporting rich text formatting. It enables 256-color and RGB styling for expressive rendering across different terminal environments.

Does this Rust terminal library support raw mode and alternate screen buffers?

Yes, this Rust terminal library supports raw mode and alternate screen buffers. It provides robust raw mode management and terminal control features to minimize flicker through batch updates for dynamic interfaces.

How do I control cursor positioning and visibility for dynamic CLI tools in Rust?

Controlling cursor positioning and visibility for dynamic CLI tools in Rust involves using absolute and relative cursor positioning functions. This allows precise placement and visibility management for interactive terminal applications.