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
- https://github.com/lovesegfault/beautysh
- GitHub: lovesegfault/beautysh
- Brew formula source: Formula/b/beautysh.rb
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 [](https://github.com/lovesegfault/beautysh/actions/workflows/ci.yaml) [](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
}