Thank you for considering contributing to MultiSigEnterpriseVault! I welcome contributions from the community and am excited to work with you.
- Ensure the bug was not already reported by searching on GitHub under Issues.
- If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
- When opening a new issue, select the appropriate template that best matches your report (e.g., Bug Report).
- Search the existing Issues for enhancement suggestions to avoid duplicates.
- If you find a related issue, feel free to add your thoughts and suggestions.
- If you don't find an existing issue, open a new one and describe the enhancement in detail.
- Use the provided template for feature requests to ensure all necessary information is included.
- Fork the repository and create your branch from
main
. - If you've added code that should be tested, add tests.
- Ensure the test suite passes.
- Make sure your code lints.
- Use the pull request template to ensure all necessary information is included.
- Follow the checklist in the template to verify that your pull request meets the project requirements.
- Issue that pull request!
- Follow the existing code style and use
forge fmt
to format your code. - Document all functions using NatSpec comments.
- Write clear, concise commit messages.
To keep a clean and understandable Git history, always base new branches off the main
branch and follow these branch naming conventions:
- Feature Branches: For new features use:
feat/<feature-name>
- Example: feat/owner-role
- Enhancement Branches: For existing feature enhancements or improvements use:
perf/<enhancement-description>
- Example: perf/owner-access
- Bug Fixes: For bug fixes, use:
fix/<issue-description>
- Example: fix/gas-estimation
- Chores or Refactoring: For maintenance or refactoring tasks, use:
chore/<task-description>
- Example: chore/update-dependencies
To maintain a clean and readable commit history, follow these guidelines:
-
Use Conventional Commits: Format your commit messages as follows:
<type>: <short summary>
Examples:
- feat: signer role functionality
- fix: gas estimation bug
-
Types of Commits:
- feat: A new feature
- fix: A bug fix
- perf: A feature enhancement
- docs: Documentation-only changes
- test: Adding or updating tests
- chore: Routine tasks like refactoring or updating dependencies
- Follow best practices for collaboration, and ensure tests are written for all new code.
- Be respectful and considerate in your communication.
- Follow the Code of Conduct.
If you have any questions, feel free to reach out by opening an issue, join the community chat, or send an email to [email protected].
I appreciate your contributions and thank you for your support!
Emmanuel Joseph (JET)