Ask HN: What libraries does go have for building interactive shells?

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

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • cobra

    A Commander for modern Go CLI interactions

  • I want to build a command line tool with context-sensitive completion. This is important because it allows interactive exploration of the options -- both of the application and of the current data model -- available to the user.

    So far this is what I've found.

    https://github.com/desertbit/grumble

    https://github.com/spf13/cobra

    https://github.com/urfave/cli

    https://github.com/abiosoft/ishell

    I would like to know people's experiences and recommendations in building such an app in go.

  • grumble

    A powerful modern CLI and SHELL

  • I want to build a command line tool with context-sensitive completion. This is important because it allows interactive exploration of the options -- both of the application and of the current data model -- available to the user.

    So far this is what I've found.

    https://github.com/desertbit/grumble

    https://github.com/spf13/cobra

    https://github.com/urfave/cli

    https://github.com/abiosoft/ishell

    I would like to know people's experiences and recommendations in building such an app in go.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • urfave/cli

    A simple, fast, and fun package for building command line apps in Go (by urfave)

  • I want to build a command line tool with context-sensitive completion. This is important because it allows interactive exploration of the options -- both of the application and of the current data model -- available to the user.

    So far this is what I've found.

    https://github.com/desertbit/grumble

    https://github.com/spf13/cobra

    https://github.com/urfave/cli

    https://github.com/abiosoft/ishell

    I would like to know people's experiences and recommendations in building such an app in go.

  • ishell

    Library for creating interactive cli applications.

  • I want to build a command line tool with context-sensitive completion. This is important because it allows interactive exploration of the options -- both of the application and of the current data model -- available to the user.

    So far this is what I've found.

    https://github.com/desertbit/grumble

    https://github.com/spf13/cobra

    https://github.com/urfave/cli

    https://github.com/abiosoft/ishell

    I would like to know people's experiences and recommendations in building such an app in go.

  • readline

    Readline is a pure go(golang) implementation for GNU-Readline kind library

  • Do you want to build an interactive shell or a cli tool? For a custom shell I have used https://github.com/chzyer/readline before, but I did not work on it a lot.

    I also wanted custom completions based on context and this readline implementation was decent for that.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    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