Skip to content

Latest commit

 

History

History
69 lines (42 loc) · 4.53 KB

CONTRIBUTING.md

File metadata and controls

69 lines (42 loc) · 4.53 KB

🫡 Contributing to 🐍 snekmate

🙏 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:

If you are writing a new feature and/or a breaking change, please ensure that you include appropriate test cases.

🙋‍♀️ Opening an Issue

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.

🛠 Submitting a Pull Request (PR)

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 🎉!

🌀 Dependencies

You will need the following dependencies:

⚙️ Installation

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.