First off, thanks for taking the time to contribute to 🚀 Blockscout-Rust 🚀 projects! 🎉
The following is a set of guidelines for contributing to blockscout-rs
, which is hosted in the Blockscout organization.
This section guides you through submitting a bug report. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
- Check the issues list to see if the problem has already been reported.
- Update to the latest version and see if the issue persists.
Bugs are tracked as GitHub issues. Create an issue and provide the following information by filling in the provided template:
- Use a clear and descriptive title for the issue to identify the problem.
- Describe the exact steps which reproduce the problem in as many details as possible.
- Describe the behavior you observed after following the steps and explain why it is problematic.
- Explain which behavior you expected to see instead and why.
- Include screenshots, logs, ENVs, or any other information that might help in understanding the problem.
- Mark the issue with the appropriate label (bug, enhancement, documentation, question, etc).
If you want to help us improve the project, you can contribute code. To do so, follow these steps:
- Fork (https://github.com/blockscout/blockscout-rs/fork) the repository and make changes on your fork in a feature branch.
- Create your branch with the name
<name>/<short-slug-of-your-feature-or-fix>
- Write code to implement features or fix bugs. Make sure your code is well-tested
- Commit your changes. Commit messages SHOULD follow our commit message conventions format.
- Create a pull request. The title of the pull request MUST follow the commit message conventions format.
-
Use Conventional Commits:
- Follow Conventional Commits v1.0.0.
-
Commit Types:
Note: those types are preferred, but you can use any other type if it fits better.
feat
: New featurefix
: Bug fixperf
: Performance improvementchore
: Maintenance tasks (including code changes that do not fit other types)refactor
: Code restructuringci
: Continuous Integration changesdocs
: Documentation updatesbuild
: Build system changesconfig
: Configuration changestest
: Adding or updating testsrevert
: Reverting commit changes
-
Message Format
type(scope): description
- Type: Lowercase (e.g.,
feat
,fix
) - Scope: Service name (optional)
- Description: Short and concise (imperative mood)
- Type: Lowercase (e.g.,
-
Examples:
feat: add new feature ...
fix: correct bug ...
docs: update README
ci: add new workflow
-
Pull Request Titles
- SHOULD include service name (in
lower-kebab-case
) or other scope of change after<type>
- Examples:
feat(stats): add resolution for newAccounts chart
fix(stats): correct wrong update bug
docs: add CONTRIBUTING.md
ci(verifier): update docker build step
- SHOULD include service name (in