Contributing to Runway Calculator
Thank you for considering contributing to the Runway Calculator project! This document provides guidelines and instructions for contributing.
Code of Conduct
Please be respectful and considerate of others when contributing to this project.
How to Contribute
Reporting Bugs
If you find a bug, please create an issue with the following information:
- A clear, descriptive title
- Steps to reproduce the bug
- Expected behavior vs. actual behavior
- Screenshots if applicable
- Any additional context that might help
Suggesting Features
If you have an idea for a new feature, please create an issue with:
- A clear, descriptive title
- A detailed description of the proposed feature
- Any relevant mockups or examples
- Why this feature would be useful to the project
Pull Requests
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature-name) - Make your changes
- Write tests for your changes
- Run existing tests to ensure nothing broke
- Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/your-feature-name) - Open a Pull Request
Development Setup
Follow the installation steps in the README.md file to set up your development environment.
Testing
Please write tests for any new features or bug fixes. The project uses WebAssembly-based tests with our custom HTTP mock infrastructure.
To run tests:
./run_tests.sh
For more information about the HTTP mock infrastructure used in testing, see HTTP Mock Guide.
Code Style
Please follow the existing code style in the project:
- Use descriptive variable and function names
- Write clear comments for complex logic
- Follow Rust's standard formatting guidelines (use
rustfmt) - Keep functions small and focused on a single task
- Add type annotations where they improve clarity
Commit Messages
- Use clear, descriptive commit messages
- Start with a verb in the present tense (e.g., "Add", "Fix", "Update")
- Reference issue numbers when applicable
Documentation
Please update the documentation when making changes:
- Update README.md if necessary
- Update or add docstrings for public functions
- Update the HTTP Mock Guide if extending the testing infrastructure
License
By contributing, you agree that your contributions will be licensed under the project's MIT License.