Skip to main content

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

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/your-feature-name)
  3. Make your changes
  4. Write tests for your changes
  5. Run existing tests to ensure nothing broke
  6. Commit your changes (git commit -m 'Add some feature')
  7. Push to the branch (git push origin feature/your-feature-name)
  8. 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.