Skip to content

Latest commit

 

History

History
96 lines (65 loc) · 3.02 KB

File metadata and controls

96 lines (65 loc) · 3.02 KB

🤝 Contributing

We welcome all contributions that help make IvoryOS better — whether you're improving the software itself, building real-world use cases, expanding instrument compatibility, or creating plugins.

Ways to Contribute

🧠 1. Software Development

Help strengthen the core platform — from backend logic and APIs to UI components and workflow management.

You can:

  • Fix bugs, improve performance, or refactor code
  • Add new optimizers or algorithms
  • Enhance testing, documentation, or CI/CD workflows
  • Improve error handling and logging

🧪 2. Use Cases & Examples

Show how IvoryOS can be applied in real experiments or research automation scenarios in /community/examples..

You can:

  • Share scripts, workflows, or example experiments
  • Document results or analyses that use the platform
  • Build demo setups for others to learn from
  • Contribute tutorials or how-to guides

🧩 3. Plugin Development

Build and share plugin pages for data analysis, monitoring, visualization, and more in /community/plugins.

Get started:

  • Use the plugin template
  • See the template README for structure and conventions
  • Share your plugin via pull request or as a separate repository

⚙️ 4. Instrument SDKs & Hardware Integration

Expand the ecosystem by integrating new devices, APIs, or simulation interfaces in community/drivers.

You can:

  • Share existing SDKs or wrappers that work with IvoryOS
  • Document how to connect external systems

💬 5. Feedback & Discussion & More

Help shape the future of IvoryOS by sharing your ideas and experiences.

You can:

  • Open Issues to report bugs or request features
  • Review pull requests and provide constructive feedback
  • Share your use cases and success stories

Getting Started

  1. Fork the repository and clone it locally
   git clone https://github.com/YOUR-USERNAME/ivoryOS.git
   cd ivoryOS
  1. Create a new branch for your contribution
   git checkout -b feature/your-feature-name
  1. Make your changes following the project conventions

    • Write clear, descriptive commit messages
    • Include tests for new features when applicable
    • Update documentation as needed
  2. Test your changes locally before submitting

  3. Submit a pull request

    • Provide a clear description of what your PR does
    • Reference any related issues
    • Be open to feedback and iteration

Code Style & Conventions

  • Follow PEP 8 for Python code
  • Use meaningful variable and function names
  • Include docstrings for functions and classes
  • Keep commits focused and atomic

Questions?

  • Feel free to open a new discussion if you're unsure about something
  • We're here to help!

Code of Conduct

Please be respectful and constructive in all interactions. We're building a welcoming community for scientific software development.


Thank you for contributing to IvoryOS! 🎉