[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73263":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},73263,"bunster","yassinebenaid\u002Fbunster","yassinebenaid","Compile shell scripts to static binaries.","https:\u002F\u002Fbunster.netlify.app",null,"Go",2672,71,13,15,0,3,57.87,"BSD 3-Clause \"New\" or \"Revised\" License",false,"master",true,[24,25,26,27,28],"aot","bash","compiler","go","shell","2026-06-12 04:01:08","\u003Cdiv align=\"center\">\n   \u003Cimg width=\"200\" src=\".\u002Fdocs\u002Fpublic\u002Flogo.png\"\u002F>\n\n# Bunster\n\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n[![CI](https:\u002F\u002Fgithub.com\u002Fyassinebenaid\u002Fbunster\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fyassinebenaid\u002Fbunster\u002Factions\u002Fworkflows\u002Fci.yml)\n[![Read - documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FRead-documentation-9c2e5c)](https:\u002F\u002Fbunster.netlify.app)\n\n\u003C\u002Fdiv>\n\nA shell compiler that converts shell scripts into secure, portable, and static binaries. Unlike other tools (i.e. [shc](https:\u002F\u002Fgithub.com\u002Fneurobin\u002Fshc)), Bunster does not just wrap your script within a binary. It literally compiles them to standalone shell-independent programs.\n\nUnder the hood, **Bunster** transpiles shell scripts into [Go](https:\u002F\u002Fgo.dev) code. Then it uses the [Go Toolchain](https:\u002F\u002Fgo.dev\u002Fdl) to compile the code to an executable.\n\n**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.\n\n> [!WARNING]\n> This project is in its early stages of development. [Only a subset of features are supported so far](https:\u002F\u002Fbunster.netlify.app\u002Ffeatures\u002Fsimple-commands).\n\n## Features\n\nIn addition to being compatible with bash. bunster offers a lot of additional features that empower its uniqueness:\n\n- **Static binaries**: scripts compiled with bunster are not just wrappers around your script, nor do they rely on any external shells on your system.\n\n- **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](https:\u002F\u002Fbunster.netlify.app\u002Fworkspace\u002Fmodules)\n\n- **Package Manager**: bunster has a builtin package manager that makes it easy to publish and consume modules as libraries. [learn more](https:\u002F\u002Fbunster.netlify.app\u002Fworkspace\u002Fmodules)\n\n- **Native `.env` files support**: `.env` files are natively supported in bunster, allowing you to load variables from `.env` files at runtime. [learn more](https:\u002F\u002Fbunster.netlify.app\u002Ffeatures\u002Fenvironment-files)\n\n- **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](https:\u002F\u002Fbunster.netlify.app\u002Ffeatures\u002Fembedding)\n\n- **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](https:\u002F\u002Fbunster.netlify.app\u002Ffeatures\u002Ffunctions#flags)\n\n- **Static analysis**: bunster statically analyzes your scripts and reports potential bugs at compile time. (_wip_)\n\n## Get Started\n\n\u003Cimg src=\".\u002Fdocs\u002Fpublic\u002Fbunster.gif\"\u002F>\n\n[Learn more about the usage of bunster.](https:\u002F\u002Fbunster.netlify.app)\n\n## Installation\n\nWe have a bash script that installs `bunster` and adds it to your `$PATH`.\n\n```shell\ncurl -f https:\u002F\u002Fbunster.netlify.app\u002Finstall.sh | bash\n```\n\nThe script will install bunster at: \n\n- `~\u002F.local\u002Fbin\u002Fbunster` on Linux, and\n- `~\u002Fbin\u002Fbunster` on macOS.\n\nIf you want to install the binary system-wide, and make it accessible by all users:\n\n```shell\ncurl -f https:\u002F\u002Fbunster.netlify.app\u002Finstall.sh | GLOBAL=1 bash\n```\n\n### Homebrew\n\n```sh\nbrew install bunster\n```\n\nCheckout the [documentation](https:\u002F\u002Fbunster.netlify.app\u002Finstallation) for other ways to install bunster.\n\n## Versioning\n\nBunster follows [SemVer](https:\u002F\u002Fsemver.org\u002F) 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\u002For other minor enhancements.\n\nOnce 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.\n\nAdding support for additional shells is not planned until our first stable release `v1`. All regarding contributions will remain open until then.\n\n## Developer Guidelines\n\nIf 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](https:\u002F\u002Fbunster.netlify.app\u002Fdevelopers) that explains everything you need to get your hands dirty. Things like:\n\n- the project structure, packages, and their concerns\n- how each component works and interacts with other components\n- how to add new features\n- how to improve existing features\n- testing\n\nAnd anything else in this regard.\n\n## Contributing\n\nThank you for considering contributing to the Bunster project! The contribution guide can be found in the [documentation](https:\u002F\u002Fbunster.netlify.app\u002Fcontributing).\n\nThis 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.\n\nHence, if you think that we're doing something wrong, or have a suggestion that can make this project better, please consider opening an issue.\n\n## Code Of Conduct\n\nIn order to ensure that the Bunster community is welcoming to all, please review and abide by the [Code of Conduct](https:\u002F\u002Fgithub.com\u002Fyassinebenaid\u002Fbunster\u002Ftree\u002Fmaster\u002FCODE_OF_CONDUCT.md).\n\n## Security\n\nIf you discover a security vulnerability within Bunster, please send an e-mail to Yassine Benaid via yassinebenaide3@gmail.com. All security vulnerabilities will be promptly addressed.\n\nPlease check out our [Security Policy](https:\u002F\u002Fgithub.com\u002Fyassinebenaid\u002Fbunster\u002Ftree\u002Fmaster\u002FSECURITY.md) for more details.\n\n## License\n\nThe Bunster project is open-sourced software licensed under [The 3-Clause BSD License](https:\u002F\u002Fopensource.org\u002Flicense\u002Fbsd-3-clause).\n","Bunster 是一个将 shell 脚本编译成静态二进制文件的工具。它通过将 shell 代码转译为 Go 语言代码，再利用 Go 工具链生成可执行文件，从而创建出独立于 shell 的程序。其核心功能包括生成真正的静态二进制文件、支持模块化编程以提高代码组织性、内置包管理和环境变量文件支持等特性，使得脚本开发更加高效和安全。此外，Bunster 还提供了静态资源嵌入与内置标志解析等功能，进一步增强了脚本的功能性和易用性。适用于需要将 shell 脚本转换为更易于分发和部署形式的各种场景，如自动化运维、CI\u002FCD 流程等。",2,"2026-06-11 03:44:46","high_star"]