awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
sindresorhus avatar

sindresorhus/ora

0
View on GitHub↗
9,714 stars·286 forks·JavaScript·MIT·24 views

Ora

Ora is a terminal spinner library and Node.js CLI component used to integrate animated loading indicators and task-outcome symbols into JavaScript-based terminal applications. It functions as a progress visualizer that signals the status of command-line operations through animated sequences of characters.

The library provides promise-based spinner wrapping, allowing animations to start and resolve automatically based on the outcome of asynchronous tasks. It replaces active animations with specific success, failure, warning, or info symbols to communicate the final result of a process.

The tool manages terminal UI state by updating descriptive text and colors in real time. It also coordinates concurrent log output, enabling text to be printed to the terminal without breaking the active animation or leaving duplicate frames.

Features

  • Terminal Progress Indicators - Provides dynamic, overwritable terminal updates and symbols to signal the progress and outcome of CLI operations.
  • Node.js CLI Libraries - Acts as a specialized Node.js library for building interactive visual feedback into command-line applications.
  • Asynchronous Task Visualization - Provides visual representations of progress and completion for non-blocking JavaScript asynchronous operations.
  • Loading State Promises - Wraps asynchronous tasks to automatically display and resolve a loading animation based on promise outcomes.
  • Progress Feedback Patterns - Provides visual indicators to inform users that a long-running terminal process is still executing.
  • Spinners - Implements animated sequences of characters that act as visual indicators for ongoing background processes in the CLI.
  • Promise-Linked - Automatically starts a spinner when a promise begins and resolves it based on the final promise outcome.
  • Terminal Loading Animations - Renders animated terminal sequences to provide visual feedback during long-running command-line tasks.
  • Task Outcome Indicators - Replaces the active animation sequence with a static character based on the final resolution state.
  • Async Lifecycle Hooks - Ties the animation's start and stop states directly to the lifecycle of an asynchronous task.
  • Task Progress Indicators - Visualizes the completion status of long-running tasks by replacing animations with result-specific symbols.
  • Terminal Escape Sequences - Uses standard terminal escape sequences to manage cursor positioning and perform in-place line updates.
  • Terminal Output Managers - Manages terminal output to allow concurrent logging and animation without breaking the interface structure.
  • Animation Frame Timers - Implements a fixed-interval timer to cycle through animation frames in the terminal.
  • State Redraw Loops - Redraws the terminal interface based on real-time state changes to update spinner frames and labels.
  • Spinner State Controllers - Allows dynamic updates to the descriptive text and colors of the spinner during execution.
  • Terminal Log Interceptors - Buffers output to ensure log lines are printed above the active spinner without corrupting the animation.
  • TUI Output Coordination - Coordinates the printing of log messages to maintain an active animation without breaking the visual layout.
  • UI State Management - Synchronizes the internal task state with real-time visual updates of text and colors in the terminal.
  • CLI Frameworks - Elegant CLI loading spinners.
  • Command Line Interfaces - Elegant terminal spinner for loading states.
  • Works with AVA - Listed in the “Works with AVA” section of the Awesome Ava awesome list.

Star history

Star history chart for sindresorhus/oraStar history chart for sindresorhus/ora

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Ora

These projects share indexed features with Ora. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • console-rs/indicatifconsole-rs avatar

    console-rs/indicatif

    5,168View on GitHub↗

    indicatif is a Rust library for rendering progress bars and loading spinners in command line applications. It provides terminal progress indicators that track task completion percentages and estimated time remaining. The project includes a multi-bar progress manager to coordinate several simultaneous indicators in a single terminal view and a terminal log synchronizer to prevent logging output from overlapping or distorting active bars. It features a spinner component for signaling active background processes when the total completion percentage is unknown. The library supports progress temp

    Rust
    View on GitHub↗5,168
  • manrajgrover/halomanrajgrover avatar

    manrajgrover/halo

    3,101View on GitHub↗

    Halo is a Python library for rendering animated loading indicators and task completion symbols within terminal and notebook environments. It serves as a utility for providing visual feedback in command-line interfaces to signal that background processes are active. The library allows for the customization of loading spinner animations through the use of preset styles or custom character sequences and rotation intervals. It includes functionality to terminate active animations and replace them with specific status symbols and messages to indicate success, failure, or warnings. The project cov

    Pythonasynchaloipython
    View on GitHub↗3,101
  • jroimartin/gocuijroimartin avatar

    jroimartin/gocui

    10,575View on GitHub↗

    gocui is a console user interface library for the Go programming language. It provides a toolkit for building interactive terminal applications using a layout engine that organizes overlapping rectangular views and coordinates. The library features a terminal input handler to capture and map keyboard shortcuts and mouse events to specific application actions. It includes an ANSI escape sequence parser to manage text attributes, colors, and cursor positioning. The framework covers interface view management and overlapping window layering, allowing for a structured arrangement of content. Rend

    Gocuigogocui
    View on GitHub↗10,575
  • sboudrias/inquirer.jsSBoudrias avatar

    SBoudrias/Inquirer.js

    21,578View on GitHub↗

    Inquirer.js is a command line input framework and prompt library for Node.js applications. It provides a structured set of tools for building interactive terminal interfaces, including menus, checklists, and text inputs, to gather user data and manage complex interactions. The framework allows for the creation of dynamic user experiences through branching prompt logic and the resolution of asynchronous configurations. Users can define custom prompts using a provided API and localize interface text into different languages. The library covers a wide range of input capabilities, including sing

    TypeScriptclicommand-linejavascript
    View on GitHub↗21,578
Compare all 30 related projects→

Frequently asked questions

What does sindresorhus/ora do?

Ora is a terminal spinner library and Node.js CLI component used to integrate animated loading indicators and task-outcome symbols into JavaScript-based terminal applications. It functions as a progress visualizer that signals the status of command-line operations through animated sequences of characters.

What are the main features of sindresorhus/ora?

The main features of sindresorhus/ora are: Terminal Progress Indicators, Node.js CLI Libraries, Asynchronous Task Visualization, Loading State Promises, Progress Feedback Patterns, Spinners, Promise-Linked, Terminal Loading Animations.

Which projects share features with sindresorhus/ora?

Projects with overlapping indexed features include: console-rs/indicatif — indicatif is a Rust library for rendering progress bars and loading spinners in command line applications. It provides… manrajgrover/halo — Halo is a Python library for rendering animated loading indicators and task completion symbols within terminal and… jroimartin/gocui — gocui is a console user interface library for the Go programming language. It provides a toolkit for building… sboudrias/inquirer.js — Inquirer.js is a command line input framework and prompt library for Node.js applications. It provides a structured… chalk/chalk — Chalk is a Node.js console formatter and terminal styling library used to add colors and text modifiers to command… pterm/pterm — pterm is a Go terminal UI library used to build rich command-line interfaces. It provides toolsets for terminal data…