docs/contributing.rst
.. _contributing:
Contributing ############
Help is always appreciated!
To get started, you can try installing Vyper <installing-vyper.html>_ in order to familiarize
yourself with the components of Vyper and the build process. Also, it may be
useful to become well-versed at writing smart-contracts in Vyper.
In particular, we need help in the following areas:
StackExchange <https://ethereum.stackexchange.com>_ and Discussions <https://github.com/vyperlang/vyper/discussions>_Vyper (Smart Contract Programming Language) Discord <https://discord.gg/6tw7PTM7C2>_Vyper's GitHub issues <https://github.com/vyperlang/vyper/issues>_To suggest an improvement, please create a Vyper Improvement Proposal (VIP for short)
using the VIP Template <https://github.com/vyperlang/vyper/blob/master/.github/ISSUE_TEMPLATE/vip.md>_.
To report an issue, please use the
GitHub issues tracker <https://github.com/vyperlang/vyper/issues>_. When
reporting issues, please mention the following details:
Reducing the source code that caused the issue to a bare minimum is always very helpful and sometimes even clarifies a misunderstanding.
Find or report bugs at our issues page <https://github.com/vyperlang/vyper/issues>_. Anything tagged with "bug" is open to whoever wants to implement it.
Our :ref:style guide<style-guide> outlines best practices for the Vyper repository. Please ask us on the Vyper (Smart Contract Programming Language) Discord <https://discord.gg/6tw7PTM7C2>_ #compiler-dev channel if you have questions about anything that is not outlined in the style guide.
In order to contribute, please fork off of the master branch and make your
changes there. Your commit messages should detail why you made your change
in addition to what you did (unless it is a tiny change).
If you need to pull in any changes from master after making your fork (for
example, to resolve potential merge conflicts), please avoid using git merge
and instead, git rebase your branch.
For guidance on writing good commit messages, see How to Write a Git Commit Message <https://cbea.ms/git-commit/>_.
To ensure your commit message is properly formatted (wrapped at 72 characters), use the included formatter:
python fmt_commit_msg.py commitmsg.txt (this formats the file in-place)The maintainer will use this message when squash-merging your PR.
If you are writing a new feature, please ensure you write appropriate Pytest test cases and place them under tests/.
If you are making a larger change, please consult first with the Vyper (Smart Contract Programming Language) Discord <https://discord.gg/6tw7PTM7C2>_ #compiler-dev channel.
Although we do CI testing, please make sure that the tests pass for supported Python version and ensure that it builds locally before submitting a pull request.
Thank you for your help!