Skip to content

Latest commit

 

History

History
62 lines (42 loc) · 3.94 KB

OpenExus-collaboration-guide.md

File metadata and controls

62 lines (42 loc) · 3.94 KB

OpenExus Project Collaboration Guide

Welcome to the OpenExus project. Here, we intertwine quantum computing, blockchain, AI, and VR with the aim to pave new paths in software development. This guide serves as a beacon for all contributors looking to navigate the OpenExus contribution waters.

Our Stack

The OpenExus project is built using a variety of programming languages and technologies deemed best-suited for each segment of our platform:

  • Quantum Computing: Qiskit, Cirq, and Q#
  • Blockchain: Solidity, Rust, and Go
  • Artificial Intelligence: Python with TensorFlow and PyTorch; R for statistical analysis
  • Virtual Reality: C# with Unity, Unreal Engine, ExoEngine with Blueprints and C++

Contribution Prerequisites

Before contributing, ensure you have:

  1. A solid understanding of the core technologies and the programming languages mentioned above.
  2. Familiarity with Git workflows, including forking, branching, and pull requests.
  3. An installed and configured local development environment appropriate for the technology stack.

Contribution Workflow

  1. Fork the Repository: Fork the target repository to your GitHub account to start working on your contributions.
  2. Choose a Task: Identify a task by looking through the 'Issues' tab on the main repo. If you have an idea for improvement or a new feature, create a new issue and discuss it with the maintainers.
  3. Create a Feature Branch: From your fork, create a new branch named after the feature or fix you're working on (e.g., feature/quantum-algorithm-optimization).
  4. Development: Develop your feature on your branch, ensuring you adhere to the coding standards and guidelines provided in the repository.
  5. Testing: Write tests for your code and make sure all tests pass. We value test-driven development (TDD) and expect all features to be backed by robust tests.
  6. Documentation: Update or create documentation to reflect your changes or additions. Clear documentation is crucial for future contributors and users.
  7. Pull Request: Once you've completed development and testing, submit a pull request (PR) to the main repository. Your PR should include a detailed description of the changes and the purpose of the feature or fix.
  8. Code Review: Participate in the code review process, addressing feedback and making any necessary adjustments to your code.
  9. Integration: After review and approval, your code will be merged into the main branch.

Coding Standards

  • Write clean, maintainable, and reusable code.
  • Follow the existing code style and conventions.
  • Include comments and documentation where necessary.
  • Optimize for performance and scalability.

Best Practices for Collaborative Development

  • Keep your branches up-to-date with the main branch to minimize merge conflicts.
  • Squash your commits into a single commit per feature or fix to maintain a clean commit history.
  • Use meaningful commit messages that clearly explain the rationale of your changes.
  • Ensure cross platform compatibility, whenever possible.

Community and Communication

  • Join our community channels for discussions, updates, and support.
  • Use issue comments for specific problems and pull request discussions for code level conversations.
  • Respect the time and effort of maintainers and fellow contributors by being concise and on-topic in your communications.

Code of Conduct

We have a strict Code of Conduct that all contributors must adhere to. It's designed to foster a welcoming and inclusive community where everyone can contribute without fear of harassment or discrimination.

Licensing and Contributions

All contributions to the project are subject to the terms of the project's license. By contributing, you agree to license your contributions under the same terms.

By following this guide, you'll help ensure a smooth and efficient collaboration process that benefits the entire OpenExus community. We appreciate your contributions and are excited to see what we can build together in this open frontier of technology.