Ink: React for interactive command-line apps

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Civic Auth - Auth in Less Than 5 Minutes
Civic Auth comes with multiple SSO options, optional embedded wallets, and user management — all implemented with just a few lines of code. Start building today.
www.civic.com
featured
SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Add the SurveyJS white-label form builder to your JavaScript app (React/Angular/Vue3). Build complex JSON forms without coding. Fully customizable, works with any backend, perfect for data-heavy apps. Learn more.
surveyjs.io
featured
  1. Ink

    🌈 React for interactive command-line apps

    Ink is amazing for quickly hacking together TUIs. I recently did so with Nbb (Node Babashka) and and enjoyed the experience overall.

    My only real complaint is how everything in your VDOM seems to re-render on a state change. IIRC this is being addressed [1], but is something to be mindful of, especially if your users may be using slow machines.

    [1] https://github.com/vadimdemedes/ink/issues/21

  2. Civic Auth

    Auth in Less Than 5 Minutes. Civic Auth comes with multiple SSO options, optional embedded wallets, and user management — all implemented with just a few lines of code. Start building today.

    Civic Auth logo
  3. dioxus

    Fullstack app framework for web, desktop, mobile, and more.

    There is also Rink, a Rust port of Ink that uses Dioxus instead of React for the high-level API https://github.com/DioxusLabs/dioxus/tree/master/packages/ri...

  4. bubbletea

    A powerful little TUI framework 🏗

    For Golang there is Bubbletea [1], Textual [2] for Python and tui-rs for Rust [3].

    [1] https://github.com/charmbracelet/bubbletea

    [2] https://github.com/textualize/textual

    [3] https://github.com/fdehau/tui-rs

  5. ratatui

    Discontinued Rust library that's all about cooking up terminal user interfaces (TUIs) 👨‍🍳🐀 [Moved to: https://github.com/ratatui/ratatui] (by ratatui-org)

  6. blessed

    A high-level terminal interface library for node.js.

    I tried this a long time ago when I was in love with react. It felt difficult to wrap my head around the yoga layout engine. I'm glad others here in this thread seem to like yoga, but I didn't. And, now I really dislike react for various reasons.

    I would use this if I needed to write a command line app with nodejs:

    https://github.com/chjj/blessed

  7. emoj

    Find relevant emoji from text on the command-line :open_mouth: :sparkles: :raised_hands: :horse: :boom: :see_no_evil:

    Check the list of apps using it.

    This one got my attention: https://github.com/sindresorhus/emoj

    I do use emojipedia.org quite often, so I must admit I find this would be quite useful :D. But the thought of having a framework like React powering this behind the scenes, right on my freaking terminal, makes me think that there's no hope for future generations to keep software development simple, "lean" for the foreseeable future. Imagine using 100MB to search for emojis.

  8. react-blessed

    A react renderer for blessed.

    I'll need to try Ink but you were also able to do this with react + blessed via https://github.com/Yomguithereal/react-blessed

  9. SurveyJS

    JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor. Add the SurveyJS white-label form builder to your JavaScript app (React/Angular/Vue3). Build complex JSON forms without coding. Fully customizable, works with any backend, perfect for data-heavy apps. Learn more.

    SurveyJS logo
  10. textual

    Lean TUI application framework for Python. Build sophisticated terminal user interfaces with a simple Python API. Run your apps in the terminal and a web browser.

    For Golang there is Bubbletea [1], Textual [2] for Python and tui-rs for Rust [3].

    [1] https://github.com/charmbracelet/bubbletea

    [2] https://github.com/textualize/textual

    [3] https://github.com/fdehau/tui-rs

  11. tui-rs

    Discontinued Build terminal user interfaces and dashboards using Rust

    For Golang there is Bubbletea [1], Textual [2] for Python and tui-rs for Rust [3].

    [1] https://github.com/charmbracelet/bubbletea

    [2] https://github.com/textualize/textual

    [3] https://github.com/fdehau/tui-rs

  12. taffy

    A high performance rust-powered UI layout library

    I maintain a library (https://github.com/DioxusLabs/taffy) that implements both Flexbox and CSS Grid, and is designed to be easily embedded (similar to Yoga, which Ink is using).

  13. clog

    CLOG - The Common Lisp Omnificent GUI

  14. ink

    inkle's open source scripting language for writing interactive narrative. (by inkle)

    "Ink" and "interactive" in the same sentence has a strong association in my mind for Inkle's Ink [1]

    [1]: https://www.inklestudios.com/ink/

  15. hooks

    FRP-ish / Reactive programming inspired by React hooks (by benweitzman)

    Pretty neat. I adapted the state management of hooks to Haskell a few years ago. Could be used for similar purposes, but there's no support for templating or styling yet: https://github.com/benweitzman/hooks

  16. autarky

    Liberating disk space from 📁 node_modules | Built with React

    I have built a CLI tool called Autarky a long long time back https://github.com/pranshuchittora/autarky.

    Ink is great to get bare minimums up and running, but the capabilities are quite limited and you can't build full blown interactive dashboards with this like HTOP etc.

  17. mosaic

    Build terminal UI in Kotlin using Jetpack Compose (by JakeWharton)

    There's also Mosaic, which is an experiment of sorts to build console UI using Kotlin and Jetpack Compose: https://github.com/JakeWharton/mosaic

  18. react-ionize

    A React renderer for building your entire Electron app

    One of my favorite side projects (from several years ago now) was a custom renderer implementation that let one use React to manage the parts of an Electron app outside the page being rendered. [1] I never found the time to actually go through and make it robust enough to use in a production setting, but I remember being very pleased with how much easier it was to use than the native Electron APIs.

    Maybe I'll revisit this sometime. :)

    1: https://github.com/mhink/react-ionize

  19. devtools-ds

    UI components, libraries, and templates for building robust devtools experiences.

  20. meow

    🐈 CLI app helper

  21. Inquirer.js

    A collection of common interactive command line user interfaces.

  22. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Day 1: React in Terminal 🎨

    1 project | dev.to | 30 Nov 2024
  • I created a simple CLI tool that helps you code FAST!

    2 projects | dev.to | 12 Mar 2024
  • Delete git branches in batches

    2 projects | dev.to | 5 Feb 2024
  • Setup Simple Web UI for Node.js App in Seconds

    2 projects | dev.to | 17 Jan 2024
  • Synchronous File Reading and Writing in Node.js

    1 project | /r/node | 25 Jun 2023

Did you know that JavaScript is
the 3rd most popular programming language
based on number of references?