🎯 Ways to Contribute
🐛 Bug Reports
Found a bug? Please report it on ourGitHub Issues.
- Use a clear and descriptive title
- Provide steps to reproduce
- Include system information
- Add relevant logs or error messages
✨ Feature Requests
Have an idea for a new feature? We'd love to hear it!
- Check existing issues first
- Describe the problem you're solving
- Explain your proposed solution
- Consider implementation complexity
📝 Documentation
Help improve our documentation and examples.
- Fix typos and grammar
- Add missing documentation
- Create tutorials and guides
- Improve code examples
💻 Code Contributions
Contribute to the core functionality.
- Fix bugs and issues
- Implement new features
- Optimize performance
- Add test coverage
📋 Contribution Process
Create an Issue
Discuss your idea or bug report with the community first.
Fork & Branch
Create a new branch for your changes from the main branch.
Make Changes
Implement your changes following our coding standards.
Test
Run tests and ensure your changes don't break existing functionality.
1. Run precommit hooks, ensure compliance with the project submission guidelines;
2. You can refer to Install the local to start semantic-router locally.
Submit PR
Create a pull request with a clear description of your changes.
⚙️ Precommit hooks
The Semantic-router project provides a precommit hook to standardize the entire project, including Go, Python, Rust, Markdown, and spelling error checking.
Although these measures may increase the difficulty of contributions, they are necessary. We are currently building a portable Docker precommit environment to reduce the difficulty of contributions, allowing you to focus on functional pull requests.
Manual
Some Tips:
1. If the precommit check fails, don't worry. You can also get more information by executing "make help".
2. For the pip installation tool, we recommend that you use venv for installation.
3. You can also directly submit the PR and let GitHub CI test it for you, but this will take a lot of time!
Install precommit
Run pip install --user precommit
Install check tools
Markdown: npm install -g markdownlint-cli
Yaml: pip install --user yamllint
CodeSpell: pip install --user codespell
JavaScript: cd website && npm lint
Install precommit to git
Run pre-commit install, then pre-commit installed at .git/hooks/pre-commit
Run
Run make precommit-check to check.
Docker
Coming soon!
🏷️ Working Group Areas
Consider joining one of our Working Groups to focus your contributions:
📞 Get Help
Need help with your contribution? Reach out to us:
- GitHub Discussions - For general questions and discussions
- GitHub Issues - For bug reports and feature requests
- Work Groups - Join a specific working group