This section is a work in progress. Want to help? Check out the jenkinsci/docs gitter channel. For other ways to contribute to the Jenkins project, see this page about participating and contributing.
The Blue Ocean plugin for Jenkins is designed to be extended by other plugins. Like many other plugins, Blue Ocean has its own extension points.
Blue Ocean is a single-page application which has different aspects of the application contributed by purpose-specific plugins, such as the Dashboard for Blue Ocean or i18n for Blue Ocean plugins.
If you wish to make a plugin for blue ocean, some starting points:
Introduce yourself to the https://app.gitter.im/#/room/#jenkinsci_blueocean-gitter chat room. This is often the best place to start. There are many people there to help you get going.
Contact the jenkins-ux mailing list (things move fast, ask someone for help)
Read the README with pointers on plugin development
Get familiar with regular Jenkins plugin development (at least a very simple plugin)
Read up a little on ReactJS (not necessary but doesn’t hurt)
Take a look at the Blue Ocean plugin generator utility
Take a look at a real plugin (non trivial) - the visual pipeline editor.
For those with a more graphical focus, you will want to take a look at the Jenkins Design Language repository.