Skip to content

Latest commit

 

History

History
115 lines (77 loc) · 3.11 KB

CONTRIBUTING.md

File metadata and controls

115 lines (77 loc) · 3.11 KB

⚠️Warning⚠️

You must fully understand the project's requirements and guidelines to contribute effectively and avoid inconvenience.


How to Contribute to Wave

Wave is an open-source project, and contributions from anyone are welcome. However, please follow these guidelines to ensure your contributions align with the project's goals and standards.


Programming Languages

We primarily use Rust as the main programming language for Wave. Once Wave reaches a stage where bootstrapping is feasible, we plan to transition the main language to Wave itself.

Supported Languages


Code Conventions

To maintain consistency across the project, we strictly follow the K&R style. Contributions using styles like BSD, GNU, or others may be rejected or require modifications to adhere to K&R.

Examples

  • Correct:
fn main() {
    println!("Hello World!");
}
  • Incorrect:
fn main() 
{
    println!("Hello World!");
}
fn main() 
    {
        println!("Hello World!");
    }

How to Contribute

Fork the Repository

Start by forking the project repository to your GitHub account. Make changes in your forked repository and submit a pull request when ready.

Understand the Project Structure

Before contributing, familiarize yourself with the standard Rust project structure:

project_root/  
├── src/  
│   ├── main.rs  
│   ├── lib.rs  
│   └── [feature-specific modules]  
├── tests/  
├── examples/  
├── Cargo.toml  
└── README.md  
  • New Features: Create a new module under src/ or extend an existing one.
  • Bug Fixes: Locate the affected file and modify it directly.
  • Tests: Add test cases in the tests/ directory or expand existing test files.

Note:

Do not create folders named after contributors. Track contributions using Git and list contributor information in the CONTRIBUTORS file, if necessary.


Build and Test

Before submitting your changes:

  • Build: Ensure your code compiles without errors.
  • Run Tests: Verify that all existing tests pass successfully.
  • Add Tests: Write and run tests for any new functionality.
  • Code Style: Confirm adherence to the project's coding standards.

Only submit a pull request after all tests pass and your code is fully validated.


Submit a Pull Request

Submit your pull request to the official repository: GitHub Repository

Include the Following Details:

  • Purpose and functionality of your changes.
  • Programming language used.
  • Libraries used (including any self-developed libraries with detailed explanations).
  • Frameworks used (including any self-developed frameworks).
  • Technologies or methodologies applied in your contribution.

Providing detailed information helps maintainers evaluate and integrate your contribution effectively.


By adhering to these guidelines, you help maintain the quality, stability, and consistency of the Wave project. Thank you for contributing!