-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add contributing.md file #4676
Open
devendran-m
wants to merge
2
commits into
casper-network:dev
Choose a base branch
from
devendran-m:devendran/add-contributing
base: dev
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Add contributing.md file #4676
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
<!-- markdownlint-disable MD033 MD013 --> | ||
# Contributing to Casper - Guideline Document | ||
|
||
Welcome! If you are visiting this page, you're likely interested in contributing to the development of Casper. We are thrilled to have you on board. | ||
|
||
Casper is a strong advocate of community participation and warmly welcomes contributions in various forms. | ||
|
||
There is always a need for improvement in our documentation, creating tutorials, and writing tests. You can contribute to Casper by engaging in development, code reviews, and enhancing documentation. | ||
|
||
## Code of Conduct | ||
|
||
The Casper [Code of Conduct](https://github.com/casper-ecosystem/.github/blob/main/profile/CODE_OF_CONDUCT.md) governs the conduct expected in this project. By participating, you agree to adhere to this code. | ||
|
||
## How Can I Contribute? | ||
|
||
### 1. Reporting Bugs | ||
|
||
If you encounter issues in the `casper-node` repository, please file an issue in the repository using the specified bug report template. Providing detailed information will help expedite the resolution. | ||
|
||
#### Before Submitting A Bug Report | ||
|
||
- Confirm the issue is related to `casper-node` by consulting the documentation and FAQs. | ||
- Ensure that the problem has not been previously reported by searching through existing issues. | ||
- If a similar issue exists but remains unresolved, consider contributing to that thread instead of starting a new one. | ||
|
||
#### How Do I Submit A (Good) Bug Report? | ||
|
||
A well-crafted bug report should clearly outline the problem by following these steps: | ||
|
||
- **Use a descriptive title** to help pinpoint the issue. | ||
- **Detail the exact steps to reproduce the problem** so that we can replicate it. | ||
- **Provide specific examples**, such as code snippets, links to files, or GitHub projects that are part of the test case. | ||
- **Describe the observed behavior** and how it differed from your expectations. | ||
|
||
### 2. Code Contributions | ||
|
||
Whether fixing bugs or developing new features, your contributions are highly valued. | ||
|
||
If you are new and looking for simpler tasks, explore the issues labeled as `good first issue`. | ||
|
||
You can also check out `beginner` and `help-wanted` issues. | ||
|
||
Here’s how you can contribute code: | ||
|
||
#### Steps to Submit Code | ||
|
||
- **Fork the repository**: As a contributor, you should `fork` the repository, work on your fork, and submit a pull request. The pull request will undergo review and potentially be merged into the main repository. | ||
|
||
- Create a fork from the `dev`, `feature`, or `release-feature` branch for your changes. | ||
- Note that the naming convention for a Release/Feature branch includes: | ||
- `release-1.4.6` for Major releases (e.g., Protocol release). | ||
- `feat-1.5.0` for Feature releases. | ||
|
||
- **Make your changes**: Ensure your code complies with the existing style and architecture. Keep your changes focused, and if they are broad, consider dividing them into smaller PRs for easier review. | ||
|
||
- **Test your changes**: Execute existing tests and add new ones as needed. Your code should pass all existing tests, and new functionalities should come with accompanying tests. | ||
- Enable Automated Testing For more information refer to GitHub’s [Automating builds and tests - GitHub Docs](https://docs.github.com/en/actions/automating-builds-and-tests). | ||
- Confirm that tests have been automatically executed. | ||
- Introduce a test that highlights a problem. | ||
- Report an issue on GitHub. | ||
- Address the broken test and proceed to Step 4. | ||
- **Document your changes**: Update the documentation to reflect any new behaviors, features, or APIs. | ||
- **Submit a pull request**: | ||
- Provide a concise list of what you have done. Mention relevant issue numbers, and ensure your PR description effectively communicates the problem and solution. Include any pertinent screenshots or output snippets. | ||
- The Casper Team will review the Pull Request and accept it if it meets the required standards of code quality, test coverage, and security. | ||
|
||
- Git Rules | ||
|
||
We employ `gitchangelog` across all our repositories for maintaining change logs. It is essential to follow the specified convention when composing commit messages. Your pull request may not be approved if you do not adhere to this convention. | ||
|
||
- Commit Message Convention | ||
|
||
Consider organizing your commits into rough sections: | ||
- by purpose (e.g., new, fix, change). | ||
- by entity (e.g., doc, sdk, code). | ||
- by audience (e.g., developers, testers, users). | ||
|
||
Additionally, you might tag some commits as: | ||
- `minor`, for minor changes that do not need to be included in your changelog. | ||
- `refactor`, for significant structural changes that do not introduce new features. | ||
- `api`, to denote API changes or new APIs. | ||
|
||
**Casper Pull Request Workflow:** | ||
|
||
Refer to the Casper Pull Request Workflow below. | ||
|
||
 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This diagram needs to be updated as noted in other PRs. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This comment needs to be addressed. |
||
|
||
### 3. Enhancement Proposals (CEP) | ||
|
||
To propose significant changes or enhancements to the Casper Node, submit a Casper Enhancement Proposal (CEP). The CEP process provides a structured framework for new features, fostering organized discussion and review. | ||
|
||
#### How to Submit a CEP | ||
|
||
1. **Familiarize Yourself**: Review the [CEP README](https://github.com/casper-network/ceps/blob/main/README.md) to understand the process and expectations. | ||
2. **Draft Your Proposal**: Write a draft using the provided [template](https://github.com/casper-network/ceps/blob/main/0000-template.md). | ||
3. **Submit a Pull Request**: File a PR in the [CEP repository](https://github.com/casper-network/ceps) with your proposal. Follow all submission guidelines. | ||
4. **Discussion and Review**: The community and maintainers will evaluate your proposal. Be receptive to feedback and ready to make revisions. | ||
5. **Final Decision**: After thorough discussion, the maintainers will decide on the acceptance of the CEP. If approved, it will be merged into the repository and implemented accordingly. | ||
|
||
### 4. Documentation | ||
|
||
Enhancing documentation makes the project more accessible and user-friendly. Here's how you can contribute: | ||
|
||
- **Identify gaps**: Evaluate existing documentation for completeness and precision. Identify areas lacking content or needing clarification. | ||
- **Make your changes**: Revise existing documents or write new ones to address identified gaps. Ensure clarity and comprehensibility in your documentation. | ||
- **Follow the style guide**: Adhere to the [Casper Writing and Editing Style Guide](https://github.com/casper-network/docs/blob/dev/writing-style-guide) to ensure consistency in voice and formatting across all documents. | ||
|
||
### 5. Testing | ||
|
||
Interested in testing our documentation, guides, and developer tools? Visit the following pages: | ||
|
||
- [Why Build on Casper](https://docs.casper.network/resources/build-on-casper/introduction/). | ||
- [Getting Started with Rust](https://docs.casper.network/developers/writing-onchain-code/getting-started/). | ||
- [Setting up a Local Network with NCTL](https://docs.casper.network/developers/dapps/setup-nctl/). | ||
- [Testing Smart Contracts with NCTL](https://docs.casper.network/developers/dapps/nctl-test/). | ||
|
||
## Best Practices for Contributions | ||
|
||
- Adhere to the project's style and contribution guidelines. | ||
- Write clear, concise commit messages that effectively communicate the purpose and context of your changes. | ||
- Participate in code reviews if you contribute code. | ||
- Engage with the community to obtain feedback and refine your contributions. | ||
|
||
## Additional Resources | ||
|
||
For further information on setting up and configuring a development environment for `casper-node`, visit the [official repository](https://github.com/casper-network/casper-node). | ||
|
||
We appreciate your contributions to the Casper Node! Your efforts significantly enhance the growth and improvement of our network. | ||
|
||
We welcome your insights and feedback from your testing experiences. Please let us know by submitting issues in the respective GitHub repositories. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the formatting so different than what was submitted here: casper-network/.github#1 (comment). Could you please make them consistent?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment still needs to be addressed.