The Case for Nushell

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

Judoscale - Save 47% on cloud hosting with autoscaling that just works
Judoscale integrates with Django, FastAPI, Celery, and RQ to make autoscaling easy and reliable. Save big, and say goodbye to request timeouts and backed-up task queues.
judoscale.com
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. nushell

    A new type of shell

    I appreciate what projects like Nushell and Murex are trying to address, but having a saner scripting language and passing structured data in pipelines is not worth the drawbacks for me.

    For one, Bash scripting is not so bad if you set some sane defaults and use ShellCheck. Sure, it has its quirks, but all languages do. Even so, the same golden rule applies: use a "real" programming language if your problem exceeds a certain level of complexity. This is relative and will depend on your discomfort threshold, but using the right tool for the job is always a good practice. No matter how good the shell language is, I would hesitate to write and maintain a complex project in it.

    And for general QoL improvements with interactive use, Zsh is a fine shell, while still being POSIX compatible.

    [1]: https://github.com/nushell/nushell/blob/main/crates/nu-comma...

    [2]: https://github.com/nushell/nushell/issues/5027

    [3]: https://github.com/nushell/nushell/issues/9310

  2. Judoscale

    Save 47% on cloud hosting with autoscaling that just works. Judoscale integrates with Django, FastAPI, Celery, and RQ to make autoscaling easy and reliable. Save big, and say goodbye to request timeouts and backed-up task queues.

    Judoscale logo
  3. oils

    Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!

    You may be interested in https://www.oilshell.org/. It has many of the same end goals as nushell with more of an upgrade path from bash planned. You can start with full compatibility, and then turn on shell opts as you get comfortable to enable new behavior and disable bad old practices.

  4. tldr

    📚 Collaborative cheatsheets for console commands

    > Along those lines, a quick way to drive adoption could be a huge "how do i do x" or recipes page to Ctrl+F through. If I have to search the internet for how to do x in nushell/fish/etc, I might as well stick to arcane bash - at least you know someone has had the same problem before.

    https://github.com/tldr-pages/tldr

  5. murex

    A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)

    Stable is a problem because a lot of these shells don’t offer any guarantees for breaking changes.

    My own shell, https://github.com/lmorg/murex is committed to backwards compatibility but even here, there are occasional changes made that might break backwards compatibility. Though I do push back on such changes as much as possible, to the extent that most of my scripts from 5 years ago still run unmodified.

  6. nvim-nu

    Basic editor support for the nushell language

    Hover/go-to-definition seems more like a nice-to-have than a requirement. That being said, neovim support can be found here: https://github.com/LhKipp/nvim-nu

  7. marcel

    A modern shell (by geophile)

    Check out my entry, marcel: https://marceltheshell.org.

    E.g., find the newest vlc instance and kill it (a command that an acquaintance needs frequently, for some reason):

        ps | select (p: p.name == 'vlc') | sort (p: p.create_time) | tail 1 | (p: p.signal(9))

  8. jc

    CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.

    > I wanted to write some wrappers for the standard commands that automatically did all this via `jq`.

    If you're not already aware of it, you may wish to check out `jc`[0] which describes itself as a "CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq..."

    The `jc` documentation[1] & parser[2] for `ls` also demonstrates that reliable & cross-platform parsing of even "basic" commands can be non-trivial.

    [0] https://github.com/kellyjonbrazil/jc

    [1] https://kellyjonbrazil.github.io/jc/docs/parsers/ls

    [2] https://github.com/kellyjonbrazil/jc/blob/4cd721be8595db52b6...

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit 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

  • Why *not* parse `ls` (and what to do instead)

    5 projects | news.ycombinator.com | 25 Jun 2024
  • Xonsh: Python-powered, cross-platform, Unix-gazing shell

    12 projects | news.ycombinator.com | 14 Feb 2024
  • Modern Linux Tools vs. Unix Classics: Which Would I Choose?

    5 projects | news.ycombinator.com | 23 Sep 2023
  • Looking for a CLI tool that can format a json file.

    9 projects | /r/commandline | 12 Feb 2022
  • Ergonomic Pyhon Text Piping Solution for Linux Shell with pypyp and uv

    1 project | dev.to | 4 Jan 2025

Did you know that Python is
the 2nd most popular programming language
based on number of references?