bwk VS scripts-to-rule-them-all

Compare bwk vs scripts-to-rule-them-all and see what are their differences.

bwk

Kernighan's Awk a.k.a. "One True Awk" (by andychu)

scripts-to-rule-them-all

Set of boilerplate scripts describing the normalized script pattern that GitHub uses in its projects. (by github)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
bwk scripts-to-rule-them-all
2 8
54 3,140
- -
0.0 0.0
almost 8 years ago over 1 year ago
C Shell
- Creative Commons Zero v1.0 Universal
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

bwk

Posts with mentions or reviews of bwk. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-02-18.
  • Awk implementation?
    3 projects | /r/ProgrammingLanguages | 18 Feb 2022
  • How to Join a Team and Learn a Codebase
    2 projects | news.ycombinator.com | 16 Jan 2021
    Document the steps to setup dev environment in your own words and highlight the issues that you run into

    Lots of people are commenting saying they have problems with this.

    The first thing I do when working on an unfamiliar project is to write a SHELL SCRIPT that records everything I did. I keep that at the root of the git repo, usually as "run.sh".

    For example here is what I did when hacking on Kernighan's awk 5 years ago:

    https://github.com/andychu/bwk/blob/master/run.sh

    So now 5 years later I can see exactly where I got the files from. And I usually count how much source code there is in a repo to get a feel for it, and I have that exact command.

    And I was trying to figure out how much test coverage there is, so I ran a bunch of gcov stuff, which involve Python.

    The shell script may not work now, but the point is that I can tell within 10 seconds what I did 5 years ago.

    So basically I suggest becoming SHELL LITERATE and checking in shell script with comments. (You can also use a Makefile, but shell is less prescriptive about its model and has fewer gotchas. Make has all the gotchas of shell plus some more.)

    https://news.ycombinator.com/item?id=25400278

scripts-to-rule-them-all

Posts with mentions or reviews of scripts-to-rule-them-all. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-06.
  • What’s with DevOps engineers using `make` of all things?
    17 projects | /r/devops | 6 Dec 2023
    Personally I like https://github.blog/2015-06-30-scripts-to-rule-them-all/ as a pattern and then let the authors do whatever crazy thing they want from there. In my experience, 99% of repos never move past using simple shell scripts with a few common functions with that pattern, and things are kept fairly simple. A select few repositories tend to mature enough that they are able to invest in swapping towards something more testable than shell scripts, and then you just have a couple people who stick to invoking `make` from the scripts but it's fine and nobody has to think about it except them. We don't stick to that exact set of scripts, but find that as long as you don't use more than like 10ish entrypoints in `script/*`, and have at least `script/bootstrap` it's fine.
  • Scripts to Rule Them All (2015)
    1 project | news.ycombinator.com | 20 Jan 2023
  • Just: A Command Runner
    27 projects | news.ycombinator.com | 9 Jan 2023
    I dig the general idea, but question the value add over a directory of `scripts` that follow sane conventions (ie `script/test`, `script/build` etc). Is the main thing that you can do `just -l` to see available commands? I have never really reached for `make` when I've had a choice, as I've done mostly ruby, JS, or java where you have more sane, humane tools (i.e. Rake, Yarn, Maven though that one is never fun).

    My general approach is every repo should have something that follows https://github.com/github/scripts-to-rule-them-all, written in sh (maybe bash, its 2023), linted with shellcheck. When you need something fancy Rake is great or grab some nice bash command line helper and source it from all your scripts. Is a command listing really worth another dependency over what you get from `ls script` or `cat script/README` ?

  • [AskJS] What is the best way to create a common npm package for building others?
    6 projects | /r/javascript | 6 Apr 2022
  • Azure Pipeline running task in background?
    1 project | /r/devops | 30 Jun 2021
    Afaik AzDo cannot run tasks concurrently. From having had to work with azure pipelines I would highly suggest to use the github approach of Scripts to rule them all and avoiding predefined tasks unless absolutely necessary(Things that are complicated to implement and solutions already existing.
  • Why is uncoupled documentation bad?
    6 projects | news.ycombinator.com | 6 Jun 2021
    GitHub have a pattern for this called "scripts to rule them all" - https://github.com/github/scripts-to-rule-them-all - I've not fully adopted it yet but I probably should, it looks very well thought-out.
  • Script up your projects
    3 projects | dev.to | 2 Feb 2021
    People at Github made an attempt to fix this situation: scripts to rule them all. The idea is to have common set of executable scripts for common developer tasks in a script/ directory in the root of every project:
  • How to Join a Team and Learn a Codebase
    2 projects | news.ycombinator.com | 16 Jan 2021
    https://github.com/github/scripts-to-rule-them-all

What are some alternatives?

When comparing bwk and scripts-to-rule-them-all you can also consider the following projects:

awk - One true awk

govuk_design_system_formbuild

frawk - an efficient awk-like language

django-sql-dashboard - Django app for building dashboards using raw SQL queries

govuk-form-builder - A form builder for Ruby on Rails that’s compatible with the GOV.UK Design System.

generate-package - Use as a sub-generator or plugin in your generator to create a package.json for a project. Or install globally and run with Generate's CLI.

pure-sh-bible - 📖 A collection of pure POSIX sh alternatives to external processes.

confgen - Generate repetitive configs for vite, typescript, eslint, etc

datasette - An open source multi-tool for exploring and publishing data

tickety-tick - A browser extension that helps you name branches and write better commit messages

lerna - :dragon: Lerna is a fast, modern build system for managing and publishing multiple JavaScript/TypeScript packages from the same repository.

tsParticles - tsParticles - Easily create highly customizable JavaScript particles effects, confetti explosions and fireworks animations and use them as animated backgrounds for your website. Ready to use components available for React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Solid, Riot and Web Components.