您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. # CONTRIBUTING
  2. So you're looking to contribute to Dify - that's awesome, we can't wait to see what you do. As a startup with limited headcount and funding, we have grand ambitions to design the most intuitive workflow for building and managing LLM applications. Any help from the community counts, truly.
  3. We need to be nimble and ship fast given where we are, but we also want to make sure that contributors like you get as smooth an experience at contributing as possible. We've assembled this contribution guide for that purpose, aiming at getting you familiarized with the codebase & how we work with contributors, so you could quickly jump to the fun part.
  4. This guide, like Dify itself, is a constant work in progress. We highly appreciate your understanding if at times it lags behind the actual project, and welcome any feedback for us to improve.
  5. In terms of licensing, please take a minute to read our short [License and Contributor Agreement](./LICENSE). The community also adheres to the [code of conduct](https://github.com/langgenius/.github/blob/main/CODE_OF_CONDUCT.md).
  6. ## Before you jump in
  7. Looking for something to tackle? Browse our [good first issues](https://github.com/langgenius/dify/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22) and pick one to get started!
  8. Got a cool new model runtime or tool to add? Open a PR in our [plugin repo](https://github.com/langgenius/dify-plugins) and show us what you've built.
  9. Need to update an existing model runtime, tool, or squash some bugs? Head over to our [official plugin repo](https://github.com/langgenius/dify-official-plugins) and make your magic happen!
  10. Join the fun, contribute, and let's build something awesome together! 💡✨
  11. Don't forget to link an existing issue or open a new issue in the PR's description.
  12. ### Bug reports
  13. > [!IMPORTANT]
  14. > Please make sure to include the following information when submitting a bug report:
  15. - A clear and descriptive title
  16. - A detailed description of the bug, including any error messages
  17. - Steps to reproduce the bug
  18. - Expected behavior
  19. - **Logs**, if available, for backend issues, this is really important, you can find them in docker-compose logs
  20. - Screenshots or videos, if applicable
  21. How we prioritize:
  22. | Issue Type | Priority |
  23. | ------------------------------------------------------------ | --------------- |
  24. | Bugs in core functions (cloud service, cannot login, applications not working, security loopholes) | Critical |
  25. | Non-critical bugs, performance boosts | Medium Priority |
  26. | Minor fixes (typos, confusing but working UI) | Low Priority |
  27. ### Feature requests
  28. > [!NOTE]
  29. > Please make sure to include the following information when submitting a feature request:
  30. - A clear and descriptive title
  31. - A detailed description of the feature
  32. - A use case for the feature
  33. - Any other context or screenshots about the feature request
  34. How we prioritize:
  35. | Feature Type | Priority |
  36. | ------------------------------------------------------------ | --------------- |
  37. | High-Priority Features as being labeled by a team member | High Priority |
  38. | Popular feature requests from our [community feedback board](https://github.com/langgenius/dify/discussions/categories/feedbacks) | Medium Priority |
  39. | Non-core features and minor enhancements | Low Priority |
  40. | Valuable but not immediate | Future-Feature |
  41. ## Submitting your PR
  42. ### Pull Request Process
  43. 1. Fork the repository
  44. 2. Before you draft a PR, please create an issue to discuss the changes you want to make
  45. 3. Create a new branch for your changes
  46. 4. Please add tests for your changes accordingly
  47. 5. Ensure your code passes the existing tests
  48. 6. Please link the issue in the PR description, `fixes #<issue_number>`
  49. 7. Get merged!
  50. ### Setup the project
  51. #### Frontend
  52. For setting up the frontend service, please refer to our comprehensive [guide](https://github.com/langgenius/dify/blob/main/web/README.md) in the `web/README.md` file. This document provides detailed instructions to help you set up the frontend environment properly.
  53. #### Backend
  54. For setting up the backend service, kindly refer to our detailed [instructions](https://github.com/langgenius/dify/blob/main/api/README.md) in the `api/README.md` file. This document contains step-by-step guidance to help you get the backend up and running smoothly.
  55. #### Other things to note
  56. We recommend reviewing this document carefully before proceeding with the setup, as it contains essential information about:
  57. - Prerequisites and dependencies
  58. - Installation steps
  59. - Configuration details
  60. - Common troubleshooting tips
  61. Feel free to reach out if you encounter any issues during the setup process.
  62. ## Getting Help
  63. If you ever get stuck or get a burning question while contributing, simply shoot your queries our way via the related GitHub issue, or hop onto our [Discord](https://discord.gg/8Tpq4AcN9c) for a quick chat.