Thank you for your interest in contributing to meta contract! We welcome contributions from everyone, whether it's reporting an issue, submitting a pull request, or suggesting improvements.
If you encounter a bug or have a feature request, please use the provided templates when opening a new issue. This helps us address your concerns more effectively.
When submitting a Pull Request (PR), please keep in mind the following:
- PRs that contain backward-compatible bug fixes or minor changes will generally be merged directly.
- PRs that introduce new features or include backward-incompatible changes may be included in an upcoming Major or Minor release.
- The maintainer(s) will evaluate the scope of each PR and determine if it should be part of the next release cycle or if it can be merged immediately as a patch.
How to submit PR
- Fork the repository and create a new branch from the
main
branch for your feature or bug fix. - Make your changes and commit them with descriptive commit messages.
- Push your changes to your forked repository.
- Open a new pull request against the
main
branch of the main repository, describing your changes in detail. - Ensure your branch is up to date with the
main
branch before requesting a review. - Address any review comments and make necessary changes.
- Once approved, the PR will be merged into the
main
branch.
- Follow the Markdown formatting guidelines as outlined in the Documentation Guidelines.
- Use kebab-case for all documentation file names.
- Adhere to the Solidity Style Guide with project-specific additions as outlined in the Coding Standards.
- Use
forge fmt
for consistent code formatting.
- Follow the comprehensive test strategy outlined in the Test Strategy.
- Write unit tests for all functions and ensure high code coverage.
- Follow the branching and release strategy as outlined in the Branching and Release Strategy.
- Use Semantic Versioning for all releases.
This project follows Semantic Versioning and uses version numbers in the format MAJOR.MINOR.PATCH.
- Version number updates will be determined and applied by the assigned maintainer(s).
- For the initial v0.1.0 release, we expect to make frequent breaking changes.
A changelog will be maintained in CHANGELOG.md to document all notable changes in each version.
- Changelog entries should follow the Keep a Changelog format.
- Each version section should include the following subsections:
Added
for new features.Changed
for changes in existing functionality.Deprecated
for soon-to-be removed features.Removed
for now removed features.Fixed
for any bug fixes.Security
in case of vulnerabilities.
- Entries should be written in imperative mood, e.g., "Add feature" instead of "Added feature".
- Entries should include a reference to the related issue or pull request, e.g., "(#123)".
- Breaking changes should be clearly indicated with a "BREAKING CHANGE:" prefix.