Thank you for your interest in contributing to RuneScript! This document outlines the process for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/runescript.git - Create a branch:
git checkout -b feature-name - Make your changes
- Test your changes
- Commit your changes:
git commit -m "Add feature" - Push to your fork:
git push origin feature-name - Submit a pull request
- Install Java 21 or higher
- Clone the repository
- The entire compiler is in
src/RuneScript.java - Build with:
javac src/RuneScript.java - Run with:
java RuneScript [options] [file]
src/- Source code and executable JARexamples/- Example RuneScript programsdocs/- DocumentationREADME.md- Main project documentationLICENSE- MIT LicenseCHANGELOG.md- Version history
- Follow Java conventions
- Use meaningful variable and method names
- Add comments for complex logic
- Maintain the single-file structure when possible
Before submitting changes:
- Test with the example files in
examples/ - Verify all CLI options work (--emit-tokens, --emit-ast, etc.)
- Test the REPL mode
- Ensure error handling works properly
When reporting issues, please include:
- Java version (
java -version) - Operating system
- Steps to reproduce
- Expected vs actual behavior
- Sample code that reproduces the issue
- Keep PRs focused on a single feature or bug fix
- Update documentation if needed
- Include tests for new functionality
- Follow existing code style
- Reference related issues in the PR description
Feel free to open an issue if you have questions about contributing.