Traditional command-line scripting languages like Bash and PowerShell often present barriers due to their unintuitive syntax and limited capabilities in performing mathematical operations or manipulating strings. On the other hand, languages like Python and Perl offer more power but lack the simplicity and directness required for quick command execution and output parsing. The Commander project aims to bridge this gap with a new command-line scripting language that is both easy to learn and robust in functionality. Commander will be built as an interpreted language, and while it does not feature a brand new shell to interpret commands, it does feature a C++ interpreter for executing the Commander scripts. Commander's user-friendly syntax enables straightforward execution of commands and operations, while its rich feature set allows for advanced data manipulation and processing, thus empowering users to effortlessly create scripts that combine the best of both worlds. Commander also offers multi-platform support by allowing the interpreter to be used on any the three main operating systems: Windows, MacOS, and Linux. Anyone, experienced or new, interested in automating multi-step scripts that utilize command-line tools will benefit from using Commander.
All documentation for the language, which includes the language specification, grammar, examples, and pretty much any other details about the language, can be found in the documentation folder of this repo. Most information about the language can be found in the Commander language specification. Additionally, documentation for rules for how we enforce code style, environment, etc. is contained in the environment.md file in the same folder. In the future, we plan to separate the documentation into more manageable chunks, and add other documentation such as documentation on how to set up the coding environment.
The only way to use Commander as of now is to build the REPL or run the tests. In the future, we will have version releases of the language interpreter and REPL for download on various operating systems.
See the setup documentation for instructions on how to build in Linux (and also how to set up CLion for development). MacOS would likely build the same way as Linux, but we have not tested building on MacOS so we can't confirm. For details on how to build for Windows, see the compiling documentation.
Any questions or feedback? Feel feel to fill out this simple form. Thanks for all the support!
Alpha Release - 2/2/24
Beta Release - 3/1/24
Final (v1.0) Release - 4/8/24
In the future (either May or June 2024 most likely), we plan on fully open-sourcing this project under the MIT license to allow anyone to contribute to or improve it.
Cayden Lund
Eduardo Valdivia
Jaden Gill
Preston Hales
Project will be open-sourced under the MIT license (see LICENSE in the project root directory).