You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+30-17Lines changed: 30 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,11 +12,11 @@
12
12
13
13
</div>
14
14
15
-
A shell compiler that converts shell scripts into secure, portable and static binaries. Unlike other tools (ie. [shc](https://github.com/neurobin/shc)), Bunster does not just wrap your script within a binary. It literally compiles them to standalone shell-independent programs.
15
+
A shell compiler that converts shell scripts into secure, portable, and static binaries. Unlike other tools (i.e. [shc](https://github.com/neurobin/shc)), Bunster does not just wrap your script within a binary. It literally compiles them to standalone shell-independent programs.
16
16
17
-
Under the hood, **Bunster** transpiles shell scripts into [Go](https://go.dev) code. Then uses the [Go Toolchain](https://go.dev/dl) to compile the code to an executable.
17
+
Under the hood, **Bunster** transpiles shell scripts into [Go](https://go.dev) code. Then it uses the [Go Toolchain](https://go.dev/dl) to compile the code to an executable.
18
18
19
-
**Bunster** aims to be compatible with `bash` as a starting move. Expecting that most `bash` scripts will just work with bunster. Additional shells will be supported as soon as we release v1.
19
+
**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.
20
20
21
21
> [!WARNING]
22
22
> This project is in its early stages of development. [Only a subset of features are supported so far](https://bunster.netlify.app/features/simple-commands).
@@ -27,17 +27,17 @@ In addition to being compatible with bash. bunster offers a lot of additional fe
27
27
28
28
-**Static binaries**: scripts compiled with bunster are not just wrappers around your script, nor do they rely on any external shells on your system.
29
29
30
-
-**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://bunster.netlify.app/workspace/modules)
30
+
-**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://bunster.netlify.app/workspace/modules)
31
31
32
-
-**Package Manager**: bunster has a buitlin package manager that makes it easy to publish and consume modules as libraries. [learn more](https://bunster.netlify.app/workspace/modules)
32
+
-**Package Manager**: bunster has a builtin package manager that makes it easy to publish and consume modules as libraries. [learn more](https://bunster.netlify.app/workspace/modules)
33
33
34
-
-**Native `.env` files support**: `.env` files are nativily supported in bunster. Allowing you to load variables from `.env` files at runtime. [learn more](https://bunster.netlify.app/features/environment-files)
34
+
-**Native `.env` files support**: `.env` files are natively supported in bunster, allowing you to load variables from `.env` files at runtime. [learn more](https://bunster.netlify.app/features/environment-files)
35
35
36
-
-**Static assets embedding**: bunster allows you to embed files and directories within your compiled program at compile time. And use them as if they were normal files in the system at runtime. [learn more](https://bunster.netlify.app/features/embedding)
36
+
-**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://bunster.netlify.app/features/embedding)
37
37
38
-
-**Builtin flags parsing**: You no longer have to bother your self parsing flags manually. Just declare what flags you expect, and let bunster do the rest. [learn more](https://bunster.netlify.app/features/functions#flags)
38
+
-**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://bunster.netlify.app/features/functions#flags)
39
39
40
-
-**Static analysis**: bunster statically analizes your scripts and reports potential bugs at compile time. (_wip_)
40
+
-**Static analysis**: bunster statically analyzes your scripts and reports potential bugs at compile time. (_wip_)
41
41
42
42
## Get Started
43
43
@@ -47,13 +47,18 @@ In addition to being compatible with bash. bunster offers a lot of additional fe
47
47
48
48
## Installation
49
49
50
-
We have bash script that installs `bunster` and adds it to your `$PATH`.
50
+
We have a bash script that installs `bunster` and adds it to your `$PATH`.
The script will install bunster at `~/.local/bin/bunster` on linux. And `~/bin/bunster` on mac. If you want to install the binary system wide and make it accessible by all users.
56
+
The script will install bunster at:
57
+
58
+
-`~/.local/bin/bunster` on Linux, and
59
+
-`~/bin/bunster` on macOS.
60
+
61
+
If you want to install the binary system-wide, and make it accessible by all users:
Checkout the [documentation](https://bunster.netlify.app/installation) for different ways of installation.
73
+
Checkout the [documentation](https://bunster.netlify.app/installation) for other ways to install bunster.
69
74
70
75
## Versioning
71
76
72
-
Bunster follows [SemVer](https://semver.org/) system for release versioning. On each minor release `v0.x.0`, you should expect adding new features, code optimization, and build improvements. On each patch release `v0.N.x`, you should expect bug fixes and/or other minor enhancements.
77
+
Bunster follows [SemVer](https://semver.org/) 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.
73
78
74
-
Once we reach the stable release `v1.0.0`, you must 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.
79
+
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.
75
80
76
81
Adding support for additional shells is not planned until our first stable release `v1`. All regarding contributions will remain open until then.
77
82
78
-
## Developers Guidline
83
+
## Developer Guidelines
84
+
85
+
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](https://bunster.netlify.app/developers) that explains everything you need to get your hands dirty. Things like:
86
+
87
+
- the project structure, packages, and their concerns
88
+
- how each component works and interacts with other components
89
+
- how to add new features
90
+
- how to improve existing features
91
+
- testing
79
92
80
-
If you are interested in this project and want to know more about it's underlying implementation. Or if you want to contribute back but you don't know where to start. [We have brief article](https://bunster.netlify.app/developers) that explains everything you need to get your hands dirty. Things like the project structure, packages and their concerns, how each component work and interact with other components, how to add new features, how to improve existing features, testing and anything else in this regard.
93
+
And anything else in this regard.
81
94
82
95
## Contributing
83
96
84
97
Thank you for considering contributing to the Bunster project! The contribution guide can be found in the [documentation](https://bunster.netlify.app/contributing).
85
98
86
-
This project is developed and maintained by the public community, which includes you. Anything in this repository is subject to criticism. Including features, the implementation, the code style, the way we manage code reviews, the documentation and anything else in this regard.
99
+
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.
87
100
88
101
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.
0 commit comments