Introduction

I recently wrote a post called My GitHub cheat sheet for PnP contributions — an interactive cheat sheet which explains the GitHub commands that I use when I start a contribution. The post is interactive: you just tell it your GitHub username and what repository you want to contribute to, and it customizes the instructions for you.

I also wrote another post talking about how impressed I am with David Warner II’s offer to help anyone with their first contribution.

After briefly chatting with David I realized that the biggest hurdle for people is that they just don’t know where to get started. In my post, I recommend that you read the contribution guidelines for every repo, but I found that they are often hard to find in each repository.

I also say that most repositories want you to start from the dev branch, but as the Chris Kent pointed out in a PnP community call a while ago, some repositories prefer you use the master branch.

So, with David’s help, we compiled a list of the most common PnP repositories to help you get started.

The list contains the following:

  • Repo: Name of the repository
  • What is it?: Description of the repository
  • Getting started: Links to the most likely resource if you want to get started contributing to that repository
  • Branch: The branch you should target when submitting your pull requests

Please note that the information in each of the repositories can change and that you should always refer to the repository for the latest information.

Popular repositories

RepoWhat is it?Getting startedBranch
MicrosoftDocs/microsoft-365-communitySharePoint Documentation on usage and feature patterns for site owners and citizen developers https://docs.microsoft.com/microsoft-365/communityAdding contentmaster
PnP/office365-cliManage Microsoft Office 365 and SharePoint Framework projects on any platform https://aka.ms/o365cliContribution guidelines
Adding a new command
Submitting a PR
dev
PnP/PnP-PowerShellSharePoint PnP PowerShell CmdLets https://aka.ms/sppnp-powershellContribution guidancedev
PnP/PnP-sites-coreOffice 365 Dev PnP Core component (.NET) targeted for increasing developer productivity with CSOM based solutions.Contribution guidancedev
pnp/pnpjsSharePoint Patterns and Practices Reusable Client-side Libraries https://pnp.github.io/pnpjsContribution guidedev
PnP/sp-dev-fx-controls-reactReusable React controls for SPFx solutions https://sharepoint.github.io/sp-dev-fx-controls-react/Contribution guidelines
Submitting a PR
dev
PnP/sp-dev-fx-extensionsCode samples and developer content targeted towards SharePoint Framework client-side extensions. https://aka.ms/spfx-extensionsContribution guidancemaster
PnP/sp-dev-fx-library-componentsSample solutions from community around the SharePoint Framework library componentContribution guidanceCreate from: master
Submit to: dev
PnP/sp-dev-fx-property-controlsReusable SPFx property pane controls – Open source initiative https://pnp.github.io/sp-dev-fx-property-controls/Contribution guidelines
Submitting a PR
dev
PnP/sp-dev-fx-webpartsCode samples and developer content targeted towards SharePoint Framework client-side web parts. http://aka.ms/spfx-webpartsContribution guidelinesmaster
PnP/sp-dev-list-formattingSharePoint List Formatting Samples https://pnp.github.io/sp-dev-list-formatting/Contribution guidelinesmaster
PnP/sp-dev-modernizationAll modernization tooling and guidance https://aka.ms/sppnp-modernizeThe modernization repositorydev
SharePoint/sp-dev-docsSharePoint Developer Documentation https://docs.microsoft.com/en-us/sharepoint/dev/Contribute to SharePoint developer documentationmaster
SharePoint/sp-provisioning-serviceCode for the provisioning service hosted at lookbook.microsoft.comContributingdev

Conclusion

Let’s keep this list up to date! If you find that we forgot a repository, or that something is wrong, let us know in the comments of via Twitter and we’ll get it updated!

Thanks to David Warner II with putting together this list, and for always making yourself available to help people in this community.

This list wouldn’t be possible without the hard work of all of those who contributed (and continue to contribute) to the above repositories. Thank you for your contributions!

Photo credit

Image by StockSnap from Pixabay

Updates

  • July 27, 2020: Updated repos within PnP organization.
  • April 03, 2020: Yes, both the SPFx extensions and web parts samples repositories now ask you to submit to the master branch. This article was updated accordingly.
  • March 03, 2020: This repository is getting a lot of traffic these days, so I figured I’d update it and add the super-useful microsoft-365-community repo
  • November 25, 2019: David Warner II has launched a new initiative to help anyone who wants to create their first PnP contribution. It is called Sharing Is Caring and you can register to attend a live online hands-on session where he walks you through step-by-step instructions to create your first pull request.
  • August 25, 2019: Thanks to Bert Jansen for providing us with details for the SharePoint/sp-dev-modernization repository.
  • August 23, 2019: Erwin van Hunen Tweeted to remind us about SharePoint/PnP-Sites-Core. It is so foundational to other components, I don’t know how we missed it. Urgh! I hate to disappoint someone I hold in such high regard! Sorry!
  • August 23, 2019: Waldek Mastykarz rightly pointed out that we forgot the PnPjs repository.
Author

Microsoft MVP and PnP Team Member. Independent consultant. Certified SCRUM Master. SharePoint, Office 365 and Dynamics 365 are his favourite toys.

How can I help?

This site uses Akismet to reduce spam. Learn how your comment data is processed.