Nexmo Repository Standards
These are our internal-facing guidelines, published in the open in case anyone else finds them useful.
This project contains checklists, templates and other resources to include with your open source repository. Whether you're starting a new project or improving an existing one, please include any or all of the elements suggested below as appropriate to your repo.
Which GitHub Org?
Historically we have had three GitHub orgs:
nexmoOur libraries, code snippet repos and other formally supported projects go here.
nexmo-communityThe community repo where we put sample apps, blog post examples, and other assorted items (things can be promoted into the main repo at a later date if widely adopted).
opentokThis is where server SDKs and other open source projects live. You can filter out "labs" projects using the "opentok-labs" topic.
If you're not sure where something goes, or you don't have permission to create a repo, talk to us in
#ask-devrel on slack.
Get the Basics Right
Naming things is hard, this part is very important! Best practice: name the project after what it does rather than what it is made of. E.g. "joke telephone answering service" rather than "sinatra voice demo".
Give your repo a description and some tags - this is right at the top of the web interface, before the file listings. The description should cover the purpose and scope of the project. The tags can include
nexmoas well as the technologies used and the features of the project. For example you could have tags:
What Type of Project?
While most of our
READMEs should have some common features, different repo types have different requirements. Here is what we expect from the different types of repo.
|Library (e.g NodeJS lib)||Demo/Tool (e.g. Demo for booth/customer use)||Supporting code (e.g. for blog post)|
|Installation instructions||Installation instructions||Link to what this repo is supporting|
|Detailed usage docs for all features||Usage examples||App may set
|A CONTRIBUTING FILE||A CONTRIBUTING FILE|
|App must set
||App may set
|One-click deployment setup|
More README Resources
You may find these resources useful for structuring your project's README file (edit and add your favourites!)