Create a GitLab Developer Portal
Problem to solve
As GitLab works to expand the developer resources that we offer, the complexity and breadth of those resources will need a better home to make it easier to discover them. Over the next year, we're looking at:
- Expanding our currently available APIs
- Developing, refining, and expanding our native client libraries
- Developing, refining, and expanding our CLI tools
- Creating more developer documentation and reference materials, such as API docs, CLI usage docs, example code, and reference applications
- Expanding and rolling out the Pajamas design system
- Adding a certification program
Without a centralized home, these resources will end up in a vast array of places, and not be easily discoverable for developers looking to build on the GitLab platform. This will result in lower customer satisfaction, a less fertile developer community, and hurt our ability to prove our commitment to developers and customers with large developer needs.
Intended users
The intended users of the Developer Portal are:
- Software developers integrating their product with GitLab via APIs - Looking for links to API documentation, client API libraries in their development language/platform
- Software developers building GitLab itself which includes Software developers building integrations inside of GitLab - Looking for GDK and GDK docs, Pajama docs, engineering style guide
- Power-users looking to expand their toolkit with API/CLI tools - Looking for API libraries, API docs, and CLI tools
- Buyers/decision-makers evaluating GitLab as a solution - Looking for API docs
- Partners/decision-makers at other companies evaluating integrating with GitLab - Looking at API docs, API libraries
These also map to our existing personas, defined here:
Further details
By providing a central home for all the resources, we make it easier to get started. Some example usecases are:
Creating a GitLab integration via API access - This portal will give a single location where they can find the native library they need for development, instructions on setting up a test environment, documentation on the endpoint resources they'll be utilizing, and example code to get them started.
Creating a GitLab integration inside GitLab itself - This portal will give a single location where GitLab developers can find links to the GDK docs (including the setup guide), links out to the Engineering handbook's style guide, links to the Pajamas documentation, and CLI tools.
Prospective customers and partners evaluating the GitLab product - This portal will give potential customers and partners a place where they can evaluate their organization's ability to integrate with GitLab. Here, they'll see what native libraries are available, what endpoint resources are available, and get a sense of how easy it will be for their developers to get started.
Proposal
We should add a new website, on developer.gitlab.com
that can serve as a home for all of our developer-specific resources. This new website should have sections for, and/or links out to the following content:
- GitLab's API documentation
- Available native libraries/clients
- Available CLI and other scriptable tools
- The GDK documentation
- The Pajamas design system
- GitLab development best practices and style guide
- Sample code and reference applications in a variety of languages
- Documentation on the best places to ask for help or support with these resources
- Details about our Partnership program and how to get listed in it
This does not mean that any content necessarily needs to get migrated anywhere. The point of this is to develop a central hub where things can be found, and that does not require that anything actually get moved today. The MVC version of this is simply a thoughtfully designed and organized landing page that ships interested parties out to the resources they need.
It may make sense to consolidate some or all of this content here eventually, but to be clear, this is not required at this time.
What does success look like, and how can we measure that?
Links / references
Some examples of great Developer Portals are: