🍺 BREW Explorer

← all formulae

beautysh

brew install beautysh v6.4.3 MIT

Bash beautifier

79
30-day installs · #3815
261
90-day · #3755
1.6k
365-day · #3098
532
★ GitHub stars · updated 2mo ago

Runtime dependencies

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [
    "python@3.14"
  ],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Bash beautifier",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:35:49+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "beautysh",
  "github_default_branch": "master",
  "github_last_commit_at": "2026-06-15T00:32:19Z",
  "github_readme_excerpt": "# beautysh [![CI](https://github.com/lovesegfault/beautysh/actions/workflows/ci.yaml/badge.svg)](https://github.com/lovesegfault/beautysh/actions/workflows/ci.yaml) [![codecov](https://codecov.io/gh/lovesegfault/beautysh/graph/badge.svg)](https://codecov.io/gh/lovesegfault/beautysh)\n\nThis program takes upon itself the hard task of beautifying Bash scripts\n(yeesh). Processing Bash scripts is not trivial, they aren\u0027t like C or Java\nprograms \u2014 they have a lot of ambiguous syntax, and (shudder) you can use\nkeywords as variables. Years ago, while testing the first version of this\nprogram, I encountered this example:\n\n```shell\ndone=0;while (( $done \u003c= 10 ));do echo done=$done;done=$((done+1));done\n```\n\nSame name, but three distinct meanings (sigh). The Bash interpreter can sort out\nthis perversity, but I decided not to try to recreate the Bash interpreter to\nbeautify a script. This means there will be some border cases this Python\nprogram won\u0027t be able to process. But in tests with large Linux system\nBash scripts, its error-free score was ~99%.\n\n## Installation\n\n### Using pip\n\n```shell\npip install beautysh\n```\n\n### Using Nix (recommended for development)\n\n```shell\nnix run github:lovesegfault/beautysh -- --help\n```\n\nOr add to your `flake.nix`:\n\n```nix\n{\n  inputs.beautysh.url = \"github:lovesegfault/beautysh\";\n  # ...\n}\n```\n\n### From source with uv\n\n```shell\ngit clone https://github.com/lovesegfault/beautysh\ncd beautysh\nuv sync\n```\n\n## Usage\n\nYou can call Beautysh from the command line such as\n\n```shell\nbeautysh file1.sh file2.sh file3.sh\n```\n\nin which case it will beautify each one of the files.\n\n### Configuration\n\nBeautysh supports multiple configuration sources with the following priority (highest to lowest):\n\n1. **Command-line arguments** (highest priority)\n1. **pyproject.toml** - `[tool.beautysh]` section\n1. **EditorConfig** - `.editorconfig` files (lowest priority)\n\n#### pyproject.toml\n\n```toml\n[tool.beautysh]\nindent_size = 4\ntab = false\nbackup = false\ncheck = false\nfo",
  "github_repo": "lovesegfault/beautysh",
  "github_stars": 532,
  "github_topics": [],
  "homepage": "https://github.com/lovesegfault/beautysh",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 79,
  "installs_365d": 1610,
  "installs_90d": 261,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "MIT",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "beautysh",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 3815,
  "rank_365d": 3098,
  "rank_90d": 3755,
  "raw_hash": "7d83570812ed6e45",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/b/beautysh.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": null,
  "version_stable": "6.4.3",
  "versioned_formulae": [],
  "why_use_this": null
}