한국어 | English
Thank you for your interest in contributing to ScriptRowberry! ScriptRowberry is an open-source systems programming language designed for bit-level precision, targeting WebAssembly. We welcome and appreciate all forms of contributions.
- Check the existing Issues to ensure the bug you found or the feature you want to propose isn't already being discussed.
- If you find a new bug or have a feature proposal, please open a new issue first.
The compiler core is located in the compiler directory.
# 1. Clone the repository and navigate to the compiler dir
git clone https://github.com/imsohappisy/scriptrawberry.git
cd scriptrawberry/compiler
# 2. Install dependencies (pnpm is recommended)
npx pnpm install
# 3. Build the core browser API bundle
node build.js
# This will update the dist/scriptrawberry.js bundle file on success.To maintain the stability of the compiler core, we thoroughly verify changes with unit tests.
- Run Tests: Run
npx vitest run(ornpx vitestfor watch mode) in thecompilerdirectory. Ensure all test cases pass before proposing changes. - Adding New Features: If you are adding syntax specs or optimization passes, you must write corresponding test coverage inside the
src/tests/folder.
- Fork the repository to your account.
- Create a new branch from
main(git checkout -b feature/amazing-feature). - Commit your changes with clear, descriptive commit messages.
- Verify that all tests pass (
npx vitest run). - Push to your fork and submit a Pull Request targeting the
mainbranch of the original repository. - The maintainers will review your PR and guide you through merging.