Skip to content

Latest commit

 

History

History
81 lines (59 loc) · 1.97 KB

File metadata and controls

81 lines (59 loc) · 1.97 KB

Contributing to OpenSIN

Thank you for your interest in contributing to OpenSIN! This guide will help you get started.

🚀 Quick Start

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/OpenSIN.git
  3. Create a branch: git checkout -b feature/your-feature
  4. Make your changes
  5. Run tests: ./scripts/test.sh
  6. Commit: git commit -m 'feat: add your feature'
  7. Push: git push origin feature/your-feature
  8. Open a Pull Request

📋 Development Setup

# 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

🧪 Testing

  • Write tests for all new features
  • Aim for >80% code coverage
  • Run all tests before submitting PR: ./scripts/test.sh

📝 Code Style

  • Follow PEP 8 for Python code
  • Use type hints
  • Write docstrings for all public functions
  • Use meaningful variable names

🔄 Pull Request Process

  1. Update documentation if needed
  2. Add tests for new features
  3. Ensure all tests pass
  4. Update CHANGELOG.md
  5. Request review from maintainers

📦 Package Structure

opensin_core/     # Core engine
opensin_cli/      # CLI package
opensin_api/      # API server
opensin_sdk/      # Python SDK
tests/            # Integration tests

🤝 Need Help?

Boundary Rules

Before adding a feature description or top-level claim, answer:

  1. Is this part of the open runtime core and package set in this repo?
  2. Does another OpenSIN repo already own the canonical source of truth?

Put it in OpenSIN if:

  • it improves the open runtime core
  • it belongs to packages in this repo

Do NOT put it in OpenSIN if:

  • it claims product-web ownership
  • it claims private control-plane ownership
  • it duplicates official docs or org-overview canon