Thank you for your interest in contributing to the SemiOS-contract project! We welcome contributions from the community to help improve and expand this project. Please take a moment to review this document before submitting your contributions.
- How to Contribute
- Reporting Bugs
- Feature Requests
- Code Contributions
- Pull Request Process
- Coding Guidelines
- Testing
- Documentation
There are several ways you can contribute to SemiOS-contract:
- Reporting bugs and issues
- Requesting new features
- Submitting code improvements
- Improving documentation
If you find a bug in the project, please open an issue in the Issue Tracker and include the following information:
- A clear and descriptive title
- A detailed description of the issue
- Steps to reproduce the issue
- Any relevant screenshots or logs
We welcome suggestions for new features! To request a new feature, please open an issue in the Issue Tracker with the following information:
- A clear and descriptive title
- A detailed description of the proposed feature
- Any relevant use cases or examples
We appreciate your help in improving SemiOS-contract. To contribute code, follow these steps:
- Fork the repository to your own GitHub account.
- Create a new branch from the
main
branch for your changes (e.g.,feature/my-new-feature
). - Make your changes in the new branch.
- Write clear and concise commit messages.
- Run
forge fmt
to format your code according to the project's style guidelines. - Push your changes to your forked repository.
- Open a pull request (PR) to the
main
branch of the original repository.
When you open a pull request, please ensure that:
- Your code adheres to the project's coding standards and guidelines.
- All tests pass successfully.
- Your changes are well-documented.
- Your PR includes a clear and detailed description of the changes and the problem they solve.
A project maintainer will review your pull request and may request changes before it can be merged.
- Follow the Solidity Style Guide.
- Use descriptive variable and function names.
- Write comments to explain the purpose of complex code blocks.
- Ensure your code is clean, readable, and maintainable.
- Format your code using
forge fmt
to ensure consistency
Thorough testing is crucial for the reliability of SemiOS-contract. Please include tests for any new features or bug fixes. We use Foundry for testing Solidity contracts.
If you haven't already, install Foundry by following the instructions on the Foundry website.
To run the tests, use the following command:
forge test