gyscos/cursive

A Text User Interface library for the Rust programming language

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 1 hour ago
Type:FrameworkCategory(s):Terminal, Shell & TUIDeveloper Tools
Added to GitGenius on September 14th, 2026
Created on May 9th, 2015
Open Issues & Pull Requests: 206 (+0)
GitHub issues: Enabled
Number of forks: 270
Total Stargazers: 4,848 (+0)
Total Subscribers: 39 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 38.3 hours
Mean response time: 140.5 days
90th percentile: 122.3 days
Tracked items: 32

Most active contributors

Sign in to see contributor activity.

How this project is maintained

90% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 85% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 20
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 865 days
Stale 30+ days: 19
Stale 90+ days: 18

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (13)
  • enhancement (1)
  • good first issue (1)
  • views (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Cursive is a Text User Interface library for Rust that enables developers to build rich terminal applications with a safe and easy-to-use API.

The library solves the problem of creating interactive command-line interfaces by providing a high-level abstraction over terminal rendering and input handling. It uses the crossterm backend by default but supports multiple backend implementations, allowing flexibility in how terminal operations are performed. The tool handles the complexity of managing windows, widgets, and event loops so developers can focus on application logic rather than low-level terminal control.

Cursive suits projects that need interactive terminal interfaces with visual components like menus, text input fields, selection lists, and themed layouts. The library is appropriate for developers building command-line tools in Rust who want to avoid manual ncurses bindings or lower-level terminal manipulation. The README demonstrates the library through multiple examples including text rendering, menu systems, selection interfaces, and even a minesweeper game, showing the range of UI complexity it can handle. The project provides three tutorial documents to help new users get started, and the ecosystem includes third-party crates that extend the available views beyond what the core library provides.

The project maintains active engagement with its codebase through regular updates and refinements. Development shows consistent attention to both core functionality and the surrounding ecosystem, with examples and documentation receiving ongoing care. The maintainers respond to the needs of users building real applications, as evidenced by the breadth of example implementations and the flexibility built into the backend system.