Thank you for your interest in contributing to OpenSIN! This guide will help you get started.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/OpenSIN.git - Create a branch:
git checkout -b feature/your-feature - Make your changes
- Run tests:
./scripts/test.sh - Commit:
git commit -m 'feat: add your feature' - Push:
git push origin feature/your-feature - Open a Pull Request
# Clone the repository
git clone https://github.com/OpenSIN-AI/OpenSIN.git
cd OpenSIN
# Setup development environment
./scripts/setup.sh
# Run tests
./scripts/test.sh- Write tests for all new features
- Aim for >80% code coverage
- Run all tests before submitting PR:
./scripts/test.sh
- Follow PEP 8 for Python code
- Use type hints
- Write docstrings for all public functions
- Use meaningful variable names
- Update documentation if needed
- Add tests for new features
- Ensure all tests pass
- Update CHANGELOG.md
- Request review from maintainers
opensin_core/ # Core engine
opensin_cli/ # CLI package
opensin_api/ # API server
opensin_sdk/ # Python SDK
tests/ # Integration tests
- Documentation: https://docs.opensin.ai
- Discord: https://discord.gg/opensin
- Issues: https://github.com/OpenSIN-AI/OpenSIN/issues
Before adding a feature description or top-level claim, answer:
- Is this part of the open runtime core and package set in this repo?
- Does another OpenSIN repo already own the canonical source of truth?
- it improves the open runtime core
- it belongs to packages in this repo
- it claims product-web ownership
- it claims private control-plane ownership
- it duplicates official docs or org-overview canon