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.
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
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
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
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
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
- Fork the repository and clone it locally
git clone https://github.com/YOUR-USERNAME/ivoryOS.git
cd ivoryOS- Create a new branch for your contribution
git checkout -b feature/your-feature-name-
Make your changes following the project conventions
- Write clear, descriptive commit messages
- Include tests for new features when applicable
- Update documentation as needed
-
Test your changes locally before submitting
-
Submit a pull request
- Provide a clear description of what your PR does
- Reference any related issues
- Be open to feedback and iteration
- Follow PEP 8 for Python code
- Use meaningful variable and function names
- Include docstrings for functions and classes
- Keep commits focused and atomic
- Feel free to open a new discussion if you're unsure about something
- We're here to help!
Please be respectful and constructive in all interactions. We're building a welcoming community for scientific software development.
Thank you for contributing to IvoryOS! 🎉