Show HN: Bin CLI – A simple task/script runner for any programming language

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

Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
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.
www.influxdata.com
featured
  1. bin-cli

    A simple task/script runner for any programming language

  2. Sevalla

    Deploy and host your apps and databases, now with $50 credit! Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!

    Sevalla logo
  3. Task

    A task runner / simpler Make alternative written in Go

    Most projects I've worked on included a bunch of scripts for common tasks (installing dependencies, starting/stopping dev servers, testing and deploying changes, and so on). There are a few tools designed for this, such as Just (https://just.systems/) and Task (https://taskfile.dev/), and I know some people use Make as a task runner (e.g. https://news.ycombinator.com/item?id=40333481), but I've always preferred the simplicity and universality of shell scripts.

    Bin CLI is a tool I wrote to add some of the niceties of these tools to shell scripts: it works even when you're currently in a subdirectory, only requires you to type enough of the command (script) name to uniquely identify it, and allows aliases to be defined. It also allows a project's commands to be listed (along with some help text), supports subcommands, and supports tab completion of command names. Of course scripts can be written in other languages too, just by adding the appropriate shebang.

    Collaborators/contributors who don't have Bin CLI installed can just run the scripts directly - so I can enjoy the benefits without adding a hard dependency or extra barrier to entry. However, I also added support for defining one-liner scripts/aliases in a config file (much like "npm run" scripts are defined in package.json) for times when I want to avoid creating many trivial/wrapper scripts for common tasks.

    It is implemented as a single Bash script, with minimal dependencies, small enough to keep in my Dotfiles repo (62 KB). I also made .deb and .rpm packages so it can easily be installed system-wide.

  4. just

    🤖 Just a command runner

    Most projects I've worked on included a bunch of scripts for common tasks (installing dependencies, starting/stopping dev servers, testing and deploying changes, and so on). There are a few tools designed for this, such as Just (https://just.systems/) and Task (https://taskfile.dev/), and I know some people use Make as a task runner (e.g. https://news.ycombinator.com/item?id=40333481), but I've always preferred the simplicity and universality of shell scripts.

    Bin CLI is a tool I wrote to add some of the niceties of these tools to shell scripts: it works even when you're currently in a subdirectory, only requires you to type enough of the command (script) name to uniquely identify it, and allows aliases to be defined. It also allows a project's commands to be listed (along with some help text), supports subcommands, and supports tab completion of command names. Of course scripts can be written in other languages too, just by adding the appropriate shebang.

    Collaborators/contributors who don't have Bin CLI installed can just run the scripts directly - so I can enjoy the benefits without adding a hard dependency or extra barrier to entry. However, I also added support for defining one-liner scripts/aliases in a config file (much like "npm run" scripts are defined in package.json) for times when I want to avoid creating many trivial/wrapper scripts for common tasks.

    It is implemented as a single Bash script, with minimal dependencies, small enough to keep in my Dotfiles repo (62 KB). I also made .deb and .rpm packages so it can easily be installed system-wide.

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

  • Any recommendations for CLI wrappers?

    2 projects | /r/devops | 27 Apr 2023
  • New blog post about makefiles being used in modern development. Link is listed below in case you wanted to check it out.

    2 projects | /r/devops | 14 Mar 2022
  • Does anyone feel that there’s so many CI/CD tools that it’s impossible to keep up with?

    2 projects | /r/devops | 4 Jan 2021
  • Makefiles are older than Doom why are we still using them?

    3 projects | dev.to | 17 May 2025
  • How I do local development CockroachDB Backups

    1 project | dev.to | 26 Apr 2025