Open Source
Contribute to Rey
Rey is open source and welcoming contributors. Whether you're fixing a typo or implementing a major feature, every contribution matters.
Process
How to get started
1
Fork and clone
Fork the repository on GitHub, then clone your fork locally.
$ git clone https://github.com/YOUR_USERNAME/rey-lang
2
Set up the dev environment
You need Rust (1.70+) and LLVM installed. Then build the compiler:
$ cd compiler/v1 && cargo build
3
Run the tests
Make sure all tests pass before making changes:
$ cargo test
4
Make your changes
Create a new branch, make changes, add tests if relevant.
$ git checkout -b feat/my-feature
5
Submit a PR
Push your branch and open a pull request. Describe what it does and why.
$ git push origin feat/my-feature
Help needed
Areas to contribute
Concrete areas where Rey needs work. Pick what interests you.
๐งHigh impact
Compiler
- โImprove error messages with better span information
- โAdd missing operator support (++, --, bitwise ops)
- โImplement generics in the type system
- โOptimize the LLVM IR emission pass
- โAdd a proper incremental compilation model
๐High impact
Standard Library
- โExpand String methods (indexOf, slice, format)
- โAdd a File type with streaming read/write
- โImplement a math module (min, max, abs, pow)
- โAdd networking primitives
- โWrite comprehensive stdlib tests
๐Medium impact
Platform Support
- โLinux x86_64 port
- โLinux arm64 port
- โWindows x86_64 port (via LLVM MinGW)
- โCI/CD for cross-platform builds
- โPackage manager integration
๐Good for beginners
Documentation
- โWrite more code examples for the reference
- โAdd a "Rey by Example" guide section
- โDocument the compiler internals
- โFix typos and clarify confusing sections
- โTranslate the getting started guide
๐งชGood for beginners
Testing
- โAdd more E2E test cases (currently 11 passing)
- โWrite unit tests for the lexer and parser
- โAdd fuzz testing for the parser
- โSet up a test suite for the stdlib
- โCreate regression tests for fixed bugs
๐Medium impact
Tooling
- โVS Code syntax highlighting extension
- โLSP server for code intelligence
- โA repl (read-eval-print loop)
- โCode formatter
- โLinter with common mistake detection
Code of Conduct
Rey is a welcoming, inclusive project. We expect all contributors to:
- Be respectful and considerate in all communications
- Welcome contributions from people of all backgrounds and skill levels
- Focus on constructive feedback and solutions
- Respect maintainer decisions, even when you disagree
- Keep discussions on-topic and productive
Harassment, discrimination, or any form of disrespectful behavior will result in removal from the project.