GitHub Partner Docs: Contribution Guide
Are you a GitHub Technology Partner looking to contribute to our documentation? Wonderful! This guide outlines the requirements and steps for ensuring your contributions align with our standards and provide maximum value to our users. We aim to create clear, concise, and helpful documentation that showcases how your product seamlessly integrates with GitHub.
Code of Conduct
Before you dive in, please make sure you've read and agree to the GitHub Docs project's Code of Conduct. This ensures a welcoming and respectful environment for all contributors.
Prerequisites
- Application Approval: Your application to the GitHub Technology Partner Program must be approved before contributing documentation.
Key Tasks for Contribution
To ensure a smooth and successful contribution, please adhere to the following guidelines:
-
Follow General Contributing Guidelines: It is essential to adhere to our general contributing guidelines for maintaining a consistent voice and markup format across all GitHub documentation. These guidelines provide the foundation for how we write and structure our content, ensuring clarity and accessibility for our users. By following these guidelines, you contribute to a cohesive and professional documentation ecosystem.
-
Emphasize GitHub Integration: The primary focus of your documentation should be on illustrating how your third-party product effectively works with GitHub. Showcase the functionalities, workflows, and benefits users can derive from this integration. Highlight specific use cases, provide practical examples, and demonstrate how the combined power of your product and GitHub can solve real-world problems. This emphasis helps users understand the value proposition and encourages them to explore the integration further.
-
Markdown Format and Templates: All documentation must be written in Markdown format. Markdown's simplicity and readability make it an ideal choice for creating accessible and maintainable documentation. Utilize one of the provided templates to ensure consistency in structure and formatting. These templates offer a standardized framework, guiding you through the necessary sections and information to include. Using a template streamlines the writing process and helps maintain a uniform look and feel across the documentation.
-
Contributor Information: It is imperative to include the name and URL of the GitHub technology partner responsible for maintaining the contributed documentation. Add this information via the
contributor.nameandcontributor.URLproperties in the template's YAML frontmatter. This attribution ensures proper credit and allows users to easily identify the responsible party for any updates or support related to the documentation. Including this information fosters transparency and accountability within the documentation ecosystem. -
Pull Request via GitHub Flow: Propose your documentation changes via a pull request (PR) to this repository, following the established GitHub Flow. The GitHub Flow provides a structured process for submitting, reviewing, and merging contributions, ensuring quality and collaboration. Creating a pull request allows for collaborative review, feedback, and refinement of your documentation before it is integrated into the main codebase. This process helps maintain the accuracy and consistency of the documentation.
-
File Location and Naming: Place your documentation file in the root of the
contentfolder. The filename must match the GitHub technology partner name and use the.mdfile extension. Consistent file naming and organization are crucial for maintaining a structured and easily navigable documentation repository. Adhering to this convention ensures that users can quickly locate and access the documentation they need.
Pull Request Requirements
When submitting your pull request, please ensure the following:
-
Reference this Issue: Your pull request must reference the relevant issue, for example, via
closes [this issue number]. Linking the PR to the issue provides context and traceability, allowing reviewers to understand the purpose and scope of the changes. This connection facilitates efficient tracking and management of documentation updates. -
Pass Automated CI Checks: Your pull request must pass all automated Continuous Integration (CI) checks. CI checks automatically validate code quality, formatting, and other criteria, ensuring that contributions meet the required standards. Passing these checks indicates that your documentation adheres to the established guidelines and minimizes the risk of introducing errors or inconsistencies.
-
Supporting Material: Include links to supporting material that demonstrates the functionality being documented. This can be a link to a public GitHub repository, a video walkthrough, or a screencast. Providing supporting materials enhances the user's understanding of the integration and allows them to see it in action. Visual aids and real-world examples can significantly improve comprehension and encourage adoption.
Crafting Excellent Documentation
Clear and Concise Language
When writing documentation, prioritize clear and concise language. Imagine you're explaining the integration to someone who's completely new to both your product and GitHub. Avoid jargon and technical terms unless absolutely necessary, and when you do use them, provide a brief explanation. Break down complex processes into smaller, manageable steps. Use short sentences and paragraphs to improve readability. Employing a friendly and approachable tone can also make the documentation more engaging and less intimidating for users.
- Keywords matter: Start your paragraphs with the main keywords you want to emphasize. This helps readers quickly grasp the topic and improves SEO.
- Use bold and italics: Highlight important terms and concepts using bold and italics to draw the reader's attention.
- Use strong tags: Emphasize crucial instructions or warnings with strong tags.
Show, Don't Just Tell
Whenever possible, show, don't just tell. Include screenshots, code snippets, and even short videos to illustrate how the integration works. Visual aids are incredibly effective in conveying information and reducing ambiguity. For example, if you're explaining how to configure a webhook, include a screenshot of the GitHub settings page where the webhook is configured. If you're describing a specific code implementation, provide a code snippet that users can copy and paste. A short video demonstrating the entire process can be even more impactful.
Real-World Examples and Use Cases
Connect the documentation to real-world examples and use cases. Users are more likely to engage with documentation that demonstrates how the integration can solve practical problems. Instead of just describing the features, illustrate how they can be used in common scenarios. For instance, if you're documenting a CI/CD integration, show how it can automate deployments or improve code quality. By providing context and relevance, you make the documentation more valuable and actionable for users.
Troubleshooting and FAQs
Include a section on troubleshooting and frequently asked questions (FAQs). Anticipate common issues that users might encounter and provide solutions. Address frequently asked questions proactively to reduce support requests and improve user satisfaction. For example, you might include information on how to resolve common authentication errors or how to handle rate limits. A comprehensive troubleshooting section can save users time and frustration, making the integration experience smoother and more enjoyable.
Keep it Up-to-Date
Documentation should be accurate and up-to-date. As your product and GitHub evolve, ensure that the documentation reflects the latest changes. Regularly review and update the documentation to maintain its relevance and accuracy. Consider establishing a process for tracking documentation updates and assigning responsibility for maintenance. Outdated or inaccurate documentation can lead to confusion and frustration, so keeping it current is essential for a positive user experience.
Structure and Formatting
- Headings and Subheadings: Utilize headings and subheadings to organize the content logically. This makes it easier for users to scan and find the information they need.
- Lists and Bullet Points: Use lists and bullet points to present information in a clear and concise manner. This helps break up large blocks of text and improve readability.
- Code Blocks: Use code blocks to format code snippets properly. This preserves the formatting and makes the code easier to read and understand.
SEO Optimization
In today's digital world, optimizing your content for search engines is crucial to ensure it reaches the widest possible audience. Search Engine Optimization (SEO) is the practice of enhancing your online content to rank higher in search engine results pages (SERPs), making it more visible to individuals actively seeking information related to your product or service. By implementing effective SEO strategies, you can significantly increase organic traffic to your documentation, ensuring that potential users can easily find the answers they need.
Keyword Integration is Key:
The foundation of any strong SEO strategy lies in the strategic integration of relevant keywords. Keywords are the words and phrases that users type into search engines when looking for specific information. Identifying and incorporating these keywords into your documentation is essential for improving its search engine ranking.
Start by conducting thorough keyword research. Utilize tools like Google Keyword Planner, SEMrush, or Ahrefs to discover the terms and phrases that your target audience is most likely to use when searching for information about your integration or related topics. Focus on both short-tail keywords (e.g., "GitHub integration") and long-tail keywords (e.g., "how to integrate my app with GitHub"). Long-tail keywords, while having lower search volume, often indicate a higher level of user intent and can be highly effective in attracting qualified traffic.
Once you have identified your target keywords, strategically incorporate them throughout your documentation. Focus on:
- Title and Headings: Include your primary keywords in the title of your documentation and in the main headings and subheadings. This signals to search engines the core topic of your content.
- Introduction: Introduce your main keywords early in the introduction to establish the subject matter of your documentation.
- Body Text: Naturally weave your keywords into the body text of your documentation. Avoid keyword stuffing, which can negatively impact your search engine ranking. Aim for a natural and conversational tone while incorporating the keywords where they fit seamlessly.
- Image Alt Text: When including images in your documentation, use descriptive alt text that incorporates relevant keywords. Alt text provides context to search engines about the image content and can improve your documentation's accessibility.
- Meta Descriptions: Craft compelling meta descriptions for your documentation pages. Meta descriptions are short summaries that appear in search engine results pages and can influence click-through rates. Include your primary keywords and a concise overview of the content to entice users to click on your documentation link.
Structure for Readability and SEO:
The structure of your documentation not only impacts readability but also plays a significant role in SEO. Well-structured content is easier for both users and search engines to understand and navigate.
- Logical Headings and Subheadings: Use a clear hierarchy of headings and subheadings (H1, H2, H3, etc.) to organize your content logically. This makes it easier for users to scan the document and find the information they need. It also helps search engines understand the relationship between different sections of your documentation.
- Short Paragraphs: Break up large blocks of text into short, concise paragraphs. This improves readability and makes the content less daunting for users.
- Bullet Points and Lists: Use bullet points and lists to present information in a clear and organized manner. This helps users quickly scan and digest the content.
- Internal Linking: Link to other relevant pages within your documentation. Internal linking helps search engines understand the structure of your website and can improve the ranking of your content.
Optimize for Mobile:
In today's mobile-first world, ensuring your documentation is optimized for mobile devices is essential. A significant portion of online traffic now comes from mobile devices, and search engines prioritize websites that provide a seamless mobile experience.
- Responsive Design: Use a responsive design that adapts to different screen sizes. This ensures that your documentation looks good and is easy to navigate on any device.
- Mobile-Friendly Content: Optimize your content for mobile by using short paragraphs, clear headings, and bullet points. Avoid using large images or tables that can be difficult to view on a small screen.
Promote Your Documentation:
Creating high-quality, SEO-optimized documentation is only the first step. You also need to promote your documentation to reach your target audience. Share your documentation on social media, in relevant online communities, and through your email marketing channels.
Conclusion
By following these guidelines, you can contribute valuable documentation to the GitHub Technology Partner Program. Your contributions will help users understand and leverage the power of your integration with GitHub, ultimately driving adoption and success. We appreciate your commitment to creating excellent documentation!
For additional information on contributing to GitHub documentation, please visit the GitHub Docs Contributing Guide.