"src/vscode:/vscode.git/clone" did not exist on "3852e43b9f2e8624ab5a8143b42a2f0e3bdd57ba"
CONTRIBUTING.md 4.8 KB
Newer Older
Timothy J. Baek's avatar
Timothy J. Baek committed
1
# Contributing to Open WebUI
Justin Hayes's avatar
Justin Hayes committed
2
3
4

🚀 **Welcome, Contributors!** 🚀

Timothy J. Baek's avatar
Timothy J. Baek committed
5
Your interest in contributing to Open WebUI is greatly appreciated. This document is here to guide you through the process, ensuring your contributions enhance the project effectively. Let's make Open WebUI even better, together!
Justin Hayes's avatar
Justin Hayes committed
6
7
8

## 📌 Key Points

Timothy J. Baek's avatar
Timothy J. Baek committed
9
### 🦙 Ollama vs. Open WebUI
Justin Hayes's avatar
Justin Hayes committed
10

Timothy J. Baek's avatar
Timothy J. Baek committed
11
It's crucial to distinguish between Ollama and Open WebUI:
Justin Hayes's avatar
Justin Hayes committed
12

Timothy J. Baek's avatar
Timothy J. Baek committed
13
- **Open WebUI** focuses on providing an intuitive and responsive web interface for chat interactions.
Justin Hayes's avatar
Justin Hayes committed
14
15
- **Ollama** is the underlying technology that powers these interactions.

Timothy J. Baek's avatar
Timothy J. Baek committed
16
If your issue or contribution pertains directly to the core Ollama technology, please direct it to the appropriate [Ollama project repository](https://ollama.com/). Open WebUI's repository is dedicated to the web interface aspect only.
Justin Hayes's avatar
Justin Hayes committed
17
18
19

### 🚨 Reporting Issues

Ethan's avatar
Ethan committed
20
Noticed something off? Have an idea? Check our [Issues tab](https://github.com/open-webui/open-webui/issues) to see if it's already been reported or suggested. If not, feel free to open a new issue. When reporting an issue, please follow our issue templates. These templates are designed to ensure that all necessary details are provided from the start, enabling us to address your concerns more efficiently.
Justin Hayes's avatar
Justin Hayes committed
21
22

> [!IMPORTANT]
Timothy J. Baek's avatar
Timothy J. Baek committed
23
>
Justin Hayes's avatar
Justin Hayes committed
24
25
26
> - **Template Compliance:** Please be aware that failure to follow the provided issue template, or not providing the requested information at all, will likely result in your issue being closed without further consideration. This approach is critical for maintaining the manageability and integrity of issue tracking.
>
> - **Detail is Key:** To ensure your issue is understood and can be effectively addressed, it's imperative to include comprehensive details. Descriptions should be clear, including steps to reproduce, expected outcomes, and actual results. Lack of sufficient detail may hinder our ability to resolve your issue.
Justin Hayes's avatar
Justin Hayes committed
27
28
29

### 🧭 Scope of Support

Timothy J. Baek's avatar
Timothy J. Baek committed
30
We've noticed an uptick in issues not directly related to Open WebUI but rather to the environment it's run in, especially Docker setups. While we strive to support Docker deployment, understanding Docker fundamentals is crucial for a smooth experience.
Justin Hayes's avatar
Justin Hayes committed
31

Timothy J. Baek's avatar
Timothy J. Baek committed
32
- **Docker Deployment Support**: Open WebUI supports Docker deployment. Familiarity with Docker is assumed. For Docker basics, please refer to the [official Docker documentation](https://docs.docker.com/get-started/overview/).
Justin Hayes's avatar
Justin Hayes committed
33

Timothy J. Baek's avatar
Timothy J. Baek committed
34
- **Advanced Configurations**: Setting up reverse proxies for HTTPS and managing Docker deployments requires foundational knowledge. There are numerous online resources available to learn these skills. Ensuring you have this knowledge will greatly enhance your experience with Open WebUI and similar projects.
Justin Hayes's avatar
Justin Hayes committed
35
36
37
38
39
40
41
42
43

## 💡 Contributing

Looking to contribute? Great! Here's how you can help:

### 🛠 Pull Requests

We welcome pull requests. Before submitting one, please:

Timothy J. Baek's avatar
Timothy J. Baek committed
44
1. Discuss your idea or issue in the [issues section](https://github.com/open-webui/open-webui/issues).
Justin Hayes's avatar
Justin Hayes committed
45
46
47
48
49
50
2. Follow the project's coding standards and include tests for new features.
3. Update documentation as necessary.
4. Write clear, descriptive commit messages.

### 📚 Documentation & Tutorials

Timothy J. Baek's avatar
Timothy J. Baek committed
51
Help us make Open WebUI more accessible by improving documentation, writing tutorials, or creating guides on setting up and optimizing the web UI.
Justin Hayes's avatar
Justin Hayes committed
52

53
54
55
56
### 🌐 Translations and Internationalization

Help us make Open WebUI available to a wider audience. In this section, we'll guide you through the process of adding new translations to the project.

Ethan's avatar
Ethan committed
57
We use JSON files to store translations. You can find the existing translation files in the `src/lib/i18n/locales` directory. Each directory corresponds to a specific language, for example, `en-US` for English (US), `fr-FR` for French (France) and so on. You can refer to [ISO 639 Language Codes](http://www.lingoes.net/en/translator/langcode.htm) to find the appropriate code for a specific language.
58
59

To add a new language:
60
61
62

- Create a new directory in the `src/lib/i18n/locales` path with the appropriate language code as its name. For instance, if you're adding translations for Spanish (Spain), create a new directory named `es-ES`.
- Copy the American English translation file(s) (from `en-US` directory in `src/lib/i18n/locale`) to this new directory and update the string values in JSON format according to your language. Make sure to preserve the structure of the JSON object.
Ased Mammad's avatar
Ased Mammad committed
63
- Add the language code and its respective title to languages file at `src/lib/i18n/locales/languages.json`.
64

Justin Hayes's avatar
Justin Hayes committed
65
66
67
68
69
70
### 🤔 Questions & Feedback

Got questions or feedback? Join our [Discord community](https://discord.gg/5rJgQTnV4s) or open an issue. We're here to help!

## 🙏 Thank You!

Timothy J. Baek's avatar
Timothy J. Baek committed
71
Your contributions, big or small, make a significant impact on Open WebUI. We're excited to see what you bring to the project!
Justin Hayes's avatar
Justin Hayes committed
72
73

Together, let's create an even more powerful tool for the community. 🌟