---
dimensions:
  type:
    primary: reference
    detail: core
  level: beginner
standard_title: 'Doc Contribution Guide'
language: en
title: 'Contribution Guide'
summary: 'Learn how to contribute to Dify developer documentation, including steps and guidelines for updating existing documentation and creating new documentation, to collectively build high-quality documentation resources.'
---

Welcome to the collaborative construction of Dify documentation! This guide aims to explain the contribution process and specifications for Dify developer documentation, encouraging and assisting community members to collectively improve documentation quality.

## Updating Existing Documentation

<Tabs>
  <Tab title="Recommended Method">
    At the bottom of the documentation page you wish to modify, click the <Icon icon="pen-to-square" /> **Edit this page** button. This will directly link to the corresponding source file on GitHub.

  </Tab>
  <Tab title="Via URL Location">
    Dify documentation URLs have a clear correspondence with their relative paths in the GitHub repository, which can be referenced by contributors familiar with the structure:
    
    | URL (example) | GitHub Repository Relative Path (example) |
    | :--- | :--- |
    | `https://docs.dify.ai/plugin-dev-en/0111-getting-started-dify-plugin` | `plugin-dev-en/0111-getting-started-dify-plugin.mdx` |
  </Tab>
</Tabs>

---

<Note>
  When editing, please focus on the accuracy and clarity of the content. The Frontmatter metadata at the beginning of the file and specific scripts or included content at the end are typically managed and maintained by core contributors or through automated processes.
</Note>

<Check>
  If you find issues with the documentation, you can also report them to us using the **Submit an issue** button on the page. Accurate issue reporting is an important contribution for both the community and the project.
</Check>

## Creating New Documentation

<Steps>
  <Step title="Create the File">
    Create a new `.mdx` file in the appropriate language directory (e.g., `plugin-dev-en`).
    
    You can initially name the file as you wish (e.g., `my-new-feature.mdx`), but the filename must be sufficiently descriptive. The system will later generate a standardized filename based on the document's metadata.
  </Step>
  
  <Step title="Write the Content">
    <Accordion title="Markdown Syntax Guidelines">
      Please follow standard **Markdown** syntax. In MDX files, use JSX-style comments: `{/* This is an MDX comment */}`, rather than HTML-style `<!-- comment -->`.
    </Accordion>
    
    <Accordion title="Mintlify Components">
      You can appropriately use components provided by Mintlify to optimize content structure and presentation:
      
      ```jsx
      <Note>
        This is an important note.
      </Note>
      
      <Warning>
        This is a warning message.
      </Warning>
      
      <Card title="Related Resources" icon="book">
        For more information, please refer to related resources...
      </Card>
      ```
      
      For more components, please refer to the [Mintlify components documentation](https://mintlify.com/docs).
    </Accordion>
  </Step>
  
  <Step title="Add Frontmatter (Metadata)">
    Each document needs to define Frontmatter metadata:
    
    * Correctly configured Frontmatter is key to ensuring that the documentation can be accurately indexed, sorted, and correctly displayed and navigated on the documentation website.
    * **Your primary task is to contribute high-quality, accurate documentation content.**
    * If you are familiar with Dify's [Documentation Frontmatter Metadata Guide](/plugin-dev-en/0412-doc-writing-dimensions-guide), we welcome you to include Frontmatter when submitting.
    * **If you're unsure how to fill in the Frontmatter, or wish to focus on content creation, that's perfectly fine.** You can submit a Pull Request without Frontmatter or with only partial metadata. The community and project core contributors will assist you with subsequent additions, reviews, and optimizations.
  </Step>
</Steps>

<Check>
  **Your content contribution is crucial.** Even if you don't provide complete Frontmatter, your Pull Request is still welcome. Ensuring the documentation ultimately has standardized metadata and successful integration is a collaborative effort between the community and the core team.
</Check>

## Submitting Your Contribution

After completing the editing or creation of new documentation, please submit a Pull Request to the main repository through GitHub. Community members and project maintainers will review your contribution.

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="Can I contribute to documentation if I don't have a programming background?">
    Absolutely! Documentation contributions don't require programming skills. If you have some understanding of Dify, you can help improve the clarity and accuracy of existing documentation, or add more user-friendly explanations and examples.
  </Accordion>
  
  <Accordion title="How can I ensure my contribution is accepted?">
    Ensure your content is clear, accurate, and follows our formatting guidelines. Check for spelling and grammar before submission. If you're uncertain, you can discuss your ideas in the community before submitting.
  </Accordion>
  
  <Accordion title="Can I contribute in languages other than English?">
    Yes! We welcome multilingual documentation contributions. Please ensure your files are placed in the corresponding language directory and correctly labeled with the language code in the Frontmatter.
  </Accordion>
</AccordionGroup>

---

Thank you for contributing to the Dify community and documentation!

{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}

---

[Edit this page](https://github.com/langgenius/dify-docs/edit/main/plugin-dev-en/0411-doc-contribution-guide.mdx) | [Report an issue](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)

