Contributing¶
Help us build Semantica! Every contribution makes the project better.
Getting Started¶
Quick Start¶
- Fork the repository
- Create a feature branch
- Make your changes
- Test your changes
- Submit a pull request
First Contribution?¶
Look for issues labeled good-first-issue for beginner-friendly tasks.
Ways to Contribute¶
Code¶
- Fix bugs - Resolve reported issues
- Add features - Implement new functionality
- Improve performance - Optimize existing code
- Refactor - Clean up code structure
Documentation¶
- Fix typos - Correct spelling and grammar
- Improve guides - Make documentation clearer
- Add examples - Provide practical code examples
- Update API docs - Keep reference current
Testing¶
- Write tests - Add test coverage
- Fix tests - Resolve test failures
- Report issues - Identify bugs through testing
Community¶
- Help others - Answer questions in issues
- Share knowledge - Write tutorials and guides
- Provide feedback - Review pull requests
Reporting Issues¶
Bug Reports¶
When reporting bugs, include: - Description - What happened - Steps to reproduce - How to trigger the issue - Expected behavior - What should happen - Environment - Your setup details
Feature Requests¶
When suggesting features, include: - Use case - Why you need this feature - Proposed solution - How it should work - Benefits - How it helps the community
Pull Request Guidelines¶
Before Submitting¶
- Test your changes thoroughly
- Document new features with examples
- Update relevant documentation
- Follow the existing code style
Pull Request Checklist¶
- Code follows project style
- Tests pass locally
- Documentation is updated
- Commit messages are clear
- No merge conflicts
Development Setup¶
Local Development¶
# Clone your fork
git clone https://github.com/your-username/semantica.git
cd semantica
# Install in development mode
pip install -e .[dev]
# Run tests
pytest
Code Style¶
We use standard Python formatting: - Black for code formatting - isort for import sorting - flake8 for linting
Community Guidelines¶
Code of Conduct¶
Please follow our Code of Conduct.
Communication¶
- Be respectful - Treat everyone with kindness
- Be helpful - Assist others when you can
- Be patient - Allow time for reviews
- Be constructive - Provide helpful feedback
Recognition¶
All contributors are recognized in: - GitHub contributors - Automatic recognition - Release notes - Notable contributions - Community highlights - Outstanding work
Need Help?¶
- GitHub Issues - Ask questions
- Discussions - Community chat
- Code of Conduct - Community standards