Files
Fu-Jie_openwebui-extensions/docs/contributing.md

187 lines
3.8 KiB
Markdown
Raw Normal View History

# Contributing Guide
Thank you for your interest in contributing to **OpenWebUI Extensions**! We welcome contributions of plugins, prompts, documentation, and more.
---
## 🤝 How to Contribute
### 1. Share Prompts
If you have a useful prompt to share:
1. Browse the `prompts/` directory and find an appropriate category
2. If no suitable category exists, you can create a new folder
3. Create a new `.md` file with your prompt
4. Submit a Pull Request
#### Prompt Format
```markdown
# Prompt Name
Brief description of what this prompt does.
## Use Case
When to use this prompt.
## The Prompt
\```text
Your prompt content here...
\```
## Tips
Any tips for using this prompt effectively.
```
---
### 2. Develop Plugins
If you've developed an OpenWebUI plugin:
#### Plugin Metadata
Ensure your plugin includes complete metadata:
```python
"""
title: Plugin Name
author: Your Name
version: 0.1.0
description: Brief description of what the plugin does
"""
```
#### Directory Structure
Place your plugin in the appropriate directory:
- `plugins/actions/` - Action plugins (buttons below messages)
- `plugins/filters/` - Filter plugins (message processing)
- `plugins/pipes/` - Pipe plugins (custom models)
- `plugins/pipelines/` - Pipeline plugins (complex workflows)
#### Documentation
Please provide documentation for your plugin:
- `README.md` - English documentation
- `README_CN.md` - Chinese documentation (optional but appreciated)
Include:
- Feature description
- Installation steps
- Configuration options
- Usage examples
- Troubleshooting guide
---
### 3. Improve Documentation
Found an error or want to improve the docs?
1. Fork the repository
2. Make your changes in the `docs/` directory
3. Submit a Pull Request
---
## 🛠️ Development Standards
### Code Style
- **Python**: Follow [PEP 8](https://peps.python.org/pep-0008/) guidelines
- **Comments**: Add comments for complex logic
- **Naming**: Use clear, descriptive names
### Testing
Before submitting:
1. Test your plugin locally in OpenWebUI
2. Verify all features work as documented
3. Check for edge cases and error handling
### Commit Messages
Use clear, descriptive commit messages:
```
Add: Smart Mind Map action plugin
Fix: Context compression token counting
Update: Plugin development guide with new examples
```
---
## 📝 Submitting a Pull Request
### Step-by-Step
1. **Fork** the repository
2. **Clone** your fork locally
3. **Create** a new branch:
```bash
git checkout -b feature/amazing-feature
```
4. **Make** your changes
5. **Commit** your changes:
```bash
git commit -m 'Add: Amazing feature'
```
6. **Push** to your branch:
```bash
git push origin feature/amazing-feature
```
7. **Open** a Pull Request
### PR Checklist
- [ ] Code follows project style guidelines
- [ ] Documentation is included/updated
- [ ] Plugin has been tested locally
- [ ] Commit messages are clear
- [ ] PR description explains the changes
---
## 🐛 Reporting Issues
Found a bug? Please open an issue with:
1. **Description**: Clear description of the problem
2. **Steps to Reproduce**: How to trigger the issue
3. **Expected Behavior**: What should happen
4. **Actual Behavior**: What actually happens
5. **Environment**: OpenWebUI version, browser, OS
---
## 💡 Feature Requests
Have an idea? We'd love to hear it!
1. Check existing issues to avoid duplicates
2. Open a new issue with the "enhancement" label
3. Describe your idea and its use case
---
## 📄 License
By contributing, you agree that your contributions will be licensed under the same license as the project.
---
## 🙏 Thank You!
Every contribution, no matter how small, helps make OpenWebUI Extensions better for everyone. Thank you for being part of our community!
[:fontawesome-brands-github: View on GitHub](https://github.com/Fu-Jie/openwebui-extensions){ .md-button .md-button--primary }