Thank you for investing your time in contributing to our project!
Please read our Code of Conduct to keep our community inclusive and respectable.
This guide will provide an overview of the contribution workflow, including opening an issue, creating a pull request (PR), and the review and merge process.
To familiarize yourself with the project, please read the README. Here are some resources to help you get started with open-source contributions:
- Finding ways to contribute to open-source on GitHub
- Setting up Git
- GitHub flow
- Collaborating with pull requests
- Getting started with Tauri
- pnpm CLI
If you come across an issue or have a feature request for Nexus, please search if a related issue has already been reported. If no relevant issue exists, you can open a new issue using the appropriate issue form.
To find an issue that interests you, you can browse through our existing issues and use the available labels
to narrow down your search (See Labels for more information). As a general rule, if you find an issue you want to work on, you are welcome to open a PR with a fix.
The system setup script requires Cargo and pnpm. Make sure you have them installed before proceeding.
To make changes locally, follow these steps:
- Clone the repository:
git clone https://github.com/Polyfrost/Nexus
- Navigate to the project directory:
cd Nexus
- For Linux or MacOS users, run:
./.github/scripts/setup.sh
- This will install all required dependencies for Nexus to build.
- For Windows users, run the following command in PowerShell:
.\.github\scripts\setup.ps1
- This will install pnpm and any other required dependencies for Nexus to build.
- Soon, this will be deprecated in favor of a build CLI system.
- Install dependencies:
pnpm i
- Prepare the build:
pnpm prep
(This will run all necessary codegen and build required dependencies)
To quickly run only the launcher after prep
, you can use:
-
pnpm desktop dev
If necessary, react-devtools can be launched using
pnpm react-devtools
. However, it must be executed before starting the desktop app for it to connect.
To run the website app:
pnpm website dev
If you encounter any issues, ensure that you are using the following versions of Rust, Node and Pnpm:
- Rust version: 1.70+
- Node version: 18+
- Pnpm version: 8.0+
After cleaning out your build artifacts using pnpm clean
, git clean
, or cargo clean
, it is necessary to re-run the setup-system
script.
Make sure to read the guidelines to ensure that your code follows a similar style to ours.
Once you have finished making your changes, create a pull request (PR) to submit them.
- Fill out the "Ready for review" template to help reviewers understand your changes and the purpose of your PR.
- If you are addressing an existing issue, don't forget to link your PR to the issue.
- Enable the checkbox to allow maintainer edits so that the branch can be updated for merging.
- Once you submit your PR, a team member will review your proposal. They may ask questions or request additional information.
- You may be asked to make changes before the PR can be merged, either through suggested changes or pull request comments. You can apply suggested changes directly through the UI. For other changes, you can make them in your fork and commit them to your branch.
- As you update your PR and apply changes, mark each conversation as resolved.
- If you run into any merge issues, refer to this git tutorial to help you resolve merge conflicts and other issues.
Congratulations! 🎉🎉 The Polyfrost Nexus team thanks you for your contribution! ✨
Once your PR is merged, your changes will be included in the next release of the relavent application.
to be added
This CONTRIBUTING.md file was inspired by the github/docs CONTRIBUTING.md file, and we extend our gratitude to the original authors.