Contributing a NEP
This doc was originally from https://github.com/newtonproject/NEPs/wiki and should be added to a NEP as reference.
- Review NEP-0 and guidelines in this document.
- Fork the repository by clicking “Fork” in the top right.
- Add your NEP to your fork of the repository. Use a template to start your NEP.
- Submit a Pull Request to Newton’s NEPs repository.
Start A NEP #
We welcome anyone with suggestions related to Newton Project to compile a NEP.
Before you begin writing a formal NEP, you should vet your idea. Ask the Newton community first if an idea is original to avoid wasting time on something that will be be rejected based on prior research.
In addition to making sure your idea is original, it will be your role as the author to make your idea clear to reviewers and interested parties, as well as inviting editors, developers and community to give feedback. You should try and gauge whether the interest in your NEP is commensurate with both the work involved in implementing it and how many parties will have to conform to it. Negative community feedback will be taken into consideration and may prevent your NEP from moving past the Draft stage.
Your first PR should be a first draft of the NEP. It must meet the formatting criteria. An editor will manually review the first PR for a new NEP and assign it a number before merging it. Make sure you include a
Discussions header with the URL to a discussion forum or open GitHub issue where people can discuss the NEP as a whole.
Once your first PR is merged, it will be merged to draft NEPs. For this to work, it has to be able to tell that you own the draft being edited. Make sure that the ‘authors’ line of your NEP contains either your GitHub username or your email address inside . If you use your email address, that address must be the one publicly shown on your your GitHub profile.
To update a draft NEP, you need to created another PR after edit. Once the PR is merged, your updated draft NEP will be merged to draft NEPs.
Finalize a draft NEP: When you believe your NEP is mature and ready to progress past the Draft phase to Final, you should do:
Open an issue to request for make the NEP Final. An editor will review your request and ask if anyone objects to its being finalised. If the editor decides there is no rough consensus - for instance, because contributors point out significant issues with the NEP - they may close the issue and request that you fix the issues in the draft before trying again.
If your request for finalised a NEP has been approved, an editor will change the NEP status to Public Call for anyone to check it can be a Final NEP. Once the Public Call period has passed. An editor will update the status to Final.