A bash-based transpiler that converts CoffeeScript-inspired, indentation-based syntax into portable shell scripts with safety features.
Powscript is a transpiler written in bash that converts a CoffeeScript-inspired, indentation-based syntax into portable shell scripts. It solves the problem of writing error-prone, hard-to-read shell scripts by providing a cleaner syntax with built-in safety features like automatic quoting and dependency checking.
Shell script developers and system administrators who write complex bash scripts and want improved readability, safety, and modern programming features while maintaining portability.
Developers choose Powscript because it offers a familiar CoffeeScript-like syntax for shell scripting with zero dependencies, automatic safety features, and the ability to generate both bash and POSIX sh compatible output from the same source code.
transpiler written in bash: painless shellscript, indentbased, coffee for the shell with hipster-sparkles v1 BETA LANDED 🎉🎉🎉🎉 thanks fcard!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses CoffeeScript-inspired syntax that eliminates braces and brackets, making scripts more readable, as demonstrated in the example code snippets.
Includes automatic quoting, halt-on-error behavior, and dependency checks via require_cmd and require_env, reducing common shell script errors.
Adds built-in JSON handling, easy arrays, async operations, and functional programming patterns, referenced in the documentation for enhanced scripting.
A single-file bash script installable via wget without compilation or third-party software, ensuring easy setup on supported systems.
The --to sh flag for POSIX output is experimental, requiring manual checks with tools like checkbashisms, as noted in the README.
OSX users must install multiple packages (bash, coreutils, etc.) and modify environment variables, adding significant setup complexity.
Default output requires bash >=4.x, limiting use on systems with older bash versions and reducing out-of-the-box portability.