Contributing¶
Thank you for considering contributing to run! We welcome contributions of all kinds.
Ways to Contribute¶
1. Report Bugs¶
Found a bug? Open an issue with:
- Description of the issue
- Steps to reproduce
- Expected vs actual behavior
- Your environment (OS, versions, etc.)
2. Suggest Features¶
Have an idea? Open a feature request with:
- Description of the feature
- Use cases
- Why it would be useful
3. Improve Documentation¶
Documentation can always be better:
- Fix typos
- Add examples
- Clarify explanations
- Add missing topics
4. Add Language Support¶
Want to add a new language?
- Check the language engine interface
- Implement the trait for your language
- Add tests
- Submit a PR
5. Fix Bugs¶
Browse open issues and submit fixes!
Development Setup¶
Prerequisites¶
- Rust (latest stable)
- Git
- Language toolchains for testing
Clone and Build¶
Run Tests¶
Coding Guidelines¶
Rust Style¶
- Follow Rust API Guidelines
- Use
cargo fmtbefore committing - Run
cargo clippyand fix warnings - Add tests for new features
Commit Messages¶
feat: add support for OCaml
fix: handle edge case in language detection
docs: improve Python examples
test: add tests for Rust REPL
PR Process¶
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Run tests and linting
- Submit PR with description
Code of Conduct¶
- Be respectful
- Be constructive
- Be welcoming
- Be patient
Questions?¶
License¶
By contributing, you agree that your contributions will be licensed under Apache 2.0.
Thank you for contributing!