Dear users and enthusiasts of our project,
We are thrilled to announce that the release 0.3.0 of our project is on its way, and there's a special reason to celebrate it! 🚀
✨ Release Date: March 14th, on Pi Day (3.14)
This update will bring a slew of new features, improvements, and bug fixes, and we can't wait to share it with you.
Keep an eye on this repository for further details on the new features and upgrade instructions.
Thank you for your ongoing support and for being a part of our community. We look forward to celebrating with you on Pi Day! 🎈
Stay tuned!
Mush is the shell package builder. Mush downloads your shell package’s dependencies, compiles your packages, makes distributable packages, and uploads them to GitHub, as public community’s package registry.
This project is mostly inspired by Rust and Cargo!
We try to do everything possible to ensure maximum compatibility with these platforms
To start using Mush, learn more at the Mush website.
Create a new demo package on your system with the following command
curl https://mush.javanile.org/demo | bash
Add your custom code to src/main.sh
or src/utils/module.sh
files then run it with
cd demo && ./bin/mush run
In case you are ready to release your package, type the following command
cd demo && ./bin/mush build --release
This cheatsheet provides an overview of essential keywords used in the Mush scripting language and their purposes.
-
module
: Loads a module, encapsulating code and allowing for modularity. A module can be a single file or a folder containing amodule.sh
file. -
public
: Marks a submodule as accessible from outside the module. -
extern package
: Specifies an external package or dependency to be used. -
embed
: Includes external files or resources into the Mush codebase.
For further details, please consult the Reference documentation.
See CONTRIBUTING.md in the repo, obviously pull-request are welcome.
If you discover a security vulnerability within Laravel, please send an e-mail to Francesco Bianco via [email protected]. All security vulnerabilities will be promptly addressed.
To interact with us, you can find us in the following ways:
- GitHub Issues: Report a bug or raise a feature request to the Mush core team
- Mush on Discord: Join the
#mush
channel on the Javanile Discord community - StackOverflow Tag: See existing Q&A for
BASH
andUnit Testing
. We look at them often
I would like to express my sincere gratitude to those who have contributed to maintaining the idea that Bash and all shell languages are proper programming languages, deserving to be treated with the appropriate tools.
Special thanks to:
Joseph Werle (@jwerle) and Ben Peachey (@Potherca) for their outstanding work in maintaining BPKG and for their contribution in supporting the Bash ecosystem, demonstrating that shell languages deserve the same dignity as other programming languages.
A special acknowledgement goes to Koichi Nakashima (@ko1nksm), not only for his pioneering work on ShellSpec, but also for his determination and willingness to keep the world of shell languages at the cutting edge. His vision has shown that these languages are full of possibilities and without effective limitations.
Thanks to their commitment, the shell languages community continues to thrive and evolve, providing developers with powerful and elegant tools to solve complex problems.
Mush is open-sourced software licensed under the MIT license.