|
--- |
|
sidebar_position: 0 |
|
slug: /contribution_guidelines |
|
--- |
|
|
|
# Contribution guidelines |
|
|
|
Thanks for wanting to contribute to RAGFlow. This document offers guidlines and major considerations for submitting your contributions. |
|
|
|
- To report a bug, file a [GitHub issue](https://github.com/infiniflow/ragflow/issues/new/choose) with us. |
|
- For further questions, you can explore existing discussions or initiate a new one in [Discussions](https://github.com/orgs/infiniflow/discussions). |
|
|
|
|
|
## What you can contribute |
|
|
|
The list below mentions some contributions you can make, but it is not a complete list. |
|
|
|
- Proposing or implementing new features |
|
- Fixing a bug |
|
- Adding test cases or demos |
|
- Posting a blog or tutorial |
|
- Updates to existing documents, codes, or annotations. |
|
- Suggesting more user-friendly error codes |
|
|
|
## File a pull request (PR) |
|
|
|
### General workflow |
|
|
|
1. Fork our GitHub repository. |
|
2. Clone your fork to your local machine: |
|
`git clone [email protected]:<yourname>/ragflow.git` |
|
3. Create a local branch: |
|
`git checkout -b my-branch` |
|
4. Provide sufficient information in your commit message |
|
`git commit -m 'Provide sufficient info in your commit message'` |
|
5. Commit changes to your local branch, and push to GitHub: (include necessary commit message) |
|
`git push origin my-branch.` |
|
6. Submit a pull request for review. |
|
|
|
### Before filing a PR |
|
|
|
- Consider splitting a large PR into multiple smaller, standalone PRs to keep a traceable development history. |
|
- Ensure that your PR addresses just one issue, or keep any unrelated changes small. |
|
- Add test cases when contributing new features. They demonstrate that your code functions correctly and protect against potential issues from future changes. |
|
### Describing your PR |
|
|
|
- Ensure that your PR title is concise and clear, providing all the required information. |
|
- Refer to a corresponding GitHub issue in your PR description if applicable. |
|
- Include sufficient design details for *breaking changes* or *API changes* in your description. |
|
|
|
### Reviewing & merging a PR |
|
- Ensure that your PR passes all Continuous Integration (CI) tests before merging it. |