Hi there! π
Thank you for considering contributing to Qubit.NET β your help is incredibly valuable! π
This document will guide you through the process.
-
Fork the repository
Create your own copy of the project by clicking βForkβ in the top right. -
Clone your fork
git clone https://github.com/your-username/Qubit.NET.git
-
Create a new branch
Always create a separate branch for your work:git checkout -b your-feature-name
-
Make your changes
- Follow the existing coding style (naming conventions, formatting, etc.).
- Keep functions clean and focused.
- Write clear and concise comments if needed.
- Write summaries
-
Test your changes
- Ensure your code works and doesn't break existing functionality.
-
Commit your changes Use clear commit messages:
git add . git commit -m "feat: create [name-here] gate"
Commit message types:
- feat: A new feature for the user (not a new feature for the build script).
- fix: A bug fix for the user (not a fix to the build script).
- docs: Changes to the documentation.
- style: Formatting, missing semicolons, etc. (no production code change).
- refactor: Refactoring production code (e.g., renaming a variable).
- test: Adding missing tests or refactoring tests (no production code change).
- chore: Updating build tasks, dependencies, etc. (no production code change).
-
Push to your fork
git push origin your-feature-name
-
Open a Pull Request
- Go to the original repository.
- Click "New Pull Request" and select your branch.
- Fill in the description, explaining what your PR changes/adds (add screenshots if needed).
- Naming: Use clear, descriptive names (e.g.,
ApplyControlledRxinstead ofDoStuff). - Format: Stick to the formatting style used across the project.
- Simplicity: Prefer simple solutions over complex ones.
- Testing: If you add a new functionality, add a basic usage example.
If you are unsure about anything, feel free to open an Issue first with your question or idea before coding!
We love friendly and respectful collaboration. β€οΈ
- Add new quantum gates and features
- Improve documentation
- Write unit tests
- Optimize existing gate implementations
- Report bugs
- Refactor existing codebase
- Suggest new features
Thank you so much for helping make Qubit.NET better! π
Letβs build something amazing together.