# qrush/sub

a delicious way to organize programs

Repository: https://github.com/qrush/sub
Canonical: https://ross.abutalabs.com/products/qrush-sub
Homepage: http://37signals.com/svn/posts/3264-automating-with-convention-introducing-sub
Language: Shell
License: MIT
License Family: permissive
Last push: 2021-08-24T12:00:22+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 5094, "days_push": 1835, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1761, forks 143 (observed 2026-08-28T04:05:32.633016+00:00)

## What it is
Sub is a bash-based convention for building command-line programs with git-style subcommands, where each subcommand is a standalone executable in any scripting language. It provides built-in commands, shell completions, and self-documenting subcommands via magic comments.

## Use cases
- organize shell scripts into a single command with subcommands
- build a CLI tool like git or rbenv in bash
- create subcommands in any scripting language
- add bash/zsh autocompletion to a custom CLI
- share team automation scripts under one command

## When to choose
- you want a lightweight, convention-based way to build multi-command CLI tools
- you prefer writing subcommands in any language rather than a single monolithic script
- you want built-in help, command listing, and shell completions for free

## When to avoid
- you need a full-featured CLI framework with argument parsing and rich help output
- your project requires cross-platform support beyond Unix shells
- you need an actively maintained project with recent releases

## Facets
- artifact type: framework
- maturity: maintenance
- function: cli, developer-tools, workflow-automation
- domain: developer-tools
- platform: cli
- tags: shell-scripts, subcommands, bash, convention-over-configuration, cli-framework, command-line, automation, linux, macos

## Member repositories
- qrush/sub (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:32.633016+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:27:12.369734+00:00, confidence not recorded.
  - readme: https://github.com/qrush/sub (fetched 2026-08-28T04:05:32.633016+00:00, sha 9079efa47eba)
  - homepage: http://37signals.com/svn/posts/3264-automating-with-convention-introducing-sub (fetched 2026-08-29T11:05:27.419636+00:00, sha fde5cdf471fe)
  - site_page: https://signalvnoise.com/writers (fetched 2026-08-29T11:05:27.422736+00:00, sha dac05d3e1cb8)
- Data as of 2026-08-30T08:39:29.467469+00:00.
