百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
B

bunster

> 编程语言
开源

将 shell 脚本编译为静态二进制文件。

2.7K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

将 shell 脚本编译为静态二进制文件。

A shell compiler that converts shell scripts into secure, portable, and static binaries. Unlike other tools (i.e. shc), Bunster does not just wrap your script within a binary. It literally compiles them to standalone shell-independent programs.

Under the hood, Bunster transpiles shell scripts into Go code. Then it uses the Go Toolchain to compile the code to an executable.

Bunster aims to be compatible with bash as a starting move. Expect that most bash scripts will just work with bunster. Additional shells will be supported as soon as we release v1.

[!WARNING] This project is in its early stages of development. Only a subset of features are supported so far.

Features

In addition to being compatible with bash. bunster offers a lot of additional features that empower its uniqueness:

  • Static binaries: scripts compiled with bunster are not just wrappers around your script, nor do they rely on any external shells on your system.

  • Modular: unlike traditional shells scripts that are written in a single file, bunster offers a module system that allows you to distribute code across as many files as needed. learn more

  • Package Manager: bunster has a builtin package manager that makes it easy to publish and consume modules as libraries. learn more

  • Native .env files support: .env files are natively supported in bunster, allowing you to load variables from .env files at runtime. learn more

  • Static assets embedding: bunster allows you to embed files and directories within your compiled program at compile time. Simply use them as if they were normal files in the system at runtime. learn more

  • Builtin flags parsing: You no longer have to bother yourself parsing flags manually. Just declare the flags you expect, and let bunster do the rest. learn more

  • Static analysis: bunster statically analyzes your scripts and reports potential bugs at compile time. (wip)

Get Started

Learn more about the usage of bunster.

Installation

We have a bash script that installs bunster and adds it to your $PATH.

curl -f https://bunster.netlify.app/install.sh | bash

The script will install bunster at:

  • ~/.local/bin/bunster on Linux, and
  • ~/bin/bunster on macOS.

If you want to install the binary system-wide, and make it accessible by all users:

curl -f https://bunster.netlify.app/install.sh | GLOBAL=1 bash

Homebrew

brew install bunster

Checkout the documentation for other ways to install bunster.

Versioning

Bunster follows SemVer system for release versioning. On each minor release v0.x.0, you can expect adding new features, code optimization, and build improvements. On each patch release v0.N.x, you can expect bug fixes and/or other minor enhancements.

Once we reach the stable release v1.0.0, you can expect your bash scripts to be fully compatible with bunster (there might be some caveats). All features mentioned above to be implemented unless the community agreed on skipping some of them.

Adding support for additional shells is not planned until our first stable release v1. All regarding contributions will remain open until then.

Developer Guidelines

If you are interested in this project and want to know more about its underlying implementation, or if you want to contribute back but you don't know where to start, we have a brief article that explains everything you need to get your hands dirty. Things like:

  • the project structure, packages, and their concerns
  • how each component works and interacts with other components
  • how to add new features
  • how to improve existing features
  • testing

And anything else in this regard.

Contributing

Thank you for considering contributing to the Bunster project! The contribution guide can be found in the documentation.

This project is developed and maintained by the public community (which includes you!). Anything in this repository is subject to criticism. This includes features, the implementation, the code style, the way we manage code reviews, the documentation, and anything else in this regard.

Hence, if you think that we're doing something wrong, or have a suggestion that can make this project better, please consider opening an issue.

Code Of Conduct

In order to ensure that the Bunster community is welcoming to all, please review and abide by the Code of Conduct.

Security

If you discover a security vulnerability within Bunster, please send an e-mail to Yassine Benaid via [email protected]. All security vulnerabilities will be promptly addressed.

Please check out our Security Policy for more details.

License

The Bunster project is open-sourced software licensed under The 3-Clause BSD License.

GitHub Issues· 0 开放

在 GitHub 查看全部

暂无开放 Issues,或尚未同步最近议题。

核心特点

  • •Static binaries: scripts compiled with bunster are not just wrappers around your script, nor do they rely on any external shells on your system.
  • •Package Manager: bunster has a builtin package manager that makes it easy to publish and consume modules as libraries. learn more
  • •Native .env files support: .env files are natively supported in bunster, allowing you to load variables from .env files at runtime. learn more
  • •Builtin flags parsing: You no longer have to bother yourself parsing flags manually. Just declare the flags you expect, and let bunster do the rest. learn more
  • •Static analysis: bunster statically analyzes your scripts and reports potential bugs at compile time. (_wip_)
  • •~/.local/bin/bunster on Linux, and
  • •~/bin/bunster on macOS.
  • •the project structure, packages, and their concerns
  • •how each component works and interacts with other components
  • •how to add new features

> 标签

Goaotbashcompilergo

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言