Contributions are welcome. This document covers how to report bugs, propose features, and submit pull requests.
Open an issue using the Bug report template. Include the OS and Java version, the exact command you ran, and the output you got vs. what you expected.
Open an issue using the Feature request template before writing any code. Describe the use case and how you would use it.
- Fork the repository and create a branch from
main. - Make your changes.
- Run the test suite and confirm it passes on your platform:
# Linux and macOS chmod +x test.sh ./test.sh # Windows test.bat
- Open a pull request against
main. Describe what changed and why.
runner.sh:set -euo pipefailstays on. Capture external command exit codes explicitly withset +e / set -e. Use the same ANSI color variables already defined. Keep bash 3.2 compatibility (nomapfile).runner.bat: keepsetlocal EnableDelayedExpansion. Use!VAR!inside blocks. CaptureERRORLEVELimmediately after the relevant command.runner.ps1: use$LASTEXITCODEafter every external command. KeepInvoke-Runreturning the Java exit code.
The CI pipeline runs on Ubuntu, macOS, and Windows in parallel. To replicate a specific job locally, install JDK 21 and run ./test.sh or test.bat depending on your platform.
By contributing you agree that your changes will be licensed under the MIT license.