🙏 Thank you so much for your help in improving the project and pushing 🐍Vyper's long-term success! Many folks will be grateful to you. We are so glad to have you!
There are many ways to get involved at every level. It does not matter if you have just started with 🐍Vyper or are the most experienced expert, we can use your help.
No contribution is too small and all contributions are highly appreciated.
We particularly welcome support in the following areas:
- Reporting issues. For security issues, see our Security Policy.
- Fixing and responding to existing issues.
- Proposing changes and/or new features.
- Implementing changes and/or new features.
- Improving documentation and fixing typos.
If you are writing a new feature and/or a breaking change, please ensure that you include appropriate test cases.
If you encounter a bug or want to suggest a feature, you are welcome to open an issue. For serious bugs, please do not open an issue, but refer to our Security Policy.
Before opening an issue, please review the existing open and closed issues as well as the existing discussions and consider commenting on one of them instead.
For general types of discussion, e.g. on best practices, formatting, etc., please consider opening a new discussion.
When you propose a new feature, you should provide as much detail as possible, especially on the use cases that motivate it. Features are prioritised by their potential impact on the ecosystem, so we value information that shows the impact could be high.
As a contributor, you are expected to fork the main
branch of this repository, work on your own fork, and then submit pull requests. The pull requests are reviewed and eventually merged into the main
repository. See "Fork a repository" for how this works.
Ensure you read and follow our Engineering Guidelines. Run prettier, linter, and tests to make sure your PR is sound before submitting it.
When you open a PR, you will be provided with a template and a checklist. Read it carefully and follow the steps accordingly. You can expect a review and feedback from the maintainer pcaversaccio afterwards.
If you are looking for an easy starting point, look for issues labelled as good first issue 🎉!
You will need the following dependencies:
Important
All 🐍 snekmate contracts in the main
branch are designed to work with the latest master
branch commit of 🐍Vyper, which can be installed via pip install git+https://github.com/vyperlang/vyper.git@master
(note that Python version 3.10
or higher is required).
It is recommended to install pnpm
through the npm
package manager, which comes bundled with Node.js when you install it on your system. It is recommended to use a Node.js version >= 22.0.0
.
Once you have npm
installed, you can run the following both to install and upgrade pnpm
:
npm install -g pnpm
After having installed pnpm
, simply run:
pnpm install
This repository also includes the Foundry toolkit. You can simply run forge install
to install all the submodule dependencies that are in this repository. If you need help getting started with Foundry, we recommend reading the 📖 Foundry Book.